Streeter–Phelps DO Sag Calculator

Explore deoxygenation and reaeration using trusted kinetics. Enter stream conditions, then view sag curves instantly. Plan monitoring, permits, and restoration with confidence now always.

Calculator Inputs

Fields marked * are required. Rates are in per day.

Ultimate biochemical oxygen demand at mixing point.
Use field saturation or standard tables.
D0 = DOsat − DO0.

If enabled, rates are adjusted from 20°C.
k(T) = k20 · θ(T−20)
Typical range: 0.05–0.5 per day.
Often larger for shallow, turbulent streams.
Common default: 1.047.
Common default: 1.024.
Used only when correction is enabled.

Used when correction is disabled.
Used when correction is disabled.
Distance = velocity × time.

Distance mode needs a velocity value.
Choose a horizon long enough to reach recovery.
Converted to time using the velocity value.
Smaller steps create more rows.
Reset
Formula Used

The Streeter–Phelps model represents the dissolved oxygen deficit, D(t), as competing deoxygenation and reaeration processes:

D(t) = (kdL0 /(kr−kd)) · (e−kdt − e−krt) + D0 · e−krt
If kr ≈ kd, the calculator uses the limiting form.

Dissolved oxygen is then computed as DO(t) = DOsat − D(t). The “critical sag” occurs when dD/dt = 0, giving the minimum DO value.

How to Use This Calculator
  1. Enter L0, DOsat, and initial DO0.
  2. Choose temperature correction, or enter rates directly.
  3. Provide a velocity if you want distance estimates.
  4. Pick an end mode and set the horizon and step size.
  5. Press Calculate to view results above the form.
  6. Export the sag table using CSV or PDF buttons.
Example Data Table

These sample values demonstrate typical river sag behavior.

L0 (mg/L) DOsat (mg/L) DO0 (mg/L) kd (1/day) kr (1/day) Velocity (m/s) End time (days) Step (hours)
30 9.0 7.0 0.20 0.40 0.30 5 6
20 8.6 6.8 0.15 0.35 0.25 6 8
Technical Article

1) What the DO sag curve represents

The Streeter–Phelps approach describes how dissolved oxygen (DO) changes downstream of an organic load. Microbial activity consumes oxygen as biochemical oxygen demand (BOD) decays, while the atmosphere restores oxygen through reaeration. The resulting “sag” is commonly plotted as DO(t) or DO(x), where time relates to distance through stream velocity.

2) Core inputs that control the profile

The calculator uses ultimate BOD, L0 (mg/L), a saturation DO value, DOsat (mg/L), and the initial DO at the mixing point, DO0 (mg/L). The initial deficit is D0 = DOsat − DO0. Larger L0 or larger D0 generally deepens the sag and delays recovery.

3) Deoxygenation and reaeration rates

Two first‑order rates drive the physics: kd for deoxygenation and kr for reaeration (both in 1/day). Typical screening ranges are kd ≈ 0.05–0.50 1/day and kr ≈ 0.10–1.50 1/day, but field values depend strongly on depth, turbulence, temperature, and channel roughness. When kr is much larger than kd, recovery is faster.

4) Temperature correction in practical studies

If you only have rates reported at 20°C, the calculator can adjust them using k(T) = k20 · θ(T−20). Common θ values are near 1.047 for kd and 1.024 for kr. For example, increasing temperature from 20°C to 30°C raises kd by roughly 60% using θ = 1.047, which can noticeably lower minimum DO if all other inputs remain unchanged.

5) Critical time and minimum DO

The “critical” point occurs where the deficit stops increasing (dD/dt = 0). The calculator reports the critical time tc (days), the critical deficit Dc (mg/L), and the minimum DO, DOmin = DOsat − Dc. This is often the most important compliance metric when evaluating aquatic life thresholds.

6) Converting time to downstream distance

Time can be translated to distance using x = v · t, where v is stream velocity. The tool accepts velocity in common units and converts internally to km/day. If you choose distance mode, the calculator converts your end distance into an equivalent time horizon. Use measured mean velocity when possible, because errors in v directly shift the predicted sag location.

7) Sensitivity and scenario testing

DO sag predictions are sensitive to kd, kr, and L0. A useful practice is to run a “base case” and then vary one parameter by ±20% to see how the minimum DO changes. If small parameter changes produce large DO shifts, prioritize field sampling or calibration before making decisions.

8) Using the table for reporting and monitoring

The sag table provides consistent time, distance, deficit, and DO values for reports, permitting submissions, and monitoring plans. Shorter time steps yield smoother curves but more rows. Export to CSV for spreadsheet analysis, or generate a PDF snapshot for quick documentation during stakeholder reviews.

FAQs

1) What is L0 in this model?

L0 is the ultimate biochemical oxygen demand at the downstream mixing point, in mg/L. It represents the total oxygen required to oxidize biodegradable material as time approaches infinity.

2) Can D0 be negative?

Yes. If DO0 exceeds DOsat, the initial deficit becomes negative, representing supersaturation. The model can still compute the profile, but interpret results carefully with supporting field data.

3) Which rate matters more, kd or kr?

Both matter, but kr often controls recovery speed, while kd shapes how quickly oxygen demand develops. If kr is small, the sag is deeper and lasts longer.

4) Why does temperature change the outcome?

Reaction rates increase with temperature. Higher kd speeds oxygen consumption, and higher kr speeds atmospheric replenishment. The balance between these two shifts the minimum DO and its location.

5) What does “critical sag” mean for compliance?

It is the predicted minimum DO point. Many water quality programs compare this minimum against aquatic life criteria, such as a minimum allowable DO concentration during critical low‑flow conditions.

6) How should I choose the end time or distance?

Pick a horizon long enough to show recovery toward saturation, typically several days for moderate rivers. If using distance, choose a reach that includes the expected minimum and the early recovery zone.

7) Does this include nitrification or multiple discharges?

This calculator implements the classic single‑reach Streeter–Phelps form. For nitrification, sediment oxygen demand, or multiple sources, treat results as screening and consider a calibrated multi‑process model.

Related Calculators

Air Quality Index (AQI) CalculatorPM2.5 Concentration to AQI CalculatorPM10 Concentration to AQI CalculatorOzone (O3) AQI CalculatorNitrogen Dioxide (NO2) AQI CalculatorSulfur Dioxide (SO2) AQI CalculatorCarbon Monoxide (CO) AQI CalculatorVentilation Rate (ACH) CalculatorPollutant Mass Balance (Indoor) CalculatorDeposition Velocity Calculator

Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.