RUFAS.biophysical.animal.growth.growth module#

class RUFAS.biophysical.animal.growth.growth.Growth(daily_growth: float = 0.0, tissue_changed: float = 0.0, body_weight_history: list[BodyWeightHistory] = None)#

Bases: object

Handles updating the body weight growth related animal attributes.

Attributes#

daily_growth: float

The body weight of the animal (kg).

tissue_changed: float

Body weight change due to tissue mobilization (kg).

__init__(daily_growth: float = 0.0, tissue_changed: float = 0.0, body_weight_history: list[BodyWeightHistory] = None) None#
daily_growth: float = 0.0#
tissue_changed: float = 0.0#
body_weight_history: list[BodyWeightHistory] = []#
evaluate_body_weight_change(growth_inputs: GrowthInputs, time: RufasTime) GrowthOutputs#

Handles an animal’s daily growth updates.

Notes

Preg heifer growth - [AN.BWT.3] 1st & 2nd parity cow growth - [AN.BWT.4] Parity 3+ cow growth - [AN.BWT.5]

Parameters#

general_properties: GeneralProperties

Animal properties that are general or are used to determine many animal outcomes.

animal_growth_properties: GrowthProperties

Animal properties that are related to body weight growth.

reproduction_properties: ReproductionProperties

Animal properties that are related to animal reproduction.

timeRufasTime

RufasTime instance containing the current time of the simulation.

Returns#

tuple[AnimalGrowthProperties, ReproductionProperties, GeneralProperties]

The updated animal growth properties, reproduction properties, and the general properties of the animal after the growth-related routines for the current day.

calculate_calf_body_weight_change(growth_inputs: GrowthInputs) float#

Calculates the body weight change for calves.

Notes#

[AN.BWT.7]

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

float

The daily body weight growth for calves (kg).

calculate_non_pregnant_heifer_body_weight_change(growth_inputs: GrowthInputs) float#

Calculates the body weight change of heifers due to growth.

Notes#

[AN.BWT.8] [AN.BWT.9]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

float

The daily body weight growth for non-pregnant heifers (kg).

References#

Life cycle pseudocode @[A.1A.C.6] in pseudocode, which are from Fox et al. 1999 and NRC 2001.

Notes#

For animals over 55% of their mature body weight, the equation results in a negative return. Therefore, when the result is negative, the minimum BW change constant is returned instead.

calculate_pregnant_heifer_body_weight_change(growth_inputs: GrowthInputs) tuple[float, float]#

Calculates the body weight change for pregnant heifers.

Notes#

[AN.BWT.3] [AN.BWT.9]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

tuple[float, float]

The daily body weight growth for pregnant heifers (kg), and the updated conceptus weight (kg).

calculate_cow_body_weight_change(growth_inputs: GrowthInputs) tuple[float, float, float]#

Calculates the body weight change for cows.

Notes#

[AN.BWT.4] [AN.BWT.5]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

tuple[float, float, float]

The daily body weight growth for pregnant heifers (kg), the updated conceptus weight (kg), and the updated tissue changed (kg).

_calculate_pregnant_heifer_conceptus_growth(growth_inputs: GrowthInputs) tuple[float, float]#

Calculates the conceptus growth for pregnant heifers.

Notes#

Total conceptus weight - [AN.BWT.14] conceptus parameter - [AN.BWT.15] Conceptus growth - [AN.BWT.16] Conceptus weight change at parturition - [AN.BWT.17]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

tuple[float, float]

The conceptus growth for pregnant heifers (kg), and the updated conceptus weight (kg).

_calculate_cow_conceptus_growth(growth_inputs: GrowthInputs) tuple[float, float, float]#

Calculates the conceptus growth for cows.

Notes#

Total conceptus weight - [AN.BWT.14] conceptus parameter - [AN.BWT.15] Conceptus growth - [AN.BWT.16] Conceptus weight change at parturition - [AN.BWT.17]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

tuple[float, float, float]

The conceptus growth for pregnant heifers (kg), the updated conceptus weight (kg), and the updated tissue changed (kg).

_calculate_pregnant_heifer_target_daily_growth(growth_inputs: GrowthInputs) float#

Calculates the target daily growth for pregnant heifers.

Notes#

[AN.BWT.9]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

float

The daily growth rate for pregnant heifers (kg).

_calculate_cow_target_daily_growth(growth_inputs: GrowthInputs) float#

Calculates the target daily growth for cows.

Notes#

[AN.BWT.10] [AN.BWT.11] [AN.BWT.12] [AN.BWT.13]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

float

The daily growth rate for cows (kg).

_calculate_cow_body_weight_tissue_change(growth_inputs: GrowthInputs) tuple[float, float]#

Calculates the body weight tissue growth for cows.

Notes#

[AN.BWT.18] [AN.BWT.19] [AN.BWT.20]

Parameters#

growth_inputs: GrowthInputs

Animal properties related to body weight growth.

Returns#

tuple[float, float]

The body weight tissue growth for cows (kg), and the updated tissue changed (kg).