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 é:

dDOdt=ka(DOsat−DO)−kdc⋅CBODf−kdcs⋅CBODs−ron⋅kn⋅NH4−SODH\frac{dDO}{dt} = k_a(DO_{sat} - DO) - k_{dc} \cdot CBOD_f - k_{dcs} \cdot CBOD_s - r_{on} \cdot k_n \cdot NH_4 - \frac{SOD}{H}

Explicação termo a termo

TermoFórmulaEfeitoMagnitude típica
Reaeraçãoka · (DOsat − DO)Fonte (+) quando o OD está abaixo da saturação1 a 10 mg/L/d
Oxidação da DBOC rápidakdc · CBODfSumidouro (−), consome O₂0,5 a 5 mg/L/d
Oxidação da DBOC lentakdcs · CBODsSumidouro (−), consome O₂0,01 a 0,5 mg/L/d
Demanda de O₂ da nitrificaçãoron · kn · NH₄Sumidouro (−), consome O₂0,5 a 3 mg/L/d
Demanda de O₂ do sedimentoSOD / HSumidouro (−) a partir do leito0,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:

NH4++2O2→NO3−+2H++H2ONH_4^+ + 2O_2 \rightarrow NO_3^- + 2H^+ + H_2O

A razão estequiométrica é ron=4.57r_{on} = 4.57 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:

Taxa de SOD=SODH(mg/L/d)\text{Taxa de SOD} = \frac{SOD}{H} \quad \text{(mg/L/d)}

Valores típicos de SOD por tipo de substrato

SubstratoSOD (g O₂/m²/d)Contexto
Leito de areia / cascalho0,2 a 1,0Cursos d'água limpos, com pouca deposição orgânica
Leito de silte / lama1,0 a 2,0Enriquecimento orgânico moderado
Sedimento rico em matéria orgânica2,0 a 5,0A jusante de lançamentos de ETE
Altamente poluído5,0 a 10,0Zonas de lançamento industrial
Depósitos de lodo de esgoto2,0 a 10,0Perto 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 satTemp. (°C)OD satTemp. (°C)OD sat
014,621011,29209,09
213,841210,78228,74
413,131410,31248,42
612,48169,87268,11
811,87189,47287,83

Implementação em Python

pythonkinetics.py: cálculo do balanço de OD
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

Modele o rio inteiro no motor de previsão

Importe sua planilha QUAL2Kw ou abra o projeto de exemplo. Os resultados reproduzem 15 modelos QUAL2Kw calibrados dentro de 5% ou de uma pequena faixa absoluta.

Ver o motor de previsão