The loose promise of El Niño, quantified.
Seventy-six California water years, one Pacific thermostat, and the question every reservoir operator asks in October: does the ocean know something we don't?
California does not do average. Statewide precipitation over a water year — October through the following September — runs about 22 inches, but the state routinely lands seven inches above or below it. Whole reservoirs, hydropower forecasts, and allocation fights live inside that swing, which is why the Department of Water Resources, the Bureau of Reclamation, and PG&E all watch the tropical Pacific every fall.
What they're watching is ENSO — the El Niño–Southern Oscillation, a slow slosh of warm and cool water along the equator. When the Niño 3.4 region runs hot, it's an El Niño; cold, a La Niña; in between, Neutral. Decades of research — Schonher & Nicholson in 1989, Redmond & Koch in 1991, Cayan and colleagues in 1999 — links El Niño winters to wetter Californias.
But the folklore version — El Niño means rain — keeps failing in public. So we asked a more precise question: not which label a year wears, but how much intensity matters. Scroll on.
Before we average the state into a single figure, it's worth remembering what that figure is averaging. Each of these places lives on a different kind of water — and each has a rain gauge with a real record behind it.
Every one of these gauges is a single dot in the statewide average — and Muir Woods is the reason to be careful with it: coast redwoods pull a large share of their summer water from fog condensing on their needles and dripping to the ground. No rain gauge counts that. The statewide number is a useful instrument, not a complete one.
Everything above hangs on one number per winter. Here's the instrument panel — drag the slider to change the state of the tropical Pacific and watch what each index reports.
Same sea — every degree a different California.
A 3-month running mean of sea-surface-temperature anomalies (ERSSTv5) averaged over the Niño 3.4 box of the equatorial Pacific (5°N–5°S, 120°W–170°W).
Anomalies are measured against centered 30-year climatologies that NOAA updates every five years — so a warming ocean isn't misread as a permanent El Niño. Our predictor, oni_djf, is the December–February value.
The SOI is pressure-based: standardized sea-level pressure at Tahiti minus Darwin, as departures from the 1981–2010 base period (NOAA NCEI). Negative SOI coincides with El Niño — the opposite sign convention to the ONI.
So rsoi is the November–March mean SOI × (−1): positive means El Niño for both indices in this report.
Every statewide inch is an average over a network of rain gauges. Here are 282 GHCN stations with at least a decade of complete water years, colored by what an average year drops on each — the stations alone trace the shape of the state. Hover any dot.
The wettest gauge in this network — Gasquet Ranger Station, on the Smith River near the Oregon border — averages 89.6 inches a year. The driest, Imperial County Airport in the southeastern desert, averages 2.1. Same state, same statistic, a 43× difference.
This is why "statewide precipitation" is a blunt instrument — and why Jong et al. (2016) matters: the ENSO signal concentrates south of the dashed line, in the dry half. Averaging a strong SoCal response with a weak, wet NorCal one understates the effect exactly where it operates.
One row per water year, WY 1950–2025. Outcome: statewide precipitation (NOAA Climate at a Glance). Predictor: December–February Oceanic Niño Index (NOAA CPC), kept continuous — a weak and a very strong El Niño are different events. Economists call what follows a stargazer table: every model in its own column, every coefficient wearing its standard error underneath and its stars beside. It rewards slow reading — so read it slowly. Scroll, and the table will follow along.
Rows are variables; columns are models. Each cell shows the coefficient, its HC1 robust standard error in parentheses, and stars for significance (* p<0.1, ** p<0.05, *** p<0.01).
Robust errors are the seatbelt: they never change where the estimate lands, only how confidently we're allowed to talk about it — and the fan in the scatter above is why we buckle up.
+2.550 in/°C
Intensity, kept continuous. Each additional °C of winter ONI associates with about two and a half more inches of statewide rain, and the estimate clears every conventional threshold (robust p < 0.001).
This is the estimand. Everything else in the table is a stress test of this number.
Replace the thermometer with the labels — El Niño and La Niña dummies against a Neutral baseline — and the stars mostly go out: El Niño p = 0.074, La Niña p = 0.396, R² drops to 0.108.
Binning at ±0.5 °C files 2016's monstrous +2.6 °C in the same drawer as a barely-there +0.5 °C. Intensity is the signal; the phase name is mostly noise.
Could last winter's ocean, or a slow secular trend, be confounding the slope? Add both. Neither earns a star (lag p = 0.29, trend p = 0.54) — and the ONI slope barely moves: 2.550 → 2.750.
That stability across specifications is the robustness argument. Parsimony sends us back to Model 1.
Log the outcome and the coefficient changes language: 100·(e0.105 − 1) ≈ 11.1% more rain per °C, multiplicatively.
Two catches travel with the transform: back-transformed predictions are geometric means (slightly below the arithmetic means planners budget with), and its R² lives on a different outcome scale — it cannot be compared to columns 1–3.
Model 3 wins raw R² (0.218), but raw R² can only rise when you add regressors. Adjusted R² charges rent for each extra term — 0.184 vs Model 1's 0.176 — so two extra coefficients barely pay for themselves.
And every column agrees on the ceiling: ENSO explains roughly a fifth of the variance. The other four-fifths is everything ENSO is not.
| (1) Linear | (2) Phase | (3) Lag + trend | (4) Log-linear | |
|---|---|---|---|---|
| Dependent variable | precip_in | precip_in | precip_in | ln(precip_in) |
| Winter ONI (°C) | 2.550***(0.661) | — | 2.750***(0.675) | 0.105***(0.027) |
| El Niño (0/1) | — | 3.315*(1.859) | — | — |
| La Niña (0/1) | — | −1.231(1.450) | — | — |
| Prev. winter ONI (°C) | — | — | 0.605(0.575) | — |
| Time trend (years) | — | — | −0.017(0.028) | — |
| Constant | 22.236***(0.633) | 21.562***(1.202) | 22.759***(1.094) | 3.064***(0.030) |
| Observations | 76 | 76 | 75 | 76 |
| R² | 0.187 | 0.108 | 0.218 | 0.146 |
| Adjusted R² | 0.176 | 0.084 | 0.184 | 0.135 |
| HC1 heteroskedasticity-robust SEs in parentheses · *p<0.1 **p<0.05 ***p<0.01 · Model 2 reference: Neutral · Model 3 drops WY1950 (lag undefined). | ||||
With n = 76 we lean on the large-sample OLS assumptions — which means normal errors are a courtesy, not a requirement, and the real work is checking the other four honestly.
Water years form a time series, not a random draw. The dependence looks mild — residual lag-1 autocorrelation ≈ 0.08, Durbin–Watson = 1.82 — but robust SEs fix heteroskedasticity, not serial correlation.
ONI, its lag, and the time trend are nearly orthogonal (all VIFs ≈ 1); every design matrix is full rank.
A quadratic ONI term is insignificant (robust p ≈ 0.19), so a line is a fair approximation — though a threshold response can't be ruled out at this sample size.
Breusch–Pagan p = 0.033 and the visible fan at high ONI reject constant variance. This is why every standard error on this page is HC1 robust.
Model 1 residuals pass Shapiro–Wilk comfortably (p = 0.97); Model 4's less so (p = 0.015). Either way the CLT carries the inference.
Limitations here are design trade-offs, not mistakes — every specification buys its insight by giving something up.
Shared limitation: statewide averaging dilutes a signal Jong et al. (2016) show is concentrated in Southern California — and none of this is causal or predictive.
The statistical fine print — assumptions, diagnostics, and each model's limitations — lives in the sections above. The analysis remains descriptive, not causal or predictive.
About the chart data. The interactive charts on this page are drawn from a 284-station GHCN monthly subset aggregated by the authors (two-step: station water-year totals, then a cross-station mean); its fitted slope is shallower than the official NOAA Climate at a Glance series that the reported estimates use. Same shape, honest difference.
References. Cayan, Redmond & Riddle (1999); Redmond & Koch (1991); Schonher & Nicholson (1989); Jong et al. (2016); Guirguis et al. (2024); NOAA CPC ONI; NOAA NCEI Climate at a Glance.
Energy note. Fitting for the subject, this page is built to sip: every animation pauses when its section leaves the viewport, the ocean renders at half frame-rate, the landscape gallery draws only during transitions, and the whole page is a single file with no external requests.