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