Grow ruminants
CLEM.Activities.RuminantActivityGrow
Original version of ruminant growth (based on IAT and NABSA)
Calculations for the intake, energy balance, growth and mortality of ruminants as provided with the initial release of CLEM and based on the equations of the Standing Committee on Agriculture Feeding Standards of Ruminants (mainly Freer et al., 2007) as used in the precursor models (IAT and NABSA).
The new Grow ruminants (protein and fat) sub-model provides a significant improvement to the animal production capabilities of CLEM.

This activity provides the ruminant growth model and is used to determine the growth of all individuals in the ruminant herd based on the feed supplied through grazing pasture (or specific sown forage) and feeding from the Animal food store. The following diagram provides a conceptual description of the various components involved in simulating animal intake and growth. These aspects are described in the following sections with the grazing limiters and pasture intake described in Graze ruminants.

A critical requirement for integrating a ruminant growth model into the larger CLEM framework was that it be both simple and sufficiently precise to predict livestock production outcomes under local field conditions. While many models exist for predicting ruminant live-weight gain, most require information on forage passage rates through the rumen or were developed for European cattle breeds. The former data is not readily available for many of the feedstuffs commonly used by smallholders and the latter models could not be confidently applied to many tropical breeds which are small in comparison to European breeds. For example, Bali cattle are well adapted to heat, can work up to 5 hours per day without apparent physical distress and survive well on poor forages. Moreover, Bali cattle have higher fertility rates than many other cattle breeds and buffalo when raised under similar conditions, but have poorer milk production and suffer higher calf mortality rates. Nevertheless, the key determinant of animal growth, reproduction and mortality rates is animal nutrition. Forage quality, measured by digestibility and protein content, commonly limits production, but smallholders have an array of different feed sources of varying quality available at intermittent intervals; e.g. native and introduced grasses and legumes, field crop residues, plantation residues (leaf, stem, fruit), tree leaves etc.
The ruminant model combines published data and field data relating to animal live-weight, live-weight gain, milk production, age at first calf and calving interval, as well as the quality, composition and quantity of the various sources of feed. The model is largely based on published energy functions with coefficients adjusted for various breeds, with additional intake restrictions based on estimated crude protein (CP) requirements. Energy coefficients for different breeds are included, currently, calving and mortality rates are primarily based on published data for Bos taurus and Bos indicus breeds. The model is sufficiently robust to capture responses to both grazing and ‘cut and carry’ systems, cope with distinct wet and dry season conditions, and the feeding of crop residues.
Data input is restricted to the quantity and quality of available forage, with annual pasture, sown forage and crop residue biomass, nitrogen content and date of harvest sourced from the database created from APSIM output (or other crop model, published data, or research results).
Intake is determined from the age and current or previous highest weight of the animal. This growth rate is adjusted for the effects of available forage (for grazing), forage quality, and whether the animal is lactating. Protein requirements are calculated on the basis of the adjusted intake, which, if insufficient, is reduced linearly in relation to crude protein required and crude protein supply. The digestibility and calculated intake determines the digestible and metabolisable energy intake which is partitioned into energy for maintenance and for growth. Calving interval, age at first calf and calf mortality rates are related to the condition of cows, based on published survey data and field observations for the particular breeds.
For more information and equations see the Details section below.

The following parameters are used to define this activity.
Most of the parameters used to calculate growth and mortality are associated with the ruminant breed and can be accessed in the in Ruminant type component.
These parameters are divided into General and Advanced groupings. It is recommended that the advanced parameters are only altered by experienced uses and should be modified with caution.

The gross energy content of forage (MJ per kg dry matter) for fodder. This is a standard parameter (18.4) and should not need to be changed.

Methane produced by ruminants while consuming food will be calculated and reported to a Greenhouse gas type store for methane. This entry is a drop-down list of available Greenhouse gas type resources of the Greenhouse gases available for this simulation.
Optional This process will be ignored if "Use store named Methane if present" is selected and that store is not present in the simulation.
This property also lets you use the default Greenhouse gas type store named Methane if present when "Use store named Methane if present" is selected (default) or the entry is blank.

Ruminant growth requires either feeding or grazing of ruminants.

A Ruminant herd with at least one Ruminant type. The ruminant herd must have an initial population defined using Ruminant initial cohorts

A Ruminant parameters grow within the Ruminant Parameters holder of the Ruminant type provides all settings for this activity.

The following components will add additional functionality to this activity

This activity will produce methane emissions that will be provided to a Greenhouse gas type in the Greenhouse gases store either specified above or by assuming a store named Methane if provided.

