HomeArticlesHydrology

Flash Flood Model: From Rainfall to Runoff in Minutes

The SCS Curve Number runoff equation, the unit hydrograph, and Muskingum flood routing — why some watersheds flood in minutes and others in days.

mysimulator teamUpdated June 2026≈ 9 min read▶ Open the simulation

Not all rain becomes runoff

Before a drop of rain can flood anything, it has to fail to soak in. The SCS Curve Number method (developed by the US Soil Conservation Service, now NRCS) turns a watershed's soil type, land use and antecedent wetness into a single number, CN, between 30 (highly permeable) and 100 (fully impervious). From CN you get the maximum possible storage S and the runoff depth Q for a given rainfall P:

S  = (25400 / CN) - 254                    // mm
Ia = 0.2 * S                               // initial abstraction
Q  = (P - Ia)^2 / (P - Ia + S)   for P > Ia,  else Q = 0

A forested watershed with CN around 55 might turn a 50 mm storm into almost no runoff at all. A paved city block with CN around 98 turns nearly the whole storm into runoff, and turns it into runoff immediately — which is the entire mechanism of urban flash flooding.

live demo · a rainfall pulse routed into a delayed, attenuating flood wave● LIVE

The unit hydrograph: from a rain pulse to a flow curve

Runoff depth alone doesn't tell you when the flood peaks or how long it lasts. The unit hydrograph is the watershed's impulse response — the streamflow curve produced by exactly 1 unit of runoff spread evenly over the basin in a fixed time. The SCS dimensionless unit hydrograph is a standard shape scaled by the time to peak, which comes from the watershed's time of concentration Tc:

Tp = 0.5*D + 0.6*Tc            // time to peak, D = rainfall duration
Qp = 2.08 * Area / Tp           // peak discharge (SI), Area = basin area

// any real rainfall record is convolved against the unit hydrograph:
Q(t) = sum over tau of  P_excess(tau) * UH(t - tau)

A steep, small, urbanised watershed has a short Tc, so Tp is short and Qp is high and sharp — a flash flood. A large, flat, forested basin has a long Tc, so the same rainfall total spreads into a lower, broader peak over days rather than minutes.

Routing the wave downstream: lag and attenuation

Runoff generated across a watershed doesn't arrive at the outlet all at once — it has to travel down the channel network, and channel storage smooths and delays it. The Muskingum method models a reach as a linear reservoir with both prism and wedge storage, giving outflow as a weighted blend of current and past inflow and outflow:

S = K * [ X*I + (1-X)*O ]         // channel storage
O2 = C0*I2 + C1*I1 + C2*O1        // routed outflow, one time step

K = travel time through the reach     X = weighting (0 = pure attenuation)

The larger K is, the more a reach delays the peak; the smaller X is, the more it flattens it. Chain enough reaches together and a sharp, narrow flood pulse generated in the headwaters arrives downstream lower, wider and later — attenuation is the reason a flash flood watch upstream can still give people real, if short, warning time downstream.

Frequently asked questions

What is a Curve Number and how does land use change it?

It is a 30–100 index of how much of a rainfall event becomes runoff rather than infiltrating. Forests and sandy soils sit near 30–60; pavement, rooftops and compacted urban soils sit near 90–98. Urbanising a watershed raises its CN and can multiply peak runoff for the same storm.

Why does the unit hydrograph matter for flood prediction?

It is the watershed's fingerprint response to a pulse of runoff. Once you have it, predicting the flow from any rainfall record is just convolution — summing scaled, time-shifted copies of the unit hydrograph — instead of re-solving the physics for every storm.

Why are flash floods harder to warn about than river floods on large rivers?

Because time of concentration is short in small, steep or urbanised watersheds, so the gap between rainfall and peak flow can be under an hour. Downstream routing (Muskingum) attenuates and delays a flood wave on a long river, giving forecasters hours or days of lead time that a flash flood simply doesn't have.

Try it live

Everything above runs in your browser — open Flash Flood Model and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Flash Flood Model simulation

What did you find?

Add reproduction steps (optional)