Get ready by cloning the exercise repository:
git clone https://github.com/Ecohydraulics/Exercise-ManningStrickler.git
Figure 1:The Rhone River in Switzerland (source: Sebastian Schwindt 2014).
Theoretical background¶
The Gauckler-Manning-Strickler formula Kundu & Cohen, 2008 (or Strickler formula in Europe) relates water depth and flow velocity of open channel flow based on the assumption of one-dimensional (cross-section-averaged) flow characteristics. The Strickler formula results from a heavy simplification of the Navier-Stokes equations and the Continuity equation Kundu & Cohen, 2008. Even though one-dimensional (1d) approaches have largely been replaced by at least two-dimensional (2d) numerical models today, the 1d Strickler formula is still frequently used as a first approximation for boundary conditions.
The basic shape of the Strickler formula is:
where:
is the cross-section-averaged flow velocity in (m/s)
is the Strickler coefficient in fictional (m/s) corresponding to the inverse of Manning’s .
20 ( 0.05) for rough, complex, and near-natural rivers
90 ( 0.011) for smooth, concrete-lined channels
26/ (approximation based on the grain size , where 90% of the surface sediment grains are smaller, according to Meyer-Peter & Müller (1948).
is the hypothetic energy slope (m/m), which can be assumed to correspond to the channel slope for steady, uniform flow conditions.
is the hydraulic radius in (m)
The hydraulic radius is the ratio of wetted area and wetted perimeter . Both and can be calculated as a function of the water depth and the channel base width . Many channel cross-sections can be approximated with a trapezoidal shape, where the water surface width (with being the bank slope as indicated in the figure below).

Thus, and result from the following formulas:
Finally, the discharge (m³/s) can be calculated as:
Calculate the discharge¶
Write a script that prints the discharge as a function of the channel base width , bank slope , water depth , the slope , and the Strickler coefficient .
Functionalize¶
Cast the calculation into a function (e.g., def calc_discharge(b, h, k_st, m, S): ...) that returns the discharge .
Flexibilize¶
Make the function more flexible through the implementation of (optional) keyword arguments so that a user can optionally either provide the (D90), the Strickler coefficient (k_st), or Manning’s (n_m).
Invert the function¶
The backward solution to the Manning-Strickler formula is a non-linear problem if the channel is not rectangular. This is why an iterative approximation is needed and here, we use the Newton-Raphson scheme Akanbi & Katopodes, 1987 for this purpose (see also the the University of Stuttgart’s ILIAS platform).
Use a Newton-Raphson solution scheme Paine, 1992 to interpolate the water depth h for a given discharge Q of a trapezoidal channel.
Write a new function
def interpolate_h(Q, b, m, S, **kwargs):Define an initial guess of
h(e.g.,h = 1.0) and an initial error margin (e.g.,eps = 1.0)Use a
whileloop until the error margin is negligible small (e.g.,while eps > 10**-3:) and calculate the :wetted area
A(see above formula)wetted perimeter
P(see above formula)current discharge guess (based on
h):Qk = A ** (5/3) * sqrt(S) / (n_m * P ** (2 / 3))error update
eps = abs(Q - Qk) / Qderivative of
A:dA_dh = b + 2 * m * hderivative of
P:dP_dh = 2 * m.sqrt(m ** 2 + 1)function that should become zero
F = n_m * Q * P ** (2 / 3) - A ** (5 / 3) * m.sqrt(S)its derivative:
dF_dh = 2/3 * n_m * Q * P ** (-1 / 3) * dP_dh - 5 / 3 * A ** (2 / 3) * m.sqrt(S) * dA_dhwater depth update
h = abs(h - F / dF_dh)
Implement an emergency stop to avoid endless iterations - the Newton-Raphson scheme is not always stable!
Return
handeps(or calculated dischargeQk)
- Kundu, P. K., & Cohen, I. M. (2008). Fluid Mechanics (4th ed.). Elsevier Inc.
- Meyer-Peter, E., & Müller, R. (1948). Formulas for Bed-Load transport. IAHSR, Appendix 2, 2nd meeting, 39–65. http://resolver.tudelft.nl/uuid:4fda9b61-be28-4703-ab06-43cdc2a21bd7
- Akanbi, A. A., & Katopodes, N. D. (1987). Model for flood propagation on initially dry land. Journal of Hydraulic Engineering, 114(7), 689–706. 10.1061/(ASCE)0733-9429(1988)114:7(689)
- Paine, J. N. (1992). Open-Channel Flow Algorithm in Newton-Raphson Form. Journal of Irrigation and Drainage Engineering, 118(2), 306–319.