Simple mass balance model for lakes, based on the Vollenweider equation:  dMw/dt = Min - sMw - Mout  The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.
Simple mass balance model for lakes, based on the Vollenweider equation:

dMw/dt = Min - sMw - Mout

The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.
Simple conceptual site model of AFFF PFAS site contamination fluxes.
Simple conceptual site model of AFFF PFAS site contamination fluxes.
Simple mass balance model for lakes, based on the Vollenweider equation:  dMw/dt = Min - sMw - Mout  The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.
Simple mass balance model for lakes, based on the Vollenweider equation:

dMw/dt = Min - sMw - Mout

The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.
This model implements the one-dimensional version of the advection-dispersion equation for an estuary. The equation is:  dS/dt = (1/A)d(QS)/dx - (1/A)d(EA)/dx(dS/dx) (Eq. 1)  Where S: salinity (or any other constituent such as chlorophyll or dissolved oxygen), (e.g. kg m-3); t: time (s); A: cross-se
This model implements the one-dimensional version of the advection-dispersion equation for an estuary. The equation is:

dS/dt = (1/A)d(QS)/dx - (1/A)d(EA)/dx(dS/dx) (Eq. 1)

Where S: salinity (or any other constituent such as chlorophyll or dissolved oxygen), (e.g. kg m-3); t: time (s); A: cross-sectional area (m2); Q: river flow (m3 s-1); x: length of box (m); E: dispersion coefficient (m2 s-1).

For a given length delta x, Adx = V, the box volume. For a set value of Q, the equation becomes:

VdS/dt = QdS - (d(EA)/dx) dS (Eq. 2)

EA/x, i.e. (m2 X m2) / (m s) = E(b), the bulk dispersion coefficient, units in m3 s-1, i.e. a flow, equivalent to Q

At steady state, dS/dt = 0, therefore we can rewrite Eq. 2 for one estuarine box as:

Q(Sr-Se)=E(b)r,e(Sr-Se)-E(b)e,s(Se-Ss) (Eq. 3)

Where Sr: river salinity (=0), Se: mean estuary salinity; Ss: mean ocean salinity

E(b)r,e: dispersion coefficient between river and estuary, and E(b)e,s: dispersion coefficient between the estuary and ocean.

By definition the value of E(b)r,e is zero, otherwise we are not at the head (upstream limit of salt intrusion) of the estuary. Likewise Sr is zero, otherwise we're not in the river. Therefore:

QSe=E(b)e,s(Se-Ss) (Eq. 4)

At steady state

E(b)e,s = QSe/(Se-Ss) (Eq 5)

The longitudinal dispersion simulates the turbulent mixiing of water in the estuary during flood and ebb, which supplies salt water to the estuary on the flood tide, and make the sea a little more brackish on the ebb.

You can use the slider to turn off dispersion (set to zero), and see that if the tidal wave did not mix with the estuary water due to turbulence, the estuary would quickly become a freshwater system.
Simple mass balance model for lakes, based on the Vollenweider equation:  dMw/dt = Min - sMw - Mout  The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.
Simple mass balance model for lakes, based on the Vollenweider equation:

dMw/dt = Min - sMw - Mout

The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.
 This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale.  Experiment with adjusting the initial number of moose and wolves on the island.

This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale.

Experiment with adjusting the initial number of moose and wolves on the island.

This model implements the one-dimensional version of the advection-dispersion equation for an estuary. The equation is:  dS/dt = (1/A)d(QS)/dx - (1/A)d(EA)/dx(dS/dx) (Eq. 1)  Where S: salinity (or any other constituent such as chlorophyll or dissolved oxygen), (e.g. kg m-3); t: time (s); A: cross-se
This model implements the one-dimensional version of the advection-dispersion equation for an estuary. The equation is:

dS/dt = (1/A)d(QS)/dx - (1/A)d(EA)/dx(dS/dx) (Eq. 1)

Where S: salinity (or any other constituent such as chlorophyll or dissolved oxygen), (e.g. kg m-3); t: time (s); A: cross-sectional area (m2); Q: river flow (m3 s-1); x: length of box (m); E: dispersion coefficient (m2 s-1).

For a given length delta x, Adx = V, the box volume. For a set value of Q, the equation becomes:

