Download PDF
Download page Logic.
Logic
Again, there are two phases for entering information about ecology into an EFMSim application (see Software Overview section). The first involves creating and characterizing Communities. The second involves defining the logic that governs community behaviors during simulations. This is the most complicated aspect of EFMSim modeling. There are 15 interfaces associated with logic. Twelve are for rules and the other three are Model Variable Calculator, Hatchery Editor, and Sensitivity Variables.
Use of all logic features is not required. Each feature covers a different ecosystem dynamic. Logic features are considered in a fixed order during simulations (Figure). Table includes a list of rules and other logic features.

Figure. Order of logic application and related processes in EFMSim.
Table. Rules and other logic interfaces with associated parameters and description.
Rule | Parameters | Description |
Recruitment | name, community, season, inhabited recruitment setting, condition(s), expression | Recruits new members of community when conditions are met |
Reproduction | name, community, class, reproduction setting for constant rate with seasonality or rate per paired data relating variable and reproduction rate with seasonality | Adds new members of community per rule settings |
Kill Boost | name, community, variable picker, undefined value setting, class, season, interpolation setting, paired data relating variable and percent stress | Generates stresses for community-classes based on user-selected variable. Summed stresses greater than 100% cause mortality |
Growth | name, community, class, season, growth value as multiplicative rate or equation | Grows communities per time step |
Succession | name, “from” community-class, “to” community class, method with choice of units and fraction as needed, condition(s), expression | Controls transitions between communities when conditions are met |
Spreading | name, community, class, detailed output option, graduation option, spreading trigger, spreading method and reset date if needed, seasonal base movement rate with interpolation option, factor(s) influencing spread with weight, strengths, and seasonality | Spreads existing Community-Classes to neighboring elements that are not already inhabited by that community-class. Spreading rates can be adjusted by environmental factors and season |
Scripted | name, script | User-coded rules applied during simulations |
Instinctual | name, community, class, instinctual locations, seasonality, weight, dissipation | Produces attractions for community-class based on user-specified locations |
Forage | name, community, class, forage sources, forage units, strengths, seasonality, weight, dissipation | Produces attractions for the community-class based on available forage |
Road | name, community, class, length-adjusted option, seasonal and time of day paired data relating road type and mortality, seasonal and time of day paired data relating road type and strength of attraction, weight, dissipation | Provides per road type mortality rates applied to mobile communities crossing roads and produces attractions for community-class |
Density | name, community, class, seasonal paired data relating density and strength with interpolation option, weight, dissipation | Produces attractions for the community-class based on its own community-class density |
Consumption | name, community, class, setting for constant rate of consumption or rate per paired data relating variable with seasonality, consumption units, consumption type, consumption efficiency, consumption preference | Controls how much is consumed and in what order by the community-class. Includes option to grow community-class based on how much is consumed |
Hatcheries | plan name, hatchery, collections – date/time, zone, community, class, mortality, mode, plantings – date/time, zone, community, class, number, size | Collects and plants members of community-classes |
Sensitivities | list of variables identified as uncertain with associated distribution types and parameters | Identifies uncertain parameters and characterizes uncertainty with variety of statistical distributions |
MVC | name, statistical queries or expression | Creates variables that can be computed on-the-fly during simulations and used in logic |