- river dash animation now flows at a speed continuously derived from
each segment's discharge (period 260/(Q+45) s, clamped 0.5-5.5 s) via
inline per-path animation-duration, so it updates live and per-frame
during the replay (CSS speed classes removed - setStyle cannot change
classes)
- the replay drives the Combined discharge and Strongest flow stat
tiles each frame (marked '2024 replay'), restored on finish
- docs: hour-by-hour detection detail render (22-28 Sep 2024) showing
the model alert at 24 Sep 01:00, flooding at 25 Sep 01:00, and the
24 h warning between them; embedded with commentary
- Matrix alerts now link to https://water.buildfor.life/ (override via
ALERT_DASHBOARD_URL), replacing the Grafana public dashboard link
docs/img/backtest-2024-p1.png: observed P.1 level vs the 24h-ahead
predicted peak issued at each hour by a model trained only on pre-flood
data, with the warning-probability panel below (first alert 24 Sep
01:00, 24 h before flooding began). Embedded in FLOOD_FORECASTING.md's
headline-validation section with an honest reading, including the
~0.4 m peak under-prediction.
Replay pacing is now adaptive: 4 h/frame through quiet days, 2 h when
risk is elevated, 1 h (hour-by-hour) while the model is alerting or the
river is near/above flood stage - so viewers can watch the detection
sequence unfold.