Individual ruminant
CLEM.Resources.Ruminant
A individual ruminant in the herd.
The individual-based ruminant herd model in CLEM manages a list of individual ruminants that model activities can work with, updating the state of each individual as the simulation progresses. This approach provides a valuable opportunity to interrogate the current status of any individual when exploring the model performance in ways often not possible with field trials or even on-farm management. The model provides a large number of properties (the current value of a characteristic or state) and methods (a means of calculating a value or performing a task on the individual, e.g. Wean) for each individual that can be used to select individuals of interest with filtering, report to output for detailed analysis of animal performance, or manage animals with custom management code (new activities, see Developing resources).
There are two additional sub-types of individual ruminants that hold the properties and methods specific to females and males.
The following properties are available for each individual, most of which provided when applying filters and sorting.
The adult equivalent of the individual.
AE = Math.Pow(this.Weight, 0.75) / Math.Pow(this.BreedParams.BaseAnimalEquivalent, 0.75)
AE = weight0.75 / BaseAnimalEquivalent0.75
The current age of the individual in months.
This calculated property provides the age in years as a decimal number. i.e. Age / 12.
This calculated property provides the age in whole years as an integer. i.e. Floor(Age / 12)
The age (in months) when the individual entered the simulation. Used to calculate factors associated with time in system (e.g. births since purchase).
The name of the breed. This value is obtained from the Ruminant type details for this individual as they define the breed.
Breed will determine mating and what individuals are available for a range of activities when determining the CurrentHerd and is inherited from the parents.
This property returns a Ruminant type that provides access to all breed parameters describing the individual. These parameters are outlined with the Ruminant type.
The current class of the individual. Individuals can only be in one class at a time which has defined the class cut-off decisions. A property is available to check whether the individual is currently of a specified class and these are in the form of "Is" followed by the class label (e.g. IsWeaner will determine if the individual is currently a weaner). These properties have not been provided in the property list.
An individual still suckling (property to check IsSuckling) and also includes orphaned individuals (mother sold or moved without suckling offspring, or died) that will be forced to survive on reduced pasture intake.
This class was previously Calf and used IsCalf but was changed to reflect multiple ruminant types. The IsCalf property will now throw an error directing you to use the new IsSuckling.
A non-suckling individual less than 12 months old (property to check IsWeaner). An individual will be considered a weaner as soon as it meets the criteria of a Wean ruminants activity or is separated from mother (mother's death) or exceeds the natural weaning age (see Natural Weaning Age property of Ruminant type) at the start of the month until 12 months old.
While IsWeaner identifies any individual meeting this criteria (non-suckling and less than 12 months old), not all Weaners are Weaned. The Weaned property will be True only after an individual has been managed by a Wean ruminants activity and relates to the management action of weaning. Thus, naturally separated individuals (by age or death of mother) are not considered Weaned until assessed by a Wean ruminants activity.
A weaned individual between 12 months old and minimum breeding age and less than minimum weight at first mating (property to check IsPreBreeder).
This class equates to the common definition of a heifer in cattle herds with differences in the definition relating to when a heifer is regarded a breeder. As any individual can only have one class, a Pre breeder is assumed to become a breeder as soon as it reaches the required age and weight criteria. For this reason we do not use the term Heifer in the model.
A weaned individual of breeding age and achieved minimum size at first mating (property to checkIsBreeder).
Males designated as Breeders are not flagged as Sires have entered the breeding pool of males through management (e.g. they were not castrated and sold as steers). These individuals may also have missed mustering through the yards for sales if incomplete herd management and could be referred to as "wild breeders".
A castrated individual (e.g. steer, or draught animal) (property to checkIsCastrated).
A breeding sire. These animals are differentiated from breeding males as special breeders that can have a different price and specific management. (property to check IsSire).
Indicates if the individual has dies this timestep before removal from the herd.
The dry matter digestibility of the current intake.
The balance of energy gained and used in the time step.
The energy required for foetal development in the time step.
The energy gained from intake in the time step.
The energy required for maintenance in the time step.
The energy required for milk production in the time step.
A label that combines Class with Sex (e.g. CalfFemale).
A quick estimate of health on a scale of 0 - 1, where 0 is mortality weight, 0.5 is normalised weight and 1 is maximum size of animal
This property is replaced by Body Condition Score and will be depreciated in future.
A measure of each individual animal's condition is often used in management decisions and the calculation of animal production, mortality and conception. This score is often assigned from visual inspection of the animals physical condition in the field using measures such as the shape and presence of bones showing on the rump. These measurements relate to the weight of the animal relative to it's average weight or size expected for its age and therefore show whether the individual is underweight or in better condition than expected normal. The method of calculating the Body Condition Score in the model is that used widely in other Australian herd models (AusFarm, GrassGro) provided in SCA where the ratio of the animal's weight to normalised weight is represented on a simple scale.
Two parameters of the Ruminant type are required to define the Body Condition Score, The first is Body Condition Score range (min, mid, max) which defines the range to use with the mid value representing the animal with weight equal to the expected normal weight. The second is the Relative Body Condition to Score rate that defines the amount of change in the relative body condition (weight divided by normal weight) for each unit of the Body Condition Score.
For sheep and cattle this is usually on a scale from 0 to 5 with a value of 3 representing the normal weight for age. Values less than 3 represent underweight with a greater chance of mortality though being underweight at the lowest scores. Scores greater than 3 represent an animal in better than average condition. The score is limited to the minimum and maximum values
For sheep and cattle this is usually on a scale from 0 to 5 with a value of 3 representing the normal weight for age. Values less than 3 represent underweight with a greater chance of mortality though being underweight at the lowest scores. Scores greater than 3 represent an animal in better than average condition. The score is limited to the minimum and maximum values.
This property is a new release and needs testing. Previous simulations will not be affected while Proportion of body weight needed for survival is set to a value between 0 and 1. See Ruminant type
The name of the herd this individual belongs to obtained from the name of the Ruminant type component in the tree above the initial cohorts. Therefore the different Ruminant types could be the same breed but managed as separate herds. Herds are considered separately in the summary reports.
A calf will be assigned the herd name of the mother.
An additional HerdNameToDisplay property will only return the herd name if multiple herds are provided in the simulation. This is used in in reporting the RelatesTo column of Resource ledger report.
The highest weight the individual has attained (kg).
Every individual in the simulation is given a unique identifier. This property provides the unique id of the individual.
Current monthly intake (kg).
The location of the individual. This allows various activities to move individuals or determine the individuals at a given location. Locations are the names of Graze food store type (paddocks) or empty (referring to unspecified location so considered the general yards).
The value stored for each individual only uses the Name of the Graze food store type and not the full name including the Graze food store parent component separated by a full stop as shown in the drop down list of the Move ruminants activity. For example, if you wanted to identify all individuals currently in the Native pasture (GrazeFoodStore.NativePasture) you would define the Location property as just NativePasture (e.g. (GrazeFoodStore.NativePasture). Note: including the full component path will result in no individuals returned.
Current monthly metabolic intake after crude protein adjustment.
Current monthly intake of milk (kg).
The required intake of milk by the suckling individual (kg).
Months since weaned tracks time since weaning and is the basis of the IsWeaned method (= monthsSinceWeaned >= 0).
Months since weaned is set to -1 at birth (and unweaned or suckling purchases or initial herd individuals) and starts incrementing monthly from weaning such that newly weaned individuals are 0 months since weaning in the month of weaning activity. Therefore, you can use this property to make more informed decisions such as your feeding only individuals in the month of their weaning or the next month (month of weaning <=1).
This property returns a RuminantFemale that represents the mother of the individual. This property is only available while the mother is alive in the herd as after death the individuals are removed from the list of ruminants and lost from the model (see MotherID). Access to the mother allows the model to determine the various properties needed for the offspring such as mother's milk production and number of suckling offspring to provide milk intake for the individual.
The unique identifier of an individuals mother. This property allows reporting of all offspring of a female regardless of whether she is still alive and in the herd.
This property determines if a suckling individual is still with the mother and has access to milk production.
The amount of milk currently available for this individual taking into account the mothers lactation cycle timing and number of competing offspring suckling.
Provides the normalised weight of this individual for the breed.
Default 1 for individual herd model. May be used in future for deterministic herd model.
The percent of N in current intake.
This property determines the direction of herd change based upon the sale flag of the individual, with -1 for sales, 0 for no flag, 1 for purchases. This allow herd ledgers to report the direction of herd change with each entry (gain or loss).
The required intake of the individual (kg).
The weight of the individual in the previous time-step (kg).
The current weight as a proportion of the highest weight attained by the individual.
The current weight as a proportion of the normalised weight for age of the individual.
The current proportion of intake (including milk) as a ratio of potential intake for the individual.
The current weight as a proportion of the standard reference weight of the individual.
The age of the individual in months when purchased.
Reports if the individual has a sale flag other than None.
Provides the ratio of current weight to normalised weight.
Provides the ratio of normalised weight to standard reference weight.
This switch determines whether the individual has been identified as a future breeder but has not yet reached breeding age. Future breeders will not be sold as they are maintained to replace the herd.
A herd change reason label identifying this individual as marked for sale. The HerdChangeReason is used to determine the reason any individual was added or removed form the herd and is used here for an activity to flag the reason for sale or purchase. A subset of these herd change reasons are provided in the MarkForSaleReason as identified below.
The grow-out individual has reached the age or weight specified for sale (e.g. steer sales).
MarkedForSaleReason
The individual was born.
The individual is a breeder purchase.
The individual was slaughtered for consumption.
MarkedForSaleReason
The individual was part of a destocking activity and marked for sale
MarkedForSaleReason
The individual died due to loss of weight.
The individual died due to the mortality rate.
The individual was identified as a dry breeder for sale/culling.
MarkedForSaleReason
The individual was identified as an excess breeder.
The individual was identified as an excess pre-breeder.
The individual was identified as an excess sire.
The individual was part of the model filling the herd to numbers required at the start of the simulation when specified by the user.
The individual was part of the initial herd at the start of the simulation.
The individual is to be sold as a sale marked by a Mark ruminants for sale activity.
MarkedForSaleReasonThe individual has the maximum age permitted and is ready for sale.
MarkedForSaleReason
The individual remains in the herd.
MarkedForSaleReason - Not Provided
The individual was removed by the model to maintain correct herd size at the start of the simulation when specified by the user.
The individual was part of a restocking activity and requested for purchase
The individual is a new sire purchase
The individual is part of a trade herd purchase.
The individual is part of a trade herd sale.
MarkedForSaleReasonReturns the sex of the individual.
Provides the standard reference weight for the breed taking into account the sex of the individual.
This flag (True or False) represents whether an individual has been managed by a Wean ruminants activity.
This property allows the user to distinguish between individuals that have been weaned by a Wean ruminants activity (Weaned and IsWeaner = true) from all Weaners (non-suckling and less than 12 months old). The Wean ruminants activity will check the age and weight for individuals not Weaned (False) against the specified criteria so naturally weaned (see Natural Weaning Age property of Ruminant type) and orphaned individuals will be able to be considered by the wean activity.
The current weight of the individual in kg. Setting this value in the model will also update adult equivalent calculation and the high weight achieved.
The calculation of previous weight minus current weight of the individual in kg
The following methods are used to report a value or make changes to the individual. These are used by the model code but may also be applicable to reporting.
Allows an activity to add intake to the individual. This method passes a FoodResourcePacket that contains details such as amount, nitrogen and dry matter digestibility of the food.
Returns the normalised weight (kg) of an individual of the age (in months) passed as an argument.
Get the group label for this individual based on the transaction category style set in Ruminant herd.
This method requires the RuminantTransactionsGroupingStyle and PurchaseOrSalePricingStyleType
The value "All" is returned when RuminantTransactionsGroupingStyle is set as Combined.
Add one time-step (month) to the age of the individual. The age property is read only and cannot be altered manually.
A method to set the age the individual entered the simulation with the age (in months) passed as an argument. This should only be used by specific activities such as where animals are purchased and not born.
A method to set the weaned status to false for new born in the code.
A method to organise the weaning of the individual. This method updates the mothers current offspring and total number weaned counts. A argument indicating whether to report the wean is also provided along with a weaning reason (natural weaning, or managed weaning) if selected.
The current weight of wool and cashmere on the individual.
The two properties are currently separate so that a cashmere and course hair component can be tracked on goats.
The following properties are specific to females in the herd. Most of these are available when applying filters and sorting.
This property provides a time stamp as to the time since last conception.
This property provides a time stamp as to the time since last birth and can be used to determine lactation days etc.
Is a birth due in the current time step?
Age >= Age at last conception + Breed.Gestation length
The number of foetus/conceptus the individual is currently carrying.
The number of days into the lactating period.
Determines if the female is currently able to breed. This includes being a breeder (IsBreeder) and not pregnant, the time since last birth is greater than minimum days between birth and conception.
Determines if the female is currently considered a breeder. This includes being weaned, age greater or equal to the minimum age at first mating and her highest weight achieved is greater than the minimum proportion of standard reference weight before conceiving. A method to organise the weaning of the individual. This method updates the mothers current offspring and total number weaned counts. A argument indicating whether to report the wean is also provided along with a weaning reason (natural weaning, or managed weaning) if selected.
The individual is weaned and up to her first birth. Others may require this definition to be up to end of first lactation, but this will need to be an additional property.
The individual is currently lactating from suckling offspring or being milked.
The individual is currently pregnant.
Carrying count > 0
The style of the last mating for the individual. This allow for the identification of any mating by unintended wild breeders.
The amount of milk currently available (L).
A flag to indicate that milking of the individual has been performed.
The amount of milk milked this time step (L).
The potential amount of milk produced this time step (L/day).
The amount of milk produced this time step (L).
The amount of milk suckled this time step (L).
Age at last birth presented as months for calculations.
The total number of successful births (at least one offspring survived) where twins is a single birth (see Number of offspring).
The total number of successful births (individuals) this timestep.
The total number of months this female has been able to breed.
The total number of successful conceptions.
The total number of offspring born.
The total number of offspring that went onto being weaned while she was alive.
The conception rate in the previous time step used in uncontrolled mating.
Determines whether the last pregnancy was successful.
AgeAtLastBirth - AgeAtLastConception = this.BreedParams.GestationLength
Provides access to the list of Ruminant individuals currently suckling.
The individuals weight at conception.
The following methods are used to report a value or make changes to the individual. These are used by the model code but may also be applicable to reporting.
This method will determine the number of offspring this preganancy given multiple offspring birth rates.
Manages the death of a foetus/conceptus.
Removed milk from female stores. This method requires the amount to take and the reason where the reason can be Suckling or Milked.
This method will update the conception details based on the arguments passed to the method. This method would be used by a breeding activity.
The following properties are specific to males in the herd. Most of these are available when applying filters and sorting.
The following methods are used to report a value or make changes to the individual. These are used by the model code but may also be applicable to reporting.
Determines if the individual is a breeder or sire.
Determines if the Attribute list of this individual contains an entry for Castrated.
Determines if the Attribute list of this individual contains an entry for Sire.
Determines if the individual is a male breeder not flagged as a breeding sire.
See also