RUFAS.routines.field.crop.root_development module#
- class RUFAS.routines.field.crop.root_development.RootDevelopment(crop_data: CropData | None = None)#
Bases:
object
Manages the development of crop roots based on the “Root Development” section of the SWAT model (5.2.1.3).
Parameters#
- crop_dataCropData, optional
An instance of CropData containing specific crop parameters and states. If not provided, a default instance with generic crop parameters is created.
Attributes#
- dataCropData
Stores and provides access to crop-related data influencing root development, including parameters like root depth, growth rates, and environmental conditions affecting root expansion.
- develop_roots(time: RufasTime) None #
Main root development function that updates the root_fraction and root_depth attributes.
Parameters#
- timeRufasTime
The current time in the simulation.
Notes#
root_depth attributes are updated differently depending upon whether the plant is perennial.
- static _determine_root_fraction(heat_fraction: float) float #
Calculates root fraction as a function of plant maturity.
Parameters#
- heat_fractionfloat
The proportion of potential heat units accumulated to date; a proxy for maturity (unitless).
Returns#
- float
The fraction of a plant’s biomass comprised of roots, typically ranging from 0.4 to 0.2 as the plant matures (unitless).
References#
SWAT 5:2.1.21
- static _determine_root_depth(max_depth: float, heat_fraction: float) float #
Calculates a plant’s root depth on a given day.
Parameters#
- max_depthfloat
Maximum possible root depth in millimeters (mm).
- heat_fractionfloat
Fraction of potential heat units accumulated, indicating the stage of plant growth (unitless).
Returns#
- float
Root depth in millimeters for the given day (mm).
References#
SWAT 5:2.1.23, 24