Download PDF
Download page Consumption.
Consumption
Consumption Rules model changes to community size and density as a result of eating forage. They can be used to quantify the amount of food a community can consume and the resulting change in size of both consumer (predator) community and food source (prey) communities. The source of food used by a consumption rule is forage created through Forage Rules.
An example use of a consumption rule is modeling the consequences of zebra foals eating mature grass. In this case, mature grass gets defined as a forage source in a Forage Rule. The consumption rule can then model how much mature grass is eaten by the foals, the reduction in grass size caused by the foals and an increase in the weight of the foals through conversion of food to body mass.
Consumption behavior is modeled using three sections of information that specify how much is eaten, how efficiently what is eaten is converted to growth, and what is eaten first. In the first section, how much is eaten is defined using either a constant rate or a variable rate derived from user defined functions of model variable and season. This rate represents a quantity of forage eaten per project unit size of predator.
In the second section, consumption efficiency is set as the quantity of forage required by the predator to grow a certain amount. Also included in this section is defining how the forage is eaten, whether browsing, browsing to the point of mortality, or predation (mortality at time of consumption).
The third section of information required for a consumption rule defines what is eaten first when there are multiple sources of forage. Options include evenly distributed, prioritized by the user, or prioritized by density.
Simulation results specific to consumption rules are Consumption Predator and Consumption Prey which are the quantity of consumption units consumed per model spatial element for consumer and forage, respectively. These values can be reviewed using the map animation options as well as the output HDF file. Other simulation outputs affected by consumption rules are size and density of the involved community size classes, and, when selected in Project Settings, consumption project units.
Consumption Rule Tab
The Consumption Rule tab in the Logic console contains controls for defining predator appetite, preferences, and seasonality (Figure).

Figure. The Consumption Rules interface.
Rule Name: displays name of selected Consumption rule as part of dropdown list of all Consumption rules in the study.
Add, Rename, Copy, and Delete Rule: described above in the common features section (Figure).
Community: dropdown list of communities in the study.
Size Class: this dropdown field lists the size class members of the selected community.
Constant Rate: option where consumption is based on a constant predator:prey ratio.
Function of Model Variable and Season: option where consumption is based on a variable and season.
Consumption Units: determines the units for consumption.
Consumption Type: opens a table where consumption mode is set.
Consumption Efficiency: option that specifies the fraction of consumption that is incorporated as growth in predator size.
Define what is Eaten First: set of options related to predator preferences.

