10 acres commercial Modified Puls North Carolina

Detention pond routing to the pre-development peak: a 10-acre commercial site in Wake County, NC

A site plan turns 10 acres of woods-and-pasture into a commercial development, and the local ordinance says the post-development 10-year peak cannot exceed the pre-development 10-year peak. This walks the whole chain: SCS curve-number runoff for both conditions, the undetained post peak, a first-cut required storage from the TR-55 shortcut, a two-stage outlet, and a Modified Puls (storage-indication) route that proves the basin holds the release at or below the allowable. Real numbers, every step shown.

Result: Pre-development 10-yr peak (the allowable release) is 14 cfs; the undetained post peak is 41 cfs. A first-cut storage of ~49,700 ft³ (1.14 ac-ft) is needed. A 16-inch low-flow orifice with a 10-ft emergency weir routes the post-development hydrograph down to a peak outflow of 13.6 cfs at a maximum pool of 4.0 ft — under the 14 cfs allowable. Step-by-step formulas, every assumption, every number below.

Site inputs

The inputs an engineer in NC actually fills out, with where each comes from:

ParameterValueSource
Drainage area, A10.0 ac (0.0156 mi²)Project boundary
Pre-dev coverWoods + pasture, good, HSG CExisting conditions, USDA SSURGO
Pre-dev curve number, CN74TR-55 Table 2-2c (woods/grass, HSG C)
Pre-dev time of concentration, tc0.50 hr (30 min)NRCS sheet + shallow-concentrated + channel
Post-dev cover~70% impervious commercialProposed site plan
Post-dev curve number, CN90TR-55 Table 2-2a (commercial, HSG C)
Post-dev time of concentration, tc0.20 hr (12 min)Shortened by grading, pipe, and pavement
Design storm (peak control)10-yr, 24-hr, Type IINCDEQ / local ordinance
10-yr, 24-hr depth (Raleigh)5.0 inNOAA Atlas 14, point precipitation

Step 1 — Pre-development peak (the allowable release)

SCS curve-number method. Maximum retention S and runoff depth Q:

$S = \frac{1000}{CN} - 10 = \frac{1000}{74} - 10 = 3.51 \text{ in}$
$Q = \frac{(P - 0.2S)^2}{P + 0.8S} = \frac{(5.0 - 0.702)^2}{5.0 + 2.811} = \frac{18.47}{7.811} = 2.36 \text{ in}$

Peak via TR-55 graphical (Type II). With Ia/P = 0.2S/P = 0.14 and tc = 0.50 hr, the unit peak discharge is qu ≈ 375 csm/in (cfs per mi² per inch):

$q_p = q_u \cdot A_{mi^2} \cdot Q = 375 \times 0.01563 \times 2.36 = 13.8 \approx 14 \text{ cfs}$

Allowable release = 14 cfs. This is the number the routed outflow must not exceed.

Step 2 — Post-development peak (undetained)

$S = \frac{1000}{90} - 10 = 1.11 \text{ in}$
$Q = \frac{(5.0 - 0.222)^2}{5.0 + 0.889} = \frac{22.83}{5.889} = 3.88 \text{ in}$

With Ia/P = 0.044 (use the 0.10 table floor) and tc = 0.20 hr, qu ≈ 680 csm/in:

$q_p = 680 \times 0.01563 \times 3.88 = 41.2 \approx 41 \text{ cfs}$

Development nearly triples the peak (14 → 41 cfs) — more impervious area raises the runoff depth, and a shorter tc sharpens the hydrograph. Detention has to absorb the difference.

Step 3 — First-cut required storage (TR-55 shortcut)

Before routing, TR-55 Chapter 6 gives a quick storage estimate from the peak-flow ratio. With qo/qi = 14/41 = 0.34, the storage-to-runoff ratio for a Type II storm is:

$\frac{V_s}{V_r} = 0.682 - 1.43\left(\tfrac{q_o}{q_i}\right) + 1.64\left(\tfrac{q_o}{q_i}\right)^2 - 0.804\left(\tfrac{q_o}{q_i}\right)^3 = 0.353$

The runoff volume Vr is the post-development runoff depth over the area (1 in over 1 ac = 3,630 ft³):

$V_r = 3.88 \text{ in} \times 10 \text{ ac} \times 3{,}630 = 140{,}840 \text{ ft}^3$
$V_s = 0.353 \times 140{,}840 = 49{,}700 \text{ ft}^3 = 1.14 \text{ ac-ft}$
Note: the TR-55 shortcut is an approximation for preliminary sizing; it tends to run a little high. The real storage comes out of the routing in Step 5. Use this number to lay out the basin and size the first-trial outlet, then confirm by routing.

