ListricKinematicExtender: Simulate Extensional Tectonic Motion on a Listric Fault Plane#
Apply tectonic extension and subsidence kinematically.
Landlab component that simulates development of an asymmetric rift on a listric fault plane.
See notebook tutorial for complete examples.
@author: gtucker
- class ListricKinematicExtender(*args, **kwds)[source]#
Bases:
Component
Apply tectonic extension and subsidence kinematically to a raster or hex grid.
Extension is east-west, with a north-south fault in the case of a raster grid, and a N30E fault in the case of a hex grid (obique extension).
Examples
>>> from landlab import RasterModelGrid >>> from landlab.components import ListricKinematicExtender >>> grid = RasterModelGrid((3, 7), xy_spacing=2500.0) >>> topo = grid.add_zeros('topographic__elevation', at='node') >>> lke = ListricKinematicExtender(grid, fault_location=2500.0) >>> lke.update_subsidence_rate() >>> np.round(grid.at_node["subsidence_rate"][8:13], 6) array([ 0. , 0.001123, 0.000729, 0.000472, 0.000306])
Deform vertically and horizontally to represent tectonic extension.
- Parameters:
grid (RasterModelGrid) – A landlab grid.
extension_rate (float, optional) – Rate of horizontal motion of hangingwall relative to footwall (m / y), default 1 mm/y.
fault_dip (float, optional) – Dip of the fault, degrees (default 45).
fault_location (float, optional) – Distance of fault trace from x=0 (m) (default = grid width / 2).
detachment_depth (float, optional) – Depth to horizontal detachment (m), default 10 km.
track_crustal_thickness (bool, optional) – Option to keep track of changes in crustal thickness (default False)
fields_to_shift (list of str, optional) – List of names of fields, in addition to ‘topographic__elevation’ and (if track_crustal_thickness==True) ‘upper_crust_thickness’, that should be shifted horizontally whenever cumulative extension exceeds one cell width. Default empty.
- __init__(grid, extension_rate=0.001, fault_dip=60.0, fault_location=None, detachment_depth=10000.0, track_crustal_thickness=False, fields_to_shift=None)[source]#
Deform vertically and horizontally to represent tectonic extension.
- Parameters:
grid (RasterModelGrid) – A landlab grid.
extension_rate (float, optional) – Rate of horizontal motion of hangingwall relative to footwall (m / y), default 1 mm/y.
fault_dip (float, optional) – Dip of the fault, degrees (default 45).
fault_location (float, optional) – Distance of fault trace from x=0 (m) (default = grid width / 2).
detachment_depth (float, optional) – Depth to horizontal detachment (m), default 10 km.
track_crustal_thickness (bool, optional) – Option to keep track of changes in crustal thickness (default False)
fields_to_shift (list of str, optional) – List of names of fields, in addition to ‘topographic__elevation’ and (if track_crustal_thickness==True) ‘upper_crust_thickness’, that should be shifted horizontally whenever cumulative extension exceeds one cell width. Default empty.
- fault_plane_elev(dist_from_fault_trace)[source]#
Return elevation of fault plane at given distance from fault trace.
Examples
>>> from landlab import RasterModelGrid >>> from landlab.components import ListricKinematicExtender >>> grid = RasterModelGrid((3, 7), xy_spacing=5000.0) >>> topo = grid.add_zeros('topographic__elevation', at='node') >>> lke = ListricKinematicExtender(grid, fault_location=10000.0) >>> np.round(lke.fault_plane_elev(np.array([0.0, 5000.0, 10000.0]))) array([ -0., -5794., -8231.])