RUFAS.routines.field.crop.biomass_allocation module#
- class RUFAS.routines.field.crop.biomass_allocation.BiomassAllocation(crop_data: CropData | None = None, light_extinction: float = 0.65, usable_light: float | None = None, biomass_growth: float | None = None, previous_biomass: float | None = None)#
Bases:
object
This module primarily follows the Biomass Production section of the SWAT model (5:2.1.1) and some components from the Crop Yield section (5:2.4)
Parameters#
- crop_dataOptional[CropData]
The data object used for biomass calculation. Stores information about the plant’s growth and environmental factors.
- light_extinctionfloat, default 0.65
Light extinction coefficient (unitless).
- usable_lightOptional[float], default None
Solar radiation captured for photosynthesis (MJ/m^2).
- biomass_growthOptional[float], default None
Biomass accumulated during the day (kg/ha).
- previous_biomassOptional[float], default None
Biomass accumulated on the previous day (kg/ha).
Attributes#
- dataCropData
The data object used for biomass calculation. Stores information about the plant’s growth and environmental factors.
- light_extinctionfloat
Light extinction coefficient (unitless).
- usable_lightOptional[float]
Solar radiation captured for photosynthesis (MJ/m^2).
- biomass_growthOptional[float]
Biomass accumulated during the day (kg/ha).
- previous_biomassOptional[float]
Biomass accumulated on the previous day (kg/ha).
Methods#
- allocate_biomass(light: float) -> None
Allocate a plant’s accumulated biomass based on the day’s light exposure.
- photosynthesize(light: float) -> None
Simulate the photosynthesis process by converting light energy into biomass.
- partition_biomass() -> None
Partitions the accumulated biomass into above and below ground components.
- _intercept_radiation(radiation: float, extinction: float, lai: float) -> float
Calculates the amount of solar radiation intercepted for photosynthesis.
- _determine_max_accumulation(energy: float, efficiency: float) -> float
Determines the upper limit of biomass accumulation in a day.
- _determine_accumulated_biomass(growth_factor: float, max_growth: float) -> float
Calculates the actual biomass accumulated during a day.
- _determine_above_ground_biomass(root_frac: float, biomass: float) -> float
Calculates the above ground biomass of a plant.
- _determine_below_ground_biomass(root_frac: float, biomass: float) -> float
Calculates the below ground biomass of a plant.
- __init__(crop_data: CropData | None = None, light_extinction: float = 0.65, usable_light: float | None = None, biomass_growth: float | None = None, previous_biomass: float | None = None) None #
- allocate_biomass(light: float) None #
Allocate a plant’s accumulated biomass during the day’s growth.
Parameters#
- lightfloat
light radiation energy (MJ/m).
Returns#
None
- photosynthesize(light: float) None #
Convert the day’s incoming light energy into plant biomass.
Parameters#
- lightfloat
light radiation energy (MJ/m).
- partition_biomass() None #
Partition the accumulated biomass into above ground and below ground portions.
Returns#
None
- static _intercept_radiation(radiation: float, extinction: float, lai: float) float #
Calculate the amount of solar radiation intercepted for photosynthesis during the day.
Parameters#
- radiationfloat
Total solar radiation available for the day (MJ/m^2).
- extinctionfloat
The light extinction coefficient (unitless).
- laifloat
Current leaf area index of the crop (unitless).
Returns#
- float
Intercepted radiation energy (MJ/m^2).
- static _determine_max_accumulation(energy: float, efficiency: float) float #
Calculate the upper limit to biomass accumulation during a day.
Parameters#
- energyfloat
Intercepted energy from solar radiation for the day (MJ/m^2).
- efficiencyfloat
Crop-specific radiation use efficiency (dg/MJ).
Returns#
- float
The maximum biomass that can be accumulated in a day (kg/ha).
- static _determine_accumulated_biomass(growth_factor: float, max_growth: float) float #
Calculate the biomass accumulated during the day.
Parameters#
- growth_factorfloat
The growth factor for the plant, which is a value from 0 to 1 (unitless).
- max_growthfloat
The maximum amount of biomass the plant can accumulate in a day (kg/ha).
Returns#
- float
Biomass accumulated in a day (kg/ha).
- static _determine_above_ground_biomass(root_frac: float, biomass: float) float #
Calculate above ground plant biomass.
Parameters#
- root_fracfloat
Fraction of biomass stored in roots (unitless).
- biomassfloat
The current total biomass of the plant (kg/ha).
Returns#
- float
Above ground biomass (kg/ha).
References#
SWAT 5:2.4.4