Vegetation: Model plant dynamics using multiple representative plant species#

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

Bases: Component

Landlab component that simulates net primary productivity, biomass and leaf area index at each cell based on inputs of root-zone average soil moisture.

Ref: Zhou, X., Istanbulluoglu, E., & Vivoni, E. R. (2013). Modeling the ecohydrological role of aspect controlled radiation on tree grass shrub coexistence in a semiarid climate. Water Resources Research, 49(5), 2872-2895.

Code author: Sai Nudurupati and Erkan Istanbulluoglu

Examples

>>> from landlab import RasterModelGrid
>>> from landlab.components import Vegetation

Create a grid on which to simulate vegetation dynamics.

>>> grid = RasterModelGrid((5, 4), xy_spacing=(0.2, 0.2))

The grid will need some input data. To check the names of the fields that provide the input to this component, use the input_var_names class property.

>>> sorted(Vegetation.input_var_names)
['surface__evapotranspiration',
 'surface__potential_evapotranspiration_30day_mean',
 'surface__potential_evapotranspiration_rate',
 'vegetation__plant_functional_type',
 'vegetation__water_stress']
>>> sorted(Vegetation.units)
[('surface__evapotranspiration', 'mm'),
 ('surface__potential_evapotranspiration_30day_mean', 'mm'),
 ('surface__potential_evapotranspiration_rate', 'mm'),
 ('vegetation__cover_fraction', 'None'),
 ('vegetation__dead_biomass', 'g m^-2 d^-1'),
 ('vegetation__dead_leaf_area_index', 'None'),
 ('vegetation__live_biomass', 'g m^-2 d^-1'),
 ('vegetation__live_leaf_area_index', 'None'),
 ('vegetation__plant_functional_type', 'None'),
 ('vegetation__water_stress', 'None')]

Provide all the input fields.

>>> grid["cell"]["vegetation__plant_functional_type"] = np.zeros(
...     grid.number_of_cells, dtype=int
... )
>>> grid["cell"]["surface__evapotranspiration"] = 0.2 * np.ones(
...     grid.number_of_cells
... )
>>> grid["cell"]["surface__potential_evapotranspiration_rate"] = np.array(
...     [0.25547770, 0.25547770, 0.22110221, 0.22110221, 0.24813062, 0.24813062]
... )
>>> grid["cell"]["surface__potential_evapotranspiration_30day_mean"] = np.array(
...     [0.25547770, 0.25547770, 0.22110221, 0.22110221, 0.24813062, 0.24813062]
... )
>>> grid["cell"]["vegetation__water_stress"] = 0.01 * np.ones(grid.number_of_cells)

Instantiate the ‘Vegetation’ component.

>>> Veg = Vegetation(grid)
>>> Veg.grid.number_of_cell_rows
3
>>> Veg.grid.number_of_cell_columns
2
>>> Veg.grid is grid
True
>>> import numpy as np
>>> sorted(Vegetation.output_var_names)
['vegetation__cover_fraction',
 'vegetation__dead_biomass',
 'vegetation__dead_leaf_area_index',
 'vegetation__live_biomass',
 'vegetation__live_leaf_area_index']
>>> np.all(grid.at_cell["vegetation__live_leaf_area_index"] == 0.0)
True
>>> Veg.update()
>>> np.all(grid.at_cell["vegetation__live_leaf_area_index"] == 0.0)
False

References

Required Software Citation(s) Specific to this Component

None Listed

Additional References

Zhou, X., Istanbulluoglu, E., and Vivoni, E. R.: Modeling the ecohydrological role of aspect-controlled radiation on tree-grass-shrub coexistence in a semiarid climate, Water Resour. Res., 49, 2872– 2895, doi:10.1002/wrcr.20259, 2013.

Parameters:
  • grid (RasterModelGrid) – A grid.

  • Blive_init (float, optional) – Initial value for vegetation__live_biomass. Converted to field.

  • Bdead_init (float, optional) – Initial value for vegetation__dead_biomass. Coverted to field.

  • ETthreshold_up (float, optional) – Potential Evapotranspiration (PET) threshold for growing season (mm/d).

  • ETthreshold_down (float, optional) – PET threshold for dormant season (mm/d).

  • Tdmax (float, optional) – Constant for dead biomass loss adjustment (mm/d).

  • w (float, optional) – Conversion factor of CO2 to dry biomass (Kg DM/Kg CO2).

  • WUE (float, optional) – Water Use Efficiency - ratio of water used in plant water lost by the plant through transpiration (KgCO2Kg-1H2O).

  • LAI_max (float, optional) – Maximum leaf area index (m2/m2).

  • cb (float, optional) – Specific leaf area for green/live biomass (m2 leaf g-1 DM).

  • cd (float, optional) – Specific leaf area for dead biomass (m2 leaf g-1 DM).

  • ksg (float, optional) – Senescence coefficient of green/live biomass (d-1).

  • kdd (float, optional) – Decay coefficient of aboveground dead biomass (d-1).

  • kws (float, optional) – Maximum drought induced foliage loss rate (d-1).

  • method (str) – Method name.

  • Tr (float, optional) – Storm duration (hours).

  • Tb (float, optional) – Inter-storm duration (hours).

  • PETthreshold_switch (int, optional) – Flag to indiate the PET threshold. This controls whether the threshold is for growth (1) or dormancy (any other value).

property PETthreshold_switch#

