Routing Methods¶
SWIFlow has two routing methods developed in it.
- Direct
- Muskingum-Cunge (1969)
Direct¶
Direct routing assumes that a bulk of the time water is spent on the hill slope. This is only valid for small catchments.
Muskingum-Cunge (Under Development)¶
Description of technique first provided by Cunge 1969. Numerical discretization taken from Gallice et. al 2016 and re-transcribed below.
Variables
- n - Time index [unitless]
- i - Discretize stream reach index [unitless]
- t - Time [Seconds]
- Q - Flowrate [M^3/S]
- l_i - Stream reach discretized length for stream i [m]
- w - Stream segment width [m]
- S_0 - Local bed slope []
- C_r - Wave celerity [m/s]
- Q_r - Representative discharge [m^3/s]
- n_m - Mannings coefficient ( 0.03 - 0.10 for small natural streams) [s/m^-1/3]
Assumptions
- C_r is derived from Q_r assuming rectangular channel cross section
\[Q^{n+1}_{i} = C_1 Q^{n}_{i-1} + C_2 Q^{n+1}_{i-1} + C_3 Q^{n}_{i}\]
Where
\[ \begin{align}\begin{aligned}C_1 = \frac{k_i x_i + 0.5 \Delta t}{k_i (1-x_i) + 0.5\Delta t}\\C_2 = \frac{-k_i x_i + 0.5 \Delta t}{k_i (1-x_i) + 0.5\Delta t}\\C_3 = \frac{k_i (1-x_i) - 0.5 \Delta t}{k_i (1-x_i) + 0.5\Delta t}\end{aligned}\end{align} \]
Where
\[ \begin{align}\begin{aligned}k_i = \frac{l_i}{c_r}\\c_r = \frac{5}{3} \bigg(\frac{S_0}{n_{m}^2}\bigg)^{\frac{3}{10}} \bigg(\frac{Q_r}{w}\bigg)^{\frac{2}{5}}\\x_i = 0.5 * min\bigg(1, 1 - \frac{Q_r}{c_r w S_0 l_i}\bigg)\\Q_r = \frac{Q^{n}_{i-1} + Q^{n+1}_{i-1} + Q^{n}_{i}}{3}\\h^{n+1}_i = \bigg(\frac{n_m Q^{n+1}_i}{w S_0}\bigg)^{\frac{3}{5}}\end{aligned}\end{align} \]
Numerical stability guidance provided by the following for lumped systems as opposed to gridded discretized reaches:
\[2k_i x_i <= \Delta t <= 2k_i(1-x_i)\]