|
1 | 1 | # Precipitation Index - SPI & SPEI for Climate Extremes Monitoring |
2 | 2 |
|
| 3 | +<img src="./docs/images/logo-white-background.jpg" alt="PRECIP-INDEX Logo" width="200" height="200"> |
| 4 | +</br> |
| 5 | +</br> |
| 6 | + |
3 | 7 | **precip-index** is a lightweight set of Python scripts for calculating precipitation-based climate indices (SPI and SPEI) and analyzing **dry and wet extremes** using **run theory**, designed for gridded `xarray` workflows. |
4 | 8 |
|
5 | 9 | 📚 Documentation: https://bennyistanto.github.io/precip-index/ |
6 | 10 |
|
7 | | -## Key features |
| 11 | +## Key Features |
8 | 12 |
|
9 | | -- **SPI / SPEI** at 1, 3, 6, 12, 24-month scales (xarray + CF-style NetCDF outputs) |
| 13 | +- **SPI / SPEI** at 1, 3, 6, 12, 24-month scales (xarray + CF-compliant NetCDF outputs) |
10 | 14 | - **Bidirectional extremes**: drought (dry) and flood-prone (wet) conditions in one framework |
11 | 15 | - **Multi-distribution fitting**: Gamma, Pearson Type III, Log-Logistic |
12 | 16 | - **Run theory events**: duration, magnitude, intensity, peak, interarrival + gridded summaries |
| 17 | +- **Operational mode**: save fitted parameters, load and apply to new data without refitting |
13 | 18 | - **Scalable processing**: chunked tiling, memory estimation, streaming I/O for global datasets |
14 | | -- **Visualization**: event-highlighted time series, 11-category classification, maps, comparisons |
| 19 | +- **Visualization**: event-highlighted time series, 11-category WMO classification, spatial maps |
15 | 20 |
|
16 | | -## What makes precip-index different? |
| 21 | +## Why precip-index? |
17 | 22 |
|
18 | 23 | - **Dry + wet symmetry**: same API and methodology for negative (drought) and positive (wet) thresholds |
19 | 24 | - **Distribution-aware SPI/SPEI**: choose the best-fit distribution per workflow (Gamma / P-III / Log-Logistic) |
| 25 | +- **Production-ready monitoring**: calibrate once, save parameters, apply consistently to new observations |
20 | 26 | - **Event analytics included**: run theory metrics beyond simple threshold exceedance |
21 | 27 | - **Designed for large grids**: practical for CHIRPS / ERA5-Land / TerraClimate via chunked processing |
22 | 28 |
|
| 29 | +## Global Output |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | +SPI-12 (Gamma) calculated from CHIRPS v3 global at 0.05° resolution. |
| 34 | + |
23 | 35 | ## Credits |
24 | 36 |
|
25 | | -SPI/SPEI components are modified/adapted from `climate-indices` by James Adams ([monocongo](https://github.com/monocongo/climate_indices)). |
| 37 | +**Benny Istanto**, GOST/DEC Data Group, The World Bank |
| 38 | + |
| 39 | +Built upon the foundation of [climate-indices](https://github.com/monocongo/climate_indices) by James Adams, with substantial additions for multi-distribution support, bidirectional event analysis, operational mode (parameter persistence), and scalable processing. |
| 40 | + |
| 41 | +## License |
| 42 | + |
| 43 | +BSD-3-Clause — see [LICENSE](LICENSE) for details. |
0 commit comments