RUFAS.routines.animal.animal_typed_dicts module#

class RUFAS.routines.animal.animal_typed_dicts.HerdInfoTypedDict#

Bases: TypedDict

List of expected keys for herd information dictionary

calf_num: int#
heiferI_num: int#
heiferII_num: int#
heiferIII_num_springers: int#
cow_num: int#
replace_num: int#
herd_num: int#
breed: str#
class RUFAS.routines.animal.animal_typed_dicts.PenTypedDict#

Bases: TypedDict

List of expected keys for pen information dictionary

id: int#
animal_combination: str#
vertical_dist_to_milking_parlor: float#
horizontal_dist_to_milking_parlor: float#
number_of_stalls: float#
housing_type: str#
bedding_type: str#
pen_type: str#
manure_handling: str#
manure_separator: str#
manure_storage: str#
max_stocking_density: float#
ration: Dict[str, float | str]#
ration_per_animal: Dict[str, float | str]#
animals_in_pen: Dict[str, Any]#
class RUFAS.routines.animal.animal_typed_dicts.AnimalBaseInitArgsTypedDict#

Bases: TypedDict

List of expected keys for animal base initialization arguments dictionary id: int

The ID of the animal.

breed: str

The breed of the animal.

birth_date: str

The birthdate of the animal.

days_born: int

The age of the animal, days.

birth_weight: float

The birth weight of the animal, kg.

p_init: int

The initial phosphorus amount, kg.

body_weight_history: NotRequired[List]

The body weight history of the animal.

pen_history: NotRequired[List]

The pen history of the animal.

conceptus_weight: NotRequired[float]

The conceptus weight of the animal, kg.

calf_birth_weight: NotRequired[float]

The birth weight of the calf, kg.

net_merit: float

The net merit value that represents the genetic value of the animal, $USD.

id: int#
breed: str#
birth_date: str#
days_born: int#
birth_weight: float#
p_init: int#
body_weight_history: NotRequired[List]#
pen_history: NotRequired[List]#
conceptus_weight: NotRequired[float]#
calf_birth_weight: NotRequired[float]#
net_merit: NotRequired[float]#
class RUFAS.routines.animal.animal_typed_dicts.CalfValuesTypedDict#

Bases: TypedDict

List of expected keys for calf values dictionary

id: int#
breed: str#
birth_date: int#
days_born: int#
birth_weight: float#
p_init: int#
body_weight: float#
wean_weight: float#
mature_body_weight: float#
events: str#
class RUFAS.routines.animal.animal_typed_dicts.HeiferIValuesTypedDict#

Bases: TypedDict

List of expected keys for heifer I values dictionary

id: int#
breed: str#
birth_date: int#
days_born: int#
birth_weight: float#
body_weight: float#
wean_weight: float#
mature_body_weight: float#
events: str#
class RUFAS.routines.animal.animal_typed_dicts.HeiferIIValuesTypedDict#

Bases: TypedDict

id: int#
breed: str#
birth_date: int#
days_born: int#
birth_weight: float#
body_weight: float#
wean_weight: float#
mature_body_weight: float#
events: str#
repro_program: str#
tai_method_h: str#
synch_ed_method_h: str#
estrus_count: int#
estrus_day: int#
tai_program_start_day_h: int#
synch_ed_program_start_day_h: int#
synch_ed_estrus_day: int#
synch_ed_stop_day: int#
conception_rate: float#
ai_day: int#
abortion_day: int#
days_in_preg: int#
gestation_length: int#
p_gest_for_calf: float#
calf_birth_weight: float#
class RUFAS.routines.animal.animal_typed_dicts.AnimalConfigTypedDict#

Bases: TypedDict

Keeps track of all the attributes stored in the animal config object used in animal_manager.py.

This list of attributes should also match the attributes provided by the animal_management_animal.json. To make it easier to access the attributes, the animal config object in the AnimalManager class has been flattened out compared to the structure of the JSON object.

