Resultados de la Comparación: Motor Python frente al QUAL2K Original en VBA

Esta sección reúne los resultados de la validación del modelo de calidad del agua, comparando el motor de QUAL2K reescrito en Python contra el modelo original en Excel VBA. Las dos implementaciones se corrieron con datos de entrada idénticos, transcritos celda por celda desde los libros de Excel originales. Ese es el respaldo con el que la plataforma se ofrece como software de simulación de ríos gratis.

Simula el oxígeno disuelto con Streeter-Phelps

Modela la curva de déficit de OD en tu río con la calculadora clásica Streeter-Phelps

Abrir Calculadora Streeter-Phelps

Resumen de Comparación de Modelos

Caso: Modelo Paraluz (Brasil)

Configuración estándar sencilla: un río de 2 tramos, con la condición de frontera de cabecera en el punto 0 y sin aportes laterales. Sirve para comprobar que la hidráulica básica y el decaimiento de la DBO rápida y lenta de QUAL2K funcionan correctamente antes de pasar a los casos exigentes.

Paraluz: comparación hidráulica

ParámetroTramoExcel VBAPythonError Relativo
Velocidad (m/s)PR10.1980.1980.00%
Velocidad (m/s)VPR10.1770.1770.00%
Profundidad (m)PR10.3040.3040.00%
Profundidad (m)VPR10.3220.3220.00%
Tiempo de viaje (d)PR10.01350.01350.00%
Tiempo de viaje (d)VPR10.00630.00630.00%

Paraluz: comparación de oxígeno disuelto y nutrientes

ParámetroTramoExcel VBAPythonError Relativo
Oxígeno disuelto (mg/L)PR17.827.82< 0.01%
Oxígeno disuelto (mg/L)VPR17.797.79< 0.01%
CBOD rápida (mg/L)PR13.983.970.25%
CBOD rápida (mg/L)VPR13.953.95< 0.01%
Amonio NH₄ (μg/L)PR1150.0149.80.13%
Nitrato NO₃ (μg/L)PR1600.0600.00.00%

Caso de Estrés: Modelo Bolder (Colorado, EE.UU.)

Río extenso dividido en 50 tramos, con fuentes puntuales y difusas distribuidas a lo largo del cauce. Es el caso que más exige al motor, porque obliga a arrastrar el balance de masa en cascada tramo por tramo, y sirve para medir el desempeño computacional de QUAL2K.

Bolder: tramos seleccionados del reporte de comparación (Excel / Python)

ParámetroTramo 1 (cabecera)Tramo 25 (medio)Tramo 50 (final)Error Máximo
Oxígeno disuelto (mg/L)9.12 / 9.128.45 / 8.447.89 / 7.880.13%
CBOD rápida (mg/L)2.10 / 2.101.85 / 1.841.62 / 1.620.54%
Velocidad (m/s)0.453 / 0.4530.512 / 0.5120.487 / 0.4870.00%
Amonio NH₄ (μg/L)320 / 320245 / 244185 / 1840.54%
Nitrato NO₃ (μg/L)1100 / 11001175 / 11761230 / 12310.08%
Patógenos (cfu)5000 / 50002100 / 2098890 / 8890.11%

Caso Real: Río Cauca (Valle del Cauca, Colombia)

Río tropical de gran caudal, modelado en 17 tramos, con cargas importantes de amonio y de materia orgánica que llegan desde descargas de alcantarillado y desde fuentes difusas agrícolas. Es el caso donde la demanda nitrogenada pesa más dentro del balance de oxígeno.

Río Cauca: balance de oxígeno disuelto y nitrógeno (Excel / Python)

ParámetroCabeceraTramo 8Tramo 17Error Máximo
Oxígeno disuelto (mg/L)7.50 / 7.504.23 / 4.226.15 / 6.140.24%
CBOD rápida (mg/L)8.60 / 8.604.12 / 4.112.05 / 2.040.49%
Amonio NH₄ (μg/L)2450 / 24501680 / 1676890 / 8870.34%
Nitrato NO₃ (μg/L)3200 / 32003890 / 38954350 / 43560.14%

Caso Real: Río Meléndez (río urbano, Colombia)

Afluente urbano pequeño, modelado en 8 tramos, que recibe la descarga de un emisario de aguas residuales domésticas. Es el caso que se usa para poner a prueba la calibración automática por algoritmo genético.

Río Meléndez: comparación en el tramo 8

ParámetroExcel VBAPythonError Relativo
Oxígeno disuelto (mg/L)6.896.880.15%
CBOD rápida (mg/L)5.125.100.39%
CBOD lenta (mg/L)2.342.330.43%
Amonio NH₄ (μg/L)8908870.34%
Nitrato NO₃ (μg/L)215021540.19%
Fósforo orgánico (μg/L)1201190.83%
Fósforo inorgánico (μg/L)4504490.22%
Patógenos E. coli (cfu)12500124800.16%
Temperatura (°C)22.522.50.00%

Distribución de Errores en la Comparación

Error máximo por variable y por caso de prueba

VariableParaluzBolderCaucaMeléndezResultado
Oxígeno disuelto< 0.01%0.13%0.24%0.15%✅ APROBADO
CBOD rápida0.25%0.54%0.49%0.39%✅ APROBADO
CBOD lenta0.31%0.22%0.43%✅ APROBADO
Amonio NH₄0.13%0.54%0.34%0.34%✅ APROBADO
Nitrato NO₃0.00%0.08%0.14%0.19%✅ APROBADO
Hidráulica (U, H, B, Ac)0.00%0.00%0.00%0.00%✅ APROBADO
Patógenos E. coli0.11%0.16%✅ APROBADO
Temperatura0.00%0.00%0.00%0.00%✅ APROBADO

Simula el oxígeno disuelto con Streeter-Phelps

Modela la curva de déficit de OD en tu río con la calculadora clásica Streeter-Phelps

Abrir Calculadora Streeter-Phelps