landlab.utils.depth_dependent_roughness

Creates a field of Manning’s n value, where each value is dependent on the water depth at a given node (e.g. Jain et al., 2005, Mugler et al., 2011 and Rengers et al., 2016). This “effectively creates separate values of Manning’s n for hillslopes and channels” (Rengers et al., 2016).

This component creates -or- overwrites a field on the grid called ‘mannings_n’ where each node is assigned a Manning’s n value based on the minimum Manning’s n value for the landscape, the local water depths, an index (or threshold) water depth above which all Manning’s n values are considered constant, and a vegetation drag coefficent (for more on vegetation drag and the impact on surface roughness, see Wu et al., 1999 in the Journal of Hydraulic Engineering.)

This can be used iteratively inside a driver loop, to update Manning’s n values as water depths change in another component (e.g. OverlandFlow)

Code author: Jordan Adams

Examples

>>> import numpy as np
>>> from landlab import RasterModelGrid
>>> grid = RasterModelGrid((5, 5))
>>> grid.at_node["surface_water__depth"] = [
...     [5.0, 5.0, 5.0, 5.0, 5.0],
...     [4.0, 4.0, 4.0, 4.0, 4.0],
...     [3.0, 3.0, 3.0, 3.0, 3.0],
...     [2.0, 2.0, 2.0, 2.0, 2.0],
...     [1.0, 1.0, 1.0, 1.0, 1.0],
... ]
>>> depth_dependent_mannings_n(grid, index_flow_depth=2.0)
>>> grid.at_node["mannings_n"]
array([0.06      ,  0.06      ,  0.06      ,  0.06      ,  0.06      ,
       0.06      ,  0.06      ,  0.06      ,  0.06      ,  0.06      ,
       0.06      ,  0.06      ,  0.06      ,  0.06      ,  0.06      ,
       0.06      ,  0.06      ,  0.06      ,  0.06      ,  0.06      ,
       0.07559526,  0.07559526,  0.07559526,  0.07559526,  0.07559526])
depth_dependent_mannings_n(grid, water_depths='surface_water__depth', min_mannings_n=0.06, index_flow_depth=0.003, veg_drag_exponent=-0.3333333333333333)[source]

Method to create or overwrite a Manning’s n field (grid.at_node[‘mannings_n’]) with spatially variable n values based on water depths.

Parameters:
  • grid (A Landlab RasterModelGrid instance) – A Landlab grid - only works with RasterModelGrid instances as of 1/31/17.

  • water_depths (array or Landlab field of floats) – Array of values, with length of number of nodes, water depths at all grid node locations. (m)

  • min_mannings_n (float) – This is the minimum Manning’s n coefficient for a given landscape, following Chow, 1959. (s m^(-1./3.))

  • index_flow_depth (float) – The flow depth above which it is assumed that Manning’s n is constant. (m)

  • veg_drag_exponent – An exponent related to vegetation drag effects, which increases effective Manning’s n at low flow conditions.