breeding_start_day_h: int#
heifer_repro_cull_time: int#
heifer_repro_method: str#
cow_repro_method: str#
semen_type: str#
days_in_preg_when_dry: int#
lactation_curve: str#
repro_cull_time: int#
do_not_breed_time: int#
cull_milk_production: int#
cow_times_milked_per_day: int#
male_calf_rate_sexed_semen: float#
male_calf_rate_conventional_semen: float#
keep_female_calf_rate: float#
wean_day: int#
wean_length: int#
milk_type: str#
estrus_detection_rate: float#
estrus_insemination_rate: float#
estrus_conception_rate: float#
heifer_user_defined_tai_cr: float#
cow_presynch_protocol: str#
cow_TAI_protocol: str#
ovsynch56_conception_rate: float#
ovsynch48_conception_rate: float#
cosynch72_conception_rate: float#
cosynch5d_conception_rate: float#
cow_user_defined_tai_cr: float#
cow_resynch_protocol: str#
user_define_tai_length: int#
tai_program_start_day: int#
voluntary_waiting_period: int#
conception_rate_decrease: float#
prefresh_day: int#
calving_interval: int#
use_input_calving_interval: bool#
birth_weight_avg_ho: float#
birth_weight_std_ho: float#
birth_weight_avg_je: float#
birth_weight_std_je: float#
target_heifer_preg_day: int#
mature_body_weight_avg: float#
mature_body_weight_std: float#
avg_estrus_cycle_heifer: float#
std_estrus_cycle_heifer: float#
avg_gestation_len: float#
std_gestation_len: float#
preg_check_day_1: int#
preg_loss_rate_1: float#
preg_check_day_2: int#
preg_loss_rate_2: float#
preg_check_day_3: int#
preg_loss_rate_3: float#
avg_estrus_cycle_return: float#
std_estrus_cycle_return: float#
avg_estrus_cycle_cow: float#
std_estrus_cycle_cow: float#
avg_estrus_cycle_after_pgf: float#
std_estrus_cycle_after_pgf: float#
wood_l: List[List[float]]#
wood_m: List[List[float]]#
wood_n: List[List[float]]#
wood_l_std: List[List[float]]#
wood_m_std: List[List[float]]#
wood_n_std: List[List[float]]#
parity_death_prob: List[float]#
death_day_prob: List[float]#
parity_cull_prob: List[float]#
mastitis_cull_prob: List[float]#
feet_leg_cull_prob: List[float]#
injury_cull_prob: List[float]#
disease_cull_prob: List[float]#
udder_cull_prob: List[float]#
unknown_cull_prob: List[float]#
cull_day_count: List[int]#
still_birth_rate: float#
class RUFAS.routines.animal.animal_typed_dicts.InitialHerdSummaryTypedDict#

Bases: TypedDict

num_calf: int#
num_heiferI: int#
num_heiferII: int#
num_heiferIII: int#
num_cow: int#
num_replacement: int#
avg_calf_age: float#
avg_heiferI_age: float#
avg_heiferII_age: float#
avg_heiferIII_age: float#
avg_cow_age: float#
avg_replacement_age: float#
cow_avg_days_in_preg: float#
cow_avg_days_in_milk: float#
cow_avg_parity: float#
cow_avg_CI: float#
class RUFAS.routines.animal.animal_typed_dicts.AvailableFeedsTypedDict#

Bases: TypedDict

feed_id: List[int]#
feed_key: List[str]#
price: List[float]#
TDN: List[float]#
EE: List[float]#
DE: List[float]#
is_fat: List[bool]#
calcium: List[float]#
phosphorus: List[float]#
NDF: List[float]#
feed_type: List[str]#
is_wetforage: List[bool]#
Kd: List[float]#
N_A: List[float]#
N_B: List[float]#
CP: List[float]#
dRUP: List[float]#
lactating_cow_minimum: List[float]#
lactating_cow_limit: List[float]#
dry_cow_minimum: List[float]#
dry_cow_limit: List[float]#
heiferIII_limit: List[float]#
heiferII_limit: List[float]#
heiferI_limit: List[float]#
calf_limit: List[float]#
class RUFAS.routines.animal.animal_typed_dicts.FeedInfoTypedDict#

Bases: TypedDict

feed_type: str#
is_fat: bool#
calcium: float#
EE: float#
DE: float#
DE_Base: float#
de_key: float#
phosphorus: float#
NDF: float#
class RUFAS.routines.animal.animal_typed_dicts.SoldAnimalTypedDict#

Bases: TypedDict

id: int#
animal_type: str#
sold_at_day: int#
body_weight: float#
cull_reason: str | None#
days_in_milk: int | str#
parity: int | str#