Streeter-Phelps DO Sag Calculator
Model the dissolved-oxygen sag downstream of an organic waste discharge using the classic Streeter–Phelps equation. Enter the ultimate BOD, the deoxygenation and reaeration rates, the initial deficit and the travel time to get the oxygen deficit, the dissolved oxygen, and the critical point where DO is lowest.
Enter Values
Before you rely on this: First-pass guide only. Verify safety-critical or regulated work against the relevant standards, your project requirements and a qualified professional.
How to use this calculator
- Enter the ultimate BOD L₀ of the mixed river-plus-effluent in mg/L, and the deoxygenation rate k_d and reoxygenation (reaeration) rate k_r in per-day units — the two rates must differ.
- Enter the initial oxygen deficit D₀ just below the discharge (DO_sat minus the actual DO there; default 0) and the downstream travel time t in days.
- Optionally override the DO saturation (default 9.08 mg/L at 20°C) for your temperature, then read the deficit, the DO, and the critical time and minimum DO if a sag point exists.
How it works
The deficit follows D(t) = (k_d·L₀/(k_r − k_d))·(e^(−k_d·t) − e^(−k_r·t)) + D₀·e^(−k_r·t), balancing oxygen consumed by decomposing BOD against oxygen drawn back in from the atmosphere. Dissolved oxygen is DO_sat − D(t). Setting dD/dt = 0 gives the critical time t_c = 1/(k_r − k_d)·ln[(k_r/k_d)(1 − D₀(k_r − k_d)/(k_d·L₀))], where the deficit is greatest and DO is at its minimum.
Worked example
Worked example. For L₀ = 20 mg/L, k_d = 0.3 /day, k_r = 0.6 /day, D₀ = 1 mg/L, t = 1 day and DO_sat = 9.08 mg/L, the deficit is D = 4.389 mg/L, so DO = 9.08 − 4.389 = 4.691 mg/L. The critical point occurs at t_c = 2.14 days with a maximum deficit of 5.263 mg/L, i.e. a minimum DO of about 3.82 mg/L.
Common mistakes
- Setting k_r equal to k_d — the classic closed-form equation divides by (k_r − k_d) and is undefined when they are equal; use slightly different values or the limiting form.
- Confusing the initial deficit D₀ with the discharge DO; D₀ is the saturation value minus the actual DO in the fully mixed stream just below the outfall.
- Applying one saturation value at every temperature — DO_sat falls as water warms (about 9.08 mg/L at 20°C but roughly 7.5 mg/L at 30°C), which deepens the sag.
Frequently asked questions
Where do k_d and k_r come from?
The deoxygenation rate k_d reflects how fast the organic matter is oxidised and is usually derived from a BOD bottle test (typically 0.1–0.5 /day). The reaeration rate k_r depends on the river's velocity, depth and turbulence and is estimated from empirical formulas such as O'Connor–Dobbins. Both should be temperature-corrected and calibrated to the reach.
What if the calculated DO is negative?
A negative result means the modelled oxygen demand exceeds what the equation's reaeration can supply — physically the river would go anoxic (0 mg/L) and the linear model breaks down. It is a signal the load is too high for the reach, but the exact negative number is not physically meaningful.
Related tools
- Acid Mine Drainage Neutralisation Estimator
- Erosion Risk (RUSLE) Calculator
- Evaporation Loss Estimator
- Turbidity to TSS Estimator
- Contaminant Plume Travel Time Estimator
- Anchor Rode & Scope Calculator
Explore more in Marine, Outdoor, Agriculture, Land & Environment.
Tip: Enter any known values to calculate the remaining results.
All calculations run in your browser. Your inputs are never saved or transmitted.



