Ciclo del Fósforo
El fósforo es a menudo el nutriente limitante en sistemas dulceacuícolas. QUAL2K modela el fósforo orgánico e inorgánico (ortofosfatos), su intercambio con el sedimento y su consumo por la biomasa algal.
Dinámica del Fósforo
El fósforo orgánico se convierte en fósforo inorgánico soluble (disponible para algas) a través de la hidrólisis. El modelo también considera la pérdida por sedimentación y la liberación desde el lecho:
Fósforo Orgánico
Donde:
- — tasa de hidrólisis del fósforo orgánico hacia fosfato soluble (día⁻¹), con parámetros típicos 0.01–0.7
- — velocidad de sedimentación de la fracción particulada hacia el lecho (m/d), con parámetros típicos 0.001–0.1
Fósforo Inorgánico Soluble (PO₄³⁻)
Con:
- — velocidad de sedimentación del fósforo inorgánico que precipita junto con los sólidos finos en suspensión (m/d), con parámetros típicos 0.0–0.05
Parámetros de Calibración del Ciclo del Fósforo
Rangos reportados en la literatura técnica
| Proceso | Símbolo | Rango Típico | Factor Arrhenius (θ) | Unidad |
|---|---|---|---|---|
| Hidrólisis del fósforo orgánico a fosfato soluble | khp | 0.01 – 0.70 | 1.047 | día⁻¹ |
| Sedimentación del fósforo orgánico particulado | vop | 0.001 – 0.10 | — | m/d |
| Sedimentación del fósforo inorgánico | vip | 0.00 – 0.05 | — | m/d |
| Relación fósforo/clorofila en la biomasa algal | rpa | Rango de 0.5 – 2.0 | — | μg P / μg Chl-a |
Implementación en el Motor Python
pythonkinetics.py — cinética del ciclo del fósforo
# Org P: hidrolisis bacteriana hacia fosfato soluble, disponible para la asimilacion algal,
# mas la sedimentacion de la fraccion particulada hacia el lecho
khp = temp_correction(rates.get('khp', 0.01), 1.047, temp)
vop = rates.get('vop', 0)
loss_op = khp + (vop / max(h, 0.01))
orgp_hydrolyzed = khp * conc[8] * dt
conc[8] *= math.exp(-loss_op * dt) # decaimiento exponencial sobre el paso de tiempo
# Inorg P (PO4): recibe el fosforo hidrolizado mas los aportes de fertilizantes,
# lavado de suelos y efluentes de PTAR, y se pierde por sedimentacion
vip = rates.get('vip', 0)
conc[9] += orgp_hydrolyzed
settling_ip = (vip / max(h, 0.01))
conc[9] *= math.exp(-settling_ip * dt)