← → arrow keys · swipe
An interactive explainer

Why Averages Lie About Rain

…and the exact formula that catches them

A storm has an average strength and an average size. Multiply them and you should get the total rain — right? Not quite. The missing piece measures something real about storms, and it can expose how satellites get rain wrong while looking right.

Built on real NOAA weather-radar data · 11 slides · use → to begin

1 · The puzzle

One storm, two answers

Watch a small storm for three half-hour snapshots, recording how hard it rains (mm/hr) and how big the rainy patch is (km²):

snapshotrate arearain made = rate × area × ½h
1 — growing2100100
2 — peak6300900
3 — fading18040
Way 1 — add what actually fell:
100 + 900 + 40 = 1040 ✓ the truth
Way 2 — multiply the averages:
avg rate 3 × avg area 160 × 1.5 h = 720

A third of the water vanished — with perfect data and no rounding. Multiplying averages genuinely loses information. What information?

2 · The math fact

The average of a product ≠ the product of averages

$$\overline{a\,b} \;=\; \bar a \cdot \bar b \;+\; \mathrm{cov}(a,b)$$

The correction — the covariance — is positive when a and b are big at the same time, zero when they ignore each other, negative when they oppose. Try it:

true total Σ a·b
averages × n
the gap
true ÷ naive
3 · The formula

An exact recipe for total storm rain

Apply that one fact to a storm, and the total rain volume V splits — exactly — into meaningful factors:

$$V \;=\; \Delta t \cdot T \;\cdot\; \bar I \;\cdot\; \bar A \;\cdot\; K_{IA}$$
Where does this come from? Open the four-line derivation

Setup: watch for T snapshots, each lasting Δt. At snapshot t the rain falls at intensity It over an active area of At.

1
Add up what fell. Each snapshot contributes intensity × area × Δt, and a sum is just “how many” × “the average”: $$V=\Delta t\sum_{t=1}^{T} I_t A_t \;=\; \Delta t\cdot T\cdot\overline{I A}$$
2
Use the math fact from the previous slide on that average-of-a-product: $$\overline{I A}\;=\;\bar I\,\bar A\;+\;\mathrm{cov}(I,A)$$
3
Factor out \(\bar I\,\bar A\) and give the bracket a name — the intensity–area coupling factor: $$\overline{I A}\;=\;\bar I\,\bar A\,\underbrace{\left(1+\frac{\mathrm{cov}(I,A)}{\bar I\,\bar A}\right)}_{\textstyle K_{IA}}$$
4
Put it back. Every line above is an equality — no approximation anywhere: $$V\;=\;\Delta t\cdot T\cdot \bar I\cdot \bar A\cdot K_{IA}$$
Bonus — the anatomy of \(K_{IA}\). A covariance always splits into correlation × the two spreads, \(\mathrm{cov}(I,A)=\rho\,\sigma_I\,\sigma_A\). Divide by \(\bar I\,\bar A\): $$K_{IA}\;=\;1+\rho\cdot\frac{\sigma_I}{\bar I}\cdot\frac{\sigma_A}{\bar A} \;=\;1+\rho\cdot CV_I\cdot CV_A$$ synchrony × intensity-swing × size-swing — the three knobs you can play with two slides ahead.
Δt·T

how long

the storm’s duration

Ī

how strong

mean intensity

Ā

how big

mean active area

KIA

how coupled

does it rain hardest when it is biggest?

KIA is the covariance from the last slide, dressed as a multiplier: KIA > 1 amplifies, KIA = 1 neutral, KIA < 1 reduces. Our toy storm: KIA = 1040 / 720 ≈ 1.44.

Why “exact” matters: this is an identity, like 12 = 3 × 4 — not a fitted score. Multiply the factors back and you recover the true total to computer precision, for any storm, any region, any time window. Every error you find is accountable.
4 · Coupling, dissected

Shape a storm — watch \(K_{IA}\) respond

