RUFAS.routines.feed_storage.hay module#
- RUFAS.routines.feed_storage.hay.FINAL_MOISTURE_PERCENTAGE = 12#
Number of days after a hayed crop is stored during which it experiences increased dry matter and moisture loss.
- RUFAS.routines.feed_storage.hay.INITIAL_LOSS_PERIOD = 30#
These loss coefficients determine how much additional dry matter is lost in specific types of hayed crops. References Feed Storage Scientific Documentation table 1.2.9.
- class RUFAS.routines.feed_storage.hay.Hay(capacity: float = inf)#
Bases:
Storage
Represents a Hay storage subclass of Storage.
Attributes#
- bale_sizefloat
Diameter of the hay bale in meters.
- acceptable_cropslist[CropCategory]
The list of acceptable crops for this storage type.
Methods#
- calculate_protein_loss():
Calculates the protein loss in the hay.
- __init__(capacity: float = inf) None #
- process_degradations(weather: Weather, time: RufasTime) None #
Processes the loss of moisture in hayed crops, and calls the base class’s implementation of process_degradations to process the loss of dry matter.
Parameters#
- weatherWeather
Weather instance containing all weather information for the simulation.
- timeRufasTime
RufasTime instance tracking the current time of the simulation.
- calculate_dry_matter_loss_to_gas(crop: HarvestedCrop, weather_conditions: list[CurrentDayConditions], time: RufasTime) float #
Calculates the base amount of gaseous dry matter lost in a hayed crop.
Parameters#
- cropHarvestedCrop
The hayed crop to process dry matter loss in.
- weather_conditionslist[CurrentDayConditions]
List of daily weather conditions over which dry matter loss will be calculated.
- timeRufasTime
RufasTime instance containing the time that loss should be processed up to.
Returns#
- float
Mass of gaseous dry matter lost since from hayed crop since the last time it losses were processed for it (kg).
References#
- _calculate_initial_dry_matter_loss_to_gas(crop: HarvestedCrop, time: RufasTime) float #
Calculates the amount of gaseous dry matter lost in a hayed crop in its first 30 days of storage.
Parameters#
- cropHarvestedCrop
The hayed crop to process dry matter loss in.
- timeRufasTime
RufasTime instance containing the time that loss should be processed up to.
Returns#
- float
Gaseous dry matter loss from the hayed crop that occurred in the first 30 days of storage (kg).
References#
[1] Feed Storage Scientific Documentation, equation 1.2.3
- _calculate_subsequent_dry_matter_loss_to_gas(crop: HarvestedCrop, time: RufasTime) float #
Calculates the amount of gaseous dry matter lost in a hayed crop after its first 30 days of storage.
Parameters#
- cropHarvestedCrop
The hayed crop to process dry matter loss in.
- timeRufasTime
RufasTime instance containing the time that loss should be processed up to.
Returns#
- float
Gaseous dry matter loss from the hayed crop that occurred after the first 30 days of storage (kg).
References#
[1] Feed Storage Scientific Documentation, equation 1.2.7
- _calculate_additional_dry_matter_loss(crop: HarvestedCrop, weather_conditions: list[CurrentDayConditions]) float #
Calculates additional dry matter loss in hayed crops.
Parameters#
- cropHarvestedCrop
The hayed crop to process dry matter loss in.
- weather_conditionslist[CurrentDayConditions]
List of daily weather conditions over which additional dry matter loss will be calculated.
Returns#
- float
Loss of dry matter that occurred over the specified period of weather conditions in kg.
Notes#
If the additional dry matter loss coefficient is 0, the equation this method implements will always result in zero, so 0 is returned immediately in this case to avoid unnecessary computation.
References#
[1] Feed Storage Scienitific Documentation, equation 1.2.8
- class RUFAS.routines.feed_storage.hay.ProtectedIndoors(capacity: float = inf)#
Bases:
Hay
Represents protected indoors hay storage, a subclass of Hay.
- __init__(capacity: float = inf) None #
- class RUFAS.routines.feed_storage.hay.ProtectedWrapped(capacity: float = inf)#
Bases:
Hay
Represents protected wrapped hay storage, a subclass of Hay.
- __init__(capacity: float = inf) None #