RUFAS.routines.field.crop.dormancy module#
- class RUFAS.routines.field.crop.dormancy.Dormancy(crop_data: CropData | None = None, minimum_lai_during_dormancy: float | None = 0.75)#
Bases:
object
A class for managing crop dormancy operations.
Parameters#
- crop_dataOptional[CropData], optional
A CropData object containing specifications and attributes for a crop. If not provided, a default CropData object is used.
- minimum_lai_during_dormancyOptional[float], default 0.75
Minimum leaf area index for plants (perennials and trees only).
Attributes#
- dataCropData
A reference to the crop_data object on which dormancy operations will be conducted.
- minimum_lai_during_dormancyOptional[float]
Minimum leaf area index for plants (perennials and trees only).
Notes#
This method is used if the crop remains uncut after reaching maturity. It reduces the crop’s biomass
based on species-specific water content, simulating the natural dry-down process. - SWAT Appendix-A section A.1.12 says that the default 0.75 is from pre-2009 versions of SWAT and users are now allowed to modify this value. But it does not provide values for any of the listed plant species and gives no information about how this value can be measured or calculated.
- __init__(crop_data: CropData | None = None, minimum_lai_during_dormancy: float | None = 0.75) None #
- enter_dormancy(soil_data: SoilData) None #
Performs the transition from active to dormant in a crop.
Parameters#
- soil_dataSoilData
SoilData instance of the soil profile that this crop is growing in.
Methods#
- enter_dormancy(soil_data: SoilData) -> None
Performs the transition of a crop from active to dormant. Warm Annuals and Warm Annual Legumes do not experience dormancy. Only Trees and Perennials experience biomass loss when entering dormancy.
- find_threshold_daylength(minimum_daylength: float, dormancy_threshold: float) -> float
Calculates the threshold daylength for dormancy based on minimum daylength and dormancy threshold.
- find_dormancy_threshold(abs_latitude: float) -> float
Calculates the dormancy threshold based on the absolute latitude value.
Notes#
When method is called, the crop’s status is set to dormant, biomass is removed from plant and converted to residue, and the leaf area index is reset (if the current leaf area index is greater than the minimum leaf area index during dormancy for this crop).
Note that Warm Annuals and Warn Annual Legumes do not experience dormancy, and only Trees and Perennials experience biomass loss when entering dormancy.
References#
SWAT Theoretical documentation section 5:1.2
- static find_threshold_daylength(minimum_daylength: float, dormancy_threshold: float) float #
Calculates the threshold daylength for dormancy.
Parameters#
- minimum_daylengthfloat
The minimum daylength for the watershed during the year (hours).
- dormancy_thresholdfloat
The dormancy threshold for this field (hours).
References#
SWAT Theoretical documentation 5:1.2.1
Returns#
- float
Threshold daylength for dormancy (hours)
- static find_dormancy_threshold(abs_latitude: float) float #
Calculates the dormancy threshold based on the absolute latitude.
Parameters#
- abs_latitudefloat
The absolute latitude value (degrees above or below the equator).
References#
SWAT Theoretical documentation equations 5:1.2.2 - 5:1.2.4
Returns#
- float
The dormancy threshold for this latitude (hours).