The following items provide details of the calculations used in ruminant growth with the majority of parameters associated with the ruminant breed and provided in the Ruminant type resource.


Animals are assumed to have a normal skeletal growth pattern. This determines the weight an animal should be at a given age, if conditions are reasonable. A growth curve of the form presented in the Feeding Standards book (NRDR, 2007) was used:
Normalised weight = StandardReferenceWeight - ((1 - PropSRWBirth) * StandardReferenceWeight) * Math.Exp(-(AgeGrowthRateCoefficient * (Age * 30.4)) / (Math.Pow(StandardReferenceWeight, SRWGrowthScalar)))
where PropSRWBirth is the birth weight as a proportion of Standard Reference Weight (SRW), and AgeGrowthRateCoefficient and SRWGrowthScalar are growth coefficients. This function is used throughout the model to determine the expected or ‘normal’ weight of an animal at any particular age (in days). The usual coefficients given in NRDR (2007) are, PropSRWBirth = .07, AgeGrowthRateCoefficient = .0115 and SRWGrowthScalar = 0.32. These values were adjusted for Bali cattle to 0.0472, 0.0126 and 0.32 respectively.

The Standard Reference Weight (SRW) for a particular breed is the weight of a mature female in good condition. Example values are: Bos taurus 600 kg, large B. indicus 550 kg, small B. indicus 270-350 kg, Bali cattle 340 kg, goats and sheep 50-60 kg. A multiplier is provided to determine the maximum bull size.

Potential intake is the amount of food an individual can consume in a time-step and is based on the live weight at the time of intake, determined based on the normalised animal weight (coefficient) and the highest weight recorded for the individual. The metabolic live weight (live weight raised to the power of 0.75) is used for sucklings and weaners.

Sucklings are assumed to be consuming milk with potential milk intake determines as a function of live weight
PotentialIntakemilk = MilkIntakeintercept + MilkIntakecoefficient * Weightlive
Additional discounted feed can be provided if actual milk intake (minimum of milk provided from mother and milk intake potential) is below a specified amount (Live weight * MilkLWTFodderSubstitutionProportion) with the potential intake of other feed being limited to
PotentialIntake = Weightlive* JuvenileIntakemax - PotentialIntakemilk * PropDiscountDueToMilk

Potential intake of any weaned individual (up to 12 months of age) is calculated as
PotentialIntake = IntakeCoefficient * StandardReferenceWeight * (LiveWeightForIntake ^ 0.75 / StandardReferenceWeight ^ 0.75) * (IntakeIntercept - (LiveWeightForIntake ^ 0.75 / StandardReferenceWeight ^ 0.75))

The Potential intake of any weaned individual greater than 12 months is calculated as
PotentialIntake = IntakeCoefficient * LiveWeightForIntake * (IntakeIntercept - liveWeightForIntake / StandardReferenceWeight)
Where LiveWeightForIntake is the highest weight this animal has achieved, and IntakeCoefficient and IntakeIntercept are coefficients provided in the Advanced/Diet parameters in Ruminant type. Example values for IntakeCoefficient are 1.7 for cattle and 1.9 for sheep and goats, and for IntakeIntercept 0.024 for cattle and 0.033 for sheep and goats. These values can be changed, but this should be done with caution.
The potential intake will be reduced accounting for the effects of available pasture, forage and tropical forage quality, and competition (see Graze ruminants). Changes in forage intake associated with supplements are affected by the digestibility and protein concentration of the forage and the supplement, the type of forage, the type of supplement and the intake of supplement.
The potential intake will be increased by a lactation multiplier for any lactating females as a function of the day of lactation (dol) (Figure 6 ADD FIGURE).
LactationFactor = 1 + LactatingPotentialModifierConstantA * (dol / LactatingPotentialModifierConstantB) ^ LactatingPotentialModifierConstantC * Exp(LactatingPotentialModifierConstantC * (1 - (dol / LactatingPotentialModifierConstantB)))
PotentialIntake = PotentialIntake * LactationFactor

Milk production (L/day) is also calculated in this activity as it is critical to calculating feed intake of suckling individuals and female energy demands
MilkProductionpotential = MilkPeakYield * Weightlive / NormalisedAnimalWeight * (Math.Pow(((Milklactation days + MilkOffsetDay) / MilkPeakDay), Milkcurve)) * Math.Exp(Milkcurve * (1 - (Milklactation days+ MilkOffsetDay) / MilkPeakDay))
where the milk curve value is determined from supplied values based upon whether the female is being suckled or milked.
This value is capped at zero and uses an adjusted energy balance that considers the energy balance in the previous timestep in calculating milk production.
MilkProductiondaily = MilkProductionpotential * (0.5936 + 0.322 * EnergyBalanceadjusted / energyMilk)
with the daily energy required to produce milk calculated by
Energymilk = Milkproduction * 3.2 / kl

