RUFAS.routines.field.field.field_data module#
- class RUFAS.routines.field.field.field_data.FieldData(*, name: str | None = None, absolute_latitude: float = 43.5, longitude: float = -88.6, minimum_daylength: float = 6.33, dormancy_threshold_daylength: float | None = None, current_residue: float = 0.0, transpiration: float = 0.0, max_transpiration: float = 0.0, max_evapotranspiration: float = 0.0, seasonal_high_water_table: bool = False, field_size: float = 1.0, watering_amount_in_liters: float | None = None, watering_amount_in_mm: float = 0.0, watering_interval: int | None = None, days_into_watering_interval: int = 0, current_water_deficit: float = 0.0, watering_occurs: bool = True, manure_water: float = 0.0, annual_irrigation_water_use_total: float = 0, simulate_water_stress: bool = True, simulate_temp_stress: bool = True, simulate_nitrogen_stress: bool = True, simulate_phosphorus_stress: bool = True)#
Bases:
object
Data object to track the field-specific variables.
Attributes#
- namestr, optional
Name of this field for identification purposes.
- absolute_latitudefloat, default=43.5
The absolute latitude value (degrees above or below equator) where field is located (degrees).
- longitudefloat, default=-88.6
The longitude value of where the field is located (degrees).
- minimum_daylengthfloat, default=6.33
Shortest day of the year for this watershed (hours).
- dormancy_threshold_daylengthfloat, optional
Threshold daylength to initiate dormancy in a plant (hours).
- current_residuefloat, default=0.0
Total amount of residue on the current day (kg per hectare).
- transpirationfloat, default=0.0
Total amount of water lost to transpiration in the field on the current day (mm).
- max_transpirationfloat, default=0.0
Maximum possible amount of water that could be lost to transpiration in the field for the current day (mm).
- max_evapotranspirationfloat, default=0.0
Maximum possible amount of water that could be lost to evapotranspiration in the field for the current day (mm).
- seasonal_high_water_tablebool, default=False
Does the Hydrologic Response Unit containing this field have a seasonally high water table.
- field_sizefloat, default=1.0
Size of the field (ha).
- watering_amount_in_litersfloat, optional
User-supplied amount of water to be applied to the field over a specified interval of days (liters).
- watering_amount_in_mmfloat, default=0.0
Amount of water to be applied to the field over a specified interval of days (mm).
- watering_intervalint, optional
Number of days between waterings of the field.
- days_into_watering_intervalint, default=0.0
Number of days since the start of the current watering interval.
- current_water_deficitfloat, default=0.0
Amount of water that still needs to be applied to the field in the current interval (mm).
- watering_occursbool, default=True
Status indicating if this field is watered at all.
- manure_waterfloat, default=0.0
Amount of water to be added to the field from a manure application (mm).
- annual_irrigation_water_use_totalfloat, default=0.0
Cumulative total of water used for irrigation in a year (mm).
- simulate_water_stressbool, default True
Whether water stress should affect growth of all crops grown in the field.
- simulate_temp_stressbool, default True
Whether temperature stress should affect growth of all crops grown in the field.
- simulate_nitrogen_stressbool, default True
Whether nitrogen stress should affect growth of all crops grown in the field.
- simulate_phosphorus_stressbool, default True
Whether phosphorus stress should affect growth of all crops grown in the field.
Methods#
- perform_annual_field_reset()
Resets all cumulative totals that are calculated annually for the field.
- convert_liters_to_millimeters(liter_amount, field_size)
Converts an amount in liters to an amount in mm based on the area the liters are distributed over.
- name: str | None = None#
- absolute_latitude: float = 43.5#
- longitude: float = -88.6#
- minimum_daylength: float = 6.33#
- dormancy_threshold_daylength: float | None = None#
- current_residue: float = 0.0#
- transpiration: float = 0.0#
- max_transpiration: float = 0.0#
- max_evapotranspiration: float = 0.0#
- seasonal_high_water_table: bool = False#
- field_size: float = 1.0#
- watering_amount_in_liters: float | None = None#
- watering_amount_in_mm: float = 0.0#
- watering_interval: int | None = None#
- days_into_watering_interval: int = 0#
- current_water_deficit: float = 0.0#
- watering_occurs: bool = True#
- manure_water: float = 0.0#
- annual_irrigation_water_use_total: float = 0#
- simulate_water_stress: bool = True#
- simulate_temp_stress: bool = True#
- simulate_nitrogen_stress: bool = True#
- simulate_phosphorus_stress: bool = True#
- perform_annual_field_reset() None #
Resets all cumulative totals that are calculated annually for the field.
- static convert_liters_to_millimeters(liter_amount: float, field_size: float) float #
Converts an amount in liters to an amount in mm based on the area the liters are distributed over.
Parameters#
- liter_amountfloat
Volume to be converted (liters)
- field_sizefloat
Size of the field (ha)
Returns#
- float
Millimeter amount that is distributed evenly across the specified field area (mm)
- __init__(*, name: str | None = None, absolute_latitude: float = 43.5, longitude: float = -88.6, minimum_daylength: float = 6.33, dormancy_threshold_daylength: float | None = None, current_residue: float = 0.0, transpiration: float = 0.0, max_transpiration: float = 0.0, max_evapotranspiration: float = 0.0, seasonal_high_water_table: bool = False, field_size: float = 1.0, watering_amount_in_liters: float | None = None, watering_amount_in_mm: float = 0.0, watering_interval: int | None = None, days_into_watering_interval: int = 0, current_water_deficit: float = 0.0, watering_occurs: bool = True, manure_water: float = 0.0, annual_irrigation_water_use_total: float = 0, simulate_water_stress: bool = True, simulate_temp_stress: bool = True, simulate_nitrogen_stress: bool = True, simulate_phosphorus_stress: bool = True) None #