CBOD Oxidation and Hydrolysis: Decay Rates in River Water Quality Models
Carbonaceous biochemical oxygen demand (CBOD) is the primary oxygen-consuming constituent in rivers and a key term in the dissolved oxygen balance. QUAL2K separates CBOD into two fractions — fast CBOD and slow CBOD — to represent the biphasic decay observed in natural waters.
The Streeter-Phelps Foundation
The classic Streeter-Phelps model (1925), as documented in the EPA QUAL2K framework, describes BOD decay as a first-order process. QUAL2K extends this to two fractions with separate decay rates:
Fast CBOD Kinetics
Fast CBOD represents the easily biodegradable organic matter (sugars, amino acids, volatile fatty acids). It decays via first-order oxidation:
Where:
- — fast CBOD oxidation rate at 20°C (day⁻¹), typically 0.1–1.0
- — hydrolysis rate transferring slow → fast CBOD (day⁻¹), typically 0.01–0.1
Slow CBOD Kinetics
Slow CBOD represents the refractory organic fraction (cellulose, lignocellulose). It decays much more slowly:
Where is the slow CBOD oxidation rate (day⁻¹), typically 0.001–0.01.
Arrhenius Temperature Correction
All kinetic rate constants are corrected for temperature using the Arrhenius equation:
where is the temperature correction coefficient. Typical values:
Temperature correction coefficients (θ)
| Process | θ | Effect at 10°C | Effect at 30°C |
|---|---|---|---|
| CBOD fast oxidation | 1.047 | 0.63× (37% slower) | 1.59× (59% faster) |
| CBOD slow oxidation | 1.047 | 0.63× | 1.59× |
| Hydrolysis | 1.047 | 0.63× | 1.59× |
| Nitrification | 1.083 | 0.45× (55% slower) | 2.22× (122% faster) |
| Reaeration | 1.024 | 0.79× (21% slower) | 1.27× (27% faster) |
| Denitrification | 1.047 | 0.63× | 1.59× |
Typical CBOD Decay Rates
Literature values for CBOD decay rate constants at 20°C
| Water Body Type | k_dc (day⁻¹) | Source |
|---|---|---|
| Clean mountain streams | 0.05 – 0.10 | Thomann & Mueller (1987) |
| Moderately polluted rivers | 0.10 – 0.30 | Chapra (1997) |
| Untreated municipal wastewater | 0.30 – 0.70 | Metcalf & Eddy (2014) |
| Treated wastewater effluent | 0.10 – 0.25 | Thomann & Mueller (1987) |
| Industrial wastewater | 0.05 – 1.00 | varies widely |
Discrete Implementation
QUAL2K uses the analytical solution for first-order decay over the travel time :
This prevents numerical instability for large time steps.
# Temperature-corrected rates
kdc = temp_correction(rates['kdc'], rates.get('kdc_theta', 1.047), temp)
kdcs = temp_correction(rates['kdcs'], rates.get('kdcs_theta', 1.047), temp)
kh = temp_correction(rates.get('khc', 0), 1.047, temp)
# Fast CBOD: oxidation + settling → loss; hydrolysis from slow → gain
loss_f = kdc + kh
conc[4] *= math.exp(-loss_f * dt) # decay
conc[4] += kh * conc[3] * dt # hydrolysis source
# Slow CBOD: slow oxidation + hydrolysis → loss
loss_s = kdcs + kh
conc[3] *= math.exp(-loss_s * dt)