API documentation for the env_factors module#
The models.litter.env_factors module contains functions that are used to
capture the impact that environmental factors have on litter decay rates. These include
temperature and soil water potential.
Functions:
Average soil temperatures over the microbially active layers. |
|
Average water potentials over the microbially active layers. |
|
Calculate the impact of the environment has on litter decay across litter layers. |
|
Calculate the effect that soil water potential has on litter decomposition rates. |
|
Calculate the effect that temperature has on litter decomposition rates. |
- virtual_ecosystem.models.litter.env_factors.average_temperature_over_microbially_active_layers(soil_temperatures: DataArray, surface_temperature: ndarray[tuple[Any, ...], dtype[floating]], layer_structure: LayerStructure) ndarray[tuple[Any, ...], dtype[floating]][source]#
Average soil temperatures over the microbially active layers.
First the average temperature is found for each layer. Then an average across the microbially active depth is taken, weighting by how much of the microbially active depth lies within each layer.
- Parameters:
soil_temperatures – Soil temperatures to be averaged [Celsius]
surface_temperature – Air temperature just above the soil surface [Celsius]
layer_structure – The LayerStructure instance for the simulation.
- Returns:
The average temperature across the soil depth considered to be microbially active [Celsius]
- virtual_ecosystem.models.litter.env_factors.average_water_potential_over_microbially_active_layers(water_potentials: DataArray, layer_structure: LayerStructure) ndarray[tuple[Any, ...], dtype[floating]][source]#
Average water potentials over the microbially active layers.
The average water potential is found for each layer apart from the top layer. This is because for the top layer a sensible average can’t be taken as water potential is not defined for the surface layer. In this case, the water potential at the maximum layer height is just treated as the average of the layer. This is a reasonable assumption if the first soil layer is shallow.
These water potentials are then averaged across the microbially active depth, weighting by how much of the microbially active depth lies within each layer.
- Parameters:
water_potentials – Soil water potentials to be averaged [kPa]
layer_structure – The LayerStructure instance for the simulation.
- Returns:
The average water potential across the soil depth considered to be microbially active [kPa]
- virtual_ecosystem.models.litter.env_factors.calculate_environmental_factors(air_temperatures: DataArray, soil_temperatures: DataArray, water_potentials: DataArray, layer_structure: LayerStructure, constants: LitterConstants)[source]#
Calculate the impact of the environment has on litter decay across litter layers.
For the above ground layer the impact of temperature is calculated, and for the below ground layer the effect of temperature and soil water potential are both calculated.
The relevant above ground temperature is the surface temperature, which can be easily extracted from the temperature data. It’s more complex for the below ground temperature and the water potential as the relevant values are averages across the microbially active depth. These are calculated by averaging across the soil layers with each layer weighted by the proportion of the total microbially active depth it represents.
If a shallow microbially active depth is used then below ground litter decomposition will be exposed to a high degree of environmental variability. This is representative of the real world, but needs to be kept in mind when comparing to other models.
- Parameters:
air_temperatures – Air temperatures, for all above ground layers [Celsius]
soil_temperatures – Soil temperatures, for all soil layers [Celsius]
water_potentials – Water potentials, for all soil layers [kPa]
layer_structure – The LayerStructure instance for the simulation.
constants – Set of constants for the litter model
- Returns:
A dictionary containing three environmental factors, one for the effect of temperature on above ground litter decay, one for the effect of temperature on below ground litter decay, and one for the effect of soil water potential on below ground litter decay.
- virtual_ecosystem.models.litter.env_factors.calculate_soil_water_effect_on_litter_decomp(water_potential: ndarray[tuple[Any, ...], dtype[floating]], water_potential_halt: float, water_potential_opt: float, moisture_response_curvature: float) ndarray[tuple[Any, ...], dtype[floating]][source]#
Calculate the effect that soil water potential has on litter decomposition rates.
This function is only relevant for the below ground litter pools. Its functional form is taken from Moyano et al. (2013).
- Parameters:
water_potential – Soil water potential [kPa]
water_potential_halt – Water potential at which all microbial activity stops [kPa]
water_potential_opt – Optimal water potential for microbial activity [kPa]
moisture_response_curvature – Parameter controlling the curvature of the moisture response function [unitless]
- Returns:
A multiplicative factor capturing the impact of moisture on below ground litter decomposition [unitless]
- virtual_ecosystem.models.litter.env_factors.calculate_temperature_effect_on_litter_decomp(temperature: ndarray[tuple[Any, ...], dtype[floating]], reference_temp: float, offset_temp: float, temp_response: float) ndarray[tuple[Any, ...], dtype[floating]][source]#
Calculate the effect that temperature has on litter decomposition rates.
This function is taken from Kirschbaum and Paul (2002).
- Parameters:
temperature – The temperature of the litter layer [Celsius]
reference_temp – The reference temperature for changes in litter decomposition rates with temperature [Celsius]
offset_temp – Temperature offset [Celsius]
temp_response – Factor controlling response strength to changing temperature [unitless]
- Returns:
A multiplicative factor capturing the impact of temperature on litter decomposition [unitless]