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:

dCBODfdt=kdcCBODfkhCBODf+khCBODs\frac{dCBOD_f}{dt} = -k_{dc} \cdot CBOD_f - k_h \cdot CBOD_f + k_h \cdot CBOD_s

Where:

  • kdck_{dc} — fast CBOD oxidation rate at 20°C (day⁻¹), typically 0.1–1.0
  • khk_h — 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:

dCBODsdt=kdcsCBODskhCBODs\frac{dCBOD_s}{dt} = -k_{dcs} \cdot CBOD_s - k_h \cdot CBOD_s

Where kdcsk_{dcs} 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:

k(T)=k(20)θ(T20)k(T) = k(20) \cdot \theta^{(T - 20)}

where θ\theta is the temperature correction coefficient. Typical values:

Temperature correction coefficients (θ)

ProcessθEffect at 10°CEffect at 30°C
CBOD fast oxidation1.0470.63× (37% slower)1.59× (59% faster)
CBOD slow oxidation1.0470.63×1.59×
Hydrolysis1.0470.63×1.59×
Nitrification1.0830.45× (55% slower)2.22× (122% faster)
Reaeration1.0240.79× (21% slower)1.27× (27% faster)
Denitrification1.0470.63×1.59×

Typical CBOD Decay Rates

Literature values for CBOD decay rate constants at 20°C

Water Body Typek_dc (day⁻¹)Source
Clean mountain streams0.05 – 0.10Thomann & Mueller (1987)
Moderately polluted rivers0.10 – 0.30Chapra (1997)
Untreated municipal wastewater0.30 – 0.70Metcalf & Eddy (2014)
Treated wastewater effluent0.10 – 0.25Thomann & Mueller (1987)
Industrial wastewater0.05 – 1.00varies widely

Discrete Implementation

QUAL2K uses the analytical solution for first-order decay over the travel time Δt\Delta t:

CBODf(t+Δt)=CBODf(t)ekdcΔtCBOD_f(t + \Delta t) = CBOD_f(t) \cdot e^{-k_{dc} \cdot \Delta t}

This prevents numerical instability for large time steps.

pythonkinetics.py — CBOD decay implementation
# 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)