ENSOscope

Methodology

How the forecasts, the ENSO classification, the skill verification, and the teleconnection composites are produced.

ENSO index & 7-class classification

For each ensemble member we compute area-weighted NINO sea-surface-temperature indices (NINO3.4, NINO3, NINO4) and the NINO3 precipitation anomaly. Each SST index is a relative index: from the box mean we subtract the tropical mean over 20°S to 20°N in the same month. That is the index of L'Heureux et al. (2024), which NOAA CPC publishes as the Relative Niño index (RONI). A warm world lifts the whole tropical ocean together, so removing the tropical mean leaves the east-to-west contrast that actually drives the teleconnections and removes the background warming with it, without fitting anything.

Each index is then deseasonalised against a 30-year rolling climatology and standardised per calendar month over 1980-2014, every dataset and every model by its own spread. Until 14 September 2026 the warming was instead removed by regressing each index on a global mean temperature curve. That estimator drifts: measured against the relative index it runs about 0.2 standard deviations low in the early 1980s and 0.3 high in the 2020s, in four independent SST products alike, so recent events read too strong and old ones too weak. It has been withdrawn.

When an event starts and ends. Detection follows NOAA CPC's own episode rule, written in standardised units. We take the centred three-month running mean of the standardised relative NINO3.4 index, which is the same overlapping "season" CPC tabulates. An episode is at least five consecutive overlapping seasons at or beyond a threshold that depends on the calendar month, t(m) = 0.5 °C divided by the month's ONI spread: from 0.44 standard deviations in December to 0.94 in May. That is NOAA's 0.5 °C test and its variance adjustment, rewritten in standard deviations rather than re-tuned; the twelve numbers are computed once on COBE-SST 2 and shared by every dataset and model, so a product with weaker variance is never handed an easier test. There is no seasonal phase-locking requirement and no bridging of gaps inside the rule.

Multi-year events. Two episodes of the same sign are treated as one event when the gap between them is three months or less and no month in that gap reaches 0.25 standard deviations on the opposite side. The inner boundaries are kept as sub-episodes, so the 1998-2001 and 2020-2023 La Niñas are single multi-year objects that still carry the two pieces NOAA lists, and a genuine swing to the other phase always ends the event however short the gap.

How strong an event is is read on the monthly standardised index inside the event window, with three consecutive months required at each level. The tiers are at or above, so the highest tier reached wins:

  • Extreme - NINO3 (El Niño) or NINO4 (La Niña) at or beyond 1.75, and for El Niño also a NINO3 precipitation anomaly ≥ 5 mm/day
  • Strong - otherwise, at or beyond 1.25, with no upper bound
  • Moderate - an event that clears detection but not the strong tier
  • Neutral - every month in no event window

The tiers were disjoint bands until 14 September 2026, and a single month past 1.75 could break the run of three and drop a genuinely strong event to moderate. Cumulative tiers cannot do that.

The precipitation requirement is deliberate: a truly extreme El Niño is distinguished not by SST alone but by the eastward shift of deep convection into the eastern Pacific, captured by the NINO3 rainfall response.

Where the observed record stops. The relative index needs nothing but sea surface temperature, so the observed NINO indices now run to the latest month of SST on file. The NINO3 rainfall anomaly is only read inside an event window, and every rainfall-based product on the site (the maps, the country series, the extreme El Niño gate) stops at the end of its own input, which is usually earlier. The two ends are therefore different on purpose, and each panel is labelled with the month it actually reaches. Classification itself stops one month before the SST does, because the centred three-month season of the last month needs a month that does not exist yet.

Bias & amplitude correction - no statistical calibration

Each member's index is corrected to the 1993-2016 common hindcast period with a variance-rescaling bias correction (after Merryfield & Lee): the hindcast mean is removed and the variance is rescaled to match observations,

z = (anomaly − μhindcast) / σhindcast  for each start month and lead time.

This removes both the mean bias and the model's ENSO amplitude bias - seasonal models typically over-amplify ENSO by ~40% (the cold-tongue bias). Probabilities are then the raw fraction of ensemble members in each class. No Platt or isotonic calibration is applied: the spread of the bias-corrected ensemble is the probability.

On the 1993-2016 hindcast this reproduces observed extreme-event frequencies (extreme El Niño 1.7% modelled vs 2.1% observed; extreme La Niña 10.5% vs 7.6%), which a calibration layer would otherwise obscure.

Skill verification

Skill is shown directly as the temporal correlation between the hindcast ensemble-mean NINO index and observations, as a function of start month and lead time, for each NINO region including NINO3 precipitation - the standard anomaly-correlation metric used in seasonal-forecast verification. Correlation falls at longer leads and across the boreal-spring predictability barrier. See the Skill tab.