VdS/dt = QdS - (d(EA)/dx) dS (Eq. 2)

EA/x, i.e. (m2 X m2) / (m s) = E(b), the bulk dispersion coefficient, units in m3 s-1, i.e. a flow, equivalent to Q

At steady state, dS/dt = 0, therefore we can rewrite Eq. 2 for one estuarine box as:

Q(Sr-Se)=E(b)r,e(Sr-Se)-E(b)e,s(Se-Ss) (Eq. 3)

Where Sr: river salinity (=0), Se: mean estuary salinity; Ss: mean ocean salinity

E(b)r,e: dispersion coefficient between river and estuary, and E(b)e,s: dispersion coefficient between the estuary and ocean.

By definition the value of E(b)r,e is zero, otherwise we are not at the head (upstream limit of salt intrusion) of the estuary. Likewise Sr is zero, otherwise we're not in the river. Therefore:

QSe=E(b)e,s(Se-Ss) (Eq. 4)

At steady state

E(b)e,s = QSe/(Se-Ss) (Eq 5)

The longitudinal dispersion simulates the turbulent mixiing of water in the estuary during flood and ebb, which supplies salt water to the estuary on the flood tide, and make the sea a little more brackish on the ebb.

You can use the slider to turn off dispersion (set to zero), and see that if the tidal wave did not mix with the estuary water due to turbulence, the estuary would quickly become a freshwater system.
Very simple model demonstrating growth of phytoplankton using Steele's equation for potential production and Michaelis-Menten equation for nutrient limitation.  Both light and nutrients (e.g. nitrogen) are modelled as forcing functions, and the model is "over-calibrated" for stability.  The phytopla
Very simple model demonstrating growth of phytoplankton using Steele's equation for potential production and Michaelis-Menten equation for nutrient limitation.

Both light and nutrients (e.g. nitrogen) are modelled as forcing functions, and the model is "over-calibrated" for stability.

The phytoplankton model approximately reproduces the spring-summer diatom bloom and the (smaller) late summer dinoflagellate bloom.
 
Oyster growth is modelled only as a throughput from algae. Further developments would include filtration as a function of oyster biomass, oyster mortality, and other adjustments.
My AP Environmental Homework for the Cats Over Borneo Assignment
My AP Environmental Homework for the Cats Over Borneo Assignment
From Schluter et al 2017  article  A framework for mapping and comparing behavioural theories in models of social-ecological systems COMSeS2017  video .   See also Balke and Gilbert 2014 JASSS  article  How do agents make decisions? (recommended by Kurt Kreuger U of S)
From Schluter et al 2017 article A framework for mapping and comparing behavioural theories in models of social-ecological systems COMSeS2017 video. See also Balke and Gilbert 2014 JASSS article How do agents make decisions? (recommended by Kurt Kreuger U of S)
Simple model to illustrate Steele's equation for primary production of phytoplankton.  The equation is:  Ppot = Pmax I/Iopt exp(1-I/Iopt)  Where:  Ppot: Potential production (e.g. d-1, or mg C m-2 d-1) Pmax: Maximum production (same units as Ppot) I: Light energy at depth of interest (e.g. uE m-2 s-
Simple model to illustrate Steele's equation for primary production of phytoplankton.

The equation is:

Ppot = Pmax I/Iopt exp(1-I/Iopt)

Where:

Ppot: Potential production (e.g. d-1, or mg C m-2 d-1)
Pmax: Maximum production (same units as Ppot)
I: Light energy at depth of interest (e.g. uE m-2 s-1)
Iopt: Light energy at which Pmax occurs (same units as I)

The model contains no state variables, just illustrates the rate of production, by making the value of I equal to the timestep (in days). Move the slider to the left for more pronounced photoinhibition, to the right for photosaturation.
Simple model to illustrate Steele's equation for primary production of phytoplankton.  The equation is:  Ppot = Pmax I/Iopt exp(1-I/Iopt)  Where:  Ppot: Potential production (e.g. d-1, or mg C m-2 d-1) Pmax: Maximum production (same units as Ppot) I: Light energy at depth of interest (e.g. uE m-2 s-
Simple model to illustrate Steele's equation for primary production of phytoplankton.

The equation is:

