Benny Istanto Logo Benny Istanto Logo
  • Home
  • About
  • CSR
  • Blog
    • All Posts
    • Archive by Year

    • Series: Bias Correction
    • Series: El Niño 2026
  • Works
    • Overview
    • Experiences
    • Projects
    • Consulting
    • Maps & Infographics
  • CV

TerraClimate EDDI

Evaporative Demand Drought Index, 1950 to 2025

The Evaporative Demand Drought Index over the global land surface, monthly, at about 4 km, from 1950 to 2025. EDDI asks how thirsty the atmosphere is, not how much rain fell. It ranks accumulated reference evapotranspiration against the same calendar month in a baseline period, so a high value means the air has been pulling harder at the surface than usual. That makes it an early signal: evaporative demand climbs before soil moisture falls, often before a rainfall index has anything to report. Four accumulation periods are published, from 1 to 12 months.

Evaporative Demand Drought Index, 1-month accumulation, December 2025, based on NOAA’s EDDI classification scheme

Evaporative Demand Drought Index, 1-month accumulation, December 2025, based on NOAA’s EDDI classification scheme

Source

TerraClimate

Spatial resolution

About 4 km, 1/24 degree

Temporal resolution

Monthly

Coverage

Global, 90N to 90S and 180W to 180E

Period

1950 to 2025

Baseline

Two: 1991 to 2020, the WMO normal, and 1950 to 2025, the full climatology

Format

netCDF

Projection

EPSG:4326

Method

EDDI is computed from a single TerraClimate v1.1 variable, reference evapotranspiration (pet). For each pixel and each accumulation length, the trailing n-month sum is ranked against the same calendar month across the baseline period, and that rank becomes a non-exceedance probability. The baseline is 1991 to 2020, the WMO thirty-year normal.

There is no fitted distribution. Unlike SPI and SPEI, which fit a gamma or a Pearson Type III and then read the index off the fitted curve, EDDI is nonparametric: it is a rank, converted to a percentile. That is the method’s strength, because nothing has to be assumed about the shape of the distribution, and it is also the source of the limit described two sections below.

What is in the file

Three variables, all exact functions of one another, so use whichever suits your workflow.

Variable What it holds
eddi The standardised anomaly, a z-score. Positive means higher evaporative demand than normal, so drier
eddi_pct The non-exceedance percentile, 0 to 100. 100 is the driest, 0 the wettest
eddi_cat The NOAA class, an integer 0 to 10

The classes in eddi_cat follow the EDDI User Guide, and the percentile cut points travel with the file in the percentile_bounds attribute.

Class Category Code Percentile Hex RGB
0 Exceptionally Wet EW4 0 to 2   #053061 rgb(5, 48, 97)
1 Extremely Wet EW3 2 to 5   #2166ac rgb(33, 102, 172)
2 Severely Wet EW2 5 to 10   #4393c3 rgb(67, 147, 195)
3 Moderately Wet EW1 10 to 20   #92c5de rgb(146, 197, 222)
4 Abnormally Wet EW0 20 to 30   #d1e5f0 rgb(209, 229, 240)
5 Normal Normal 30 to 70   #f7f7f7 rgb(247, 247, 247)
6 Abnormally Dry ED0 70 to 80   #fddbc7 rgb(253, 219, 199)
7 Moderate Drought ED1 80 to 90   #f4a582 rgb(244, 165, 130)
8 Severe Drought ED2 90 to 95   #d6604d rgb(214, 96, 77)
9 Extreme Drought ED3 95 to 98   #b2182b rgb(178, 24, 43)
10 Exceptional Drought ED4 98 to 100   #67001f rgb(103, 0, 31)

Note which end is which. EDDI runs the opposite way to SPI and SPEI: a high EDDI is dry, because it means high evaporative demand. The map above uses a diverging red to blue ramp with red at the dry end, so the colours read the same way round as on the other two pages even though the index underneath does not.

On the 1991 to 2020 baseline, the two outermost classes never appear

