Dissolved Oxygen Sag Calculator
Use the classic Streeter–Phelps model to estimate how dissolved oxygen falls and recovers downstream from a wastewater discharge or other biodegradable organic load.
How this dissolved oxygen sag calculator works
Dissolved oxygen, often shortened to DO, is one of the clearest indicators of stream health. Fish, insects, and aerobic microbes all depend on oxygen dissolved in the water column, so a river can look full and fast while still being stressed if its oxygen concentration is low. A sag curve appears when biodegradable waste enters a stream and microbes begin consuming oxygen as they decompose that material. At the same time, the stream is trying to refill itself from the atmosphere through reaeration. The result is a competition: one process pulls oxygen down, the other pushes it back up. This calculator helps you estimate where that dip is likely to occur and how deep it may become.
The Streeter–Phelps equation is still taught because it captures that competition with a compact, understandable model. It is not a full watershed simulator, and it does not replace field measurements, but it remains an excellent first step when you want to understand the direction and scale of a dissolved oxygen problem. If you are learning water quality engineering, this tool lets you see how changing a rate constant or flow velocity changes the downstream outcome. If you work with permit reviews, restoration planning, or river studies, it offers a quick screening estimate before moving to more detailed models.
Why oxygen sag matters in real streams
The idea of an oxygen sag curve comes from early twentieth century river studies, including famous work on the Ohio River, where municipal and industrial discharges created reaches with chronically low oxygen. Once organic matter is added to flowing water, bacteria begin oxidizing it. That biochemical oxygen demand, or BOD, consumes the oxygen that fish and other organisms would otherwise use. If the stream is shallow, turbulent, and fast, oxygen from the air can re-enter relatively quickly. If the stream is deep, slow, warm, or heavily loaded with waste, oxygen recovery may be too slow to prevent ecological damage.
That balance has practical consequences. Many aquatic organisms become stressed when DO drops below about 5 mg/L, and severe impairment can occur at even lower concentrations. Wastewater treatment upgrades, aeration structures, discharge timing, and flow management are all attempts to influence the same basic picture shown by a sag curve. In short, the model matters because it connects human actions upstream to habitat quality farther downstream.
The Streeter–Phelps equation
The model tracks the deficit between the saturation concentration and the actual concentration . It combines an exponential decay of the initial deficit with a term representing the oxygen demand exerted over time. In MathML form, the equation is expressed as
Formula: D = (DO_sat - DO_0) e^-k2t + (L 0 k 1) / (k 2 - k 1) (e^-k1t - e^-k2t)
Here is the ultimate BOD remaining right after the waste enters the stream, is the deoxygenation rate constant, is the reaeration rate constant, and is the travel time in days. Once is known, the predicted dissolved oxygen concentration is simply .
Converting distance to time requires knowing how fast the water is moving. Velocity in meters per second times travel time in seconds equals the distance in meters. This calculator uses the entered velocity and downstream distance to determine in days:
Formula: t = (d × 1000) / (v × 86400)
where is distance in kilometers and is velocity in meters per second. The factor 86400 converts seconds to days. The model also predicts the critical time when the deficit reaches a maximum, occurring at
Formula: t_crit = (ln(k_2 / k_1)) / (k_2 - k_1)
and a corresponding critical distance . Knowing where the lowest oxygen will occur helps planners decide where to monitor, where to focus mitigation, and whether a sensitive reach may be at risk.
What each input means in plain language
If you are new to the equation, the inputs are easier to understand if you picture a specific river reach. First, choose the dissolved oxygen saturation concentration for the temperature you care about. This is the highest concentration the water could hold under those conditions. Then enter the actual dissolved oxygen concentration immediately after mixing with the discharge. The difference between those two values is the initial deficit. Next, enter the ultimate BOD load and the two first-order rate constants that describe how quickly oxygen demand is exerted and how quickly oxygen is replenished from the atmosphere.
- Dissolved oxygen saturation is the upper limit for DO at the chosen water temperature and atmospheric conditions.
- Initial dissolved oxygen is the stream DO just after the discharge has mixed into the flow.
- Ultimate BOD L₀ is the biodegradable oxygen demand that remains at the start of the modeled reach.
- Deoxygenation rate k₁ describes how quickly that oxygen demand is consumed by biological activity.
- Reaeration rate k₂ describes how quickly oxygen is transferred from the air back into the water.
- Stream velocity converts downstream distance into travel time, which controls how long the competing processes act.
- Distance downstream is the point where you want the calculator to estimate DO and oxygen deficit.
Notice that some inputs push the result in opposite directions. A larger BOD load or higher k₁ generally deepens the sag because oxygen is consumed more aggressively. A larger k₂ usually lifts the curve because the stream recovers faster. Velocity can work in a less obvious way: faster water shortens travel time to a given distance, which often means the water has had less time to lose oxygen before it reaches that point, even though fast turbulent flow may also increase reaeration in reality.
Worked example
Suppose a reach has a saturation concentration of 9 mg/L, an initial DO of 8 mg/L, an ultimate BOD of 20 mg/L, a deoxygenation rate of 0.30 day⁻¹, a reaeration rate of 0.50 day⁻¹, an average velocity of 0.5 m/s, and you want the prediction 5 km downstream. The travel time is about 0.116 days. With those values, the deficit is a little over 1.6 mg/L and the predicted DO is roughly 7.4 mg/L. That is still comfortably above a common 5 mg/L stress threshold, so the stream has not crashed at that location, but it has moved farther away from saturation than it was at the outfall.
That same example also shows why critical distance matters. The deepest sag may occur much farther downstream than the single point you first check. If the current is moderate and reaeration is only modestly stronger than deoxygenation, the lowest oxygen location can be many kilometers away from the source. This is exactly why stream managers monitor beyond the discharge pipe rather than just at it. A reach can appear acceptable immediately after mixing and still become more vulnerable farther downstream as oxygen demand continues to act.
Example scenarios
The table below illustrates how different parameter choices influence the downstream oxygen level five kilometers from a discharge. The baseline assumes a modest waste load, warm-water reaeration rate, and slow current. Increasing the flow velocity shortens travel time so the system reaches the checkpoint sooner. A higher reaeration constant, which might arise in a turbulent riffle, also limits the drop in DO. Conversely, heavy organic loading or sluggish water deepens and extends the sag.
| Scenario | k₁ (day⁻¹) | k₂ (day⁻¹) | Velocity (m/s) | Predicted DO (mg/L) |
|---|---|---|---|---|
| Baseline | 0.30 | 0.50 | 0.5 | 6.9 |
| Faster flow | 0.30 | 0.50 | 1.0 | 7.7 |
| More reaeration | 0.30 | 0.80 | 0.5 | 7.5 |
| High BOD | 0.30 | 0.50 | 0.5 | 5.8 |
How to interpret the result
The calculator returns the predicted dissolved oxygen concentration at your chosen distance, along with the corresponding oxygen deficit and the approximate critical distance where the minimum is expected. The DO number is usually the easiest quantity to read first. Higher is generally better, although the ecological meaning depends on species, temperature, and the duration of low oxygen. The deficit tells you how far the stream remains below saturation. A large deficit means the water still has a strong need for oxygen even if the absolute DO has not yet become catastrophic.
Context matters. A predicted DO near or below 5 mg/L may signal stress for many fish species, especially in warm water or when low oxygen persists. Values below 3 mg/L often indicate serious impairment. On the other hand, if the model predicts healthy oxygen at your chosen point but the critical distance is farther downstream, you should not assume the entire reach is safe. The most important question is often not just what happens here, but where the lowest point occurs and whether sensitive habitats lie near that location.
Assumptions and limits
Like every screening model, Streeter–Phelps rests on simplifying assumptions. It assumes steady conditions, a single effective waste input, complete mixing, constant rate coefficients, and first-order kinetics. It does not explicitly represent photosynthesis, respiration cycles over day and night, sediment oxygen demand, tributary inflows, dams, algal blooms, temperature shifts along the reach, or multiple discharges entering at different points. Those omissions do not make the calculator useless; they simply define what kind of question it answers well.
Use the output as an informed estimate rather than a guarantee. Field-derived k values can vary a lot with depth, turbulence, channel shape, temperature, and the character of the waste itself. Laboratory BOD measurements may not perfectly reflect what happens in the actual river at the time of concern. The calculator is best used to compare scenarios, build intuition, and identify whether a more detailed study is warranted. In that role, it is extremely valuable because it makes the cause-and-effect structure of oxygen depletion easy to see.
Using the calculator effectively
For a quick scenario test, enter the best available estimates for oxygen saturation, initial DO, remaining ultimate BOD, k₁, k₂, velocity, and distance, then press Calculate. The tool reports the predicted dissolved oxygen at that point and the estimated location of the minimum. If you are comparing options, change one input at a time so you can see what is driving the result. For example, lowering L₀ simulates better treatment, while increasing k₂ can mimic a more turbulent or aerated reach. The Copy Result button lets you transfer the text into notes, a lab write-up, or a planning memo.
Understanding oxygen sag curves has practical value well beyond the classroom. Engineers design weirs, cascades, and mechanical aeration systems partly to increase reaeration. Treatment plant upgrades reduce the oxygen demand that enters the stream in the first place. Ecologists use predicted sag locations to prioritize habitat surveys and to interpret fish community changes. Even though modern water quality models can be much more detailed, this classic equation still earns its place because it teaches the central insight clearly: dissolved oxygen is shaped by both how much demand remains and how quickly the river can recover.
Enter stream and waste parameters
Optional mini-game: Oxygen Sag Rescue Run
This arcade mini-game turns the same water-quality idea into a fast, visual challenge. A parcel of river water moves downstream while red waste plumes pull oxygen down and blue riffles help it recover. Your job is to place timed aeration bursts ahead of the parcel so its dissolved oxygen stays safely above 5 mg/L. The mechanic mirrors the calculator itself: heavy oxygen demand deepens the sag, while quicker reaeration helps the stream bounce back. The game reads your current calculator inputs when a run starts, so a bigger BOD load or weaker reaeration creates a tougher river.
Educational takeaway: a stream recovers fastest when reaeration can keep up with the oxygen demand created by remaining BOD.
