4" Voda Filter — Storm Simulator

time-varying rainfall · F4i-F

Rainfall is not constant — a real storm rises to a brief peak and tapers over a long tail. Treating the 300 mm/hr peak as if it held steady massively overstates the water. This simulator plays a realistic hyetograph (intensity vs. time, with natural minute-to-minute pulsing) and runs each instant through the filter — runoff → flow-dependent capture → harvest + waste — accumulating the true totals. The honest headline number is the volume-weighted capture over the whole storm, which no single constant-intensity figure can give you.

Storm Hyetograph → Filter Response Severe storm · 150 mm/hr peak
Roof runoff into filter (L/min)
Harvested to tank
Bypassed to waste
“now” cursor
Live — this instantt = storm clock
00:00 of 90:00
Rain intensity0 mm/hr
Roof runoff (inflow)0 L/min
Capture η (this flow)
Harvest rate0 L/min
Waste rate0 L/min
Storm totals (integrated)∫ over time
Volume-weighted capture
Storm depth0 mm
Total roof runoff0 L
Harvested to tank0 L
Bypassed to waste0 L
Peak inflow reached0 L/min
Why “constant intensity” is wrong — the proofpeak ≠ average
If peak held constant
— L

Naive assumption: peak inflow × full storm duration. This is what a single-intensity model implies if you forget the storm tapers.

Actual roof runoff
— L

The true area under the hyetograph — the rain that really fell.

Honest harvest figure
— %

Volume-weighted capture over the whole fluctuating storm — the only single number that is actually defensible.

Method: hyetograph = gamma-pulse envelope (rising limb, sharp peak, recession tail) with ±15 % stochastic minute-to-minute jitter. Each timestep: runoff Q = C·i·A (C = 0.90, A = 46.5 m²); capture η(Q) = 0.65 + 0.31·e^(−Q/150) (falls as flow rises — contact-time law, fitted to measured data for comparable fine-mesh inline filters); harvest = min(Q·η, 240 L/min outlet cap); waste = remainder. Totals are trapezoidal integrals over the storm. Synthetic design storm for illustration — replace with gauge data when available.