$$K_{IA} = 1 + \rho \cdot CV_I \cdot CV_A$$
Where do the three knobs come from? Open the derivation
1
Start where the last slide ended. \(K_{IA}\) is one plus the covariance, measured relative to the averages it corrects: $$K_{IA}\;=\;1+\frac{\mathrm{cov}(I,A)}{\bar I\,\bar A}$$
2
Split the covariance. By the definition of correlation, \(\rho=\mathrm{cov}(I,A)/(\sigma_I\,\sigma_A)\), every covariance is “how in-step” × the two spreads: $$\mathrm{cov}(I,A)\;=\;\rho\cdot\sigma_I\cdot\sigma_A$$
3
Pair each spread with its own average. Dividing by \(\bar I\,\bar A\) turns the absolute spreads into relative swings — the coefficients of variation: $$\frac{\mathrm{cov}(I,A)}{\bar I\,\bar A} \;=\;\rho\cdot\underbrace{\frac{\sigma_I}{\bar I}}_{\textstyle CV_I} \cdot\underbrace{\frac{\sigma_A}{\bar A}}_{\textstyle CV_A}$$
4
Read off the result. $$K_{IA}\;=\;1+\rho\cdot CV_I\cdot CV_A$$ And the formula polices itself: ρ can never leave −1…+1, and if either swing is zero the product dies — so \(K_{IA}=1\) unless all three knobs are turned. That is exactly what the presets below demonstrate.

ρ: do intensity & size rise together? · CVI: does intensity swing? · CVA: does size swing? You need all three.

ρ synchrony
CVI
CVA
KIA

5 · Real weather, live

Replay four real storms

Genuine NOAA radar measurements over the southeastern US, every 30 minutes. Press play and watch the decomposition assemble itself — hover any dot for its exact reading.

right now
ρ (whole storm)
KIA (whole storm)

6 · The shape of coupling

You can read \(K_{IA}\) straight off the dots

Same four storms, each point one snapshot — size vs intensity, both scaled by their own averages, colored by storm lifetime. The shape of the cloud is the diagnosis — hover any dot to interrogate a snapshot.

A falling staircase = anti-coupled (fierce while small). A shapeless blob = independent. A rising diagonal = coupled — the steeper and tighter, the bigger \(K_{IA}\). No formula needed to see it; the formula just makes it a number.

7 · What the radar saw

The organized storm, frame by frame

Animated radar storm with live decomposition
November 24–25, 2022. Left: the radar map every 30 minutes. Right: intensity (orange) and area (blue) climbing and falling together, while the dots assemble the rising diagonal you just learned to read — \(K_{IA}\) = 1.45, a 45% intensity–area coupling bonus over the product of the means.

Full report cards for all four storms: organized · two pulses · popcorn · weakening

8 · Why it matters

Catching a satellite hiding its mistakes

NASA’s IMERG satellite product estimates rain for the whole planet. Over our radar-covered region its 2-year rain total was off by just +1.2%. Sounds perfect — until you decompose it. The satellite is built in three stages; pick one:

Reading the differences with log-ratios. For any factor \(X\) we compare a product \(P\) to the radar reference \(R\) with the natural-log ratio \(D_X=\ln\!\big(X^{(P)}/X^{(R)}\big)\). Because the recipe multiplies, the logs simply add:  \(D_V=D_I+D_A+D_K\) — the total-volume difference is exactly the sum of the intensity, area, and coupling contributions. \(D_X=0\) means “matches the radar”; the exact relative difference is \(e^{D_X}-1\). And because \(\ln x \approx x-1\) when \(x\) is near 1, a small \(D_X\) is essentially the fractional (percent) difference — so these log-contributions read almost like additive percentages whenever the biases are modest.

9 · Take-away

Three things to remember

  1. Averages multiply wrong whenever two things vary together. The gap is covariance — information, not noise.
  2. Total rain = duration × intensity × area × coupling. Exactly. Intensity–area coupling asks one question: does it rain hardest when it rains biggest?
  3. A perfect total can hide big errors. Exact decomposition finds compensating mistakes — and in logs they add, \(D_V=D_I+D_A+D_K\), so the cancellation is laid bare — in satellites, climate models, or anywhere a product of averages stands in for reality.
The same identity works for any “episodes that have an intensity and a size”: heat waves, wildfires, floods, even customer traffic in a shop. Wherever totals are built from intensity × extent, intensity–area coupling is hiding inside.

Thanks for scrolling the storm

Method: exact intensity–area decomposition of precipitation volume
\(V=\Delta t\,T\,\bar I\,\bar A\,K_{IA}\),   \(K_{IA} = 1+\rho\,CV_I\,CV_A\);   differences \(D_X=\ln(X^{(P)}/X^{(R)})\), \(D_V=D_I+D_A+D_K\) — S. Yan, 2026

Yan, S.: Diagnosing Satellite Precipitation Differences with an Exact Intensity–Area Decomposition (JHM, in prep.)
Data: NOAA MRMS gauge-corrected radar QPE · NASA GPM IMERG V07B
2022–2023, southeastern US study region (29.85–34.75°N, 86.65–81.75°W)
All storm replays use the real measured series. Page assembled with Claude Code.