EW4 and ED4 are defined in the file and drawn in the legend, and in the 1991 to 2020 files neither is ever populated. Not rarely: never. Across the whole grid from 1991 to 2025, some 80 million valid cell-months, the count for class 0 is zero and the count for class 10 is zero. The other nine are all well populated.

This is arithmetic rather than a bug, and it is a property of the baseline, not of EDDI. Thirty years gives thirty samples per calendar month, so the finest percentile step a rank can resolve is roughly one in thirty-one, about 3.2 percent. EW4 spans 2 percent and ED4 spans 2 percent, so neither bin is wide enough to catch a rank.

The file states the same limit in its own attainable_range attribute, which caps the index at plus or minus 2.028. That is worth converting: a z-score of 2.028 is the 97.87th percentile, and 97.87 never reaches the 98 where ED4 begins. The attribute predicts the empty class before you count anything.

So on the 1991 to 2020 baseline, read ED3 as the top of the scale rather than as one step below an unreached extreme.

A longer baseline lifts the ceiling, which is what the full-climatology files are for. Fitted against the whole 1950 to 2025 record, they have seventy-six samples per calendar month, which resolve to about 1.3 percent, inside the 2 percent bins at both ends. Their attainable_range rises to plus or minus 2.382, the 99.14th percentile, and the extremes do fill: counted over 1991 to 2025, EW4 holds 0.71 percent of valid cell-months and ED4 holds 1.74 percent.

The two are published side by side rather than one replacing the other, because they answer different questions. The 1991 to 2020 normal is the WMO reference period and the right choice when the number has to be comparable with other operational products. The full climatology is the one to reach for when the tails are the point, at the cost of a baseline that is no longer a standard thirty-year normal and that includes the warming trend it is measuring against.

Coverage moves with the season

EDDI is undefined where evaporative demand is effectively zero, which in practice means the high-latitude winter. Coverage is therefore not constant through the year: about 13 percent of the global grid carries a value in December 2025, against about 24 percent in July 2025.

Almost all of that swing is in the northern extratropics. Between 60N and 90N the count of valid cells goes from roughly 1,700 in December to 56,500 in July on the quarter-degree grid, while the band from the equator to 30N barely moves, 50,288 against 50,529. So a global count of drought-classified pixels is not comparable from one month to the next, though a given pixel compared against its own calendar month is.

Limitations inherited from TerraClimate

The two sections above are limits of the index as computed here. These are limits of the source, and they pass straight through, because nothing in the ranking removes them. The TerraClimate page carries the full list; these are the ones that bear on EDDI.

Trends are not independent evidence. Long-term trends in TerraClimate are inherited from its parent datasets, so a trend found in this EDDI 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 an index built to measure anomalies 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 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.

The evaporative demand model is simple. It uses a static reference landcover and does not account for heterogeneity in vegetation. EDDI is computed from reference evapotranspiration and nothing else, so this one applies to the whole product rather than to one input among several.

Validation is thin where stations are thin. TerraClimate reports limited validation in data-sparse regions, Antarctica among them. The map above draws Antarctica because the grid extends there, not because the value is trustworthy. The same caution covers high-elevation boreal systems, where winter inversions inherited from WorldClim v2.1 are likely extrapolated unrealistically, and that is the same place where seasonal coverage is thinnest.

One version, back to 1950

The record starts in 1950 because that is where TerraClimate v1.1 starts. The original TerraClimate was built on the JRA-55 reanalysis and covered 1958 onward; v1.1 replaced that with monthly anomalies from ERA5 laid over WorldClim climatologies, and that is what carries it back to 1950.

A single version is used throughout, and there is a measured reason to insist on it. TerraClimate advises against mixing v1.0 with v1.1. An earlier trial run did exactly that, joining v1.1 for 1950 to 1957 onto v1.0 from 1958, and the spread of the EDDI z-score broke at the join. On the full v1.1 record the break is gone:

Years Trial run, v1.1 joined to v1.0 Full v1.1 record
1950 to 1957 1.22 to 1.28 1.05 to 1.12
1958 to 1966 0.98 to 1.06 0.98 to 1.07

