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