Figure. Interface for creating a new instinctual rule.
Community and Size Class
The predator community and size class must be defined for the rule. Each consumption rule can have only one community-size class predator. The community-size class chosen for a rule can be used in other consumption rules.
Community - Community that will be consuming food. Also referred to as the predator community.
Size Class - Community size class that will be consuming food. Also referred to as the predator size class.
Note that prey communities and size classes are defined in the forage rules that create forage for the consumption rule.
Define How Much is Eaten
This section is for defining the consumption rate, or how much forage is eaten per project unit size of predator. The rate is based on the Consumption Units parameter defined in the Define Efficiency of Consumption section. It requires understanding how Prey and Predator community values are translated into consumption project units using their respective Community To Project conversion equations.
| Consumption Rate=Prey Eaten_{Consumption Unit}/Predator_{Consumption Unit} |
For example, in a rule where the project unit Biomass (lbs) has been set as the Consumption Unit, the consumption rate will be Biomass of prey consumed per Biomass of predator. If the Community To Project relationship between Predator (lbs) and Biomass (lbs) is one-to-one (meaning the Community To Project equation is $CU), then a pound of predator equals a pound of Biomass. For this case, the consumption rate could be described as pounds Biomass consumed per pound of Predator.
Two options are available for defining how much is eaten:
1) Selecting the Constant Rate option allows for defining a single consumption rate that will be used for the duration of the simulation period.
2) The option Function of Model Variable and Season allows for defining a consumption rate that varies in space and time. A model variable must be chosen from the dropdown list of variables and then a relationship built between values of this variable and consumption rate.
This option also requires defining a relationship between the time of year and the seasonal consumption factor. This seasonal factor is a value between 0 and 1. If time of year does not affect consumption rate, then this factor can be set to a value of 1.
The final consumption rate is calculated by multiplying the model variable based rate by the seasonal factor.
| Variable Consumption Rate = Consumption Rate_{Model Variable}*Seasonal Factor |
Data pair functions must be entered in both the model variable and time of year tables for the consumption rule to be applied.
Define Efficiency of Consumption
This section defines three categories of information, the project units that will represent forage quantity, the type of predation to apply to the community components of forage, and how efficiently forage consumption causes a change in size of predators.
Consumption Units
Consumption Units are the Project Units of the forage being consumed. The project unit chosen here must also have been specified as a Forage Unit in a forage rule. If there are no forage rules with the project unit chosen for Consumption Unit, the Consumption Rule will abort.
Consumption Type
Clicking the Consumption Type Edit button will open a dialog containing Predation options for each forage community size class that is a component of the associated forage rule(s).
Selecting consumption type requires an understanding of the type of prey and how a predator will eat it. Two options are available for predators eating stationary prey communities, such as grass. These types are referred to as browsing. One option is available for consumption of mobile prey communities. This type is referred to as predation.
- Browsing - With this option, the predator can consume the prey community size class down to its size class lower limit. The prey won’t be killed by the browsing action and therefore will stay available to any rules it participates in, such as growth rules. The density of the prey won’t be affected.
- Browsing with Mortality - With this option, the predator can consume the prey down to 0 (zero). When size reaches zero, the prey is terminated and density is set to zero, making it unavailable to the model for further processing.
- Predation - With this option, as soon as the predator begins consuming prey, the prey community size class is terminated. The prey density will be immediately reduced to zero.
Order of Consumption
The Consumption Type dialog is also used to order the priority of which forage communities are eaten first when the option “User prioritized list of possible forage sources” is chosen in the Define What is Eaten First section located at the bottom of the rule tab.
Consumption Efficiency
Consumption Efficiency is the rate at which predator size changes per amount of forage eaten. As with the consumption rate, consumption efficiency is a ratio of consumption units.
| Consumption Efficiency=ΔPredator_{Consumption Unit}/Prey Eaten_{Consumption Unit} |
In the example of the consumption unit Biomass (lbs), consumption efficiency is the change in predator biomass per prey biomass consumed. If there is a one-to-one relationship defined for the predator Project to Community equation ($PU), the consumption efficiency can be described as pounds Predator gained per pound Biomass prey consumed. The ellipsis next to the efficiency text box will open the Edit Equation dialog for defining the efficiency as a single value or as a function of other model variables.
Define What is Eaten First
The order at which forage communities are eaten is controlled in this section. This section is significant when forage is made up of more than one community size class, as defined in the Forage Rule(s) that create the associated forage.
Evenly distributed per % lumped and available forage - forage communities will be consumed evenly based on the relative quantities of each forage component.
User prioritized list of possible forage sources - forage will be consumed based on the order of forage community size classes defined using the Consumption Type editor in the Define Efficiency of Consumption section.
Density prioritized list of possible forage sources - forage prey communities will be consumed according to relative densities. This option prioritizes forage community count over quantity of forage.
When parameters are entered, click the Apply button to save the Consumption rule (Figure).

