RUFAS.routines.field.soil.phosphorus_cycling.phosphorus_cycling module#
- class RUFAS.routines.field.soil.phosphorus_cycling.phosphorus_cycling.PhosphorusCycling(soil_data: SoilData | None = None, field_size: float | None = None)#
Bases:
object
This module contains the composite class for phosphorus cycling, which contains and manages all the necessary aspects for managing phosphorus in and on top of a soil profile.
Parameters#
- soil_dataSoilData, optional
An instance of SoilData to be used for tracking phosphorus cycling. If not provided, a new instance will be created with the given field size.
- field_sizefloat, optional
The size of the field (ha).
Attributes#
- dataSoilData
The SoilData object that contains data and functionality related to soil and phosphorus properties.
- manureManure
Process component that manages manure on the field.
- fertilizerFertilizer
Process component that manages fertilizer on the field.
- mineralizationPhosphorusMineralization
Process component that controls the mineralization of phosphorus within the soil profile.
- soluble_phosphorusSolublePhosphorus
Process component that controls the movement of phosphorus between layers of soil.
- cycle_phosphorus(rainfall: float, runoff: float, field_size: float, mean_air_temperature: float) None #
This method calls all daily routines that manage phosphorus on the soil surface and in the soil profile.
Parameters#
- rainfallfloat
The amount of rainfall on the current day (mm).
- runofffloat
The amount of runoff from rainfall on the current day (mm).
- field_sizefloat
The size of the field (ha).
- mean_air_temperaturefloat
Mean air temperature on the current day (°C).