ThresholdEroder: Threshold eroder that cuts off slopes at a given threshold slope (Sc) and assumes material to dissolve away#

Created on Wed Aug 4 11:00:08 2021.

@author: benjamincampforts

class ThresholdEroder(*args, **kwds)[source]#

Bases: Component

Threshold eroder.

Threshold eroder that cuts off slopes at a given threshold slope (Sc) and assumes material to dissolve away

\[S(S>Sc) = Sc\]

To be coupled with FlowDirectorSteepest or PriorityFloodFlowRouter for the calculation of steepest slope at each timestep. Note that ThresholdEroder run_one_step() cuts off slopes and computes new elevations based on the steepest slopes as calculated by the FlowDirectorSteepest or PriorityFloodFlowRouter. If slopes over the entire model grid need be set to a threshold slope, several iterations of running the flow router and the Threshold eroder are required.

Component written by Benjamin Campforts, 2022

Parameters:
  • grid (ModelGrid) – Landlab ModelGrid object

  • slope_crit (float, optional) – Critical slope [L/L]

Examples

>>> import numpy as np
>>> from landlab import RasterModelGrid
>>> from landlab.components import ThresholdEroder, PriorityFloodFlowRouter

Define grid and initial topography:

  • 3x5 grid

  • east and west boundaries are open, north and south are closed

  • Initial topography is plane at base level on the boundaries and 1m of elevation elsewhere (core)

>>> mg = RasterModelGrid((5, 5))
>>> mg.set_closed_boundaries_at_grid_edges(False, False, False, False)
>>> z = np.array(
...     [
...         [0.0, 0.0, 0.0, 0.0, 0.0],
...         [0.0, 1.0, 1.0, 1.0, 0.0],
...         [0.0, 1.0, 10.0, 1.0, 0.0],
...         [0.0, 1.0, 1.0, 1.0, 0.0],
...         [0.0, 0.0, 0.0, 0.0, 0.0],
...     ]
... )
>>> _ = mg.add_field("topographic__elevation", z, at="node")

Instantiate Flow director (steepest slope type) and TL hillslope diffuser

>>> fdir = PriorityFloodFlowRouter(mg)
>>> th_ero = ThresholdEroder(mg, slope_crit=0.6)

Run the components for ten short timepsteps

>>> for t in range(2):
...     fdir.run_one_step()
...     th_ero.run_one_step()
...

References

Required Software Citation(s) Specific to this Component

None Listed

Additional References

Initialize Threshold Eroder.

Parameters:
  • grid (ModelGrid) – Landlab ModelGrid object

  • slope_crit (float, optional) – Critical slope [L/L]

__init__(grid, slope_crit=1.0)[source]#

Initialize Threshold Eroder.

Parameters:
  • grid (ModelGrid) – Landlab ModelGrid object

  • slope_crit (float, optional) – Critical slope [L/L]

erode()[source]#

Erode landscape to threshold and dissolve sediment.

run_one_step()[source]#

Advance threshold erosion component one timestep.