Model Comparison Results: Python vs Excel QUAL2K Accuracy

This page presents the actual validation results comparing the Python QUAL2K engine against the legacy EPA QUAL2K Excel/VBA model. All comparisons use identical input data extracted cell-by-cell from the original Excel workbooks.

Ready to model your river?

Try the QUAL2K prediction engine with your own data

Launch Prediction Engine

Model Comparison Summary

Paraluz Model (Brazil)

Basic 2-reach model with headwater-only forcing. Tests fundamental hydraulics and DO/BOD decay.

Paraluz: Hydraulics comparison

ParameterReachExcelPython% Diff
Velocity (m/s)PR10.1980.1980.00%
Velocity (m/s)VPR10.1770.1770.00%
Depth (m)PR10.3040.3040.00%
Depth (m)VPR10.3220.3220.00%
Travel time (d)PR10.01350.01350.00%
Travel time (d)VPR10.00630.00630.00%

Paraluz: Water quality comparison

ParameterReachExcelPython% Diff
DO (mg/L)PR17.827.82< 0.01%
DO (mg/L)VPR17.797.79< 0.01%
CBOD fast (mg/L)PR13.983.970.25%
CBOD fast (mg/L)VPR13.953.95< 0.01%
NH₄ (μg/L)PR1150.0149.80.13%
NO₃ (μg/L)PR1600.0600.00.00%

Bolder Model (Colorado, USA)

50-reach model with point sources. Stress-tests the engine with many computational elements.

Bolder: Key variable comparison (selected reaches)

ParameterReach 1Reach 25Reach 50Max % Diff
DO (mg/L)9.12 / 9.128.45 / 8.447.89 / 7.880.13%
CBOD fast (mg/L)2.10 / 2.101.85 / 1.841.62 / 1.620.54%
Velocity (m/s)0.453 / 0.4530.512 / 0.5120.487 / 0.4870.00%
NH₄ (μg/L)320 / 320245 / 244185 / 1840.54%
NO₃ (μg/L)1100 / 11001175 / 11761230 / 12310.08%
Pathogens (cfu)5000 / 50002100 / 2098890 / 8890.11%

Rio Cauca (Colombia)

17-reach tropical river with nitrification-dominant DO dynamics and diffuse sources.

Rio Cauca: DO and nitrogen comparison

ParameterHeadwaterMid-reach (8)Terminus (17)Max % Diff
DO (mg/L)7.50 / 7.504.23 / 4.226.15 / 6.140.24%
CBOD fast (mg/L)8.60 / 8.604.12 / 4.112.05 / 2.040.49%
NH₄ (μg/L)2450 / 24501680 / 1676890 / 8870.34%
NO₃ (μg/L)3200 / 32003890 / 38954350 / 43560.14%

Rio Meléndez (Colombia)

8-reach urban river receiving WWTP effluent. Used for auto-calibration validation.

Rio Meléndez: Full constituent comparison

ParameterExcel (Reach 8)Python (Reach 8)% Diff
DO (mg/L)6.896.880.15%
CBOD fast (mg/L)5.125.100.39%
CBOD slow (mg/L)2.342.330.43%
NH₄ (μg/L)8908870.34%
NO₃ (μg/L)215021540.19%
Org P (μg/L)1201190.83%
Inorg P (μg/L)4504490.22%
Pathogens (cfu)12500124800.16%
Temperature (°C)22.522.50.00%

Comparison Error Distribution

Summary of maximum relative errors across all models

VariableParaluzBolderRio CaucaRio MeléndezVerdict
DO< 0.01%0.13%0.24%0.15%✅ PASS
CBOD (fast)0.25%0.54%0.49%0.39%✅ PASS
CBOD (slow)0.31%0.22%0.43%✅ PASS
NH₄0.13%0.54%0.34%0.34%✅ PASS
NO₃0.00%0.08%0.14%0.19%✅ PASS
Hydraulics0.00%0.00%0.00%0.00%✅ PASS
Pathogens0.11%0.16%✅ PASS
Temperature0.00%0.00%0.00%0.00%✅ PASS

Ready to model your river?

Try the QUAL2K prediction engine with your own data

Launch Prediction Engine