Figure. Click the Apply button to save the Consumption rule.
Simulation
Simulating consumption involves determining how much forage is eaten and from that amount determining the change in size of the predator and the change in size or density of prey. Simulation requires both a consumption rule and a forage rule that share a common project unit for their forage/consumption units. Because of this reliance on a forage rule, it can be useful to build the forage rule first to make sure it is working as desired before continuing with the consumption rule.
Consumption rules are processed after horizontal rules per the order of rule execution in EFMSim. This means that a community will move in response to a forage rule before consumption rule calculations take place. It also means that many other rule types, including vertical rules such as growth, also are processed before consumption.
Consumption simulation affects the size and density of prey communities differently based on consumption type. With Browsing, the type typically used with stationary communities, there is a reduction in size while density stays constant. For predation, where prey is typically mobile, the density decreases with no change in size. For Browsing with Mortality, size is gradually reduced to zero at which point density is also set to zero.
Calculating how much is eaten
Determining how much is eaten is the first step in simulating consumption. It is dependent on the consumption rate, the quantity of predator that is present, and the quantity of forage (prey) that is available. The consumption rate is described in detail above and represents the quantity of forage eaten in consumption units per quantity of predator in consumption units. Determining the quantities of predator and forage are described below.
The total quantity of predator is calculated by determining the amount consumption units in an individual predator using the Community to Project conversion equation and then multiplying by the count of predators.
| Predator_{Indiv-Consumption Units}=CommunityToProject(Predator_{Indiv-Community Units} |
| Predator_{Total-Consumption Units}=Predator_{Indiv-Consumption Units}*Density*Area |
The size and count values used in the equation are the values after higher order rules have been processed within the time step. This would include vertical rules affecting predator populations such as Kill Boost Rules as well as horizontal rules attracting predators to an element, like Forage and Instinctual Rules.
The quantity of prey available is determined using the size and count of forage community-size classes and their consumption types. Consumption type affects forage quantity because the entire forage individual may not be available to eat.
Values for size and count are determined at the point of rule execution and may be intermediate values within the simulation time step due to rules running prior to the consumption rule.
When Browsing is chosen as the consumption type, the amount of prey that exists in the size class lower limit is not included in the total available prey calculation. The entire prey individual is available for consumption with the Browsing with Mortality and Predation consumption types.
The available size is used in the Community To Project unit transformation equation to calculate the amount of prey in consumption units available per individual prey member. The value per individual is then multiplied by count (density * area) to calculate a total amount of prey for the size class within a model element. These calculations need to be repeated and then summed for all forage size classes that make up forage in the consumption rule to get the total forage available.
Browsing:
| Size Available = Size-Size_{Lower Limit} |
| Prey_{Indiv-Consumtion Units}=CommunityToProject(Size Available) |
| Prey_{Total-Consumption Units}=Prey_{Indiv-Consumption Units}*Density*Area |
Browsing with Mortality:
| Size Available = Size |
| Prey_{Individual-Consumption Units}=CommunityToProject(Size Available) |
| Prey_{Total-Consumption Units}=Prey_{Individual-Consumption Units}*Density*Area |
Predation:
| Size Available=Size |
| Prey_{Individual-Consumption Units}=CommunityToProject(Size Available) |
| Prey_{Total-Consumption Units}=Prey_{Individual-Consumption Units}*Density*Area |
Total Prey:
Calculating total available prey forage requires summing the prey quantities for each prey community in each forage rule contributing to the consumption unit.
| Prey_{Consumption Rule}= \sum_{n=1}^{Forage Rules} \sum_{p=1}^{Prey Communities} Prey_{Total-Consumption} |
Using an example where prey forage consists of a single community size class called mature grass, and grass has a Growth Rule, the size of the grass used in the consumption rule will be the size after the Growth Rule has been applied. If grass has a Consumption Type of Browsing, the size of grass available for consumption is the size minus the grass size class lower limit. The Community To Project equation is used to convert the available size to the amount of prey (forage) per individual blade of grass. Prey quantity per grass blade is multiplied by the total count of grass blades to determine total prey available for consumption.
Note: When there are multiple predators (multiple consumption rules) foraging the same prey community, the forage available for consumption does not get reduced between successive predators. Each predator will “see” the same amount of forage. For example, in a model with goats and zebras as predators, if goats eat first, the zebras will have the same amount of forage available to eat as if the goats hadn’t eaten.
Calculating how much forage prey is eaten
Determining the total amount of prey forage consumed requires a comparison of how much prey is available to eat vs. how much can be eaten by the existing predators. The maximum amount possible that can be eaten by available predators is calculated using the Consumption Rate and the total mass of predators present in the model element.
| Consumption_{Maximum Possible}=Consumption Rate * Predator_{Total-Consumption Units} |
If there is ample forage to feed the existing predators, then the total forage consumed is the maximum amount that can be eaten. If there isn’t enough forage available to satisfy the existing predators, then the total forage consumed is limited to the available prey forage.
If:
| Prey_{Consumption Rule}>Consumption_{Maximum Possible} |
Then:
| Consumption_{Rule}=Consumption_{Maximum Possible} |
If:
| Prey_{Consumption Rule}<Consumption_{Maximum Possible} |
Then:
| Consumption_{Rule}=Prey_{Consumption Rule} |
Forage consumed is used below in calculating changes to both predator and prey communities.
Calculating predator size after consumption
Once the amount of forage consumed is known, it can be used with the rule’s Consumption Efficiency to calculate the change in predator size. Because the total forage consumed calculation above represents consumption for an entire model element, it must be divided by the number of predators in the element to determine the change for a single predator.
The change in predator size can be calculated using the following equation:
| ΔSize_{Predator}=(Consumption Efficiency * Consumption_{Rule})/(Density_{Predator}*Area} |
If the predator community size class is used in more than one Consumption Rule, the change in size must be calculated for each rule and then aggregated to get the final predator size.
| Size_{Predator}=Size_{Predator before Rules}* \sum_{n=1}^{Consumption Rules for Predator} ΔSize_{Predator} |
In an example scenario where consumption efficiency for zebra foals is 0.08 pounds biomass gained per pound biomass prey forage consumed, there are 16 foals that consumed a total of 160 pounds of forage. Each foal weighed 500 lbs at the beginning of a simulation time step, and a one-to-one relationship between pounds foal and pounds biomass:
| ΔSize_{Predator}=0.08*160/16=0.8 pounds |
| Size_{Predator}=500+0.8=500.8 pounds |
Calculating Prey size and density after consumption
The amount of prey consumed in the consumption rule is used along with model settings defining what is eaten first and how it is eaten to determine how a prey community class is changed by being eaten.
If all the available prey forage is eaten and the type of consumption is browsing, the prey community size is reduced to its lower limit while its density stays the same. With consumption methods that involve mortality and all prey forage is eaten, both size and density are set to be undefined.
If only a portion of the available prey is eaten, prey communities are adjusted according to the Define What is Eaten First model setting. These are discussed in more detail below.
When the option Evenly distributed per % lumped and available forage is chosen and the available prey forage hasn’t been completely consumed, the fraction of total prey consumed to available prey is calculated as follows.
| Fraction Consumed=Consumption_{Rule}/Prey_{Consumption Rule} |
This fraction is then applied to each prey community class based on the type of consumption defined for the community class.
With the Browsing option, the fraction consumed is used along with the total quantity of available prey community in consumption units to determine how much available prey community is left. The amount of available prey left is divided by the count of prey members to determine the amount of prey consumption units left uneaten per individual prey member. This value is used in the Project to Community equation to determine the size of the available portion of a prey individual in community units. The last step is adding back the size of the size class lower limit.
| Prey_{Class-Avail-Uneaten}=(1-FractionConsumed)*Prey_{Class-Avail-Total} |
| PreyIndividual_{Avail-Uneaten}=Prey_{Class-Avail-Uneaten}/(Density_{Class}*Area) |
| SizeIndividual_{Avail}=ProjectToCommunity(PreyIndividual_{Uneaten}) |
| SizeIndividual=SizeIndividual_{Avail}+Size_{Lower Limit} |
Density remains unchanged for the Browsing consumption type.
The Browsing with Mortality option behaves similarly to Browsing except that the entire quantity of prey size class is available for consumption. This means that the size class lower limit value is not added back to the size left uneaten and that the entire size class can be eaten.
| Prey_{Class-Uneaten}=(1-FractionConsumed)*Prey_{Class-Total) |
| PreyIndividual_{Uneaten}=Prey_{Class-Uneaten/(Density_{Class}*Area) |
| SizeIndividual=ProjectToCommunity(PreyIndividual_{Uneaten}) |
While the size of a prey individual is greater than zero, the density of the size class remains unchanged. When size reaches zero, both size and density are set to undefined.
When the Predation consumption type option is used with the Evenly distributed option for Define what is Eaten First, the fraction consumed is applied to the count of prey individuals to determine the number of individuals remaining. The count remaining is divided by area to calculate the final density. Size remains unchanged if density is greater than zero. If density reaches zero, both density and size are set to undefined.
| Count_{Class-Uneaten}=1-FractionConsumed)*Count_{Class-Total} |
| Density_{Class}=Count_{Class-Uneaten}/Area |
When the User prioritized list or Density prioritized list options are chosen for the setting Define What is Eaten First, prey community classes are sorted and then consumed in the specified order. The option User prioritized uses the order defined by the user in the Consumption Type Edit dialog in the Define Efficiency of Consumption section (described above). The Density prioritized option sorts based on most available.
The logic behind these equations is that previously eaten food plus the amount of prey community food still available minus the total amount of food eaten will give the amount of prey food remaining. This remaining amount is used to calculate size and density.
Using the Browsing consumption type with a prioritized list of what is consumed first requires maintaining a running tally of how much the predator has eaten as it moves through the ordered list of prey forage.
| PreyConsumed_{Rule Running Sum}= \sum_{t=1}^{t} PreyConsumed_{all classes}+Prey_{Class-Avail}-Consumption_{Rule} |
If the class’ available prey forage has been consumed and the predator is still eating, it moves onto the next prey class in the prioritized order and the running sum of prey consumed continues until the predator has been satisfied. If a prey class is completely consumed, its size is set to the class lower limit. If available prey is remaining after the predator is full (the rule’s total consumption has been met), the amount of prey remaining per individual class member is determined by dividing by the total count of the prey class. Then the Project To Community conversion equation is used to calculate the final size of the prey class individual.
If the available prey forage for class has been completely consumed:
| SizeIndividual=Size_{Lower Limit} |
If the available prey forage for a class has not been completely consumed:
| PreyIndividual_{Avail-Unbeaten}=Prey_{Class-Avail-Uneaten}/(Density_{Class}*Area) |
| SizeIndividual_{Avail}=ProjectToCommunity(PreyIndividual_{Avail-Uneaten} |
| SizeIndividual=SizeIndividual_{Avail}+Size_{Lower Limit} |
Density remains unchanged when using the Browsing consumption type.
When Browsing with Mortality is selected as the consumption type, size is calculated the same as with Browsing except that the size class lower limit is not added back at the end of the process. Prey density remains constant while size is greater than zero. Once size reaches zero, both size and density are set to undefined.
When using the consumption type Predation with an ordered list of prey forage, the process of keeping a running tally of prey consumed is the same as with Browsing. Instead of a change in size as is the case with Browsing, a change in density occurs.
| PreyConsumed_{Rule Running Sum}= \sum_{t=1}^{t} PreyConsumed_{All Classes}+Prey_{Class-Avail}-Consumption_{Rule} |
If there is any prey forage remaining for a prey class after the predator has finished eating, it is divided by the amount of forage of a single prey member to calculate a count of prey class remaining. This value is then divided by the area of the model element to calculate density.
| Count_{Class-Uneaten}=Prey_{Class-Uneaten}/Prey_{Individual} |
| Density_{Class}=Count_{Class-Uneaten}/Area |
The size of remaining prey individuals remains unchanged until density reaches zero at which point both size and density are set to undefined.
Simulation Output
After a simulation is computed with consumption rules, the results can be observed via animations in the Simulation Map. Predation results from consumption rules are generated in the results Simulation HDF tables.
The following output tables can be evaluated for Consumption Rule results.
ConsumptionPredator - This table contains the total food consumed by the predator in forage project units.
ConsumptionPrey - This table contains the total prey consumed for the given community size-class in forage project units.
Size - Tables for size at the community and size class levels of both predator and prey can be reviewed to understand the changes in size related to consumption.
<Consumption Project Unit Name> - Total consumption unit quantity can be found in tables named for the given unit. There will be a consumption unit table containing community aggregated values at the community ProjectUnit folder level. There will also be a table containing values for all community size classes that have consumption rules in the size class ProjectUnit folder. In examples described previously where Biomass was used for the consumption rule Consumption Units, the output project unit tables would be named Biomass.
Animating the Instinctual Rule
The simulation map animation layer can be used to evaluate consumption totals and timelines of community response to consumption.
Community - This can be set to be the community or community-size class of predator or prey
Consumption: Prey Total - This radio button option becomes available for animation when a prey community or community-size class is selected. It will show the magnitude of forage eaten, in forage units, for the selected Community.
Consumption: Predator Total - This radio button option becomes available for visualization when a predator community or community-size class is selected. It will show the magnitude of all forage eaten, in forage units, for the selected Community.
When the Display Size as Project Unit checkbox option is selected and the radio button Model Variable is set to Size, the consumption rule’s consumption units can be animated.