landlab.components.weathering.exponential_weathering¶
Created on Fri Apr 8 08:32:48 2016.
@author: RCGlade
- class ExponentialWeatherer[source]¶
Bases:
Component
Calculate exponential weathering of bedrock on hillslopes.
Uses exponential soil production function in the style of Ahnert (1976).
Consider that
w0
is the maximum soil production rate and thatw_star
is the characteristic soil production depth. The soil production ratew0
is given as a function of the soil depth:soil_production = w0 * exp(-soil__depth / w_star)
The
ExponentialWeatherer
only calculates soil production at core nodes.An alternative version which uses the analytical integral of production through time is available at the component
ExponentialWeathererIntegrated
.Examples
>>> import numpy as np >>> from landlab import RasterModelGrid >>> from landlab.components import ExponentialWeatherer >>> mg = RasterModelGrid((5, 5)) >>> soilz = mg.add_zeros("soil__depth", at="node") >>> soilrate = mg.add_ones("soil_production__rate", at="node") >>> expw = ExponentialWeatherer(mg) >>> expw.calc_soil_prod_rate() >>> np.allclose(mg.at_node["soil_production__rate"], 1.0) True
References
Required Software Citation(s) Specific to this Component
Barnhart, K., Glade, R., Shobe, C., Tucker, G. (2019). Terrainbento 1.0: a Python package for multi-model analysis in long-term drainage basin evolution. Geoscientific Model Development 12(4), 1267–1297. https://dx.doi.org/10.5194/gmd-12-1267-2019
Additional References
Ahnert, F. (1976). Brief description of a comprehensive three-dimensional process-response model of landform development Z. Geomorphol. Suppl. 25, 29 - 49.
Armstrong, A. (1976). A three dimensional simulation of slope forms. Zeitschrift für Geomorphologie 25, 20 - 28.
- Parameters:
- static __new__(cls, *args, **kwds)¶
- cite_as = '\n @article{barnhart2019terrain,\n author = {Barnhart, Katherine R and Glade, Rachel C and Shobe, Charles M\n and Tucker, Gregory E},\n title = {{Terrainbento 1.0: a Python package for multi-model analysis in\n long-term drainage basin evolution}},\n doi = {10.5194/gmd-12-1267-2019},\n pages = {1267---1297},\n number = {4},\n volume = {12},\n journal = {Geoscientific Model Development},\n year = {2019},\n }\n '¶
- property coords¶
Return the coordinates of nodes on grid attached to the component.
- property current_time¶
Current time.
Some components may keep track of the current time. In this case, the
current_time
attribute is incremented. Otherwise it is set to None.- Return type:
current_time
- property decay_depth¶
Maximum rate of weathering (m/yr).
- definitions = (('soil__depth', 'Depth of soil or weathered bedrock'), ('soil_production__rate', 'rate of soil production at nodes'))¶
- classmethod from_path(grid, path)¶
Create a component from an input file.
- property grid¶
Return the grid attached to the component.
- initialize_optional_output_fields()¶
Create fields for a component based on its optional field outputs, if declared in _optional_var_names.
This method will create new fields (without overwrite) for any fields output by the component as optional. New fields are initialized to zero. New fields are created as arrays of floats, unless the component also contains the specifying property _var_type.
- initialize_output_fields(values_per_element=None)¶
Create fields for a component based on its input and output var names.
This method will create new fields (without overwrite) for any fields output by, but not supplied to, the component. New fields are initialized to zero. Ignores optional fields. New fields are created as arrays of floats, unless the component specifies the variable type.
- Parameters:
values_per_element (int (optional)) – On occasion, it is necessary to create a field that is of size (n_grid_elements, values_per_element) instead of the default size (n_grid_elements,). Use this keyword argument to acomplish this task.
- input_var_names = ('soil__depth',)¶
- property maximum_weathering_rate¶
Maximum rate of weathering (m/yr).
- name = 'ExponentialWeatherer'¶
- optional_var_names = ()¶
- output_var_names = ('soil_production__rate',)¶
- run_one_step()[source]¶
- Parameters:
dt (float) – Used only for compatibility with standard run_one_step.
- property shape¶
Return the grid shape attached to the component, if defined.
- unit_agnostic = True¶
- units = (('soil__depth', 'm'), ('soil_production__rate', 'm/yr'))¶
- classmethod var_definition(name)¶
Get a description of a particular field.
- Parameters:
name (str) – A field name.
- Returns:
A description of each field.
- Return type:
tuple of (name, *description*)
- classmethod var_help(name)¶
Print a help message for a particular field.
- Parameters:
name (str) – A field name.
- classmethod var_loc(name)¶
Location where a particular variable is defined.
- var_mapping = (('soil__depth', 'node'), ('soil_production__rate', 'node'))¶