2026-01-05 – Weekly Hydrology News : Flood prediction timing insights

Last week, our community delved into discussions about the timing of hydrological event predictions, innovative methods for tracing water movement, and the challenges posed by climate change to conventional engineering practices. Members shared insights on how to improve forecasting accuracy in rapidly changing environments and debated the use of unconventional materials in hydrological studies. The theme of adapting to a nonstationary world emerged as a critical point throughout the conversations.


This Week’s Hot Topics

Buying minutes before the crest
This thread explores techniques for improving the accuracy of flood predictions just before peak water levels are reached. Understanding this can be crucial for emergency response and risk management.
Read more

Sweet tooth tracer in streams
A fascinating discussion on using sugar-based compounds as tracers to study stream flow patterns. This method could offer a more environmentally friendly option compared to traditional tracers.
Read more

Rethinking our CE for a nonstationary world
Members are debating how civil engineering practices need to evolve in response to changing climate patterns. This is a crucial conversation for ensuring infrastructure resilience.
Read more


Looking forward to another insightful week of discussions. Thank you for being an active part of our community.

For the ‘timing’ issue, I’ve gotten solid gains by auto lag-correcting in real time using cross-correlation between upstream gage flow and MRMS QPE — , raw model lead times here are often off by 20–40 minutes. I just time‑shift the rainfall ensembles by the peak correlation and rerun a quick lag‑k cascade wired to AHPS gages (https://water.weather.gov/ahps/); it tightens peak arrival on flashy basins, but can backfire when storms stall, so I cap the shift at ±45 min.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‍​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌​​⁠‌‍​⁠‌⁠​⁠​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠‌‍‌‌‌​‌‍​⁠‌⁠​⁠​⁠​​‌⁠​​‌⁠‌‌‌⁠‍​‌​‍‍‌‍⁠​‌​​‌‌‌​⁠‌​‍⁠‌⁠​‍‌‍​⁠‌‌‌​​‍​‍‌⁠⁠‌​

On our small urban creeks, timing got a lot cleaner when we only apply the cross-correlation lag during the rising limb (dQ/dt > 0) and freeze it once the slope flattens or reverses. “cap the shift at ±45 min.” — same idea here, but we cap at ±20 and zero the adjustment if storm motion from MRMS optical flow drops below about 5 km/h to avoid stall-induced overcorrection. Anyone else gating lag by limb phase or using a simple stall threshold?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‍​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌​​⁠‌‍​⁠‌⁠​⁠​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​​​⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​‍⁠​⁠‌‍​⁠‍​‌​‌‍‌​⁠​‌‌‌​‌‍⁠​‌⁠​‌‌⁠​⁠‌​‌‌‌‌‌⁠‌‍‍‍‌​⁠‌‌‍‍‍‌​‌⁠‌‌‌‌​‍​‍‌⁠⁠‌​

A small tweak that’s helped me: every 5 minutes I pull MRMS storm motion (NSSL Projects: Multi-Radar/Multi-Sensor System (MRMS)), estimate translation speed, and nudge the forecast lead by basin path length/v, which tightened our peak timing in “rapidly changing environments”. It can stumble on back-building bands, so I cap the adjustment and fall back to the static travel-time curve when motion drops below about 5 km/h.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‍​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌​​⁠‌‍​⁠‌⁠​⁠​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​‍⁠‌‌‌‌‍‌​‍‍‌‌‍‍‌​​‍‌​‍​‌⁠‍‌​⁠‌‍‌‍‍​‌‌‌⁠‌⁠‌⁠‌‌⁠⁠‌‍⁠‌‌​‌‍‌‌‌‌‌‍⁠⁠​‍​‍‌⁠⁠‌​

I’ve nudged timing by coupling 30‑min Pysteps nowcasts with precomputed travel-times; https://pysteps.github.io — watch MRMS latency.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‍​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌​​⁠‌‍​⁠‌⁠​⁠​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍⁠​‌⁠‌‌‌‌​‍‌‌​​‌​​‌‌‌⁠⁠‌⁠‌‍‌​‌⁠‌​⁠⁠‌‍‌⁠‌‍‍‌‌‌‍‍‌‍‌‌‌​‍‌‌⁠​​​‍​‍‌⁠⁠‌​

I nudge Muskingum K using upstream USGS stage (https://waterservices.usgs.gov); freeze on ‘dStage > 0.05 m/10 min’ — works, but sensor noise bites.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‍​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌​​⁠‌‍​⁠‌⁠​⁠​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‍​⁠​​​⁠​‌​⁠​‌​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​‌‌‌‌​‍‌​‍‌‌‍​‍‌‍‍‌‌‌‍​​⁠‌‍​‍⁠‌‌‌‍​‌⁠‍‌​‍⁠‌‌‍‌​‌‍​⁠‌‌⁠⁠‌‍‍​‌‌‌​​‍​‍‌⁠⁠‌​