Managing labour
One of the strengths of CLEM and it precursor model (IAT) is its ability to apply labour as a constraining resource to whole farm simulations. Labour requires more functionality than other simpler resources and so we will discuss labour in more detail here.

Labour is defined as a Labour Resource within the Resource Holder. This section is responsible for defining the initial population of labour as multiple Labour Types and the Availability of labour.

Family labour is the most important source of labour for many small family owned farms. In CLEM you can define every member of the household with a unique name that can even be used when assigning tasks. Alternatively, you may have a number of people in each class (e.g. males aged 40). A parameter of the Labour resource will allow ageing of individuals during the simulation.
Other activities such as household consumption and tracking human nutrition can be applied to members of the family, and even include the hired labour pool.
There is no mortality or births over time in the Labour pool.

Labour can be considered as a resource that can be purchased or sold. A farming system may hire labour when needed or even operate entirely on hired labour. Alternatively, off farm work may be performed using the available family labour to earn money.
Hired labour is added to the simulation as a Labour type with the Hired switch turned on. This identifies the labour as hired and allows activities to manage the hired labour such as arranging pay and stops ageing of this group if age family labour is enabled. Any number of hired labour components can be added to account for different pay rates and availability. As all labour uses the availability and pricing you will need to set these up for the hired labour.

Before we can assign labour resources to activities, the amount of time (in days) per month that labour is available needs to be supplied. Labour availability is set up under the a labour resource within the resource holder using a Labour availability list. This list contains any number of Labour availability item. These are a special Labour filter group that provides the days available and a filter to determine which individuals it refers to. When CLEM needs to determine the days available per time-step for any person, it will start from the top of this list and work downward until a Labour availability item matches the person of interest. If no Labour availability item match is found the model will report an error and stop, or move to considering hired labour if appropriate.
You can add as much detail as you need in specifying the available labour. The following examples show an increasing level of detail in defining the available labour. In these examples the actual values of monthly availability are supplied in the parameters of each Labour availability item when selected in the simulation tree.
This style of set up is used elsewhere in CLEM (e.g. animal pricing) and provides a flexible means of setting values, but may take a little bit of practice to master. To determine what the availability list will do, read from the top entries downward. You can add a Labour availability item with no filter at the bottom of the list to catch all remaining individuals not matching any other filters.
Everyone has the same labour availability
If everyone had the same availability only one entry would be required with no filters supplied as a filter group with no filters items will return all members.
Males and females have different labour availability
If males and females required different availability then two Labour availability list items would be required, one limited to males (Sex= Male) and one limited to females (Sex = Female). The respective availability is placed in each Labour availability list item. Alternatively, the second filter group could contain no filter and so catch all remaining individuals that are not male.
Teenagers provided with less availability than adult males and females
To further refine the Labour available, an additional Labour availability list item is placed at the top (AgeInYears <= 18) to identify teenagers. This Labour availability list item will not work at the bottom of the list as any labour would successfully be assigned to the Sex is Male or Sex is Female list before getting to the teenager filter.
Add additional details for a specific person
The Name of the Labour Type can also be used in the Labour Filters. In this example we provide individual labour availability for Joe (Name = Joe), the owner of the farm in the first Labour availability list item.

The majority of activities can have a labour requirement added to them which will request labour at the time of performing the activity. While some activities will be able to calculate the labour required based on the task (e.g. kg carried, head of cattle milked, hectares harvested), all activities can consume a fixed amount of labour when performed.
Labour is defined for an Activity by adding a Labour requirement component below the activity. This Labour Requirement component sets how labour is calculated for the activity and contains a number of Labour filter groups below it. The arrangement of these groups will further define how labour is allocated as outlined below:

Some activities will require more than one person for the duration of the task. To achieve this functionality multiple Labour filter groups are provided beneath the Labour requirement as a list. This will cause the simulation to try and obtain the number of filter groups worth of people from the available labour pool. A shortfall in labour available will trigger the specified in the parameters of the activity or seek hired labour.
Harvesting a crop may take 3 people one day, which, while the same amount of time, is not the same as one person for three days. In the example below we see that this task requires two males and a female all requiring the amount of time determined by the settings of the Labour requirement. Each Filter group represents an individual and all will be assigned the same number of days. If the female was needed for fewer days, you would remove her from this list and add her to another Labour requirement with appropriate settings for the time needed.
There is no requirement that the multiple entries refer to the same type of labour (e.g. all males). In the example provided the harvest activity requires two males and one female to perform the task. This Labour requirement has its own setting for the time required and so does assume all people listed require for the same amount of time. In the example above, if the female was needed for half the time of the two males, the female Filter group would be moved into a second Labour requirement with appropriate labour settings.

While more than one group of people can usually perform an activity, some are preferred. In small farming-systems often particular activities are performed by a particular family member or group of people. In considering changes to a farming system it is vital to consider the impacts of family labour and whether a family member has the capacity to do any extra work. One way of ensuring that the available labour is supplied to the requesting activity is to provide a prioritised list of people who can perform the task. The simulation will supply labour from the top of this list downwards. The Labour filter groups used can be defined to identify an individual or a group of people (e.g. all adult males). Depending on settings and whether the activity is set to perform with partial resources (see What to do when resources are limiting) a portion of the required labour can be assigned to individuals allowing labour further down the list to fill the shortfalls until all labour has been supplied. This is achieved by nesting Labour filter groups within each other, with each group representing the next best labour to perform the task.
It may take 3 days to harvest a crop and ideally this should be performed by an adult male (>30 years old). If there are no adult males available the task can be completed by a female (>30 years old) and finally by teenagers of any gender (>13 years old). This approach applies the same labour requirement to all levels and it is currently not possible to require additional time by one of the levels. Parameters in the Labour requirement can be set to either ensure all the labour is undertaken by a single person, or each step in the tree can fill any remaining shortfall from above.
There is nothing stopping you have a combination of multiple and priority allocation for an activity to define complex labour requirements.

Labour rates (or pricing) is required whenever we need to trade labour whether purchasing hired labour, earning income from off farm labour or accounting for the value of labour used by the farming system.
The pay rate schedule is set using the Labour pricing component that holds a list of Labour price group components and one instance of this component is below the Labour resource of the Resources. Pay rates are set in the resource section so that any activity can find and even modify prices throughout the simulation.

Even with the ability to provide filters to specify which labour can perform a task, there may be a number of groups or individuals that meet the filter criteria and can perform the task. We need a means of deciding which individuals in this groups will perform the task. In this case CLEM will revert to the standard method of using the order components are provided in the simulation tree to determine priority (see Importance of component order), with labour first allocated to the people higher up the simulation tree. For example, if the owner of the property was Joe and he was first in the list of Labour type in the list he will be the first to be assigned any activity where he is able to perform the task. This means his time may be filled with simple tasks that can be performed by others. If Joe were placed at the bottom of the list of Labour types then he would be assigned last and would be more likely to be available if a specific task for him arose during the simulation.
If no filters are provided with the Labour group the default is that any labour can perform the task. In this case the model will try to assign labour from the top of the list of Labour types.

CLEM allows any activity to have built in functionality to modify the outcome of the activity and therefore the simulation based on shortfalls in labour. In the IAT model this was only included for a couple activities (cut and carry and feeding ruminants), but it is being included in a larger number of CLEM activities. There is an additional switch in Labour Requirement component to determine whether this functionality is permitted in your simulation as there are times where you simply want to report labour shortfalls and not influence activity outcomes when in short supply. The activities that allow labour shortfalls will be identified in their section of the Features section of this help.
Return to How to... section of Using CLEM