Primary production model with phytoplankton as a state variable, force by light and nutrients. Model expanded to include bivalves.
Primary production model with phytoplankton as a state variable, force by light and nutrients. Model expanded to include bivalves.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale.  We incorporate logistic growth into the moose dynamics, and we replace the death flow of the moose with a kill rate modeled from the kill rate data found on the Isle Royale websi
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale.

We incorporate logistic growth into the moose dynamics, and we replace the death flow of the moose with a kill rate modeled from the kill rate data found on the Isle Royale website.

I start with these parameters:
Wolf Death Rate = 0.15
Wolf Birth Rate = 0.0187963
Moose Birth Rate = 0.4
Carrying Capacity = 2000
Initial Moose: 563
Initial Wolves: 20

I used RK-4 with step-size 0.1, from 1959 for 60 years.

The moose birth flow is logistic, MBR*M*(1-M/K)
Moose death flow is Kill Rate (in Moose/Year)
Wolf birth flow is WBR*Kill Rate (in Wolves/Year)
Wolf death flow is WDR*W

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.
 This stock and flow diagram is an updated working draft of a conceptual model of a dune-lake system in the Northland region of New Zealand.

This stock and flow diagram is an updated working draft of a conceptual model of a dune-lake system in the Northland region of New Zealand.

•Average
(Status Quo) Case

 –Last
30 years of historical EAA data  

 –Used
the past to predict the future 

 –Represents
the status quo case 

 –Includes
the dry portion  and wet portion of AMO
cycle
•Average (Status Quo) Case
–Last 30 years of historical EAA data
–Used the past to predict the future
–Represents the status quo case
–Includes the dry portion  and wet portion of AMO cycle
Simple model to illustrate oyster growth based on primary production of Phytoplankton as a state variable, forced by light and nutrients, running for a yearly period.  Phytoplankton growth based on on Steele's and Michaelis-Menten equations), where:   Primary Production=(([Pmax]*[I]/[Iopt]*exp(1-[I]
Simple model to illustrate oyster growth based on primary production of Phytoplankton as a state variable, forced by light and nutrients, running for a yearly period.

Phytoplankton growth based on on Steele's and Michaelis-Menten equations), where: 

Primary Production=(([Pmax]*[I]/[Iopt]*exp(1-[I]/[Iopt])*[S])/([Ks]+[S]))

Pmax: Maximum production (d-1)
I: Light energy at depth of interest (uE m-2 s-1)
Iopt: Light energy at which Pmax occurs (uE m-2 s-1)
S: Nutrient concentration (umol N L-1)
Ks: Half saturation constant for nutrient (umol N L-1).

Further developments:
- Nutrients as state variable in cycle with detritus from phytoplankton and oyster biomass.
- Light limited by the concentration of phytoplankton.
- Temperature effect on phytoplankton and Oyster growth.


In Chile,  60% of its population are exposed to levels of Particulate Matter (PM) above international standards . Air Pollution is causing  4,000 premature deaths per year , including health costs over US$8 billion.    The System Dynamics Causal Loop Diagram developed herein shows an initial study o
In Chile, 60% of its population are exposed to levels of Particulate Matter (PM) above international standards. Air Pollution is causing 4,000 premature deaths per year, including health costs over US$8 billion.

The System Dynamics Causal Loop Diagram developed herein shows an initial study of the dynamics among the variables that influences the accumulation of PM in the air, in particular the case of Temuco, in the South of Chile. In Temuco, 97% of the PM inventories comes from the combustion of low quality firewood, which in turns is being burned due to its low price and cultural habits/tradition.
In Chile,  60% of its population are exposed to levels of Particulate Matter (PM) above international standards . Air Pollution is causing  4,000 premature deaths per year , including health costs over US$8 billion.    The System Dynamics Causal Loop Diagram developed herein shows an initial study o
In Chile, 60% of its population are exposed to levels of Particulate Matter (PM) above international standards. Air Pollution is causing 4,000 premature deaths per year, including health costs over US$8 billion.

The System Dynamics Causal Loop Diagram developed herein shows an initial study of the dynamics among the variables that influences the accumulation of PM in the air, in particular the case of Temuco, in the South of Chile. In Temuco, 97% of the PM inventories comes from the combustion of low quality firewood, which in turns is being burned due to its low price and cultural habits/tradition.
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.
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.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at  https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions  Thanks Scott Fortmann-Roe.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at
https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions
Thanks Scott Fortmann-Roe.