Step 4 — Stage-storage-discharge

Lay out a basin whose stage-storage curve provides ~49,700 ft³ within about 4 ft of depth, then put an outlet on it. A two-stage outlet is typical: a low-flow orifice (or pipe) sets the 10-yr release, and a broad-crested emergency spillway passes the larger events.

Low-flow orifice

Orifice discharge, with Cd = 0.60 and head h measured to the orifice centroid:

$Q = C_d A_o \sqrt{2gh}$

Size the orifice so it passes the 14 cfs allowable at the maximum design pool of h ≈ 4.0 ft:

$A_o = \frac{Q}{C_d\sqrt{2gh}} = \frac{14}{0.60\sqrt{2(32.2)(4.0)}} = \frac{14}{0.60 \times 16.05} = 1.45 \text{ ft}^2$
$d = \sqrt{\tfrac{4A_o}{\pi}} = \sqrt{\tfrac{4(1.45)}{\pi}} = 1.36 \text{ ft} = 16.3 \text{ in} \Rightarrow \textbf{use 16-in orifice}$

Stage-storage-discharge table

The orifice rating Q(h) and the basin's stage-storage S(h) together drive the route. Storage here is from a typical 3:1-side-slope basin sized to the first-cut volume:

Stage h (ft)Storage S (ft³)Orifice Q (cfs)
0.000.0
1.09,8006.8
2.021,4009.6
3.034,60011.8
4.049,70013.6
4.5 (weir crest)58,20014.4 + weir

Step 5 — Modified Puls (storage-indication) routing

The Modified Puls method routes the inflow hydrograph through the basin by conserving volume over each time step Δt. The continuity equation, with inflow I and outflow O averaged across the step, is rearranged so the two unknowns at the end of the step (S₂ and O₂) collect on the left as a single "storage indicator":

$\frac{I_1 + I_2}{2} - \frac{O_1 + O_2}{2} = \frac{S_2 - S_1}{\Delta t}$
$\left(\frac{2S_2}{\Delta t} + O_2\right) = (I_1 + I_2) + \left(\frac{2S_1}{\Delta t} - O_1\right)$

Build the storage-indicator curve (2S/Δt + O) versus O from the Step 4 table, then step through the hydrograph: the right-hand side is all known from the previous step, and the resulting 2S/Δt + O reads a unique O₂ off the curve. Peak outflow occurs where the falling inflow limb crosses the rising outflow limb — i.e., at maximum storage. Selected steps (Δt = 0.1 hr, Hydraflow engine):

t (hr)Inflow I (cfs)Outflow O (cfs)Storage (ft³)
11.618.04.16,900
11.833.57.022,100
12.041.010.237,500
12.138.412.445,800
12.2529.713.649,300
12.519.513.247,600
13.010.811.533,900

The outflow peaks at 13.6 cfs when storage maxes at ~49,300 ft³ (pool ≈ 4.0 ft) — on the recession limb of the inflow, exactly as the method predicts. 13.6 cfs < 14 cfs allowable → the design controls the 10-year peak. Note the routed storage (49,300 ft³) came in just under the TR-55 first cut (49,700 ft³), confirming the shortcut was slightly conservative.

Reading check: peak outflow must fall on the inflow recession limb. If your routing puts the outflow peak before the inflow peak, the time step is too coarse or the storage-indicator curve was interpolated wrong. And the peak outflow can never exceed the inflow at the moment they're equal — if it does, recheck the stage-discharge rating.

What changes if you tweak the inputs

If you change…The result moves…
Control storm 10-yr → 25-yr (P = 6.0 in)Post peak → ~52 cfs; required storage → ~70,000 ft³; add a second orifice stage
Post-dev CN 90 → 95 (more impervious)Runoff depth +0.6 in; storage rises ~12%
Orifice 16-in → 18-inReleases faster, peak outflow climbs over allowable — fails the criterion
Require pre-dev control on 2-, 10-, AND 25-yrMulti-stage outlet (two orifices + weir); each storm checked independently
Shorten tc further (more pipe)Sharper inflow peak, slightly more storage needed for the same release

Open this exact scenario in HydroComplete

The Hydraflow engine builds both hydrographs, fits the stage-storage-discharge curves, and runs the full Modified Puls route at Δt = 0.1 hr. Change the storm, the CN, or the outlet and watch the routed peak update in real time.

Sources and further reading

— Michael Flynn, PE
This worked example uses HydroComplete's Hydraflow engine for the SCS hydrographs, stage-storage-discharge curves, and Modified Puls routing. Open the scenario in the app to verify or modify any input.

Related worked examples