Streeter-Phelps Oxygen Model

The Streeter-Phelps oxygen dynamics model was originally developed in 1925, almost a century ago.

Play

You can explore the model by hitting the simulate button, and you can use the three sliders below to (i) switch the spill on or off (1 or 0); (ii) define the day when the spill occurs (0 to 15); and (iii) make the model use a constant water temperature (20oC) or a (pre-defined) variable one.

A variable temperature affects oxygen saturation, and therefore also the oxygen deficit and oxygen concentration.

Every model element shows an = sign when you hover over it, and if you click the sign you can view the underlying equation.

If you want to edit the model, you need to create an account in InsightMaker and then clone the model and adapt it to your needs.

Study

Below is a detailed explanation of the model concept.

The model calculates the oxygen deficit (D), defined as Cs-C, where Cs is the saturation concentration of dissolved oxygen (based on temperature, and salinity if applicable), and C is the dissolved oxygen concentration.

Since D = Cs-C, it follows that:

dD/dt = -dC/dt

The rate of change of oxygen concentration with time (dC/dt) depends on two factors, organic decomposition and aeration.

dC/dt = Ka.D - Kd.L

The first term on the right side of the equation is aeration (which adds oxygen to the water), calculated by means of the temperature-dependent aeration parameter Ka.

Ka is also a function of Kr, which depends on wind speed (U) and water depth (z).

The sink term represents oxygen consumption through mineralization (bacterial decomposition) of organic matter.

The organic load L decays in time (or in space, e.g. along a river) according to a first order equation, i.e. dL/dt = -Kd.L

This equation can be integrated to yield L = Lo.exp(Kd.t), where Kd is the decay constant.

Play

You can explore the model by hitting the simulate button, and you can use the three sliders below to (i) switch the spill on or off (1 or 0); (ii) define the day when the spill occurs (0 to 15); and (iii) make the model use a constant water temperature (20oC) or a (pre-defined) variable one.

A variable temperature affects oxygen saturation, and therefore also the oxygen deficit and oxygen concentration.

Every model element shows an = sign when you hover over it, and if you click the sign you can view the underlying equation.

If you want to edit the model, you need to create an account in InsightMaker and then clone the model and adapt it to your needs.

Study

Below is a detailed explanation of the model concept.

The model calculates the oxygen deficit (D), defined as Cs-C, where Cs is the saturation concentration of dissolved oxygen (based on temperature, and salinity if applicable), and C is the dissolved oxygen concentration.

Since D = Cs-C, it follows that:

dD/dt = -dC/dt

The rate of change of oxygen concentration with time (dC/dt) depends on two factors, organic decomposition and aeration.

dC/dt = Ka.D - Kd.L

The first term on the right side of the equation is aeration (which adds oxygen to the water), calculated by means of the temperature-dependent aeration parameter Ka.

Ka is also a function of Kr, which depends on wind speed (U) and water depth (z).

The sink term represents oxygen consumption through mineralization (bacterial decomposition) of organic matter.

The organic load L decays in time (or in space, e.g. along a river) according to a first order equation, i.e. dL/dt = -Kd.L

This equation can be integrated to yield L = Lo.exp(Kd.t), where Kd is the decay constant.