Balanço de oxigênio dissolvido: fontes, sumidouros e a curva de depleção de OD
O oxigênio dissolvido é o indicador mais importante da saúde de um rio. A EPA recomenda critérios mínimos de OD para a proteção da vida aquática e, no Brasil, a Resolução CONAMA 357/2005 exige, em qualquer amostra de águas doces, OD não inferior a 6 mg/L na classe 1, 5 mg/L na classe 2 e 4 mg/L na classe 3, e superior a 2 mg/L na classe 4. O balanço de OD no QUAL2K considera todas as fontes e sumidouros de oxigênio e produz a característica curva de depleção de OD a jusante das fontes de poluição.
Equação completa do balanço de OD
A taxa de variação do OD em cada trecho é:
Explicação termo a termo
| Termo | Fórmula | Efeito | Magnitude típica |
|---|---|---|---|
| Reaeração | ka · (DOsat − DO) | Fonte (+) quando o OD está abaixo da saturação | 1 a 10 mg/L/d |
| Oxidação da DBOC rápida | kdc · CBODf | Sumidouro (−), consome O₂ | 0,5 a 5 mg/L/d |
| Oxidação da DBOC lenta | kdcs · CBODs | Sumidouro (−), consome O₂ | 0,01 a 0,5 mg/L/d |
| Demanda de O₂ da nitrificação | ron · kn · NH₄ | Sumidouro (−), consome O₂ | 0,5 a 3 mg/L/d |
| Demanda de O₂ do sedimento | SOD / H | Sumidouro (−) a partir do leito | 0,5 a 5 mg/L/d |
A curva de depleção de OD
Quando uma fonte de poluição lança DBOC em um rio, o OD cai porque as bactérias consomem oxigênio para oxidar a matéria orgânica. A jusante, a reaeração atmosférica restabelece o OD aos poucos, o que produz o formato clássico da curva de depleção:
Demanda nitrogenada de oxigênio (NOD)
A nitrificação consome oxigênio quando as bactérias oxidam o amônio a nitrato:
A razão estequiométrica é mg de O₂ por mg de NH₄-N oxidado. Esse termo pode ser o principal sumidouro de oxigênio em rios que recebem efluentes ricos em nitrogênio.
Demanda de oxigênio do sedimento (SOD)
A SOD representa o oxigênio consumido pela decomposição microbiana da matéria orgânica nos sedimentos do leito. Ela é expressa como um fluxo (g O₂/m²/d) e convertida em taxa volumétrica pela divisão pela profundidade do curso d'água:
Valores típicos de SOD por tipo de substrato
| Substrato | SOD (g O₂/m²/d) | Contexto |
|---|---|---|
| Leito de areia / cascalho | 0,2 a 1,0 | Cursos d'água limpos, com pouca deposição orgânica |
| Leito de silte / lama | 1,0 a 2,0 | Enriquecimento orgânico moderado |
| Sedimento rico em matéria orgânica | 2,0 a 5,0 | A jusante de lançamentos de ETE |
| Altamente poluído | 5,0 a 10,0 | Zonas de lançamento industrial |
| Depósitos de lodo de esgoto | 2,0 a 10,0 | Perto de extravasores de redes unitárias de esgoto |
Tabela de referência da saturação de OD
Saturação de OD (mg/L) ao nível do mar
| Temp. (°C) | OD sat | Temp. (°C) | OD sat | Temp. (°C) | OD sat |
|---|---|---|---|---|---|
| 0 | 14,62 | 10 | 11,29 | 20 | 9,09 |
| 2 | 13,84 | 12 | 10,78 | 22 | 8,74 |
| 4 | 13,13 | 14 | 10,31 | 24 | 8,42 |
| 6 | 12,48 | 16 | 9,87 | 26 | 8,11 |
| 8 | 11,87 | 18 | 9,47 | 28 | 7,83 |
Implementação em Python
def calculate_do_balance(do_in, cbod_fast, cbod_slow, nh4, rates, reach, temp, dt):
ka = reach.get('ka', 0)
ka_t = temp_correction(ka, 1.024, temp) # Reaeração
dosat = calculate_dosat(temp, reach.get('elev', 0))
kdc = temp_correction(rates['kdc'], rates.get('kdc_theta', 1.047), temp)
kdcs = temp_correction(rates['kdcs'], rates.get('kdcs_theta', 1.047), temp)
kn = temp_correction(rates.get('kn', 0), rates.get('kn_theta', 1.083), temp)
ron = rates.get('ron', 4.57) # Razão estequiométrica O₂:N
sod = reach.get('SOD', 0)
h = reach.get('H', 1.0)
# Fonte: reaeração
reaeration = ka_t * (dosat - do_in) * dt
# Sumidouros
cbod_demand_f = kdc * cbod_fast * dt
cbod_demand_s = kdcs * cbod_slow * dt
nod_demand = ron * kn * nh4 * dt
sod_demand = (sod / h) * dt if h > 0 else 0
do_out = do_in + reaeration - cbod_demand_f - cbod_demand_s - nod_demand - sod_demand
return max(do_out, 0.0) # O OD não pode ser negativo