Insight diagram
This model provides a dynamic simulation of the Sverdrup (1953) paper on the vernal blooming of phytoplankton.

The model simulates the dynamics of the mixed layer over the year, and illustrates how it's depth variation leads to conditions that trigger the spring bloom. In order for the bloom to occur, production of algae in the water column must exceed respiration.

This can only occur if vertical mixing cannot transport algae into deeper, darker water, for long periods, where they are unable to grow.

Sverdrup, H.U., 1953. On conditions for the vernal blooming of phytoplankton. J. Cons. Perm. Int. Exp. Mer, 18: 287-295
Blooming of phytoplankton & Oyster growth
Insight diagram
This diagram provides a stylised description of important feedbacks within a shallow-lake system.
Mahinga Kai
Key feedbacks in a shallow lake relating to Koura
Insight diagram
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.
Clone of Simple phytoplankton and oyster model
Insight diagram

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.

Modèle simple pour illustrer la croissance des huîtres sur la base de la production primaire de phytoplancton comme une variable d'état, forcé par la lumière et les éléments nutritifs, en cours d'exécution pour une période annuelle.

La croissance du phytoplancton sur la base de Steele et équations de Michaelis-Menten), où:

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

Pmax: production maximale (d-1)
I: L'énergie lumineuse en profondeur de l'intérêt (Ue m-2 s-1)
Iopt: L'énergie lumineuse à laquelle se produit Pmax (Ue m-2 s-1)
S: concentration des éléments nutritifs (N umol L-1)
KS: Demi constants de saturation en nutriments (N umol L-1).

D'autres développements:
- Les éléments nutritifs comme variable d'état dans le cycle de détritus de phytoplancton et d'huîtres de la biomasse.
- Lumière limitée par la concentration de phytoplancton.
- Effet de la température sur le phytoplancton et la croissance des huîtres.

Clone of Clone of Oyster Growth based on Phytoplankton Biomass
Insight diagram
Clone of EA sustainability take 2
Insight diagram
Clone of Water Pollution
Insight diagram
Clone of Plastic Pollution Solution Revolution
Insight diagram
This model implements the one-dimensional version of the advection-dispersion equation for an estuary.

It develops the basic 1D model by simulating the mass of salt rather than the concentration. This makes it straightforward to deal with multiple boxes of different volume.

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 upper 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.

The lower slider allows you to simulate a variable river flow, and understand how dispersion compensates for changes in freshwater input.
Estuarine salinity 1D volume model
Insight diagram
By Austin Wallace, Michelle Tomaszewski, and Ravish Sharma
Synthetic meat disrupting the beef industry - Solution
Insight diagram
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

Clone of Midterm - Hollings Type III Model
Insight diagram
Clone of Assignment 2_Shahrukh Kamran_HNEE
Insight diagram
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.
Clone of Clone of Clone of NPD model (Nutrients, Phytoplankton, Detritus)
Insight diagram
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

Clone of Clone of Final Midterm Student version of A More Realistic Model of Isle Royale: Predator Prey Interactions
Insight diagram
The beginning of a systems dynamics model for teaching NRM 320.
Clone of Insight Starting Guide for NRM 320
Insight diagram

This insight displays some of the main factors effecting the decreasing koala population in South East Queensland, the measures put in place to stop their extinction, and the possible measures that could be taken to further help the conservation effort.
Koala Population South East Queensland
Insight diagram
This diagram provides a stylised description of important feedbacks within a shallow-lake system.
Mahinga Kai
Clone of Clone of Key feedbacks in a shallow lake relating to Koura
Insight diagram
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.
Clone of NPD model (Nutrients, Phytoplankton, Detritus)
Insight diagram
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.

Thanks to Jacob Englert for the model if-then-else structure.

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

Clone of MAT 375 Midterm file: Model of Isle Royale: Predator Prey Interactions
Insight diagram
M.Sc. in Environmental Engineering SIMA 2018
New University of Lisbon, Portugal

 Model to represent oyster individual growth by simulating feeding and metabolism. Model (i) partitions metabolic costs into feeding and fasting catabolism; (ii) adds allometry to clearance rate; (iii) adds temperature dependence to clearance rate; (iv) illustrates how clearance rate per gram is used if we multiply by the oyster biomass
SIMA 2018 full
Insight diagram
Two households with PV systems and Electric Vehicles, sharing a battery and connected to the grid. What are the advantages?


Clone of Vehicle to Grid Simulation
Insight diagram
Clone of Plastic Pollution Solution Revolution
Insight diagram
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.
Clone of Vollenweider model
Insight diagram
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.
Clone of NPD model (Nutrients, Phytoplankton, Detritus)
Insight diagram
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.
Clone of Estuarine salinity 1 box model (J. Gomes Ferreira)