RUFAS.biophysical.animal.digestive_system.manure_excretion_calculator module#

class RUFAS.biophysical.animal.digestive_system.manure_excretion_calculator.ManureExcretionCalculator#

Bases: object

static calculate_calf_manure(body_weight: float, fecal_phosphorus: float, urine_phosphorus_required: float, nutrient_amounts: NutritionSupply) Tuple[float, AnimalManureExcretions]#

Calculates the manure excretion values for a calf with information from the ration formulation.

Notes#

Manure excretion: [AN.EXC.1] Urine excretion: [AN.EXC.2] Manure total solids excretion: [AN.EXC.3] Total volatile solids: [AN.EXC.4] Degradable volatile solids excretion: [AN.EXC.5] Non-degradable volatile solids excretion: [AN.EXC.6] Manure nitrogen excretion: [AN.EXC.7] Urine N excretion: [AN.EXC.8] Manure total ammoniacal nitrogen: [AN.EXC.9]

Parameters#

body_weightfloat

Body weight of the current animal, kg.

fecal_phosphorusfloat

Amount of fecal phosphorus excreted by the current animal, g.

urine_phosphorus_requiredfloat

Amount of phosphorus required for urine production, g.

nutrient_amountsNutritionSupply

Amounts of nutrients in pen ration, calculated per animal, see Notes section for units.

Returns#

float

Total amount of phosphorus excreted by the given animal, g.

AnimalManureExcretions
A dictionary that contains the manure excretion values as specified

in the AnimalManureExcretions class definition.

References#

(ASABE, 2003; Nennich et al., 2005)

static calculate_heifer_manure(body_weight: float, fecal_phosphorus: float, urine_phosphorus_required: float, nutrient_amount: NutritionSupply) Tuple[float, AnimalManureExcretions]#

Calculates the manure excretion values for a growing and close-up heifer with information from the ration formulation.

Notes#

Urine excretion: [AN.EXC.10] Total manure excretion: [AN.EXC.11] Total solids excretion: [AN.EXC.12] Total volatile solids excretion: [AN.EXC.13] Degradable volatile solids excretion: [AN.EXC.5] Non-degradable volatile solids excretion: [AN.EXC.6] Manure N excretion: [AN.EXC.14] Fecal N excretion: [AN.EXC.15] Urine N excretion: [AN.EXC.16] Manure total ammoniacal nitrogen: [AN.EXC.9] Manure K excretion: [AN.EXC.17]

Parameters#

body_weightfloat

Body weight of the current animal, kg.

fecal_phosphorusfloat

Amount of fecal phosphorus excreted by the current animal, g.

urine_phosphorus_requiredfloat

Amount of phosphorus required for urine production, g.

nutrient_amountNutritionSupply

Amounts of nutrients in pen ration, calculated per animal, see Notes section for units.

Returns#

float

Total amount of phosphorus excreted by the given animal, g.

AnimalManureExcretions
A dictionary that contains the manure excretion values as specified

in the AnimalManureExcretions class definition.

Notes#

The dry matter (“dm”) unit is kg per animal. Crude protein (“CP”), ADF, NDF, lignin, ash, phosphorus, potassium, and nitrogen (“N”) are all percentages of dry matter.

References#

(ASABE, 2005; Nennich et al., 2005; Reed et al., 2015; Johnson et al., 2016; NASEM, 2021)

static calculate_cow_manure(is_lactating: bool, body_weight: float, days_in_milk: int, milk_protein: float, daily_milk_production: float, fecal_phosphorus: float, urine_phosphorus_required: float, nutrient_amounts: NutritionSupply) Tuple[float, AnimalManureExcretions]#

Calculates the manure excretion values for a cow with information from the ration formulation.

Notes#

The dry matter (“dm”) unit is kg per animal. Crude protein (“CP”), ADF, NDF, lignin, ash, phosphorus, potassium, and nitrogen (“N”) are all percentages of dry matter.

Parameters#

is_lactating: bool

Indicates cow’s lactating status.

body_weight: float

Body weight of the current animal (kg).

days_in_milk: int

Days in milk.

milk_protein: float

Milk protein (from animal input), % of milk.

daily_milk_production: float

Daily milk production of the current cow (kg).

fecal_phosphorus: float

Amount of fecal phosphorus excreted by the current cow (g).

urine_phosphorus_required: float

Amount of phosphorus required for urine production (g).

nutrient_amounts: NutritionSupply

Amounts of nutrients in pen ration, calculated per animal, see Notes section for units.

Returns#

float

Total amount of phosphorus excreted by the given animal (g).

AnimalManureExcretions
A dictionary that contains the manure excretion values as specified

in the AnimalManureExcretions class definition.

static _calculate_lactating_cow_manure(days_in_milk: int, milk_protein: float, daily_milk_production: float, fecal_phosphorus: float, urine_phosphorus_required: float, nutrient_amounts: NutritionSupply) Tuple[float, AnimalManureExcretions]#

Calculates the manure excretion values for a lactating cow with information from the ration formulation.

Notes#