Protein also affects the animal intake. The model uses the ratio of crude protein (CP) required by the ruminant to CP supplied by the feed consumed to reduce intake, equivalent to reduced digestion, before calculating energy provided from the intake.
The crude protein (CP) requirements of a ruminant (Proteincoefficient, as grams CP per kilogram dry matter) are converted to CP required per kg feed consumed by multiplying by the proportion digestible (Dry Matter Digestibility as proportion) of the monthly intake.
CPrequired = ProteinCoefficient * (DMDdiet/ 100)
The supply of protein from the diet is converted to grams CP supplied per kg of feed accounting for protein degradability.
CPsupply = (PercentNitrogenIntake*10*6.25) * ProteinDegradability
where PercentNitrogenIntake (as percentage, 0-100) is converted to Total N (g/kg feed) by divide by 100 to convert to proportion N, and multiply by 1000 to give grams, or multiply by 10. This total N per kg feed is multiplied by the N to CP factor of 6.25. A minimum supplied crude protein is set as 0.001 to calculate an intake adjustment factor when supply is less than required
Adjustment factor = (CPrequired+CPsupply) / (2*CPrequired)
This adjustment factor ranges from 0.5 when there is no crude protein supplied, to 1 when supply equals required. This factor is used to reduce the recorded intake as a function of crude protein supply to demand ratio, thus .
Intake = Intake * Adjustment factor
The ‘protein coefficient’ is generally set at 130 g/kg of digestible dry matter, although there are indication that Bali cattle require only 110 or less (D. Poppi, pers. comm.). The work of Schlecht et al. (1999a, b) suggests that west African zebu breeds may be similar to Bali cattle. The values are adjusted assuming the protein is 90% degradable. The protein concentration is the protein content of the available feed supply, taking into account any supplements fed, and the proportion of the ruminant diet taken from each of the pasture pools. The protein coefficient is set in the ‘Ruminant_coefficients’ section of the Ruminant type parameters.

Functions for determining energy intake, energy use efficiency for maintenance, growth and lactation, energy requirements for maintenance etc, have been taken from NRDR (2007).
Gross energy (EG) content of feed is set at 18.4 MJ/kg DM, and the proportion of digestible energy that is metabolisable (EM) is set at 0.81. The digestible energy is determined by multiplying the gross energy by the dry matter digestibility (DMD) of the diet (DMDdiet reported as proportion not percent).
Efficiency of use of energy for maintenance (km), growth (kg) and lactation (kl) are:
km = 0.37 * EM/EG + 0.538
kg = 1.16 * EM/EG – 0.308
kl = 0.35* EM/EG + 0.42
where the values for the coefficients and intercepts for Kme, km, kg and kl are set in the parameters of Ruminant type and start with EMaintenace, EGrowth and ELactation for km, kg and kl respectively. Changing these values should be performed with caution. The first value in each equation above is the EfficiencyCoefficient and the last value is the EfficiencyIntercept (including the negative sign if appropriate). These parameters are provided in the provided in the Ruminant type parameters . (i.e. EGrowthEfficiencyCoefficient is the coefficient used in the equation for growth, kg) .
Energy required for maintenance (Emaintenance) is given by:
Emaintenance = Kme * Sme * (0.34 * Weightlive^ 0.75 / km) * Exp(-0.000082 * age) + (0.09 * EM-intake)
where Weightlive is the live-weight (kg), age is the age of the animal in days, Kme is a breed factor, Sme is a gender factor, and EMintake is the total intake of metabolisable energy (MJ).
The value for ‘Sme’ is set to 1 for females (and castrated males) and 1.15 for males.
Energy required for milk production (Emilk) is given by:
Emilk = MilkProduction * 3.2 / kl
The feeding value of the balance of energy (Ebal), which is the metabolisable energy intake minus the energy required for maintenance and milk production, is adjusted for the rate of loss or gain.
If Ebal > 0 then
FeedValue = 2 * (Kg * Ebal) / (km * Emain) - 1
Otherwise
FeedValue = 2 * (Ebal) / (0.8 * Emain) - 1

