RUFAS.routines.field.manager.tillage_schedule module#
- class RUFAS.routines.field.manager.tillage_schedule.TillageSchedule(name: str, years: List[int], days: List[int], tillage_depths: List[float], incorporation_fractions: List[float], mixing_fractions: List[float], implements: List[str], pattern_skip: int = 0, pattern_repeat: int = 0)#
Bases:
Schedule
A Schedule child class that defines when and how a field will be tilled.
Parameters#
- namestr
Name of this tillage schedule.
- yearsList[int]
Year(s) in which tillage will happen.
- daysList[int]
Julian day(s) on which tillage will happen.
- tillage_depthsList[float]
The lowest depth(s) the tilling implement reaches (mm).
- incorporation_fractionsList[float]
Fraction(s) of soil surface pool incorporated into the soil profile (unitless).
- mixing_fractionsList[float]
Fraction(s) of pool in each layer mixed and redistributed back into the soil profile (unitless).
- implementsList[str]
Implements that are used to execute the tillage applications in this schedule.
- pattern_skipint, default=0
Number of years to skip between tillage schedule repetitions.
- pattern_repeatint, default=0
Number of times the specified tillage schedule should be repeated.
Attributes#
- tillage_depthsList[float]
Elongated list of tillage depths to ensure a depth value for each application year, representing how deep the tilling implement will go.
- incorporation_fractionsList[float]
Elongated list of incorporation fractions to ensure an incorporation value for each application year, indicating how much of the surface soil is mixed into the profile.
- mixing_fractionsList[float]
Elongated list of mixing fractions to ensure a mixing value for each application year, reflecting the degree of soil mixing during tillage.
- implementsList[TillageImplement]
Elongated list of the tillage implements that will be used to execute the scheduled tillage operations.
- __init__(name: str, years: List[int], days: List[int], tillage_depths: List[float], incorporation_fractions: List[float], mixing_fractions: List[float], implements: List[str], pattern_skip: int = 0, pattern_repeat: int = 0)#
- _validate_tillage_parameters() None #
Checks all fields that define the tillage schedule and raises errors if any are invalid.
Raises#
- ValueError
If not all tilling years are valid. If not all tilling days are valid. If not all tillage depths are valid. If not all incorporation fractions are valid. If not all mixing fractions are valid. If number of years, days, depths, and incorporation and mixing fractions are not equal.
- generate_tillage_events() List[TillageEvent] #
Generates a list of all tillage events that will happen over the full course of this TillageSchedule.
Returns#
- List[TillageEvent]
List of all tillage events that will happen over the course of this TillageSchedule.