I've created a Mathematica file that replicates the model, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker.nb

It allows one to experiment with adjusting the initial number of moose and wolves on the island.

I used steepest descent in Mathematica to optimize the parameters, with my objective data being the ratio of wolves to moose. You can try my (admittedly) kludgy code, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker-BestFit.nb

{WolfBirthRateFactorStart,
WolfDeathRateStart,
MooseBirthRateStart,
MooseDeathRateFactorStart,
moStart,
woStart} =
{0.000267409,
0.239821,
0.269755,
0.0113679,
591,
23.};

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)
 Students in ENVS 270 Online at the University of Arizona: please click Clone Insight at the top to make an editable copy of this model.    As initially proposed by Pr. William M White of Cornell University:    http://www.geo.cornell.edu/eas/education/course/descr/EAS302/302_06Lab11.pdf    http://ww
Students in ENVS 270 Online at the University of Arizona: please click Clone Insight at the top to make an editable copy of this model.

As initially proposed by Pr. William M White of Cornell University:
This model is based off Meadows economic capital with reinforcing growth loop constrained by a renewable resource model.
This model is based off Meadows economic capital with reinforcing growth loop constrained by a renewable resource model.
The simulation integrates or sums (INTEG) the Nj population, with a change of Delta N in each generation, starting with an initial value of 5. The equation for DeltaN is a version of  Nj+1 = Nj  + mu (1- Nj / Nmax ) Nj  the maximum population is set to be one million, and the growth rate constant mu
The simulation integrates or sums (INTEG) the Nj population, with a change of Delta N in each generation, starting with an initial value of 5.
The equation for DeltaN is a version of 
Nj+1 = Nj  + mu (1- Nj / Nmax ) Nj
the maximum population is set to be one million, and the growth rate constant mu = 3.
 
Nj: is the “number of items” in our current generation.

Delta Nj: is the “change in number of items” as we go from the present generation into the next generation. This is just the number of items born minus the number of items who have died.

mu: is the growth or birth rate parameter, similar to that in the exponential growth and decay model. However, as we extend our model it will no longer be the actual growth rate, but rather just a constant that tends to control the actual growth rate without being directly proportional to it.

F(Nj) = mu(1‐Nj/Nmax): is our model for the effective “growth rate”, a rate that decreases as the number of items approaches the maximum allowed by external factors such as food supply, disease or predation. (You can think of mu as the growth or birth rate in the absence of population pressure from other items.) We write this rate as F(Nj), which is a mathematical way of saying F is affected by the number of items, i.e., “F is a function of Nj”. It combines both growth and all the various environmental constraints on growth into a single function. This is a good approach to modeling; start with something that works (exponential growth) and then modify it incrementally, while still incorporating the working model.

Nj+1 = Nj + Delta Nj : This is a mathematical way to say, “The new number of items equals the old number of items plus the change in number of items”.

Nj/Nmax: is what fraction a population has reached of the maximum "carrying capacity" allowed by the external environment. We use this fraction to change the overall growth rate of the population. In the real world, as well as in our model, it is possible for a population to be greater than the maximum population (which is usually an average of many years), at least for a short period of time. This means that we can expect fluctuations in which Nj/Nmax is greater than 1.

This equation is a form of what is known as the logistic map or equation. It is a map because it "maps'' the population in one year into the population of the next year. It is "logistic'' in the military sense of supplying a population with its needs. It a nonlinear equation because it contains a term proportional to Nj^2 and not just Nj. The logistic map equation is also an example of discrete mathematics. It is discrete because the time variable j assumes just integer values, and consequently the variables Nj+1 and Nj do not change continuously into each other, as would a function N(t). In addition to the variables Nj and j, the equation also contains the two parameters mu, the growth rate, and Nmax, the maximum population. You can think of these as "constants'' whose values are determined from external sources and remain fixed as one year of items gets mapped into the next year. However, as part of viewing the computer as a laboratory in which to experiment, and as part of the scientific process, you should vary the parameters in order to explore how the model reacts to changes in them.
 A simulation illustrating simple predator prey dynamics. You have two populations.

A simulation illustrating simple predator prey dynamics. You have two populations.

European Masters in System Dynamics 2016 New University of Lisbon, Portugal  Simple model to represent oyster individual growth by simulating feeding and metabolism.
European Masters in System Dynamics 2016
New University of Lisbon, Portugal

Simple model to represent oyster individual growth by simulating feeding and metabolism.