BedrockLandslider: Location and magnitude of episodic bedrock landsliding#
Grid-based simulation of bedrock landslides.
Benjamin Campforts
- class BedrockLandslider(*args, **kwds)[source]#
Bases:
Component
Calculate the location and magnitude of episodic bedrock landsliding.
Landlab component that calculates the location and magnitude of episodic bedrock landsliding following the Cullman criterion. See the publication:
Campforts B., Shobe C.M., Steer P., Vanmaercke M., Lague D., Braun J. (2020) HyLands 1.0: a hybrid landscape evolution model to simulate the impact of landslides and landslide-derived sediment on landscape evolution. Geosci Model Dev: 13(9):3863–86. https://dx.doi.org/10.5194/esurf-6-1-2018
Campforts, B., Shobe, C. M., Overeem, I., & Tucker, G. E. (2022). The Art of Landslides: How Stochastic Mass Wasting Shapes Topography and Influences Landscape Dynamics. Journal of Geophysical Research: Earth Surface, 127(8), 1–16. https://doi.org/10.1029/2022JF006745
Examples
>>> import numpy as np >>> from numpy import testing >>> from landlab import RasterModelGrid >>> from landlab.components import PriorityFloodFlowRouter, BedrockLandslider
Make a
RasterModelGrid
and create a plateau.5x5 grid
Initial topography is set to plateau value of 10
>>> mg = RasterModelGrid((5, 5), xy_spacing=1.0) >>> z = mg.add_zeros("topographic__elevation", at="node") >>> s = mg.add_zeros("soil__depth", at='node') >>> b = mg.add_zeros("bedrock__elevation", at='node')
Make plateau at 10 m
>>> b += 10
Lower boundary cell to 0
>>> b[2] = 0 >>> z[:] = b + s
Instantiate the
PriorityFloodFlowRouter
for flow accumulation and theBedrockLandslider
>>> fd = PriorityFloodFlowRouter( ... mg, ... separate_hill_flow=True, ... suppress_out=True, ... ) >>> hy = BedrockLandslider(mg, landslides_return_time=1)
Run the flow director and
BedrockLandslider
for one timestep>>> fd.run_one_step() >>> vol_suspended_sediment_yield, volume_leaving = hy.run_one_step(dt=1)
After one timestep, we can predict exactly where the landslide will occur. The return time is set to 1 year so that probability for sliding is 100%. The angle of internal friction is 1 m/m, the topographical gradient is 10 m/m. At cardinal cells, the sliding plane will be at (1 + 10) / 2 = 5.5 m/m. With a dx of 1, the cardinal cell next to the critical sliding node must be 5.5 m and the diagonal one at 5.5 * sqrt(2) = 7.8 m
>>> testing.assert_almost_equal( ... [5.5 * np.sqrt(2), 5.5, 5.5 * np.sqrt(2)], z[6:9], decimal=5 ... )
References
Required Software Citation(s) Specific to this Component
Campforts B., Shobe C.M., Steer P., Vanmaercke M., Lague D., Braun J. (2020) BedrockLandslider 1.0: a hybrid landscape evolution model to simulate the impact of landslides and landslide-derived sediment on landscape evolution. Geosci Model Dev: 13(9):3863–86. https://dx.doi.org/10.5194/esurf-6-1-2018
Additional References
None Listed
Initialize the BedrockLandslider model.
- Parameters:
grid (ModelGrid) – Landlab ModelGrid object
angle_int_frict (float, optional) – Materials angle of internal friction in [m/m]
threshold_slope (float, optional) – Threshold slope used in non-linear deposition scheme [m/m] Default value is set to angle_int_frict if not specified
cohesion_eff (float, optional) – Effective cohesion of material [m L^-1 T^-2].
landslides_return_time (float, optional) – Return time for stochastic landslide events to occur
rho_r (float, optional) – Bulk density rock [m L^-3].
fraction_fines_LS (float) – Fraction of permanently suspendable fines in bedrock Value must be between 0 and 1 [-].
phi (float, optional) – Sediment porosity, value must be between 0 and 1 [-].
max_pixelsize_landslide (int , optional) – Maximum size for landslides in number of pixels
verbose_landslides (bool , optional) – Print output as number of simulated landslides per timestep
seed (float , optional) – Provide seed to set stochastic model. If not provided, seed is set to 2021. Provide None to keep current seed.
landslides_on_boundary_nodes (bool, optional) – Allow landslides to initiate (critical node) and extend over boundary nodes.
critical_sliding_nodes (list, optional) – Provide list with critical nodes where landslides have to initiate This cancels the stochastic part of the algorithm and allows the user to form landslides at the provided critical nodes.
- __init__(grid, angle_int_frict=1.0, threshold_slope=None, cohesion_eff=10000.0, landslides_return_time=100000.0, rho_r=2700, grav=9.81, fraction_fines_LS=0, phi=0, max_pixelsize_landslide=1000000000.0, seed=2021, verbose_landslides=False, landslides_on_boundary_nodes=True, critical_sliding_nodes=None, min_deposition_slope=0)[source]#
Initialize the BedrockLandslider model.
- Parameters:
grid (ModelGrid) – Landlab ModelGrid object
angle_int_frict (float, optional) – Materials angle of internal friction in [m/m]
threshold_slope (float, optional) – Threshold slope used in non-linear deposition scheme [m/m] Default value is set to angle_int_frict if not specified
cohesion_eff (float, optional) – Effective cohesion of material [m L^-1 T^-2].
landslides_return_time (float, optional) – Return time for stochastic landslide events to occur
rho_r (float, optional) – Bulk density rock [m L^-3].
fraction_fines_LS (float) – Fraction of permanently suspendable fines in bedrock Value must be between 0 and 1 [-].
phi (float, optional) – Sediment porosity, value must be between 0 and 1 [-].
max_pixelsize_landslide (int , optional) – Maximum size for landslides in number of pixels
verbose_landslides (bool , optional) – Print output as number of simulated landslides per timestep
seed (float , optional) – Provide seed to set stochastic model. If not provided, seed is set to 2021. Provide None to keep current seed.
landslides_on_boundary_nodes (bool, optional) – Allow landslides to initiate (critical node) and extend over boundary nodes.
critical_sliding_nodes (list, optional) – Provide list with critical nodes where landslides have to initiate This cancels the stochastic part of the algorithm and allows the user to form landslides at the provided critical nodes.
- property landslides_size#
List with the size of simulated landslides. The list is reset every time the _landslide_erosion function is called
- property landslides_volume#
List with the volume of simulated landslides. The list is reset every time the _landslide_erosion function is called
- property landslides_volume_bed#
List with the volume of bedrock eroded by landslides. The list is reset every time the _landslide_erosion function is called
- property landslides_volume_sed#
List with the volume of sediment eroded by landslides. The list is reset every time the _landslide_erosion function is called
- run_one_step(dt)[source]#
Advance BedrockLandslider component by one time step of size dt.
- Parameters:
dt (float) – The imposed timestep.
- Returns:
vol_suspended_sediment_yield (float) – volume of sediment evacuated as syspended sediment.
volume_leaving (float) – Volume of sediment leaving the domain.