API documentation for the model_config module#
Configuration classes for the soil model.
Data:
Required enzyme classes as all pairs of higher taxon source and substrate. |
Classes:
|
Root configuration class for the soil model. |
|
Dataclass to store all constants for the soil model. |
|
Soil enzyme constants. |
|
Microbial functional group definitions. |
- virtual_ecosystem.models.soil.model_config.HIGHER_TAXONOMIC_GROUPS(*args, **kwargs)#
Permitted higher taxonomic group names in the soil model.
alias of
Literal[‘fungi’, ‘bacteria’]
- virtual_ecosystem.models.soil.model_config.REQUIRED_ENZYMES: set[tuple[Literal['fungi', 'bacteria'], Literal['pom', 'maom']]] = {('bacteria', 'maom'), ('bacteria', 'pom'), ('fungi', 'maom'), ('fungi', 'pom')}#
Required enzyme classes as all pairs of higher taxon source and substrate.
- virtual_ecosystem.models.soil.model_config.REQUIRED_MICROBIAL_GROUPS(*args, **kwargs)#
Required taxonomic groups in the soil model
alias of
Literal[‘saprotrophic_fungi’, ‘ectomycorrhiza’, ‘arbuscular_mycorrhiza’, ‘bacteria’]
- virtual_ecosystem.models.soil.model_config.SUBSTRATES(*args, **kwargs)#
Permitted substrate types in the soil model
alias of
Literal[‘pom’, ‘maom’]
- class virtual_ecosystem.models.soil.model_config.SoilConfiguration(*, static: bool = False, enzyme_class_definition_path: str = '', microbial_group_definition_path: str = '', constants: SoilConstants = SoilConstants(reference_cue_logit=0.094, cue_reference_temp=20.0, logit_cue_with_temperature=-0.039, soil_microbe_water_potential_optimum=-3.0, soil_microbe_water_potential_halt=-15800.0, microbial_water_response_curvature=1.47, min_pH_microbes=2.5, lowest_optimal_pH_microbes=4.5, highest_optimal_pH_microbes=7.5, max_pH_microbes=11.0, base_soil_protection=0.694, soil_protection_with_clay=1.36, solubility_coefficient_lmwc=0.05, solubility_coefficient_ammonium=0.05, solubility_coefficient_nitrate=1.0, solubility_coefficient_labile_p=0.005, necromass_decay_rate=np.float64(0.23104906018664842), maom_desorption_rate=1e-05, lmwc_sorption_rate=0.001, necromass_sorption_rate=np.float64(0.6931471805599453), litter_leaching_fraction_carbon=0.0015, litter_leaching_fraction_nitrogen=0.0015, litter_leaching_fraction_phosphorus=0.0001, organic_proportion_litter_nitrogen_leaching=1.0, organic_proportion_litter_phosphorus_leaching=1.0, ammonium_mineralisation_proportion=0.9, tectonic_uplift_rate_phosphorus=0.0, ammonia_volatilisation_rate_constant=8.64e-05, nitrification_rate_constant=0.08639999999999999, denitrification_rate_constant=0.21600000000000003, nitrification_optimum_temperature=311.15, nitrification_maximum_temperature=343.15, nitrification_thermal_sensitivity=12, denitrification_infinite_temperature_factor=93.34598, denitrification_minimum_temperature=227.12999999999997, denitrification_thermal_sensitivity=308.56, nitrogen_fixation_cost_zero_celcius=59.19651970522086, nitrogen_fixation_cost_infinite_temp_offset=-0.8034802947791453, nitrogen_fixation_cost_thermal_sensitivity=0.27, nitrogen_fixation_cost_equality_temperature=50.28, free_living_N_fixation_reference_rate=4.106776180698152e-06, free_living_N_fixation_reference_temp=293.15, free_living_N_fixation_q10_coefficent=3.0, primary_phosphorus_breakdown_rate=2.2831050228310502e-07, secondary_phosphorus_breakdown_rate=7.407407407407407e-05, labile_phosphorus_sorption_rate=0.0016666666666666668, ammonium_deposition_rate=4.1067761806981517e-07, phosphorus_deposition_rate=1.3689253935660508e-08, nitrogen_fixer_supply_fraction=0.3, ectomycorrhiza_supply_fraction=0.25), enzyme_class_definition: list[SoilEnzymeClass] = [SoilEnzymeClass(source='fungi', substrate='pom', maximum_rate=60.0, half_saturation_constant=70.0, activation_energy_rate=37000, activation_energy_saturation=30000, reference_temperature=12.0, turnover_rate=0.024, c_n_ratio=5.2, c_p_ratio=16), SoilEnzymeClass(source='fungi', substrate='maom', maximum_rate=60.0, half_saturation_constant=70.0, activation_energy_rate=37000, activation_energy_saturation=30000, reference_temperature=12.0, turnover_rate=0.024, c_n_ratio=5.2, c_p_ratio=16), SoilEnzymeClass(source='bacteria', substrate='pom', maximum_rate=60.0, half_saturation_constant=70.0, activation_energy_rate=37000, activation_energy_saturation=30000, reference_temperature=12.0, turnover_rate=0.024, c_n_ratio=5.2, c_p_ratio=16), SoilEnzymeClass(source='bacteria', substrate='maom', maximum_rate=60.0, half_saturation_constant=70.0, activation_energy_rate=37000, activation_energy_saturation=30000, reference_temperature=12.0, turnover_rate=0.024, c_n_ratio=5.2, c_p_ratio=16)], microbial_group_definition: list[SoilMicrobialGroup] = [SoilMicrobialGroup(name='saprotrophic_fungi', taxonomic_group='fungi', max_uptake_rate_labile_C=0.04, activation_energy_uptake_rate=47000, half_sat_labile_C_uptake=0.364, activation_energy_uptake_saturation=30000, max_uptake_rate_ammonium=0.005, half_sat_ammonium_uptake=0.02275, max_uptake_rate_nitrate=0.0005, half_sat_nitrate_uptake=0.02275, max_uptake_rate_labile_p=0.0025, half_sat_labile_p_uptake=0.02275, turnover_rate=0.005, activation_energy_turnover=20000, reference_temperature=12.0, c_n_ratio=5.2, c_p_ratio=16, enzyme_production={'pom': 0.005, 'maom': 0.005}, reproductive_allocation=0.0, symbiote_nitrogen_uptake_fraction=0.0, symbiote_phosphorus_uptake_fraction=0.0), SoilMicrobialGroup(name='ectomycorrhiza', taxonomic_group='fungi', max_uptake_rate_labile_C=0.04, activation_energy_uptake_rate=47000, half_sat_labile_C_uptake=0.364, activation_energy_uptake_saturation=30000, max_uptake_rate_ammonium=0.005, half_sat_ammonium_uptake=0.02275, max_uptake_rate_nitrate=0.0005, half_sat_nitrate_uptake=0.02275, max_uptake_rate_labile_p=0.0025, half_sat_labile_p_uptake=0.02275, turnover_rate=0.005, activation_energy_turnover=20000, reference_temperature=12.0, c_n_ratio=5.2, c_p_ratio=16, enzyme_production={'pom': 0.005, 'maom': 0.005}, reproductive_allocation=0.0, symbiote_nitrogen_uptake_fraction=0.0, symbiote_phosphorus_uptake_fraction=0.0), SoilMicrobialGroup(name='arbuscular_mycorrhiza', taxonomic_group='fungi', max_uptake_rate_labile_C=0.04, activation_energy_uptake_rate=47000, half_sat_labile_C_uptake=0.364, activation_energy_uptake_saturation=30000, max_uptake_rate_ammonium=0.005, half_sat_ammonium_uptake=0.02275, max_uptake_rate_nitrate=0.0005, half_sat_nitrate_uptake=0.02275, max_uptake_rate_labile_p=0.0025, half_sat_labile_p_uptake=0.02275, turnover_rate=0.005, activation_energy_turnover=20000, reference_temperature=12.0, c_n_ratio=5.2, c_p_ratio=16, enzyme_production={'pom': 0.005, 'maom': 0.005}, reproductive_allocation=0.0, symbiote_nitrogen_uptake_fraction=0.0, symbiote_phosphorus_uptake_fraction=0.0), SoilMicrobialGroup(name='bacteria', taxonomic_group='bacteria', max_uptake_rate_labile_C=0.04, activation_energy_uptake_rate=47000, half_sat_labile_C_uptake=0.364, activation_energy_uptake_saturation=30000, max_uptake_rate_ammonium=0.005, half_sat_ammonium_uptake=0.02275, max_uptake_rate_nitrate=0.0005, half_sat_nitrate_uptake=0.02275, max_uptake_rate_labile_p=0.0025, half_sat_labile_p_uptake=0.02275, turnover_rate=0.005, activation_energy_turnover=20000, reference_temperature=12.0, c_n_ratio=5.2, c_p_ratio=16, enzyme_production={'pom': 0.005, 'maom': 0.005}, reproductive_allocation=0.0, symbiote_nitrogen_uptake_fraction=0.0, symbiote_phosphorus_uptake_fraction=0.0)])[source]#
Root configuration class for the soil model.
Attributes:
Constants values for soil model.
Definition of enzyme classes for soil model.
Path to a CSV file of microbial enzyme class definitions.
Definition of microbial groups for soil model.
Path to a CSV file of microbial functional group definitions.
- constants: SoilConstants#
Constants values for soil model.
- enzyme_class_definition: list[SoilEnzymeClass]#
Definition of enzyme classes for soil model.
- enzyme_class_definition_path: str#
Path to a CSV file of microbial enzyme class definitions. Not yet implemented.
- microbial_group_definition: list[SoilMicrobialGroup]#
Definition of microbial groups for soil model.
- class virtual_ecosystem.models.soil.model_config.SoilConstants(*, reference_cue_logit: float = 0.094, cue_reference_temp: float = 20.0, logit_cue_with_temperature: float = -0.039, soil_microbe_water_potential_optimum: Annotated[float, Lt(lt=0)] = -3.0, soil_microbe_water_potential_halt: Annotated[float, Lt(lt=0)] = -15800.0, microbial_water_response_curvature: float = 1.47, min_pH_microbes: float = 2.5, lowest_optimal_pH_microbes: float = 4.5, highest_optimal_pH_microbes: float = 7.5, max_pH_microbes: float = 11.0, base_soil_protection: float = 0.694, soil_protection_with_clay: float = 1.36, solubility_coefficient_lmwc: float = 0.05, solubility_coefficient_ammonium: float = 0.05, solubility_coefficient_nitrate: float = 1.0, solubility_coefficient_labile_p: float = 0.005, necromass_decay_rate: float = np.float64(0.23104906018664842), maom_desorption_rate: float = 1e-05, lmwc_sorption_rate: float = 0.001, necromass_sorption_rate: float = np.float64(0.6931471805599453), litter_leaching_fraction_carbon: float = 0.0015, litter_leaching_fraction_nitrogen: float = 0.0015, litter_leaching_fraction_phosphorus: float = 0.0001, organic_proportion_litter_nitrogen_leaching: float = 1.0, organic_proportion_litter_phosphorus_leaching: float = 1.0, ammonium_mineralisation_proportion: float = 0.9, tectonic_uplift_rate_phosphorus: float = 0.0, ammonia_volatilisation_rate_constant: float = 8.64e-05, nitrification_rate_constant: float = 0.08639999999999999, denitrification_rate_constant: float = 0.21600000000000003, nitrification_optimum_temperature: float = 311.15, nitrification_maximum_temperature: float = 343.15, nitrification_thermal_sensitivity: int = 12, denitrification_infinite_temperature_factor: float = 93.34598, denitrification_minimum_temperature: float = 227.12999999999997, denitrification_thermal_sensitivity: float = 308.56, nitrogen_fixation_cost_zero_celcius: float = 59.19651970522086, nitrogen_fixation_cost_infinite_temp_offset: float = -0.8034802947791453, nitrogen_fixation_cost_thermal_sensitivity: float = 0.27, nitrogen_fixation_cost_equality_temperature: float = 50.28, free_living_N_fixation_reference_rate: float = 4.106776180698152e-06, free_living_N_fixation_reference_temp: float = 293.15, free_living_N_fixation_q10_coefficent: float = 3.0, primary_phosphorus_breakdown_rate: float = 2.2831050228310502e-07, secondary_phosphorus_breakdown_rate: float = 7.407407407407407e-05, labile_phosphorus_sorption_rate: float = 0.0016666666666666668, ammonium_deposition_rate: float = 4.1067761806981517e-07, phosphorus_deposition_rate: float = 1.3689253935660508e-08, nitrogen_fixer_supply_fraction: float = 0.3, ectomycorrhiza_supply_fraction: float = 0.25)[source]#
Dataclass to store all constants for the soil model.
Attributes:
Rate constant for ammonia volatilisation from ammonium [day^-1].
Rate at which ammonium is deposited into the system [kg{N} m^-2 day^-1].
Proportion of microbially mineralised nitrogen that takes the form of ammonium.
Basal change in saturation constants due to soil structure [unitless].
Reference temperature for carbon use efficiency [Celsius].
Denitrification temperature factor at infinite temperature [unitless].
Temperature at which denitrification stops entirely [Kelvin].
Rate constant for denitrification from nitrate [day^-1].
Sensitivity of denitrification rate to changes in temperature [Kelvin].
Fraction of plant carbon supply to mycorrhizal fungi that goes to ectomycorrhiza.
Q10 coefficient for free-living fixation of nitrogen [unitless].
Rate at which free living microbes fix nitrogen (at the reference temperature).
Temperature reference rate of free-living nitrogen fixation was measured at [Kelvin].
Soil pH below which microbial activity is not inhibited at all [unitless].
Rate constant for sorption of labile phosphorus to secondary mineral phosphorus [day^-1].
Fraction of carbon mineralisation from litter that occurs by leaching [unitless].
Fraction of nitrogen mineralisation from litter that occurs by leaching.
Fraction of phosphorus mineralisation from litter that occurs by leaching.
Rate constant for low molecular weight carbon sorption to minerals [day^-1].
Change in the logit of carbon use efficiency with unit increase in temperature [Celsius^-1].
Soil pH above which microbial activity is not inhibited at all [unitless].
Rate constant for mineral associated organic matter desorption [day^-1].
Soil pH above which microbial activity is completely inhibited [unitless].
Curvature of function for response of soil microbial rates to water potential [unitless].
Soil pH below which microbial activity is completely inhibited [unitless].
Rate at which microbial necromass decays to low molecular weight carbon [day^-1].
Rate constant for necromass sorption to minerals [day^-1].
Temperature at which our empirical nitrification model stops working [Kelvin].
Soil temperature at which nitrification is maximised [Kelvin].
Rate constant for nitrification from ammonium [day^-1].
Sensitivity of nitrification rate to changes in temperature [unitless].
Positive temperature at which nitrogen fixation cost is the same at zero Celsius.
Difference in nitrogen fixation cost between zero Celsius and infinite limit.
Sensitivity of symbiotic nitrogen fixation cost to changes in temperature [Celsius^-1].
Cost (in carbon) that plants pay to their symbiotic partners at zero Celsius [kg{C} kg{N}^-1].
Fraction of carbon supplied by plants to symbiotes that goes to nitrogen fixers.
Fraction of leached nitrogen from litter mineralisation that is organic form.
Fraction of leached phosphorus from litter mineralisation that is organic form.
Rate at which phosphorus is deposited into the system [kg{P} m^-2 day^-1].
Rate constant for breakdown of primary phosphorus to labile phosphorus [day^-1].
Logit of carbon use efficiency of microbial community at reference temperature [unitless].
Rate constant for breakdown of secondary mineral to labile phosphorus [day^-1].
The water potential at which soil microbial activity stops entirely [kPa].
The water potential at which soil microbial rates are maximised [kPa].
Rate at which soil protection of carbon increases with clay content [unitless].
Solubility coefficient for ammonium in soil [unitless].
Solubility coefficient for labile inorganic phosphorus [unitless].
Solubility coefficient for low molecular weight organic carbon [unitless].
Solubility coefficient for nitrate in soil [unitless].
Rate at which tectonic uplift exposes new primary phosphorus [kg{P} m^-3 day^-1].
- ammonia_volatilisation_rate_constant: float#
Rate constant for ammonia volatilisation from ammonium [day^-1]. Following Dickinson et al. (2002), linear kinetics are assumed. We also take our default value from there.
- ammonium_deposition_rate: float#
Rate at which ammonium is deposited into the system [kg{N} m^-2 day^-1]. We are assuming that deposition rates won’t vary substantially over the area the simulation encompasses. Value taken from Vet et al. (2014).
- ammonium_mineralisation_proportion: float#
Proportion of microbially mineralised nitrogen that takes the form of ammonium. [unitless]. The remainder gets mineralised as nitrate. Estimate taken from Fatichi et al. (2019), but the way it was obtained wasn’t made particularly clear.
- base_soil_protection: float#
Basal change in saturation constants due to soil structure [unitless]. This value is multiplicative and is taken from Fatichi et al. (2019).
- cue_reference_temp: float#
Reference temperature for carbon use efficiency [Celsius]. Default value taken from Qiao et al. (2019).
- denitrification_infinite_temperature_factor: float#
Denitrification temperature factor at infinite temperature [unitless]. Value is obtained from Xu-Ri and Prentice (2008), by taking the exponential of the constant part of the expression. This value should not be varied independently of
SoilConstants.denitrification_minimum_temperatureandSoilConstants.denitrification_thermal_sensitivity!
- denitrification_minimum_temperature: float#
Temperature at which denitrification stops entirely [Kelvin]. Value is obtained from Xu-Ri and Prentice (2008), and converted to Kelvin. The expression we are using does not function below this temperature, but this is not a major problem as it is a very low temperature. This value should not be varied independently of
SoilConstants.denitrification_infinite_temperature_factorandSoilConstants.denitrification_thermal_sensitivity!
- denitrification_rate_constant: float#
Rate constant for denitrification from nitrate [day^-1]. Following Dickinson et al. (2002), linear kinetics are assumed. We also take our default value from there.
- denitrification_thermal_sensitivity: float#
Sensitivity of denitrification rate to changes in temperature [Kelvin]. Value is obtained from Xu-Ri and Prentice (2008). This value should not be varied independently of
SoilConstants.denitrification_infinite_temperature_factorandSoilConstants.denitrification_minimum_temperature!
- ectomycorrhiza_supply_fraction: float#
Fraction of plant carbon supply to mycorrhizal fungi that goes to ectomycorrhiza. [unitless]. The remainder goes to arbuscular mycorrhizal fungi.
- free_living_N_fixation_q10_coefficent: float#
Q10 coefficient for free-living fixation of nitrogen [unitless]. Value taken from Lin et al. (2000).
- free_living_N_fixation_reference_rate: float#
Rate at which free living microbes fix nitrogen (at the reference temperature). Units of [kg{N} m^-2 day^-1]. Value specific to tropical forests, and is taken from Lin et al. (2000) (with the units adjusted). Should not be changed independently from
SoilConstants.free_living_N_fixation_reference_temp.
- free_living_N_fixation_reference_temp: float#
Temperature reference rate of free-living nitrogen fixation was measured at [Kelvin]. Value taken from Lin et al. (2000). Should not be changed independently from
SoilConstants.free_living_N_fixation_reference_rate.
- highest_optimal_pH_microbes: float#
Soil pH below which microbial activity is not inhibited at all [unitless]. This value cannot be smaller than
SoilConstants.lowest_optimal_pH_microbesor larger thanSoilConstants.max_pH_microbes. The default value was obtained by averaging the fungi and bacteria specific values given in Orwin et al. (2011).
- labile_phosphorus_sorption_rate: float#
Rate constant for sorption of labile phosphorus to secondary mineral phosphorus [day^-1]. Default value taken from Parton et al. (1988).
- litter_leaching_fraction_carbon: float#
Fraction of carbon mineralisation from litter that occurs by leaching [unitless]. The remainder of the mineralisation consists of particulates. Value is an order of magnitude estimate taken from Fatichi et al. (2019).
- litter_leaching_fraction_nitrogen: float#
Fraction of nitrogen mineralisation from litter that occurs by leaching. [unitless]. The remainder of the mineralisation consists of particulates. Value is an order of magnitude estimate taken from Fatichi et al. (2019).
- litter_leaching_fraction_phosphorus: float#
Fraction of phosphorus mineralisation from litter that occurs by leaching. [unitless]. The remainder of the mineralisation consists of particulates. Value is an order of magnitude estimate taken from Fatichi et al. (2019).
- lmwc_sorption_rate: float#
Rate constant for low molecular weight carbon sorption to minerals [day^-1]. The default value of this rate is not based on data. It was instead chosen so that the ratio of LMWC to MAOM would tend to 1/100, in the absence of microbes. This is another key target for sensitivity analysis.
- logit_cue_with_temperature: float#
Change in the logit of carbon use efficiency with unit increase in temperature [Celsius^-1]. Parameter estimated from a beta-logit GLMM using the data from Qiao et al. (2019).
- lowest_optimal_pH_microbes: float#
Soil pH above which microbial activity is not inhibited at all [unitless]. This value cannot be smaller than
SoilConstants.min_pH_microbesor larger thanSoilConstants.highest_optimal_pH_microbes. The default value was obtained by averaging the fungi and bacteria specific values given in Orwin et al. (2011).
- maom_desorption_rate: float#
Rate constant for mineral associated organic matter desorption [day^-1]. The default value of this rate is not based on data. It was instead chosen to be small relative to the rate at which microbes breakdown LMWC. This is another key target for sensitivity analysis.
- max_pH_microbes: float#
Soil pH above which microbial activity is completely inhibited [unitless]. This value cannot be smaller than
SoilConstants.highest_optimal_pH_microbes. The default value was obtained by averaging the fungi and bacteria specific values given in Orwin et al. (2011).
- microbial_water_response_curvature: float#
Curvature of function for response of soil microbial rates to water potential [unitless]. Value is taken from Moyano et al. (2013).
- min_pH_microbes: float#
Soil pH below which microbial activity is completely inhibited [unitless]. This value cannot be larger than
SoilConstants.lowest_optimal_pH_microbes. The default value was obtained by averaging the fungi and bacteria specific values given in Orwin et al. (2011).
- necromass_decay_rate: float#
Rate at which microbial necromass decays to low molecular weight carbon [day^-1]. I have not been able to track down any data on this, so for now choosing a rate that corresponds to halving every three days. This parameter is a key target for tracking down data for and for sensitivity analysis.
- necromass_sorption_rate: float#
Rate constant for necromass sorption to minerals [day^-1]. The default value was chosen to be three times the value of
SoilConstants.necromass_decay_rate, this means that 75% of necromass becomes MAOM with the remainder becoming LMWC. Replacing this with a function that depends on environmental conditions is a post release goal.
- nitrification_maximum_temperature: float#
Temperature at which our empirical nitrification model stops working [Kelvin]. This is well outside field values so this should be too much of a problem. Value taken from Xu-Ri and Prentice (2008). This value should not be varied independently of
SoilConstants.nitrification_optimum_temperatureandSoilConstants.nitrification_thermal_sensitivity!
- nitrification_optimum_temperature: float#
Soil temperature at which nitrification is maximised [Kelvin]. Value taken from Xu-Ri and Prentice (2008). This value should not be varied independently of
SoilConstants.nitrification_maximum_temperatureandSoilConstants.nitrification_thermal_sensitivity!
- nitrification_rate_constant: float#
Rate constant for nitrification from ammonium [day^-1]. Following Dickinson et al. (2002), linear kinetics are assumed. We also take our default value from there.
- nitrification_thermal_sensitivity: int#
Sensitivity of nitrification rate to changes in temperature [unitless]. Value taken from Xu-Ri and Prentice (2008). This value should not be varied independently of
SoilConstants.nitrification_optimum_temperatureandSoilConstants.nitrification_maximum_temperature!
- nitrogen_fixation_cost_equality_temperature: float#
Positive temperature at which nitrogen fixation cost is the same at zero Celsius. [Celsius]. Value is obtained from Brzostek et al. (2014).
- nitrogen_fixation_cost_infinite_temp_offset: float#
Difference in nitrogen fixation cost between zero Celsius and infinite limit. Units of [kg{C} kg{N}^-1]. This limit of infinite temperature is not biologically meaningful and is instead just a way of characterising the form of the empirical function. A negative value means that the cost in the infinite temperature limit is higher than at zero Celsius. Value is obtained from Brzostek et al. (2014).
- nitrogen_fixation_cost_thermal_sensitivity: float#
Sensitivity of symbiotic nitrogen fixation cost to changes in temperature [Celsius^-1]. Value is obtained from Brzostek et al. (2014).
- nitrogen_fixation_cost_zero_celcius: float#
Cost (in carbon) that plants pay to their symbiotic partners at zero Celsius [kg{C} kg{N}^-1]. This is cost per unit of nitrogen received, and will be higher than the symbiotic partners actually spend to fix the nitrogen. Value is obtained from Brzostek et al. (2014).
- nitrogen_fixer_supply_fraction: float#
Fraction of carbon supplied by plants to symbiotes that goes to nitrogen fixers. [unitless]. The remainder goes to mycorrhizal fungi.
- organic_proportion_litter_nitrogen_leaching: float#
Fraction of leached nitrogen from litter mineralisation that is organic form. [unitless]. The remainder of the leaching consists of ammonium. Value is taken from Fatichi et al. (2019), where it is assumed that nitrogen leaches from litter solely in organic form.
- organic_proportion_litter_phosphorus_leaching: float#
Fraction of leached phosphorus from litter mineralisation that is organic form. [unitless]. The remainder of the leaching consists of inorganic phosphorus. Value is taken from Fatichi et al. (2019), where it is assumed that phosphorus leaches from litter solely in organic form.
- phosphorus_deposition_rate: float#
Rate at which phosphorus is deposited into the system [kg{P} m^-2 day^-1]. We are assuming that deposition rates won’t vary substantially over the area the simulation encompasses. Value taken from Mahowald et al. (2008).
- primary_phosphorus_breakdown_rate: float#
Rate constant for breakdown of primary phosphorus to labile phosphorus [day^-1]. Default value taken from Parton et al. (1988).
- reference_cue_logit: float#
Logit of carbon use efficiency of microbial community at reference temperature [unitless]. Parameter estimated from a beta-logit GLMM using the data from Qiao et al. (2019).
- secondary_phosphorus_breakdown_rate: float#
Rate constant for breakdown of secondary mineral to labile phosphorus [day^-1]. Default value taken from Parton et al. (1988).
- soil_microbe_water_potential_halt: float#
The water potential at which soil microbial activity stops entirely [kPa]. Value is taken from Moyano et al. (2013).
- soil_microbe_water_potential_optimum: float#
The water potential at which soil microbial rates are maximised [kPa]. Value is taken from Moyano et al. (2013).
- soil_protection_with_clay: float#
Rate at which soil protection of carbon increases with clay content [unitless]. This protection contributes multiplicatively to the effective saturation constant. The value of this constant is taken from Fatichi et al. (2019).
- solubility_coefficient_ammonium: float#
Solubility coefficient for ammonium in soil [unitless]. Value taken from Fatichi et al. (2019), where it is estimated in quite a loose manner.
- solubility_coefficient_labile_p: float#
Solubility coefficient for labile inorganic phosphorus [unitless]. Value taken from Fatichi et al. (2019), where it is estimated in quite a loose manner.
- solubility_coefficient_lmwc: float#
Solubility coefficient for low molecular weight organic carbon [unitless]. Value taken from Fatichi et al. (2019), where it is estimated in quite a loose manner.
- class virtual_ecosystem.models.soil.model_config.SoilEnzymeClass(*, source: Literal['fungi', 'bacteria'] = 'bacteria', substrate: Literal['pom', 'maom'] = 'pom', maximum_rate: float = 60.0, half_saturation_constant: float = 70.0, activation_energy_rate: float = 37000, activation_energy_saturation: float = 30000, reference_temperature: float = 12.0, turnover_rate: float = 0.024, c_n_ratio: float = 5.2, c_p_ratio: float = 16)[source]#
Soil enzyme constants.
Attributes:
Activation energy for enzyme rate with temperature [J Kelvin^-1].
Activation energy for enzyme saturation with temperature [J Kelvin^-1].
Ratio of carbon to nitrogen for the enzyme [unitless].
Ratio of carbon to phosphorus for the enzyme [unitless].
The half saturation constant for the enzyme at the reference temperature.
The maximum rate of the enzyme at the reference temperature [day^-1].
The temperature that enzyme rate and saturation were measured at [Celsius].
The higher microbial group which produces the enzyme.
The substrate which the enzyme acts upon.
The turnover rate of the enzyme [day^-1].
- activation_energy_saturation: float#
Activation energy for enzyme saturation with temperature [J Kelvin^-1].
- half_saturation_constant: float#
The half saturation constant for the enzyme at the reference temperature. Units of [kg{C} m^-3].
- reference_temperature: float#
The temperature that enzyme rate and saturation were measured at [Celsius].
- source: HIGHER_TAXONOMIC_GROUPS#
The higher microbial group which produces the enzyme.
- substrate: SUBSTRATES#
The substrate which the enzyme acts upon.
- class virtual_ecosystem.models.soil.model_config.SoilMicrobialGroup(*, name: Literal['saprotrophic_fungi', 'ectomycorrhiza', 'arbuscular_mycorrhiza', 'bacteria'] = 'bacteria', taxonomic_group: Literal['fungi', 'bacteria'] = 'bacteria', max_uptake_rate_labile_C: float = 0.04, activation_energy_uptake_rate: float = 47000, half_sat_labile_C_uptake: float = 0.364, activation_energy_uptake_saturation: float = 30000, max_uptake_rate_ammonium: float = 0.005, half_sat_ammonium_uptake: float = 0.02275, max_uptake_rate_nitrate: float = 0.0005, half_sat_nitrate_uptake: float = 0.02275, max_uptake_rate_labile_p: float = 0.0025, half_sat_labile_p_uptake: float = 0.02275, turnover_rate: float = 0.005, activation_energy_turnover: float = 20000, reference_temperature: float = 12.0, c_n_ratio: float = 5.2, c_p_ratio: float = 16, enzyme_production: dict[str, float] = {'maom': 0.005, 'pom': 0.005}, reproductive_allocation: Annotated[float, Ge(ge=0), Le(le=1)] = 0.0, symbiote_nitrogen_uptake_fraction: Annotated[float, Ge(ge=0), Le(le=1)] = 0.0, symbiote_phosphorus_uptake_fraction: Annotated[float, Ge(ge=0), Le(le=1)] = 0.0)[source]#
Microbial functional group definitions.
Attributes:
Activation energy for microbial maintenance turnover rate [J Kelvin^-1].
Activation energy for nutrient uptake [J Kelvin^-1].
Activation energy for nutrient uptake saturation constants [J Kelvin^-1].
Ratio of carbon to nitrogen in biomass [unitless].
Ratio of carbon to phosphorus in biomass [unitless].
Details of the enzymes produced by the microbial group.
Half saturation constant for uptake of ammonium [kg{N} m^-3].
Half saturation constant for uptake of labile carbon (LMWC) [kg{C} m^-3].
Half saturation constant for uptake of labile inorganic phosphorus [kg{P} m^-3].
Half saturation constant for uptake of nitrate [kg{N} m^-3].
Maximum possible rate for ammonium uptake [day^-1].
Maximum rate at the reference temperature of labile carbon uptake [day^-1].
Maximum possible rate for labile inorganic phosphorus uptake [day^-1].
Maximum possible rate for nitrate uptake [day^-1].
The name of the microbial group functional type.
The temperature that turnover and uptake rates were measured at [Celsius].
Reproductive allocation as fraction of (gross) cellular biomass growth [unitless] Only fungi generate separate reproductive bodies, so this value must be set to zero for bacterial functional groups.
Fraction of nitrogen uptake that is supplied to symbiotic (plant) partners.
Fraction of nitrogen uptake that is supplied to symbiotic (plant) partners.
The high level taxonomic group that the microbial group belongs to.
Microbial maintenance turnover rate at reference temperature [day^-1].
- activation_energy_turnover: float#
Activation energy for microbial maintenance turnover rate [J Kelvin^-1].
- activation_energy_uptake_saturation: float#
Activation energy for nutrient uptake saturation constants [J Kelvin^-1].
- enzyme_production: dict[str, float]#
Details of the enzymes produced by the microbial group. The keys are the substrates for which enzymes are produced, and the values are the allocation to enzyme production. This allocation is expressed as a fraction of the (gross) cellular biomass growth.
- half_sat_labile_C_uptake: float#
Half saturation constant for uptake of labile carbon (LMWC) [kg{C} m^-3].
- half_sat_labile_p_uptake: float#
Half saturation constant for uptake of labile inorganic phosphorus [kg{P} m^-3].
- max_uptake_rate_labile_C: float#
Maximum rate at the reference temperature of labile carbon uptake [day^-1].
- max_uptake_rate_labile_p: float#
Maximum possible rate for labile inorganic phosphorus uptake [day^-1].
- name: REQUIRED_MICROBIAL_GROUPS#
The name of the microbial group functional type.
- reference_temperature: float#
The temperature that turnover and uptake rates were measured at [Celsius].
- reproductive_allocation: float#
Reproductive allocation as fraction of (gross) cellular biomass growth [unitless] Only fungi generate separate reproductive bodies, so this value must be set to zero for bacterial functional groups. Providing a non-zero value for a bacterial functional group will prevent the soil model from configuring.
- symbiote_nitrogen_uptake_fraction: float#
Fraction of nitrogen uptake that is supplied to symbiotic (plant) partners. [unitless]. This should only have a non-zero value for mycorrhizal fungi.
- symbiote_phosphorus_uptake_fraction: float#
Fraction of nitrogen uptake that is supplied to symbiotic (plant) partners. [unitless]. This should only have a non-zero value for mycorrhizal fungi.
- taxonomic_group: HIGHER_TAXONOMIC_GROUPS#
The high level taxonomic group that the microbial group belongs to.