Teleconnection composites

The Teleconnections maps composite climate-impact indicators (heat: Tmax, UTCI, WBGT, and daytime, nighttime and compound heatwave days; precipitation extremes: Rx10day, consecutive dry days) by ENSO phase, from ERA5/CHIRPS observations and a CESM2 large ensemble. The ENSO indices used to classify each event are relative indices (the box mean minus the concurrent 20°S to 20°N tropical mean), deseasonalised with a 30-year rolling window and standardised by the ENSO standard deviation over 1980-2014, where the threshold is expressed in standard deviations. The composited fields themselves are left alone: taking the tropical mean out belongs to the classification, so a composite shows the conditions actually observed or simulated during those events, warming included. Anomalies are shown relative to the neutral composite.

How the heatwave days are defined. Following the daytime, nighttime and compound framing of Zhang et al. (2025), a daytime heatwave day is one whose daily maximum temperature exceeds the local calendar-day 90th percentile (TX90p); a nighttime heatwave day is one whose daily minimum exceeds the 90th percentile (TN90p); and a compound heatwave day is hot by both measures at once. The percentiles use a recent multi-decade baseline (1981-2020 for the observations, 1980-2014 for the CESM2 historical ensemble) with a 5-day calendar-window smoother, so a heatwave day is defined relative to what is locally and seasonally normal rather than a fixed temperature. Counts are summed over the season each event contributes and then composited by ENSO phase.

Which season each event contributes. One rule, applied to the observations and to CESM2, to heat and to rainfall alike. An event, or a neutral period, enters a seasonal composite only if it spans every month of that season, from the first day of its first month to the last day of its last. It contributes one season even when it lasted several years. And that season must have at least 90 per cent of its days in the data record, which is why the 2025-26 La Niña is not yet in the December to February maps: the observed record used here ends in December 2025.

Because the teleconnection composites use a long observational/ensemble baseline, they use a different normalization from the forecasts (which are constrained to the 1993-2016 hindcast period).

Absolute heat-stress thresholds

Alongside the percentile-based heatwave days, the heat indicators are also counted against fixed temperature thresholds that carry a direct health meaning, so a number can be read as "days in the 32 to 38 C band" rather than "days above the local 90th percentile". These were added at the request of the humanitarian teams.

  • UTCI - days at or above 32 °C (strong heat stress), 38 °C (very strong) and 46 °C (extreme), following the standard UTCI thermal-stress scale.
  • WBGT - days at or above 29 °C, 31 °C and 32 °C, approximately the US National Weather Service category edges (29.4, 31.1 and 32.2 °C).
  • Nighttime heat - nights whose minimum stays at or above 20 °C (tropical night), 25 °C (equatorial night) and 30 °C (torrid night).

These are shown from the observations only, and that is deliberate. A percentile threshold is defined from the field's own distribution, so a uniform warm or cold bias cancels out: a model running 2 °C warm still has the same number of days above its own 90th percentile. An absolute threshold has no such protection, because it reads the actual value. Measured on ERA5, a 1 °C warm bias adds roughly 6 days per season over the Horn of Africa, 7 over South Asia and 10 over Southeast Asia, which is as large as the El Niño signal itself. The percentile-based layers are therefore the ones to use for the model ensemble; the fixed thresholds are reported from the reanalysis.

One further caution on WBGT. It is computed here with a simplified formula that uses temperature and humidity only, assuming light winds and fairly sunny conditions, and so cannot respond to the actual radiation or wind. A seasonal mean tolerates that approximation well; a count of threshold crossings tolerates it less well, because a count is a step function at the cut-off. UTCI, computed with the full Bröde polynomial using actual radiation and wind, is the more reliable of the two for this purpose.

Event replay

The teleconnection maps answer "what does an El Niño typically do", by averaging every past event of a class into one seasonal composite. The Event replay page answers the opposite question, for one named event, and nothing on it is averaged into seasons.

The window. Each event is replayed from January of the year it began through December of the year it ended. That places the peak near the middle and shows the build-up and the decay either side: the 1997-98 El Niño runs January 1997 to December 1998. It also handles multi-year events without special-casing, so the 2020-2023 triple-dip La Niña is one 48-month window rather than three clipped pieces. Events shorter than 24 months are padded by extending the end, never the start, which would push the onset off the edge.

The comparison. The faint lines behind each panel are the other observed events of the same type, aligned so that month 0 is January of each one's own first year. Without a common origin, events beginning in different calendar months could not be read on one axis.