In the trial run the earlier block carried about a quarter more spread, with the step landing exactly on 1958. On the full record the two ranges overlap, and 1957 and 1958 sit at 1.047 and 1.056. A discontinuity like the first is invisible on any single map and fatal to a trend, because a trend fitted across the join partly measures the join.

Two things about the first year. TerraClimate cautions that 1950 may be affected by water balance model spin-up, but that concerns the model’s storage outputs, such as soil moisture and runoff, and reference evapotranspiration is computed from the climate variables rather than carried forward. The output agrees: 1950 has a standard deviation of 1.106, inside the 1951 to 1957 range, and a mean of -0.39, level with 1956. Separately, an accumulation needs its full window before it can produce a value, so each timescale starts late by its own length. The first values fall in January 1950 for the 1-month files, March for 3-month, June for 6-month and December for 12-month.

Reading the time axis

Every time step is stamped on the first of the month: 1950-01-01, 1950-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 1950 to 2025 record, with all three variables inside. Every file also comes in a quarter-degree version, resampled from the same computation: at roughly a fifteenth of the size it is the more practical download for continental or global work, and the one to start with if you only want to look around.

The filename carries the baseline, so base1991_2020 and base1950_2025 files can sit in the same directory without colliding.

Baseline 1991 to 2020, the WMO normal

Native resolution, about 4 km.

Timescale File Size
1 month wld_cli_terraclimate_eddi_01month_1950_2025_base1991_2020.nc 7.23 GB
3 month wld_cli_terraclimate_eddi_03month_1950_2025_base1991_2020.nc 7.51 GB
6 month wld_cli_terraclimate_eddi_06month_1950_2025_base1991_2020.nc 7.88 GB
12 month wld_cli_terraclimate_eddi_12month_1950_2025_base1991_2020.nc 7.05 GB

Quarter degree.

Timescale File Size
1 month wld_cli_terraclimate_eddi_01month_1950_2025_base1991_2020_025deg.nc 476.4 MB
3 month wld_cli_terraclimate_eddi_03month_1950_2025_base1991_2020_025deg.nc 507.5 MB
6 month wld_cli_terraclimate_eddi_06month_1950_2025_base1991_2020_025deg.nc 532.9 MB
12 month wld_cli_terraclimate_eddi_12month_1950_2025_base1991_2020_025deg.nc 474.7 MB

Baseline 1950 to 2025, the full climatology

This is the variant that reaches all eleven classes, for the reason set out above. Same four accumulation periods, same two resolutions, same three variables inside each file.

Native resolution, about 4 km.

Timescale File Size
1 month wld_cli_terraclimate_eddi_01month_1950_2025_base1950_2025.nc 9.66 GB
3 month wld_cli_terraclimate_eddi_03month_1950_2025_base1950_2025.nc 10.05 GB
6 month wld_cli_terraclimate_eddi_06month_1950_2025_base1950_2025.nc 10.57 GB
12 month wld_cli_terraclimate_eddi_12month_1950_2025_base1950_2025.nc 9.66 GB

Quarter degree.

Timescale File Size
1 month wld_cli_terraclimate_eddi_01month_1950_2025_base1950_2025_025deg.nc 595.6 MB
3 month wld_cli_terraclimate_eddi_03month_1950_2025_base1950_2025_025deg.nc 653.1 MB
6 month wld_cli_terraclimate_eddi_06month_1950_2025_base1950_2025_025deg.nc 699.3 MB
12 month wld_cli_terraclimate_eddi_12month_1950_2025_base1950_2025_025deg.nc 629.9 MB

License

  • TerraClimate, the source data: CC0-1.0, or refer to the Climatology Lab.
  • EDDI 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.

← Back to CSR

Back to top

© 2026, Benny Istanto.

Exploring Climate with GIS and Data Science, solving old problems in new ways. Turning earth observation data into actionable, life-saving insights.

Built with Quarto

Privacy

All content on this website does not represent the views of my (current or previous) employer.

  • View source
  • Report an issue

Buy Me a Coffee