RUFAS.routines.field.soil.nitrogen_cycling.humus_mineralization module#
- class RUFAS.routines.field.soil.nitrogen_cycling.humus_mineralization.HumusMineralization(soil_data: SoilData | None = None, field_size: float | None = None)#
Bases:
object
Handles the mineralization operations for the active and stable organic nitrogen pools, as detailed in SWAT section 3:1.2.1.
Parameters#
- soil_dataSoilData, optional
The SoilData object used by this module for tracking the mineralization of organic nitrogen in the soil. If not provided, a new SoilData object will be instantiated.
- field_sizefloat, optional
The size of the field in hectares (ha), used to initialize a SoilData object if one is not directly provided.
Attributes#
- dataSoilData
Holds the SoilData object for tracking mineralization processes.
Notes#
The field size is used to initialize a SoilData object for this module to work with, if a pre-configured SoilData object is not provided.
- mineralize_organic_nitrogen() None #
Iterates through each layer in the soil profile, transfers nitrogen between active and stable organic nitrogen pools, and between the active organic and ammonium pools.
Notes#
Mineralization and decomposition can only occur if the soil temperature is greater than 0 degrees C (see first paragraph on page 188 of SWAT Theoretical documentation).
SWAT has the active organic nitrogen mineralize directly into the nitrate pool, this method instead mineralizes it into the ammonium pool. This is more realistic, and helps to make sure that ammonia volatilization is allowed to happen fully.
- static _determine_intra_organic_mineralization(active_organic_nitrogen: float, stable_organic_nitrogen: float) float #
Calculates the amount of nitrogen transferred between different organic pools.
Parameters#
- active_organic_nitrogenfloat
Active organic nitrogen content of this soil layer (kg / ha).
- stable_organic_nitrogenfloat
Stable organic nitrogen content of this soil layer (kg / ha).
Returns#
- float
The amount of nitrogen to transfer from the active to stable pool (kg / ha).
References#
SWAT Theoretical documentation eqn. 3:1.2.3
Notes#
When the amount determined to be transferred is negative, it indicates that nitrogen is being transferred from the stable pool to the active pool.
The SWAT documentation does not correctly specify this equation, there is a missing pair of parentheses. This change was identified in the course of evaluating the nitrogen cycling module, and verified by checking the results.
- static _determine_organic_to_nitrate_mineralization(active_organic_nitrogen: float, temperature_factor: float, water_factor: float, humus_active_organic_mineralization_coefficient: float) float #
Calculates phosphorus mineralized from the active inorganic pool that goes to the nitrate pool.
Parameters#
- active_organic_nitrogenfloat
Active organic nitrogen content of this soil layer (kg / ha).
- temperature_factorfloat
The nutrient cycling temperature factor of this soil layer (unitless).
- water_factorfloat
The nutrient cycling water factor of this soil layer (unitless).
- humus_active_organic_mineralization_coefficientfloat
The rate coefficient for mineralization of the humus active organic nutrients (unitless).
Returns#
- float
The amount of phosphorus mineralized from the active inorganic pool to be transferred to the nitrogen pool (kg / ha).
References#
SWAT Theoretical documentation eqn. 3:1.2.4