-
class
BasicStTh
¶
Model BasicStTh¶
terrainbento BasicStTh model program.
Erosion model program using linear diffusion, smoothly thresholded stream power, and stochastic discharge with a smoothed infiltration capacity threshold.
- Landlab components used:
DepressionFinderAndRouter (optional)
StreamPowerSmoothThresholdEroder
-
class
BasicStTh
(clock, grid, m_sp=0.5, n_sp=1.0, water_erodibility=0.0001, regolith_transport_parameter=0.1, water_erosion_rule__threshold=0.01, infiltration_capacity=1.0, **kwargs)[source]¶ Bases:
terrainbento.base_class.stochastic_erosion_model.StochasticErosionModel
BasicStTh model program.
This model program uses a stochastic treatment of runoff and discharge, and includes an erosion threshold in the water erosion law. It combines models
BasicSt
andBasicTh
. The model evolves a topographic surface, \(\eta (x,y,t)\), with the following governing equation:\[\frac{\partial \eta}{\partial t} = -(K_{q}\hat{Q}^{m}S^{n} - \omega_c) + D\nabla^2 \eta\]where \(\hat{Q}\) is the local stream discharge (the hat symbol indicates that it is a random-in-time variable) and \(S\) is the local slope gradient. \(m\) and \(n\) are the discharge and slope exponent, respectively, \(\omega_c\) is the critical stream power required for erosion to occur, \(K\) is the erodibility by water, and \(D\) is the regolith transport parameter.
Refer to Barnhart et al. (2019) Table 5 for full list of parameter symbols, names, and dimensions.
- The following at-node fields must be specified in the grid:
topographic__elevation
-
__init__
(clock, grid, m_sp=0.5, n_sp=1.0, water_erodibility=0.0001, regolith_transport_parameter=0.1, water_erosion_rule__threshold=0.01, infiltration_capacity=1.0, **kwargs)[source]¶ - Parameters
clock (terrainbento Clock instance) –
grid (landlab model grid instance) – The grid must have all required fields.
m_sp (float, optional) – Drainage area exponent (\(m\)). Default is 0.5.
n_sp (float, optional) – Slope exponent (\(n\)). Default is 1.0.
water_erodibility (float, optional) – Water erodibility (\(K\)). Default is 0.0001.
water_erosion_rule__threshold (float, optional) – Erosion rule threshold when no erosion has occured (\(\omega_c\)). Default is 0.01.
regolith_transport_parameter (float, optional) – Regolith transport efficiency (\(D\)). Default is 0.1.
infiltration_capacity (float, optional) – Infiltration capacity (\(I_m\)). Default is 1.0.
**kwargs – Keyword arguments to pass to
StochasticErosionModel
. These arguments control the discharge \(\hat{Q}\).
- Returns
BasicStTh
- Return type
model object
Examples
This is a minimal example to demonstrate how to construct an instance of model BasicStTh. For more detailed examples, including steady-state test examples, see the terrainbento tutorials.
To begin, import the model class.
>>> from landlab import RasterModelGrid >>> from landlab.values import random >>> from terrainbento import Clock, BasicStTh >>> clock = Clock(start=0, stop=100, step=1) >>> grid = RasterModelGrid((5,5)) >>> _ = random(grid, "topographic__elevation")
Construct the model.
>>> model = BasicStTh(clock, grid)
Running the model with
model.run()
would create output, so here we will just run it one step.>>> model.run_one_step(1.) >>> model.model_time 1.0
-
run_one_step
(step)[source]¶ Advance model BasicStTh for one time-step of duration step.
The run_one_step method does the following:
Creates rain and runoff, then directs and accumulates flow.
Assesses the location, if any, of flooded nodes where erosion should not occur.
Assesses if a
PrecipChanger
is an active boundary handler and if so, uses it to modify the erodibility by water.Calculates detachment-limited, threshold-modified erosion by water.
Calculates topographic change by linear diffusion.
Finalizes the step using the
ErosionModel
base class function finalize__run_one_step. This function updates all boundary handlers handlers bystep
and increments model time bystep
.
- Parameters
step (float) – Increment of time for which the model is run.