← Back to Calculator

Unit Hydrograph & Convolution

Source file: unit_hydrograph.html

Purpose

Converts a series of effective rainfall excess values (the rainfall that actually becomes runoff, after losses) into a Direct Runoff Hydrograph (DRH) for a watershed, using a given Unit Hydrograph (UH) via discrete convolution.

Governing Equation

Discrete convolution of rainfall excess with the unit hydrograph:

DRH(t) = Σ [ P(j) × UH(t − j + 1) ]

Where: - P(j) — effective rainfall excess in time-block j (mm) - UH(k) — unit hydrograph ordinate at lag k (m³/s per mm of excess rainfall) - DRH(t) — direct runoff discharge at time step t (m³/s)

This is the standard linear, time-invariant convolution model underlying unit hydrograph theory: each rainfall pulse produces a scaled and time-lagged copy of the unit hydrograph response, and the total runoff is the superposition (sum) of all these responses.

Inputs

Input Notes
Time interval (Δt) Duration represented by each time step, in hours
Effective rainfall excess P Comma-separated list of rainfall-excess depths (mm), one value per time block
Unit Hydrograph ordinates UH Comma-separated list of UH ordinates (m³/s per mm of excess rainfall), one per time step of the UH's duration

Solution Method — Linear Convolution

Given m rainfall values and n UH ordinates, the output direct runoff hydrograph has:

drhLength = m + n − 1

Computed by the standard convolution sum, implemented as a nested loop:

for i in 0..m-1:
    for j in 0..n-1:
        drh[i + j] += P[i] × UH[j]

Each rainfall pulse P[i] is multiplied through the entire UH and added into the output array at the correspondingly shifted position — this is mathematically identical to the summation formula above.

Time values for each output row are computed as k × Δt.

Outputs

Notes