← Buffalo dashboard

How far ahead can this system see?

Every number on this page comes from replaying our prediction code, hour by hour, against 11½ years of Buffalo River history (December 2014 – June 2026) — the same math that runs the live dashboard. No cherry-picking: these are the honest hit rates and warning times, including what we miss.

The river chain — how a wave travels

Boxley → ~1.8 h
(big waves ~1.5 h)
Ponca → ~6.8 h
(big waves ~5.8 h)
Pruitt → ~9.5 h
(big waves ~8.5 h)
St. Joe → ~6.8 h
(big waves ~6.2 h)
Harriet

Median crest-to-crest travel times, measured on every linked rise in 11½ years. This is where the lower river's warning time comes from: by the time a surge crests at Ponca, Harriet still has roughly 14–17 hours before it arrives — and we track it the whole way down.

Gauge by gauge

Boxley

local-rain gauge
~4.8 hours
typical warning before high water — measured from when the flood-making storm first fires a prediction (median over 64 floods)
Events with any advance signal98.4%
First moderate-or-larger call~3.1 h before crossing
Local rain trigger0.45" in 6 h on normal ground — wet ground lowers the bar by a third, dry raises it
Measured rain-to-peak window5–10 h

What it can miss: Anything beyond the rain itself. Boxley answers rain in hours — there is no upstream river to watch, so warning time is capped by how fast rain becomes runoff on 92 km² of steep ground.

Ponca

local-rain gauge
~5 hours
typical warning before high water — measured from when the flood-making storm first fires a prediction (median over 107 floods)
Events with any advance signal100%
First moderate-or-larger call~2.5 h before crossing
Boxley wave confirmation~2 h before arrival (final confirmation, not the first warning)
Local rain trigger0.45" in 6 h on normal ground — wet ground lowers the bar by a third, dry raises it
Measured rain-to-peak window5.5–12 h

What it can miss: Same physics as Boxley: Ponca is rain-driven, and Boxley adds only ~2 hours of river confirmation just before a surge arrives. Most of Ponca's warning comes from watching the rain.

Pruitt

wave-tracked gauge
~6.5 hours
typical warning before high water (wave-tracker watch, median over 108 floods)
High-water events caught (watch tier)90.7%
Flood warnings that verifiedwarning tier fires only when even the low end of the predicted range floods
Events with any advance signal100%
First moderate-or-larger call~7.9 h before crossing
Local rain trigger0.45" in 6 h on normal ground — wet ground lowers the bar by a third, dry raises it
Measured rain-to-peak window8–15 h

What it can miss: A cloudburst sitting only on Pruitt's own small side-drainage (123 km²) can outrun the trackers — rare, and usually smaller than a basin-wide storm.

St. Joe

wave-tracked gauge
~10 hours
typical warning before high water (wave-tracker watch, median over 79 floods)
High-water events caught (watch tier)97.5%
Flood warnings that verifiedwarning tier fires only when even the low end of the predicted range floods
Events with any advance signal100%
First moderate-or-larger call~11 h before crossing
Local rain trigger0.4" in 6 h on normal ground — wet ground lowers the bar by a third, dry raises it
Measured rain-to-peak window9.5–22.5 h

What it can miss: Very little, in practice. Richland Creek has its own gauge that feeds every wave prediction toward St. Joe, and heavy middle-basin rain also fires St. Joe's local-rain card. The narrow gap: rain falling only below the Richland gauge but above St. Joe — an unusual storm shape, covered by the local card with wider windows.

Harriet

wave-tracked gauge
~10 hours
typical warning before high water (wave-tracker watch, median over 72 floods)
High-water events caught (watch tier)95.8%
Flood warnings that verifiedwarning tier fires only when even the low end of the predicted range floods
Events with any advance signal100%
First moderate-or-larger call~13.2 h before crossing
Local rain trigger0.45" in 6 h on normal ground — wet ground lowers the bar by a third, dry raises it
Measured rain-to-peak window9–20.5 h

What it can miss: Very little, in practice. Bear Creek's rain counts directly in Harriet's local trigger AND its gauge feeds the wave models. The residual gap is a cloudburst confined to the immediate Harriet reach below Bear Creek — rare and usually brief.

The honest math

How we read ground wetness: from the river itself. Each gauge's pre-storm baseflow is ranked against 11½ years of history for that month — a high percentile means saturated ground and a hair-trigger river, even when the rain gauge has been dry for a week. That ranking scales every local rain trigger (recent-rainfall history is the fallback when gauge data is thin).

Two systems run side by side. The wave tracker watches every gauge for a crest; when one forms, it predicts the size and arrival time downstream using equations fit to 11½ years of measured waves — including how much rain fell in between and how wet the ground was. A watch means the middle of the predicted range reaches 60% of that gauge's flood threshold; a warning means even the cautious low end of the range floods. The local-rain cards cover the storms the tracker can't see — rain that hasn't reached any gauge yet — and they say so honestly, with wider windows and lower confidence labels.

Validated 11.6-year hourly replay (2014-12 → 2026-06), research/buffalo_replay baseline v6. Generated 2026-07-02T22:48:41+00:00. Experimental — river conditions can change faster than any forecast; never rely on a single number for safety decisions.