Ppot = Pmax I/Iopt exp(1-I/Iopt)

Where:

Ppot: Potential production (e.g. d-1, or mg C m-2 d-1)
Pmax: Maximum production (same units as Ppot)
I: Light energy at depth of interest (e.g. uE m-2 s-1)
Iopt: Light energy at which Pmax occurs (same units as I)

The model contains no state variables, just illustrates the rate of production, by making the value of I equal to the timestep (in days). Move the slider to the left for more pronounced photoinhibition, to the right for photosaturation.
This model implements the equations proposed by Ketchum in 1954. The rationale behind the concept is that only phytoplankton that grows above a certain rate will not be flushed out of an estuary.  For biological processes:  Pt  =  Po exp(kt)  Where Pt is the phytoplankton biomass at time t, Po is th
This model implements the equations proposed by Ketchum in 1954. The rationale behind the concept is that only phytoplankton that grows above a certain rate will not be flushed out of an estuary.

For biological processes:

Pt  =  Po exp(kt)

Where Pt is the phytoplankton biomass at time t, Po is the initial biomass, and k is the growth rate.

For physical processes:

Pm  =  Po (1-r)^m

Where Pm is the phytoplankton biomass after m tidal cycles, and r is the exchange ratio (proportion of estuary water which does not return each tidal cycle).

By substitution, and replacing t by m in the first equation, we get:

Pm = Poexp(km).(1-r)^m

For phytoplankton to exist in an estuary, Pm = Po (at least), i.e. 1 / (1-r)^m = exp(km)
ln(1) - m.ln(1-r) = km
-m.ln(1-r) = km
k = -ln(1-r)

Ketchum (1954) Relation between circulation and planktonic populations in estuaries. Ecology 35: 191-200.

In 2005, Ferreira and co-workers showed that this balance has direct implications on biodiversity of estuarine phytoplankton, and discussed how this could be relevant for water management, in particular for the EU Water Framework Directive 60/2000/EC (Ecological Modelling, 187(4) 513-523).
This model is a classic simulation of the production cycle in the ocean, including the effects of the thermocline in switching off advection of dissolved nutrients and detritus to the surface layer.  It illustrates a number of interesting features including the coupling of three state variables in a
This model is a classic simulation of the production cycle in the ocean, including the effects of the thermocline in switching off advection of dissolved nutrients and detritus to the surface layer.

It illustrates a number of interesting features including the coupling of three state variables in a closed cycle, the use of time to control the duration of advection, and the modulus function for cycling annual temperature data over multiple years.

The model state variables are expressed in nitrogen units (mg N m-3), and the calibration is based on:

Baliño, B.M. 1996. Eutrophication of the North Sea, 1980-1990: An evaluation of anthropogenic nutrient inputs using a 2D phytoplankton production model. Dr. scient. thesis, University of Bergen.
 
Fransz, H.G. & Verhagen, J.H.G. 1985. Modelling Research on the Production Cycle of Phytoplankton in the Southern Bight of the Northn Sea in Relation to Riverborne Nutrient Loads. Netherlands Journal of Sea Research 19 (3/4): 241-250.

This model was first implemented in PowerSim some years ago by one of my M.Sc. students, who then went on to become a Buddhist monk. Although this is a very Zen model, as far as I'm aware, the two facts are unrelated.
​Erroneous Model: 1) One link is not needed.  2) One link is presented incorrectly.  3) One link is missing.
​Erroneous Model:
1) One link is not needed.
2) One link is presented incorrectly.
3) One link is missing.
 Interplay between wolves eating sheep and farmers killing wolves.

Interplay between wolves eating sheep and farmers killing wolves.

This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale.  Experiment with adjusting the initial number of moose and wolves on the island.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale.

Experiment with adjusting the initial number of moose and wolves on the island.
Simple mass balance model for lakes, based on the Vollenweider equation:  dMw/dt = Min - sMw - Mout   The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.     This version uses nitrogen and adds phytoplankton growth b
Simple mass balance model for lakes, based on the Vollenweider equation:

dMw/dt = Min - sMw - Mout

The model was first used in the 1960s to determine the phosphorus concentration in lakes and reservoirs, for eutrophication assessment.

This version uses nitrogen and adds phytoplankton growth based on a Michaelis-Menten equation