The country series. Monthly, area-weighted over the country at native 0.25°, from CHIRPS rainfall and ERA5 heat. Only fixed thresholds are used here: a percentile index would need a 0.25° percentile climatology, and dropping to 1° would leave small countries with two or three grid cells. Note that the seasonal maps show the longest dry run (CDD), while this page counts days below 1 mm, because a longest run inside one calendar month is ambiguous when spells cross month boundaries. They are different quantities and are labelled differently.

The neutral reference. The dashed green line on each panel is what an ordinary year looks like in that country: the average of the catalogued neutral years for the same calendar month, between 11 and 16 years per month. Comparing an event only against other events answers "was this El Niño worse than the last one"; it cannot answer "was it worse than a normal year", which is the question that decides whether to pre-position anything. The same reference defines every anomaly on the page. A conventional thirty-year normal is deliberately not used: such a window contains El Niños and La Niñas, so an event measured against one is partly measured against itself. Months belonging to no catalogued period at all are ENSO transitions and count as neither.

The most recent months are not counted as neutral. Classification needs five consecutive seasons, so a run that has not yet lasted that long belongs to no event and would otherwise be recorded as neutral by default. In the middle of the record that is safe, because we can see what followed. At the end of the record it is not: the record simply stops, and the run may still be building. Treating those months as neutral would state that conditions are normal when what we actually have is no classification yet, and it would fold them into the very definition of an ordinary year. So the trailing unclassified period is excluded from the reference and is not labelled anywhere on the site. As of August 2026 that period is March to August 2026, which contains an August at +2.4 standard deviations: unambiguously not an ordinary month, and exactly the kind of value that must not be allowed to define what ordinary means.

Thresholds. Heat stress and warm nights each carry all three health bands, selectable above the panel: UTCI 32-38, 38-46 and 46 °C and above, and nights of 20-25, 25-30 and 30 °C and above. The bands are disjoint: each day falls in exactly one, so the three add up rather than nesting. They were cumulative until 2026-08-25, which meant a day at UTCI 47 was counted in all three and the series could not be compared or summed. The extreme end is a different question from the mild end rather than a scaled version of it, since a country can gain a fortnight of UTCI 32-38 days in an El Niño year and not a single day above 46. Where a country never reaches a cut-off anywhere in the 1981-2025 record the button says so, because "never happens here" is information and a blank panel is not. The map underneath follows the selected cut-off when it is already showing that family.

Comparing two events in space. Below the world map, the selected country is drawn twice side by side: the chosen event on the left, any other event of the same family on the right, on one shared colour scale. Independent scales would show the same anomaly in different colours and quietly invert the comparison the panels exist to make. A month slider steps both panels together through the same offset from each event's own January, so "November of year 0" is November of 1997 on one side and November of 2023 on the other. This matters because the difference between two seasons is often not how much fell but when: a window average cannot separate a season that started early from one that caught up late. Values are clipped to the country and its border drawn heavy, with neighbours outlined for orientation only. The colour range is set from the two months on screen rather than from the whole record, because on an extreme month a fixed range saturates both panels into identical blocks and destroys the comparison; the bar under each panel carries the numbers, and rescales with the slider.

The axis. Months are named, on two lines, with the relative year under each January. The year is relative rather than absolute because the comparison lines are different events from different decades sharing one axis; the selected event's real years are in the axis title and in every tooltip. Labels are never rotated: a rotated tick label is anchored at its own centre, so it drifts away from the tick it belongs to, and on a 48-month axis that drift is larger than the spacing between months.

Resolution. The country time series are computed at the source resolution, 0.25°, from CHIRPS and ERA5. The maps are 1°. That is a hosting limit, not a scientific one, and it costs nothing where it applies: the world map is about two pixels per degree, so a 0.25° cell there would be half a pixel. It does cost something on the country zoom, where a 1° cell is a visible block, and a 0.25° version of that layer is built and waiting on somewhere large enough to serve it. Note the distinction: the gridded 0.25° map is not yet served, but the sub-national numbers below are computed from that same 0.25° store, so the regional figures already carry the full source resolution even while the picture above them is drawn at 1°.

Sub-national regions. Clicking a province on either country panel swaps every chart below it to that province. The regional figures are the mean of the 0.25° cells whose centre falls inside the admin-1 boundary, taken from the same store the maps are drawn from, so the table and the map above it can never disagree. Charts are shown in absolute units against the same neutral-year reference the country view uses: the store holds anomalies, and the neutral mean per calendar month is carried alongside them so the absolute value can be recovered exactly rather than approximated. A region with fewer than three grid cells is left out, because an average over one or two pixels is noise rather than a measurement; that drops a few very small units, Nairobi among them.

