TerraClimate SPEI
Standardized Precipitation Evapotranspiration Index, 1958 to 2025
The Standardized Precipitation Evapotranspiration Index over the global land surface, monthly, at about 4 km, from 1958 to 2025. SPEI subtracts potential evapotranspiration from precipitation before standardizing, so unlike SPI it answers to evaporative demand as well as to rainfall. That makes it the better choice where warming, not just drying, is the question. Twelve accumulation periods are published, from 1 to 72 months.
Method
SPEI is calculated with precip-index from two TerraClimate v1.1 variables: precipitation (ppt) and potential evapotranspiration (pet). The distribution is fitted with Pearson Type III, against 1991 to 2020 as the baseline period.
The record starts in 1958 because that is where TerraClimate’s distributed record starts. Reaching further back means assembling a series from more than one source, and TerraClimate advises against mixing v1.0 with v1.1, so a single version is used throughout rather than splicing one into the other to gain years. That costs coverage and buys homogeneity, which is the right trade for an index whose purpose is comparing one period against another.
Interpretation
The eleven classes below are the WMO scheme, and they are what the colours on the map mean. The hex values are given so a map you make from this data can be read alongside one made from mine.
| Category | SPEI Value | Hex | RGB |
|---|---|---|---|
| Exceptionally Dry | -2.00 and below | #760005 |
rgb(118, 0, 5) |
| Extremely Dry | -2.00 to -1.50 | #ec0013 |
rgb(236, 0, 19) |
| Severely Dry | -1.50 to -1.20 | #ffa938 |
rgb(255, 169, 56) |
| Moderately Dry | -1.20 to -0.70 | #fdd28a |
rgb(253, 210, 138) |
| Abnormally Dry | -0.70 to -0.50 | #fefe53 |
rgb(254, 254, 83) |
| Near Normal | -0.50 to +0.50 | #ffffff |
rgb(255, 255, 255) |
| Abnormally Moist | +0.50 to +0.70 | #a2fd6e |
rgb(162, 253, 110) |
| Moderately Moist | +0.70 to +1.20 | #00b44a |
rgb(0, 180, 74) |
| Very Moist | +1.20 to +1.50 | #008180 |
rgb(0, 129, 128) |
| Extremely Moist | +1.50 to +2.00 | #2a23eb |
rgb(42, 35, 235) |
| Exceptionally Moist | +2.00 and above | #a21fec |
rgb(162, 31, 236) |
Limitations inherited from TerraClimate
SPEI is only as good as what goes into it, and both inputs come from TerraClimate. Its limitations pass straight through: fitting a Pearson Type III to the difference between precipitation and evaporative demand does not remove anything that was wrong with either. The TerraClimate page carries the full list; these are the ones that bear on SPEI.
Trends are not independent evidence. Long-term trends in TerraClimate precipitation and temperature are inherited from its parent datasets, so a drying trend found in this SPEI record is a trend in those parents, re-expressed. It is not separate confirmation of them. This is the one to hold on to, because a standardised anomaly index invites exactly that misreading.
Apparent detail exceeds real detail. The grid is about 4 km, but TerraClimate cannot resolve temporal variability finer than its parent datasets, and orographic precipitation ratios and inversions in particular are not captured. A sharp gradient across a mountain range may be an artefact of downscaling rather than a signal, which matters here because SPEI is often read at exactly that scale.
The water balance model is simple. It uses a static reference landcover and does not account for heterogeneity in vegetation types. That feeds the potential evapotranspiration term, so it shapes the half of SPEI that separates it from a rainfall-only index.
Validation is thin where stations are thin. TerraClimate reports limited validation in data-sparse regions, Antarctica among them, and likely unrealistic extrapolation of winter inversions into high elevations in boreal systems, inherited from WorldClim v2.1. The grid covers 90N to 90S, so a value exists in those places whether or not it has been checked against anything.
Reading the time axis
Every time step is stamped on the first of the month: 1958-01-01, 1958-02-01, and so on through 2025-12-01.
The day is there because a netCDF time coordinate has to be a complete date. It is not a claim about the first of the month. These are monthly values, each one covering its whole month, so 2025-12-01 means December 2025 and nothing narrower.
In practice: slice on the year and month and ignore the day. If your tooling wants an exact match, either select with method="nearest" or group by month rather than indexing on a literal date.
Download
Each accumulation period is a separate netCDF covering the full record.
| Timescale | File | Download |
|---|---|---|
| 1 month | wld_cli_terraclimate_spei_pearson3_1_month.nc |
24.39 GB |
| 2 month | wld_cli_terraclimate_spei_pearson3_2_month.nc |
25.63 GB |
| 3 month | wld_cli_terraclimate_spei_pearson3_3_month.nc |
26.20 GB |
| 6 month | wld_cli_terraclimate_spei_pearson3_6_month.nc |
27.10 GB |
| 9 month | wld_cli_terraclimate_spei_pearson3_9_month.nc |
27.48 GB |
| 12 month | wld_cli_terraclimate_spei_pearson3_12_month.nc |
27.56 GB |
| 18 month | wld_cli_terraclimate_spei_pearson3_18_month.nc |
27.26 GB |
| 24 month | wld_cli_terraclimate_spei_pearson3_24_month.nc |
26.98 GB |
| 36 month | wld_cli_terraclimate_spei_pearson3_36_month.nc |
26.32 GB |
| 48 month | wld_cli_terraclimate_spei_pearson3_48_month.nc |
25.69 GB |
| 60 month | wld_cli_terraclimate_spei_pearson3_60_month.nc |
25.08 GB |
| 72 month | wld_cli_terraclimate_spei_pearson3_72_month.nc |
24.53 GB |
License
- TerraClimate, the source data: CC0-1.0, or refer to the Climatology Lab.
- SPEI derived from TerraClimate: CC-BY-4.0. Credit this site and TerraClimate, note it if you changed anything, and otherwise do as you like with it.
