HydroLearn
From Precipitation to Streamflow Ensembles
From Precipitation to Streamflow Ensembles
Problem statement
Every hydrological forecast starts from a rainfall estimate, and every rainfall estimate is wrong by some amount. Gauge networks are sparse, radar beams overshoot the rain, satellite retrievals miss shallow storms. Feed a single “best estimate” rainfall series into a hydrologic model and you get a single streamflow answer that quietly inherits all of that hidden error, then presents itself to the duty officer with false confidence.
The honest alternative is an ensemble: many equally plausible rainfall series, each consistent with what we know about how the precipitation product errs. This module shows you how to build that rainfall ensemble with a compact, defensible error model, push every member through a hydrologic model, and turn the resulting cloud of hydrographs into a probability statement a flood duty officer can act on: “the chance of exceeding the flood threshold rises through the storm and peaks near X percent.”
Short description
Learn to represent rainfall uncertainty as a mean-preserving multiplicative ensemble, propagate it through the HyMOD rainfall-runoff model, read the resulting streamflow ensemble as spaghetti plots, fan charts, and exceedance probabilities, and attribute the spread to its sources. The hands-on activities use two Python notebooks on the Leaf River catchment (Mississippi, USA), with every quoted number reproducible from fixed random seeds.
Audience
Early-career forecasters and hydrometeorologists at National Meteorological and Hydrological Services who need to move from single-value to probabilistic flood guidance.
Estimated effort
About 1.5 hours total (1 to 1.5 hour range). Self paced.
| Section | Estimated time |
|---|---|
| About page (read on enrolment) | 5 min |
| Section 1, Introduction | 5 min |
| Section 2, Precipitation uncertainty | 30 to 35 min (includes Learning Activity 1) |
| Section 3, Streamflow ensembles | 30 to 35 min (includes Learning Activity 2) |
| Section 4, Authentic task | 15 min |
| Total | 85 to 95 min |
Prerequisites
- Basic hydrologic vocabulary (precipitation, runoff, streamflow) and comfort reading a hydrograph.
- Working knowledge of Python (numpy, matplotlib), enough to run a Jupyter notebook end-to-end and edit a parameter value.
- Basic probability vocabulary (probability, percentile, exceedance).
No prior experience with ensembles, error models, or HyMOD is required, and no other module in this series is required.
What you will be able to do by the end
- Explain why precipitation is usually the dominant source of uncertainty in flood forecasting.
- Generate a mean-preserving, temporally correlated rainfall ensemble and defend the choice of its two parameters (error magnitude \(\sigma\), persistence \(\rho\)).
- Verify that an ensemble adds spread without adding or removing water on average.
- Propagate a rainfall ensemble through a hydrologic model and read the streamflow cloud as spaghetti, percentile bands, and fan charts.
- Convert ensemble members into a daily probability of exceeding a flood threshold and brief it with its basis stated.
- Attribute ensemble spread to rainfall vs. parameter uncertainty, and identify behavioral members after the event.
Acknowledgments
Module developed for the World Meteorological Organization (WMO) capacity building activity under the Early Warnings for All Initiative. The project is funded jointly by the "Early Warning System for Floods - United States Department of States (EWS-F US DoS)" and the "Supporting Regional Cooperation to Strengthen Operational Multi-Hazard Forecasting and Early Warning Systems at National Level in the South-West Indian Ocean (CREWS South-West Indian Ocean)" projects.