Skip to content

SCS method (CN, UH, convolution)

HDAT uses an SCS-style event model for catchments above the configured area threshold.

Excess rainfall (CN method)

Given curve number \(CN\) and rainfall depth \(P\) (mm):

\[ S = \frac{2540}{CN} - 25.4 \]

At each cumulative time step with cumulative rainfall \(P_t\):

\[ P_{e,t} = \begin{cases} 0 & \text{if } P_t \le 0.2S \\ \frac{(P_t - 0.2S)^2}{(P_t + 0.8S)} & \text{otherwise} \end{cases} \]

Unit hydrograph scaling (legacy behavior)

Given timestep \(t_s\) (minutes), time of concentration \(T_c\) (minutes), and catchment area \(A_{ha}\) (ha):

\[ t_p = \frac{t_s}{2} + 0.6T_c \]
\[ q_p = 2.08 \cdot \frac{(A_{ha}/100)}{(t_p/60)} \]

Legacy computation then builds a discrete unit hydrograph by sampling a normalized UH lookup by \(r=t/t_p\) and scaling by \(q_p\).

Convolution hydrograph

Let \(\Delta P_{e,i}\) be incremental excess rainfall per timestep and \(U_j\) unit hydrograph ordinates.

Legacy convolution sums:

\[ Q(t) += U(j)\cdot \Delta P_e(i) \quad \text{where } t=i+j \]

Peak discharge:

\[ Q_{peak} = \max_t Q(t) \]

Engineering notes

  • Store and expose the time series used for audit: rainfall increments, excess increments, UH, and convolution results.
  • Ensure timestep alignment and truncation rules match legacy behavior (including forcing ordinates to zero outside the valid range).