The ± beside a regional figure is a spread, not an error bar. It is the standard deviation of the cells inside that region for that month, so it answers whether the region moved as one, and it is not an uncertainty on the mean. The two imply opposite things about confidence and are easily confused. Where the spread is larger than the mean, part of the region went the other way and the average is hiding a split rather than summarising a signal.

Boundaries are Natural Earth admin-1. For some countries these are the older administrative divisions: DR Congo appears as its eleven pre-2015 provinces rather than the current 26, and Kenya as its former provinces rather than its 47 counties. This is adequate for regional comparison and inadequate for matching a specific current administrative unit; where that matters the OCHA Common Operational Datasets are the right source, and are what humanitarian reporting aligns to.

The map. Each event's map is its own, not a phase composite: the field is aggregated over the replay window and expressed against the neutral-year normal for the same calendar months. Matching the months matters, because a 24-month window contains two of every month and a 36-month one does not, so comparing against an annual mean would alias the seasonal cycle into the anomaly and make long events look wet or dry for no physical reason.

What is deliberately absent. An event still running also carries the live ECMWF sea-surface-temperature forecast, shown dashed. The rainfall and heat panels stop at the observed record: there is no calibrated forecast of country rainfall or heat behind this site, and deriving one from the SST forecast would be a considerably larger claim than that forecast supports.

Data sources and references

Every dataset used here is open and freely available. Please cite the original sources below if you reuse this material.

  • ECMWF SEAS5 (System 51) - seasonal forecasts and hindcasts. Johnson et al. (2019), Geosci. Model Dev. 12, 1087-1117. doi:10.5194/gmd-12-1087-2019. Accessed via the Copernicus Climate Data Store (C3S).
  • Météo-France System 9 - seasonal forecasts and hindcasts, via the Copernicus C3S multi-system seasonal service.
  • ERA5 reanalysis - basis for the heat-stress indices (WBGT, UTCI). Hersbach et al. (2020), Q. J. R. Meteorol. Soc. 146, 1999-2049. doi:10.1002/qj.3803.
  • CHIRPS v2.0 - daily precipitation (1981-present) for the rainfall teleconnection composites. Funk et al. (2015), Sci. Data 2, 150066. doi:10.1038/sdata.2015.66.
  • CESM2 Large Ensemble (LENS2) - ~50 members for the model teleconnection composites. Rodgers et al. (2021), Earth Syst. Dynam. 12, 1393-1411. doi:10.5194/esd-12-1393-2021.
  • COBE-SST 2 - observed SST for the ENSO indices. Hirahara et al. (2014), J. Climate 27, 57-75. doi:10.1175/JCLI-D-12-00837.1. Data provided by the NOAA PSL, Boulder, Colorado, USA, from psl.noaa.gov.
  • GPCP (Global Precipitation Climatology Project, Monthly Analysis Product) - observed precipitation for the ENSO precipitation index. Adler et al. (2003), J. Hydrometeorol. 4, 1147-1167. doi:10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2. Data provided by the NOAA PSL, Boulder, Colorado, USA, from psl.noaa.gov.
  • Relative Niño index - the definition used to classify every event here. L'Heureux et al. (2024), A relative sea surface temperature index for classifying ENSO events in a changing climate, J. Climate 37, 1197-1211. See also NOAA CPC's RONI page, from which the episode rule and its 0.5 °C variance-adjusted threshold are taken.
  • Berkeley Earth - global mean temperature. No longer used to classify events; kept for the archived runs that predate 14 September 2026. Rohde & Hausfather (2020), Earth Syst. Sci. Data 12, 3469-3479. doi:10.5194/essd-12-3469-2020.
  • UTCI heat-stress index - Bröde et al. (2012), Int. J. Biometeorol. 56, 481-494. doi:10.1007/s00484-011-0454-1.
  • Heatwave-day framework (daytime / nighttime / compound) - Zhang et al. (2025), J. Geophys. Res. Atmos. doi:10.1029/2024JD042446.
  • UTCI heat-stress thresholds (32 / 38 / 46 °C) applied to population exposure - Emerton et al. (2026), Global heat stress intensification and its expanding footprint on the human population, Nature Climate Change. doi:10.1038/s41558-026-02670-5.
  • WBGT heat-stress categories - US National Weather Service, and the ArcGIS Living Atlas WBGT layer.
  • Simplified WBGT formula - Australian Bureau of Meteorology approximation, bom.gov.au/info/thermal_stress.
  • Tropical / equatorial / torrid nights (20 / 25 / 30 °C) - Correa et al. (2024), Int. J. Climatology. doi:10.1002/joc.8510.
  • Country and coastline boundaries - Natural Earth (public domain).