Changelog

Version History and Updates

All notable changes to this project will be documented in this file.

This project adheres to Calendar Versioning (YYYY.M).


[2026.1] - January 2026

Initial Release

First public release of the precip-index package — a streamlined Python implementation for calculating SPI and SPEI climate indices with comprehensive event analysis capabilities.

Core Features

Climate Indices

  • SPI (Standardized Precipitation Index) and SPEI (Standardized Precipitation Evapotranspiration Index)
  • Multi-scale support: 1, 3, 6, 12, 24 months
  • Five probability distributions: Gamma, Pearson III, Log-Logistic, GEV, Generalized Logistic
  • Automatic PET calculation from temperature:
    • Thornthwaite method (default) — requires only mean temperature
    • Hargreaves-Samani method — requires Tmin/Tmax, better for arid regions
  • Parameter save/load for operational workflows
  • CF-compliant NetCDF output with customizable metadata

Run Theory Analysis

  • Event identification for both dry (drought) and wet (flood) conditions
  • Dual magnitude tracking: cumulative and instantaneous
  • Gridded period statistics for decision support
  • Event characteristics: duration, magnitude, intensity, peak, inter-arrival

Visualization

  • WMO standard 11-category classification
  • Time series plots with event highlighting
  • Spatial statistics maps
  • Cross-distribution comparison charts

Technical Highlights

  • Modular architecture: indices.py, runtheory.py, distributions.py, visualization.py
  • Centralized configuration via config.py
  • Memory-efficient chunked processing for global-scale data
  • NumPy vectorization with Numba JIT compilation
  • Robust fitting with automatic fallback chains (L-moments → Method of Moments → MLE)
  • Data diagnostics and goodness-of-fit testing

Documentation

  • Comprehensive user guides for SPI, SPEI, run theory, and magnitude concepts
  • Technical documentation: methodology, distributions, implementation, API reference
  • Interactive Jupyter notebook tutorials
  • Quick start guide and configuration reference

Future Releases

  • Bug fixes and performance improvements
  • Additional test coverage
  • Enhanced documentation and examples
  • Community-requested features

For detailed technical notes, see Implementation Details

Back to top