2.2 Simulation Tiers
The WQ Module’s tiers are described below using the nomenclature of Figure 2.1. Every WQ Module simulation has the following tiers:
- Tier 1: Exactly one instance from a simulation class. This is user defined
- Tier 2: A suite of instances from a model class. The suite (and therefore number) of these instances is preset per simulation class. The exceptions to this are the phytoplankton and pathogen model classes, which when included in a simulation class can have as many instances within the suite as required by the user, with one instance (the default) per simulated phytoplankton or pathogen group
- Tier 3: Exactly one constituent model per model class instance (these are user selectable and there may be more than one constituent model available to choose from within a given model class instance)
- Tier 4: At least one computed variable per constituent model (the suite of computed variables is preset within each constituent model)

Figure 2.1: WQ Module tiers
Notwithstanding the above, a user need not specify any of the above in order to rapidly set up and execute a first pass WQ Module simulation. In this case, the WQ Module will automatically set the simplest instances of the simulation class, model classes, constituent models and computed variables by drawing on library defaults. Simulation tiers are described below.
2.2.1 Tier 1: Simulation Class
This is the highest and overarching tier of the WQ Module’s architecture. Using a single command, this tier sets the overall water quality simulation structure, including the suite of model classes to be deployed (with potentially multiple phytoplankton or pathogen model classes), and therefore the corresponding suite of constituent models and computed variables. The available simulation classes are provided in Table 2.1 as their keywords, together with example uses of each. The simulation class instances are cumulative, that is, a more complex class instance will include all the capability of simpler class instances. Complexity increases with table row in Table 2.1.
Simulation Class Instance | Potential Uses |
---|---|
DO |
Simulation of rudimentary dissolved oxygen dynamics such as: \(\cdot\quad\) Seasonal reservoir oxygen analyses \(\cdot\quad\) Agricultural drain oxygen analyses |
Inorganics |
Simulation of relatively simple aquatic ecosystems that experience primary productivity such as: \(\cdot\quad\) Smaller estuaries \(\cdot\quad\) Coastal ocean zones that are relatively free of organic materials or sediments \(\cdot\quad\) Mine voids |
Organics |
Simulation of more complex aquatic ecosystems such as: \(\cdot\quad\) Impacted lakes \(\cdot\quad\) Larger estuaries \(\cdot\quad\) Wetlands \(\cdot\quad\) Aquaculture operations \(\cdot\quad\) Environments receiving point and/or diffuse source organic pollutants |
Users can simply specify one preset simulation class (e.g. “
Simulation Class
and initial conditions, and the WQ Module will construct itself, execute and report simulation details via a log file. This initial level of simplicity is intended.
2.2.2 Tier 2: Model Class
Each simulation class instance contains a preset suite of model class instances. These suites cannot be changed (although there may be multiple phytoplankton or pathogen model class instances), and are provided in Table 2.2 and as a network in Figure 2.2. For example, simulation class instance “
Simulation Class Instance | Model Class Suite |
---|---|
DO |
\(\cdot\quad\) Oxygen \(\cdot\quad\) Pathogens (optional, potentially multiple) |
Inorganics |
\(\cdot\quad\) Oxygen \(\cdot\quad\) Silicate \(\cdot\quad\) Inorganic Nitrogen \(\cdot\quad\) Inorganic Phosphorus \(\cdot\quad\) Phytoplankton (potentially multiple) \(\cdot\quad\) Pathogens (optional, potentially multiple) |
Organics |
\(\cdot\quad\) Oxygen \(\cdot\quad\) Silicate \(\cdot\quad\) Inorganic Nitrogen \(\cdot\quad\) Inorganic Phosphorus \(\cdot\quad\) Organic Matter \(\cdot\quad\) Phytoplankton (potentially multiple) \(\cdot\quad\) Pathogens (optional, potentially multiple) |

Figure 2.2: WQ Module simulation class and model class instances
2.2.3 Tier 3: Constituent Model
Whilst the suite of model class instances is set per simulation class instance, constituent models are interchangeable within a model class. In this way, a simulation class instance (at Tier 1) can be customised at the constituent model tier (at Tier 3), despite having a preset suite of model classes (at Tier 2, with potentially multiple phytoplankton and/or pathogen model class instances). Available constituent models are provided in Table 2.3, and presented graphically in Figure 2.3 as a direct extension of Figure 2.2. Pathogen model classes (and therefore constituent models) are always optional.
Model Class | Available Constituent Models |
---|---|
Oxygen | O2 |
Silicate | Si |
Inorganic Nitrogen | AmmoniumNitrate |
Inorganic Phosphorus | FRPhs |
FRPhsAds | |
Organic Matter | Labile |
Refractory | |
Phytoplankton | Basic |
Advanced | |
Pathogens | Free |
Attached |

Figure 2.3: WQ Module simulation class and model class instances, with available constituent models
For example, multiple inorganic phosphorus constituent models are available within the inorganic phosphorus model class, where these models execute different water quality processes and contain different computed variables. In this example, this can be set with a single line command:
Inorganic Phosphorus Model
This allows a user to interchange one phosphorus constituent model for another within the inorganic phosphorus model class, thereby customising the overarching simulation class instance.
The environmental processes simulated within each constituent model are fixed. Despite this, these processes can nonetheless be switched on and off as required, offering an additional layer of customisation. For example, if oxygen is not required to be included in silicate sediment flux calculations, the linkage between these processes and oxygen can be turned off by setting:
Oxygen
Alternatively, if a user wishes to simulate all inorganic processes other than nitrification for example, then the rate describing this unwanted process can simply be set to zero (as per the following command - the first numerical argument is the nitrification rate) and it will be turned off. All library defaults also set rate processes to zero.
Nitrification
All processes included within each constituent model, and their respective WQ Module commands, are described in Sections 3 and 4, respectively.
2.2.4 Tier 4: Computed Variables
Each Tier 3 constituent model contains a fixed set of computed variables. Table 2.4 (which is a direct extension of Table 2.3) provides the mapping between model classes, constituent models and their associated computed variables. These maps are also provided graphically in Figure 2.4, which is an extension of Figure 2.3, but presented in a non-hierarchical form. Click or hover over nodes to track their paths up or down the simulation tree.
For clarity, Figure 2.4 (and elsewhere within this manual) uses acronyms for some computed variable names, and these acronyms are expanded in Appendix P. All references in this manual to “organic matter” are to labile organic computed variables, unless specifically termed as refractory.
Model Class | Available Constituent Models | Computed Variables |
---|---|---|
Oxygen | O2 | Dissolved oxygen |
Silicate | Si | Silicate |
Inorganic Nitrogen | AmmoniumNitrate |
Ammonium Nitrate |
Inorganic Phosphorus | FRPhs | Filterable Reactive Phosphorus (FRP) |
FRPhsAds |
FRP Adsorbed FRP |
|
Organic Matter | Labile | Labile dissolved and particulate organic carbon, nitrogen and phosphorus |
Refractory |
Labile dissolved and particulate organic carbon, nitrogen and phosphorus Refractory dissolved carbon, nitrogen and phosphorus and refractory particulate organic matter |
|
Phytoplankton | Basic | Phytoplankton concentration and optionally cell density |
Advanced | Phytoplankton concentration, internal nitrogen, internal phosphorus and optionally cell density | |
Pathogens | Free | Pathogen alive and dead concentrations |
Attached | Pathogen alive, attached and dead concentrations |

Figure 2.4: WQ Module simulation class and model class instances, available constituent models and computed variables
Parameters that govern the behaviour of computed variables are set within each constituent model. Parameters that are not set by the user are populated automatically from the WQ Module library defaults.