How the forecast has changed over time.

Model changelog

Every change to how the forecast is calculated — what changed, why, and how it moved the backtest. Newest first.

2026-07-032026-07-03-drawdown-evap

Forecast now follows an active drawdown, and calm days lose water to evaporation

Why: Two below-the-radar gaps, both found by scoring our own published forecasts against the gauge. (1) When the parish opened the gates below 16 ft to lower the lake ahead of storm season (June 24), the forecast kept showing the slow everyday seepage rate and read about a quarter-foot high — drainage in that band is set by the operators, not by the water level, so no formula could predict it from the level alone. (2) On dry days the expected line also drained slightly too slowly, because the lake's evaporation (about a quarter inch a day in summer) was accounted for everywhere in the calibration but never actually subtracted from the forward forecast.

Effect on backtest: The forecast now watches the gauge itself: when the lake is falling clearly faster than seepage explains, it carries a damped version of that observed drawdown forward — and a fresh parish posting that the gates are CLOSED overrides the signal and holds the level. Replaying June's drawdown, the strong-drawdown miss halves (0.14 to 0.09 ft) and the days after the gates closed track to ~0.04 ft. Dry days now also lose their evaporation (~0.02 ft/day in summer). Storm peaks, the 2016 reconstruction, and the worst-case line are untouched — the safety band is exactly as conservative as before.

2026-06-222026-06-22-drainfit

Calibrated the open-gate drainage rate to the gauge record

Why: With the gates open and the lake falling, the expected line was draining too slowly — it showed the lake holding near 16.4 ft when the gauge was actually dropping a couple of inches a day. The drainage rate had been measured on 'dry' recession days that were in fact still quietly taking in runoff from rain a day or two earlier, which hid part of the outflow and made the model drain about 1.4x too slow.

Effect on backtest: Re-measuring the drainage with that lingering runoff added back lifts the modeled drawdown from roughly 1.6 to 2.3 inches a day, matching the gauge. Backtesting the recession after every past flood, the expected line now tracks the falling lake to about 0.23 ft (was 0.29). Storm-peak accuracy (+0.06 ft) and the 2016 reconstruction (21.8 ft) are unchanged — the height-driven drainage still collapses at a flood peak — and the worst-case line still assumes the gates can't help. The dashboard's drainage explanations were rewritten to match: the gates stay open through a storm and drain by the height difference to the downstream, holding the level up only when the water actually backs up against them.

2026-06-212026-06-21-headroute

Smarter runoff, real-time drainage, and the canal travel-time delay

Why: Three upgrades, all aimed at the flood peak. (1) Runoff now follows the watershed's own engineering method (the NRCS curve number from the parish's 2018 study) instead of a simple wet/dry fraction — so a light rain sheds little while a big storm sheds a lot, the way clay ground actually behaves. (2) Drainage now follows the real height difference between the lake and the downstream Bayou Grosse Tete, read from its live gauge — so when a regional storm floods the downstream first and chokes the outlet, the model sees it instead of assuming the lake keeps draining. (3) Runoff from the ~56-square-mile basin now arrives over a few days as it travels down the M-1/M-2 canals, instead of all on the day it rains.

Effect on backtest: Across every flood on record above 16 ft, the likely-peak line now centers on what actually happened — the old version ran about a foot low on the biggest floods. The 2016 extreme still reconstructs near 22 ft, and the worst-case 'gates can't drain' line is unchanged, so the safety band is exactly as conservative as before. The remaining gap on a couple of events is limited by how well the rainfall itself was measured, not by the model.

2026-06-202026-06-20-drain

Expected forecast now drains the lake when the gates are open

Why: On the expected (likely) line the model assumed the outlets were held shut any time the lake was above pool — so it kept showing the lake holding near flood stage even while the gates were open and the lake was actually falling 2–3 inches a day (it read 16.8 ft against a ~17 ft forecast the day before). The lake only really stops draining during backflow, when the downstream channel rises to the lake's level and the parish closes the gates.

Effect on backtest: Backtesting the drawdown of every past flood, the expected line now tracks the real recession to within ~0.2 ft (it was ~0.9 ft off, leaving the lake stranded ~1.6 ft high). Storm-peak accuracy and the 2016 reconstruction are unchanged, and the worst-case line still assumes the gates can't drain. A deep check confirmed the remaining flood-peak gap is limited by how well rainfall is measured (radar/reanalysis), not by the model — which is what the worst-case band is for.

2026-06-182026-06-19-rise

Fixed the model under-predicting big floods above 16 ft

Why: Across every flood on record that topped 16 ft, the expected line came in about 0.8 ft too low — it drained the lake faster than the record actually did during a rise.

Effect on backtest: Holding back the outlet during the rise (tailwater backs up the structure in a regional flood) cut the systematic miss from -0.82 ft to -0.61 ft and centered the 2016 out-of-record flood near its observed ~22 ft. (Superseded on the recession side by the 2026-06-20 change above, which only relaxes it once the gates are confirmed open.)

2026-06-17

Model launched

Why: First public model: a physics-based water balance (rainfall in, runoff, outlet drainage, evaporation) that gives a likely and a worst-case lake-level rise for the next 1–2 days, calibrated on the 2018+ gauge record and the 2016 extreme flood.

Effect on backtest: Quarterly backtest (2023–2026, perfect rain): peak-level error ~0.3 ft median, ~0.2 ft on flood-relevant events — inside 10% of the actual level.