Skip to contents

IdfFit: Sherman curve \(i = a / (t + b)^c\) by Levenberg-Marquardt from the log-linear \(b = 0\) start. UnitHydrograph: D-hour unit hydrograph (m^3/s per cm over area km^2): SCS triangular (\(T_p = D/2 + 0.6 t_c\), \(q_p = 2.08 A / T_p\), base \(2.67 T_p\)) or the Nash cascade S-curve difference. ConvolveRunoff: discrete convolution of excess rain with UH ordinates. BaseflowFilter: Lyne-Hollick filter, forward/backward passes with quickflow clamped between 0 and the flow, and the baseflow index. HydrographSummary: peak, time to peak, trapezoidal volume, BFI and the pooled log-linear recession constant. Identical to the Python arm morie.fn.hydro.

Usage

IdfFit(durations, intensities, start = NULL, tol = 1e-13, maxit = 500L)

UnitHydrograph(
  method = "scs",
  area = 1,
  dt = 0.5,
  D = 1,
  tc = NULL,
  n = NULL,
  k = NULL
)

ConvolveRunoff(excess, uh)

BaseflowFilter(flows, alpha = 0.925, passes = 3L)

HydrographSummary(flows, dt = 1, alpha = 0.925, min_recession = 3L)

Arguments

durations, intensities

Durations and rainfall intensities.

start

Optional c(a, b, c).

tol, maxit

Relative parameter-step tolerance and iteration limit.

method

"scs" or "nash".

area

Catchment area, km^2.

dt

Time step, hours.

D

Excess-rain duration, hours.

tc

Time of concentration, hours.

n, k

Nash reservoirs and storage constant (hours).

excess, uh

Excess rain depths and UH ordinates.

flows

Flow series.

alpha

Filter parameter.

passes

Number of filter passes.

min_recession

Minimum recession run length.

Value

List (vector for ConvolveRunoff).

References

Sherman, C. W. (1931). Frequency and intensity of excessive rainfalls at Boston, Massachusetts. Transactions of the ASCE 95, 951-960.

Nash, J. E. (1957). The form of the instantaneous unit hydrograph. IAHS Publication 45(3), 114-121.

Nathan, R. J. and McMahon, T. A. (1990). Evaluation of automated techniques for base flow and recession analyses. Water Resources Research 26, 1465-1473.

Examples

t <- c(5, 10, 15, 30, 60, 120)
IdfFit(t, 1000 / (t + 8)^0.7)[c("a", "b", "c")]
#> $a
#> [1] 1000
#> 
#> $b
#> [1] 8
#> 
#> $c
#> [1] 0.7
#> 
UnitHydrograph("scs", area = 10, dt = 1, D = 2, tc = 5 / 0.6)$peak
#> [1] 3.466667
ConvolveRunoff(c(1, 2), c(0, 1, 3, 1, 0))
#> [1] 0 1 5 7 2 0
HydrographSummary(c(1, 4, 8, 4, 2, 1, 0.5))$recession_constant
#> [1] 0.5