Fecal water excretion: [AN.EXC.18] Total solids/Fecal dry matter: [AN.EXC.19] Urine excretion: [AN.EXC.20] Total manure excretion: [AN.EXC.21] Organic matter intake: [AN.EXC.22] Degradable volatile solids: [AN.EXC.23] Total volatile solids excretion: [AN.EXC.24] Non-degradable volatile solids excretion: [AN.EXC.6] Manure N excretion: [AN.EXC.25] Fecal nitrogen: [AN.EXC.26] Urinary nitrogen: [AN.EXC.16] Manure total ammoniacal nitrogen: [AN.EXC.9] Manure K excretion: [AN.EXC.27]

The dry matter (“dm”) unit is kg per animal. Crude protein (“CP”), ADF, NDF, lignin, ash, phosphorus, potassium, and nitrogen (“N”) are all percentages of dry matter.

Parameters#

days_in_milkint

Days in milk, days.

milk_proteinfloat

Milk protein (from animal input), % of milk.

daily_milk_productionfloat

Daily milk production of the current cow, kg.

fecal_phosphorusfloat

Amount of fecal phosphorus excreted by the current cow, g.

urine_phosphorus_requiredfloat

Amount of phosphorus required for urine production, g.

nutrient_amountsDict[str, float]

Amounts of nutrients in pen ration, calculated per animal, see Notes section for units.

nutrient_concentrationsDict[str, float]

Concentrations of nutrients in pen ration, calculated per animal, percentages.

Returns#

float

Total amount of phosphorus excreted by the given animal, g.

AnimalManureExcretions
A dictionary that contains the manure excretion values as specified

in the AnimalManureExcretions class definition.

References#

(Nennich et al., 2005; Appuhamy et al., 2014; Reed et al., 2015; Appuhamy et al., 2018)

static _calculate_dry_cow_manure(body_weight: float, daily_milk_production: float, fecal_phosphorus: float, urine_phosphorus_required: float, nutrient_amounts: NutritionSupply) Tuple[float, AnimalManureExcretions]#

Calculates the manure excretion values for a non-lactating cow with information from the ration formulation.

Notes#

Urine excretion: [AN.EXC.28] Total manure excretion: [AN.EXC.29] Total solids excretion: [AN.EXC.12] Organic matter intake: [AN.EXC.22] Degradable volatile solids: [AN.EXC.23] Total volatile solids excretion: [AN.EXC.24] Non-degradable volatile solids excretion: [AN.EXC.6] Manure N excretion: [AN.EXC.14] Fecal nitrogen: [AN.EXC.15] Urinary nitrogen: [AN.EXC.16] Manure total ammoniacal nitrogen: [AN.EXC.9] Manure K excretion: [AN.EXC.17]

The dry matter (“dm”) unit is kg per animal. Crude protein (“CP”), ADF, NDF, lignin, ash, phosphorus, potassium, and nitrogen (“N”) are all percentages of dry matter.

Parameters#

body_weightfloat

Body weight of the current animal, kg.

daily_milk_productionfloat

Daily milk production of the current animal, kg.

fecal_phosphorusfloat

Amount of fecal phosphorus excreted by the current animal, g.

urine_phosphorus_requiredfloat

Amount of phosphorus required for urine production, g.

nutrient_amounts: Dict[str, float]

Amounts of nutrients in pen ration, calculated per animal, see Notes section for units.

nutrient_concentrations: Dict[str, float]

Concentrations of nutrients in pen ration, calculated per animal, percentages.

Returns#

float

Total amount of phosphorus excreted by the given animal, g.

AnimalManureExcretions
A dictionary that contains the manure excretion values as specified

in the AnimalManureExcretions class definition.

References#

(Wilkerson et al., 1997; Nennich et al., 2005; Appuhamy et al., 2014; Reed et al., 2015; Johnson et al., 2016; Appuhamy et al., 2018; NASEM, 2021)

static _calculate_phosphorus_excretion_values(daily_milk_production: float, total_manure_excreted: float, fecal_phosphorus: float, urine_phosphorus_required: float) Tuple[float, float, float, float, float]#

Calculates a set of phosphorus excretion values produced by a given animal.

Notes#

Total phosphorus fraction of feces: [AN.EXC.30] Inorganic phosphorus fraction: [AN.EXC.31] Organic phosphorus fraction: [AN.EXC.32] Milk phosphorus: [AN.EXC.33] Manure P excreted by a cow: [AN.EXC.34] Total P excreted by a cow: [AN.EXC.35]

Parameters#

daily_milk_productionfloat

Amount of daily milk produced by the animal, kg. This parameter should be set to 0 if this function is called for a non-cow animal.

total_manure_excretedfloat

Amount of manure excreted by the animal, kg.

fecal_phosphorusfloat

Amount of fecal phosphorus excreted by the animal, g.

urine_phosphorus_requiredfloat

Amount of phosphorus required for urine production, g.

Returns#

float

Total amount of phosphorus excreted by the animal, g.

float

Fraction of extractable inorganic phosphorus, unitless.

float

Fraction of water extractable organic phosphorus, unitless.

float

Amount of manure phosphorus excreted, g.

float

Fraction of phosphorus in the manure, unitless.

References#

(NRC, 2001; Vadas et al., 2007)