Flag to indiate the PET threshold.

This controls whether the threshold is for growth (1) or dormancy (any other value).

property Tb#

Storm duration (hours).

property Tr#

Inter-storm duration (hours).

__init__(grid, Blive_init=102.0, Bdead_init=450.0, ETthreshold_up=3.8, ETthreshold_down=6.8, Tdmax=10.0, w=0.55, WUE_grass=0.01, LAI_max_grass=2.0, cb_grass=0.0047, cd_grass=0.009, ksg_grass=0.012, kdd_grass=0.013, kws_grass=0.02, WUE_shrub=0.0025, LAI_max_shrub=2.0, cb_shrub=0.004, cd_shrub=0.01, ksg_shrub=0.002, kdd_shrub=0.013, kws_shrub=0.02, WUE_tree=0.0045, LAI_max_tree=4.0, cb_tree=0.004, cd_tree=0.01, ksg_tree=0.002, kdd_tree=0.013, kws_tree=0.01, WUE_bare=0.01, LAI_max_bare=0.01, cb_bare=0.0047, cd_bare=0.009, ksg_bare=0.012, kdd_bare=0.013, kws_bare=0.02, method='Grid', PETthreshold_switch=0, Tb=24.0, Tr=0.01)[source]#
Parameters:
  • grid (RasterModelGrid) – A grid.

  • Blive_init (float, optional) – Initial value for vegetation__live_biomass. Converted to field.

  • Bdead_init (float, optional) – Initial value for vegetation__dead_biomass. Coverted to field.

  • ETthreshold_up (float, optional) – Potential Evapotranspiration (PET) threshold for growing season (mm/d).

  • ETthreshold_down (float, optional) – PET threshold for dormant season (mm/d).

  • Tdmax (float, optional) – Constant for dead biomass loss adjustment (mm/d).

  • w (float, optional) – Conversion factor of CO2 to dry biomass (Kg DM/Kg CO2).

  • WUE (float, optional) – Water Use Efficiency - ratio of water used in plant water lost by the plant through transpiration (KgCO2Kg-1H2O).

  • LAI_max (float, optional) – Maximum leaf area index (m2/m2).

  • cb (float, optional) – Specific leaf area for green/live biomass (m2 leaf g-1 DM).

  • cd (float, optional) – Specific leaf area for dead biomass (m2 leaf g-1 DM).

  • ksg (float, optional) – Senescence coefficient of green/live biomass (d-1).

  • kdd (float, optional) – Decay coefficient of aboveground dead biomass (d-1).

  • kws (float, optional) – Maximum drought induced foliage loss rate (d-1).

  • method (str) – Method name.

  • Tr (float, optional) – Storm duration (hours).

  • Tb (float, optional) – Inter-storm duration (hours).

  • PETthreshold_switch (int, optional) – Flag to indiate the PET threshold. This controls whether the threshold is for growth (1) or dormancy (any other value).

initialize(Blive_init=102.0, Bdead_init=450.0, ETthreshold_up=3.8, ETthreshold_down=6.8, Tdmax=10.0, w=0.55, WUE_grass=0.01, LAI_max_grass=2.0, cb_grass=0.0047, cd_grass=0.009, ksg_grass=0.012, kdd_grass=0.013, kws_grass=0.02, WUE_shrub=0.0025, LAI_max_shrub=2.0, cb_shrub=0.004, cd_shrub=0.01, ksg_shrub=0.002, kdd_shrub=0.013, kws_shrub=0.02, WUE_tree=0.0045, LAI_max_tree=4.0, cb_tree=0.004, cd_tree=0.01, ksg_tree=0.002, kdd_tree=0.013, kws_tree=0.01, WUE_bare=0.01, LAI_max_bare=0.01, cb_bare=0.0047, cd_bare=0.009, ksg_bare=0.012, kdd_bare=0.013, kws_bare=0.02)[source]#
Parameters:
  • grid (RasterModelGrid) – A grid.

  • Blive_init (float, optional) – Initial value for vegetation__live_biomass. Converted to field.

  • Bdead_init (float, optional) – Initial value for vegetation__dead_biomass. Coverted to field.

  • ETthreshold_up (float, optional) – Potential Evapotranspiration (PET) threshold for growing season (mm/d).

  • ETthreshold_down (float, optional) – PET threshold for dormant season (mm/d).

  • Tdmax (float, optional) – Constant for dead biomass loss adjustment (mm/d).

  • w (float, optional) – Conversion factor of CO2 to dry biomass (Kg DM/Kg CO2).

  • WUE (float, optional) – Water Use Efficiency - ratio of water used in plant water lost by the plant through transpiration (KgCO2Kg-1H2O).

  • LAI_max (float, optional) – Maximum leaf area index (m2/m2).

  • cb (float, optional) – Specific leaf area for green/live biomass (m2 leaf g-1 DM).

  • cd (float, optional) – Specific leaf area for dead biomass (m2 leaf g-1 DM).

  • ksg (float, optional) – Senescence coefficient of green/live biomass (d-1).

  • kdd (float, optional) – Decay coefficient of aboveground dead biomass (d-1).

  • kws (float, optional) – Maximum drought induced foliage loss rate (d-1).

update()[source]#

Update fields with current loading conditions.

This method looks to the properties PETthreshold_switch, Tb, and Tr and uses their values to calculate the new field values.

assert_method_is_valid(method)[source]#