QUAL2K em Python e assistente web: software de simulação da qualidade da água

Esta ferramenta é uma alternativa em React e Python ao modelo de qualidade da água QUAL2K da EPA. Ela substitui a planilha Excel/VBA por uma interface web e por uma versão em Python do solucionador do QUAL2Kw 5.1, hospedada na nuvem. Planilhas QUAL2Kw existentes (.xls, .xlsx, .xlsm) podem ser importadas diretamente, e o motor reproduz as abas de resultados de 15 modelos QUAL2Kw calibrados dentro de 5% ou de uma faixa absoluta fixa (veja os resultados da validação, em inglês).

Arquitetura do sistema QUAL2K

O sistema tem três camadas: um assistente web em React para a entrada de dados, uma Cloud Function do Firebase que recebe o estado do assistente e um motor de simulação em Python que faz os cálculos hidráulicos e de qualidade da água. Os resultados voltam ao navegador para exibição e exportação.

Recursos de simulação do QUAL2K

  • Simulação com passo de tempo: passo explícito de Euler sobre um ciclo diário repetido, como no QUAL2Kw, com a média, o mínimo e o máximo diários de cada trecho
  • Qualidade da água: OD, DBOC (rápida e lenta), formas de nitrogênio, fósforo, fitoplâncton e algas de fundo, detritos, patógenos, SSI e alcalinidade, com o pH resolvido a cada passo
  • Balanço de calor para a temperatura da água e do sedimento, com radiação solar, onda longa, vento e forçantes meteorológicas
  • Equação de Manning na hidráulica, com solucionador iterativo de Newton-Raphson para a profundidade em seções transversais trapezoidais
  • Correção de temperatura de Arrhenius em todas as taxas cinéticas de primeira ordem
  • Várias fórmulas de reaeração: O'Connor-Dobbins, Churchill, Owens-Gibbs, Tsivoglou-Neal, Thackston-Dawson e valor definido pelo usuário
  • Fontes pontuais e fontes difusas com mistura por balanço de massa nos limites dos trechos
  • Calibração automática de 18 taxas cinéticas em relação a dados de campo observados (evolução diferencial, com algoritmo genético como alternativa)
  • Importação de planilhas QUAL2Kw (.xls, .xlsx, .xlsm), além de importação e exportação em CSV e JSON

Constituintes suportados

Colunas de qualidade da água nos resultados (temperatura e pH também são informados)

ÍndiceConstituinteUnidadesProcesso
0CondutividadeμmhosConservativo
1Sólidos suspensos inorgânicos (SSI)mg/LSedimentação
2Oxigênio dissolvido (OD)mg/LReaeração, oxidação, demanda de oxigênio do sedimento (SOD)
3DBOC lentamg/LOxidação lenta, fonte da hidrólise
4DBOC rápidamg/LOxidação, hidrólise a partir da DBOC lenta
5Nitrogênio orgânicoμg/LHidrólise, sedimentação
6Amônio (NH₄)μg/LNitrificação
7Nitrato (NO₃)μg/LDesnitrificação, fonte da nitrificação
8Fósforo orgânicoμg/LHidrólise, sedimentação
9Fósforo inorgânicoμg/LSedimentação
10Fitoplânctonμg Chl-a/LCrescimento, respiração, mortalidade
11Detritosmg/LDissolução, sedimentação
12PatógenosUFC/100mLDecaimento, sedimentação
13GenéricousuárioDecaimento definido pelo usuário
14Alcalinidademg CaCO₃/LConservativo

Pilha tecnológica

ComponenteTecnologiaFinalidade
Front-endReact 19 + ViteInterface do assistente em várias etapas, com gerenciamento de estado
EstilosCSS puroTema escuro e claro com tokens de design
AutenticaçãoFirebase AuthenticationLogin com o Google para acesso dos usuários
HospedagemFirebase HostingEntrega do site estático via CDN
Back-endFirebase Cloud Functions (2ª geração)Execução de Python sem servidor (serverless)
MotorPython com NumPy e SciPyVersão em Python do solucionador do QUAL2Kw 5.1 e calibração automática
DadosJSON / CSVFormatos portáteis de intercâmbio de dados

Princípios de projeto

  1. Fidelidade medida - o motor reproduz as abas de resultados de 15 modelos QUAL2Kw calibrados dentro de 5% ou de uma faixa absoluta fixa (pH 0,05, temperatura 0,2 °C)
  2. Nenhuma instalação - funciona inteiramente no navegador, com processamento na nuvem; sem instalar software, sem macros VBA, sem restrição de sistema operacional. Veja Primeiros passos (em inglês) para começar sua primeira simulação
  3. Matemática transparente - cada fórmula está documentada neste guia, com referências à documentação técnica original do QUAL2K
  4. Portabilidade dos dados - todas as entradas e saídas podem ser exportadas em JSON ou CSV para uso em ferramentas externas

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