The megajoules (MJ) of energy required per kg empty body gain (Eebg) is given by:
Eebg = GrowthEnergyIntercept1 + FeedValue + (GrowthEnergyIntercept2 - FeedValue) / (1 + Exp(-6 * (Weightlive / SRW - 0.4)))
Liveweight change is determined by calculating empty body change from Eebg and Ebal, multiplied by a GrowthEfficiency which increases growth by 9% for Bos indicus breeds.
GrowthEnergyIntercept1 (a) and GrowthEnergyIntercept2 (b) are properties of the Ruminant type with details available in Table 1.11 (page 37) Nutrient Requirements of domesticated ruminants.
If Ebal > 0 then
Liveweight change = GrowthEfficiency * kg * Ebal / Eebg
Otherwise
Liveweight change = GrowthEfficiency * km * Ebal / (0.8 * Eebg)
There are studies which suggest that, for some tropical breeds, the efficiency of use of energy during weight loss may be better than that indicated by the equation above, and hence the actual weight loss is less.

The initial birth weight of the juvenile is set as a proportion of the LWT of the mother animal. Hence, the condition of the mother will affect the birth weight of the offspring. The proportion coefficient (birth_SRW) is set in the parameters in the section ‘Ruminant coefficients’. This value should only b changed with caution.
The juvenile growth rate will depend on both forage intake and milk intake. This is highly complex in that we have to predict both forage intake and milk intake. Incorporating milk quality would improve these estimates, but the model does not predict milk quality. With more data, it may be easier to use an alternative predictor such as the condition score of the mother which could act as a surrogate indicator of all these factors. There is no distinction between male, female or castrate juveniles.
MilkIntakePotential = MilkIntakeIntercept + MilkIntakeCoefficient * Weightlive
If the potential milk intake is greater than the predicted milk production for the breeding female (mother), then it is set to that predicted milk production. Further, if the milk intake is less than MilkLWTFodderSubstitutionProportion of the bodyweight of the juvenile, then the difference is made up from forage (see Potential Intake calculations).
If any supplements are fed then this is added to the intake, then the energy for maintenance and growth are determined as in the formulas in section 4.5 and 4.6, except that the values for kg for milk is set to 0.85, otherwise kg and km are set to 0.7 and 0.85 respectively.

Manure is produced by each individual and placed in a store associated with the animals location (e.g. paddock or yards). Manure is produced at a rate of intake times the non-digestible proportion of the feed
Manureproduced = Intake * ((100-DMD)/100)
Where DMD is the Dry Matter Digestibility of all intake presented as a percentage.
For details on managing manure see Collect all manure

Methane is produced by each individual and placed in a greenhouse gas store you have named "Methane" using the methane production coefficient (Charmley, XXXX). This
Methaneproduced = MethaneProductionCoefficient * intakeDaily * DaysInTimeStep

The ruminant growth model provides three forms of individual mortality, a base mortality rate (adult and unweaned rates), death through excessive weight loss, and prenatal mortality.

An age weighted mortality rate is calculated based on the annual base mortality rate and applied to all weaned individuals. This is designed to cover the herd mortality from individual unspecified causes and should not include mortality from lack of food which is handled in the following section.
MortalityRateannual = 1 - (1 - MortalityBase) * (1 - Math.Exp(Math.Pow(-(MortalityCoefficient * (Weightlive / NormalisedAnimalWeight - MortalityIntercept)), MortalityExponent)))
As CLEM uses an individual based model, a random number generator is used to determine the survival of each individual based on the calculated monthly mortality rate.
For unweaned individuals an additional mortality rate is added to the mortality base. This based on the mothers condition and is calculated using the following formula
MortalityRateunweaned = Math.Exp(-Math.Pow(JuvenileMortalityCoefficient * (WeightMother.Live / NormalisedAnimalWeightMother), JuvenileMortalityExponent))
This cannot exceed JuvenileMortalityMaximum and is set to this value if the mother has died or her weight is less than CriticalCowWeight * StandardReferenceWeight

Individuals are considered to be sick and die if there current live weight falls below a set proportion (ProportionOfMaxWeightToSurvive) of their maximum weight attained.

A prenatal mortality rate (PrenatalMortality) can be set and applied to all months up to and including birth.

This activity ages all surviving animals in the herd at the end of the time-step.

This activity will perform natural weaning of sucklings when their age equals the specified (Natural weaning age, months) for the species, or will use gestation length as this value if natural weaning age is set to 0. This ensures sucklings naturally wean if no other weaning activity has been provided.

This activity manages animal productivity and needs to perform specific actions during the CLEM potential intake, CLEM animal weight gain, CLEM calculate manure, CLEM age resources and CLEM Animal death events of the setup and time-step events. These events ensure animals are managed at the correct time relative to other activities.

The following status values apply to this activity and are shown in Activities performed report:
![]() |
not needed | There were no ruminants to grow |
![]() |
success | Growth occurred |
See also