RUFAS.routines.field.crop.water_dynamics module#
- class RUFAS.routines.field.crop.water_dynamics.WaterDynamics(crop_data: CropData | None = None, cumulative_evapotranspiration: float = 0.0)#
Bases:
object
Manages water dynamics related to crop growth, including water uptake, transpiration, and evaporation.
Parameters#
- crop_dataOptional[CropData], optional
An instance of CropData containing crop specifications and states relevant to water dynamics. If not provided, a default instance with generic parameters is used.
- cumulative_evapotranspirationfloat, default 0.0
Total water lost to evapotranspiration by the plant during the growing season (mm).
Attributes#
- dataCropData
Reference to the CropData instance used to access and modify water-related parameters and states for the crop.
- cumulative_evapotranspirationfloat
Total water lost to evapotranspiration by the plant during the growing season (mm).
- cycle_water(evaporation: float, transpiration: float, potential_evapotranspiration: float) None #
Executes the daily cycling of water between the plants, soil, and environment.
Parameters#
- evaporationfloat
Evaporation on a given day (mm).
- transpirationfloat
Transpiration on a given day (mm).
- potential_evapotranspirationfloat
Potential evapotranspiration on a given day (mm).
Notes#
This method updates cumulative sums that are used to keep the water deficiency factor updated.
- evaporate_from_canopy(potential_evapotranspiration: float) float #
Evaporates water from the canopy.
Parameters#
- potential_evapotranspirationfloat
Evapotranspirative demand on the field on the current day (mm)
Returns#
- float
Amount evaporated from canopy (mm)
References#
SWAT Theoretical documentation section 2:2.3.1
Notes#
This method evaporates water from the crop’s canopy until either 1) there is no more water in the canopy or 2) there is no more evapotranspirative demand. It then returns the amount of water that was evaporated from the canopy.
- set_maximum_transpiration(potential_evapotranspiration_adjusted: float) None #
Sets the maximum transpiration based on the adjusted potential evapotranspiration of this day.
Parameters#
- potential_evapotranspiration_adjustedfloat
Evapotranspirative demand remaining after evaporating water in the canopy (mm)
References#
SWAT Theoretical documentation section 2:2.3.2
- static _determine_maximum_transpiration(leaf_area_index: float, potential_evapotranspiration_adjusted: float) float #
Calculates the maximum transpiration for a given day.
Parameters#
- leaf_area_indexfloat
Leaf area index of the plant (unitless).
- potential_evapotranspiration_adjustedfloat
Potential evapotranspiration adjusted for evaporation of free water from the canopy (mm).
Returns#
- float
Maximum transpiration (mm).
References#
SWAT 2:2.3.5, 6
- static _determine_evapotranspiration(evaporation: float, transpiration: float) float #
Calculate evapotranspiration as the sum of evaporation and transpiration.
Parameters#
- evaporationfloat
Evaporation (mm).
- transpirationfloat
Transpiration (mm).
Returns#
- float
Total evapotranspiration (mm).
- static _determine_water_deficiency(cumulative_evapotranspiration: float, cumulative_potential_evapotranspiration: float) float #
Calculate water deficiency factor.
Parameters#
- cumulative_evapotranspirationfloat
Annual evapotranspiration (mm).
- cumulative_potential_evapotranspirationfloat
Maximum annual evapotranspiration (mm).
Returns#
- float
Water deficiency factor (unitless).
References#
SWAT 5:3.3.2