Como o Rio Caí é analisado e como as ondas são estimadas
A Central de Previsões do Rio Caí não procura simplesmente “qual será o próximo nível do rio”. O objetivo é identificar uma onda hidrológica em andamento, acompanhar sua evolução, medir sua velocidade, comparar seu comportamento com ondas históricas e estimar onde ela poderá atingir seu pico (máximo) ou seu fundo (mínimo).
o nível atual é apenas uma fotografia. A previsão tenta interpretar o movimento que está acontecendo entre uma medição e outra — e atualiza essa interpretação a cada novo dado recebido.
ÍNDICE
- O problema a resolver
- O que é uma onda
- Como o sistema encontra a onda
- Por que a velocidade importa
- Métricas extraídas do histórico
- Comparação com ondas históricas
- Limitação por velocidade (v5.4)
- Direção obrigatória / pico ocorrido (v5.5)
- Parâmetros por rio (v5.6)
- Tendência lenta (v5.6)
- Ponderação de velocidade (v5.6)
- Nowcasting de curto prazo (v5.7)
- Horizonte adaptativo (v5.8)
- Estados possíveis da onda
- Campos do JSON
- Análise de montante
- Fórmulas completas
- Como interpretar a previsão
- Ciclo de vida
- Limitações
- Resumo do processo
- Transparência
1. O problema que o sistema precisa resolver
Um rio não sobe e desce de forma perfeitamente regular. Uma sequência de medições pode conter pequenas oscilações, ruído dos sensores, alterações locais, contribuição de afluentes e ondas de cheia que chegam de regiões situadas mais acima da bacia.
Por isso, simplesmente utilizar o último valor registrado não é suficiente para estimar um pico ou um fundo.
O nível atual
Informa quanto o rio está medindo neste momento, mas não explica sozinho se a água continuará subindo, estabilizará ou começará a baixar.
A evolução
Mostra a velocidade e a direção da mudança. É essa evolução que permite reconhecer uma onda em formação.
2. O que é uma onda hidrológica?
Para este sistema, uma onda é uma sequência organizada de variação do nível do rio: normalmente uma fase de subida, seguida de um ponto de máximo (pico) e posteriormente uma fase de descida até um ponto de mínimo (fundo).
3. Como o sistema encontra uma onda
Recebimento das medições
O sistema recebe uma série temporal de níveis observados nas estações. Cada medição tem um timestamp e um nível em metros.
Cálculo de variações
Em vez de olhar apenas para o último valor, o sistema calcula quanto o nível mudou em janelas de 1h, 3h, 6h e 24h.
Determinação da tendência real
A tendência é calculada exclusivamente pelas medições (não depende do estado da onda). A partir da v5.6, os limiares foram suavizados para captar movimentos mais lentos.
Detecção de tendência lenta (v5.6)
Além da tendência real, o sistema conta quantos sinais de subida e descida aparecem em 1h, 3h, 6h e 24h. Se houver 3 ou mais sinais consistentes, a tendência é classificada como lenta.
Identificação do início da onda
O sistema procura o último ponto em que o nível deixou de cair e passou a subir de forma consistente.
A partir desse ponto, o pico candidato é o maior nível observado desde o início.
Confirmação do pico
Uma única oscilação não confirma o pico. É preciso observar uma queda consistente. O limiar de queda mínima é definido por rio (v5.6).
Classificação do estado da onda
Com base no pico e nas quedas recentes, o sistema classifica a onda em um dos estados possíveis.
4. Por que a velocidade é importante?
Considere duas situações:
| Situação | Nível | Variação | Interpretação |
|---|---|---|---|
| A | 3,20 m | +1 cm/h | Subida lenta — provavelmente próxima do pico |
| B | 3,20 m | +15 cm/h | Subida rápida — onda ainda em desenvolvimento |
O nível é exatamente o mesmo nos dois casos, mas o estado da onda é completamente diferente. Uma previsão baseada somente no nível atual perde essa informação.
a velocidade limita a projeção. Nenhuma previsão pode variar mais do que a velocidade observada permite em um horizonte temporal plausível.
5. As métricas extraídas do histórico
As ondas históricas vêm de ondas_rio.php. Para cada onda, o sistema extrai:
A partir dessas métricas, o sistema calcula as medianas:
As medianas são usadas como referência e como fallback quando não há velocidade específica disponível.
quando o campo velocidade_media_descida_cm_h não está disponível, o sistema calcula:
6. Como a onda atual é comparada com ondas históricas
Cada onda histórica recebe um peso de similaridade com a onda atual. Ondas mais parecidas pesam mais na média.
6.1 Filtros de elegibilidade
6.2 Cálculo dos pesos
As 15 ondas com maior peso formam o conjunto ondasAnalise.
Exemplo de comparação
| Característica | Onda atual | Evento A | Evento B |
|---|---|---|---|
| Nível no início | 2,10 m | 2,08 m | 2,15 m |
| Velocidade inicial | 4 cm/h | 5 cm/h | 3 cm/h |
| Velocidade máxima | 15 cm/h | 14 cm/h | 17 cm/h |
| Duração da subida | em andamento | 18 h | 21 h |
| Pico | estimado | 4,82 m | 5,10 m |
O objetivo não é afirmar que a onda atual será idêntica a uma onda antiga. O histórico funciona como referência para estimar a continuação mais compatível com o comportamento observado.
6.3 Análise específica de fundos históricos
Para projetar o fundo, o sistema monta um conjunto separado (fundosAnalise) contendo apenas ondas cujo fundo é mais profundo que a queda já realizada.
7. Limitação por velocidade e horizonte temporal (v5.4)
Uma das principais fontes de erro era permitir que a média histórica projetasse valores absurdos. Exemplo: prever fundo de 3,53 m quando o rio está em 5,58 m caindo a 5 cm/h.
a média dos fundos históricos podia ser muito mais baixa que o plausível. O horizonte temporal não era limitado.
a previsão é limitada pela velocidade real × horizonte máximo.
7.1 Horizonte por rio (v5.6)
| Rio | Horas máx. pico | Horas máx. fundo |
|---|---|---|
| Nova Palmira | 36 h | 18 h |
| Vale Real | 48 h | 24 h |
| Feliz | 48 h | 24 h |
| Bom Princípio | 60 h | 30 h |
| Montenegro | 72 h | 36 h |
| São Sebastião do Caí | 96 h | 48 h |
8. Direção obrigatória e pico já ocorrido (v5.5)
A v5.5 corrige dois problemas que restavam:
8.1 — Onda em construção mas já caindo
Se o estado é onda_em_construcao (pico ainda não confirmado formalmente), mas a tendência real já é de queda — v3h e v6h negativas — o pico é tratado como provavelmente ocorrido.
8.2 — Direção obrigatória do fundo
Se o rio está descendo, o fundo projetado tem que ser abaixo do menor nível já observado desde o pico. Nunca pode “voltar para cima”.
em São Sebastião do Caí, quando o rio já estava caindo (v5.4), o modelo projetava pico de 12,00 m. Com a v5.5, o modelo entende que o pico já ocorreu e projeta o fundo — coerente com a realidade.
9. Parâmetros por rio (v5.6)
Até a v5.5, todos os rios usavam o mesmo limiar de movimento, a mesma queda mínima para confirmar pico e o mesmo horizonte temporal. Isso gerava erro sistemático: o modelo superestimava rios grandes (Montenegro) e subestimava rios pequenos (Nova Palmira). A v5.6 introduz parâmetros específicos por estação.
| Rio | limiar_movimento | queda_minima_pico | horas_max_pico | horas_max_fundo | fator_velocidade |
|---|---|---|---|---|---|
| Nova Palmira | 0.015 | 0.08 | 36 | 18 | 1.00 |
| Vale Real | 0.02 | 0.10 | 48 | 24 | 0.95 |
| Feliz | 0.02 | 0.10 | 48 | 24 | 0.95 |
| Bom Princípio | 0.03 | 0.15 | 60 | 30 | 0.90 |
| Montenegro | 0.03 | 0.20 | 72 | 36 | 0.85 |
| São Sebastião do Caí | 0.05 | 0.25 | 96 | 48 | 0.80 |
9.1 Como cada parâmetro é usado
10. Tendência lenta (v5.6)
O modelo original só reconhecia movimento quando a variação ultrapassava limites fixos. Isso fazia com que rios em subida ou descida lentas fossem classificados como “estáveis” — e a previsão ficava travada enquanto o real continuava a evoluir.
a v5.6 conta sinais consistentes em quatro janelas temporais. Se houver 3 ou mais sinais na mesma direção, a tendência é tratada como lenta (subindo_lento ou descendo_lento) — mesmo que a tendência real (calculada por limiares rígidos) diga “estável”.
10.1 Regra de sinais
| Janela | Sinal de subida | Sinal de descida |
|---|---|---|
| 1h | > +0.3 cm/h | < −0.3 cm/h |
| 3h | > +0.2 cm/h | < −0.2 cm/h |
| 6h | > +0.1 cm/h | < −0.1 cm/h |
| 24h | > +5 cm total | < −5 cm total |
10.2 Efeito no cálculo
Ou seja: quando o rio está subindo ou descendo devagar mas de forma consistente, a previsão acompanha essa velocidade instantânea mínima, em vez de travar em uma velocidade histórica menor.
11. Ponderação de velocidade (v5.6)
Cada rio tem um fator_velocidade que define o quanto a velocidade atual pesa contra a velocidade histórica no cálculo da velocidade base.
11.1 Velocidade de subida usada no pico
11.2 Velocidade de descida usada no fundo
11.3 Ajuste no cálculo de subida lenta
Isso evita que o pico seja projetado muito acima do que a velocidade atual permitiria alcançar dentro do horizonte.
12. Nowcasting de curto prazo (v5.7)
Até a v5.6, o modelo projetava pico ou fundo para horizontes longos (24–96h), usando extrapolação linear da velocidade. Isso gerava previsões que “travavam” por horas seguidas: durante todo o horizonte, o valor previsto permanecia o mesmo, enquanto o rio real já havia mudado de fase.
Montenegro previsto em 7,49 m por mais de 10 horas, enquanto o real caía de 6,39 para 6,24 m. Erro médio absoluto acima de 1,2 m.
a previsão passa a ser de curto prazo. Em vez de “onde o rio estará em 48h”, o modelo estima onde o rio estará nas próximas horas (com teto por rio).
12.1 Fórmula da projeção de curto prazo
A projeção simula a evolução hora a hora, aplicando uma desaceleração progressiva à velocidade inicial. Rios desaceleram quando se aproximam de um extremo.
12.2 Interpretação do fator 0.85
| Hora | Velocidade relativa | Exemplo (vel. inicial = 10 cm/h) |
|---|---|---|
| 1ª | 100% | 10,0 cm |
| 2ª | 85% | 8,5 cm |
| 3ª | 72% | 7,2 cm |
| 4ª | 61% | 6,1 cm |
| 5ª | 52% | 5,2 cm |
| 6ª | 44% | 4,4 cm |
Isso significa que uma onda que começa subindo a 10 cm/h não sobe 60 cm em 6h — sobe aproximadamente 41 cm, porque a velocidade cai progressivamente.
12.3 Horizonte máximo por rio (v5.7)
| Rio | horizonte_nowcasting |
|---|---|
| Nova Palmira | 4 h |
| Vale Real | 5 h |
| Feliz | 5 h |
| Bom Princípio | 6 h |
| Montenegro | 8 h |
| São Sebastião do Caí | 10 h |
13. Horizonte adaptativo à velocidade (v5.8)
A v5.7 introduziu o nowcasting, mas com horizonte fixo por rio. Isso ainda causava um efeito colateral: quando o rio está em transição lenta (subindo ou descendo poucos centímetros por hora), projetar 6–10h à frente é arriscado — pequenas variações acumulam muito erro.
A v5.8 torna o horizonte adaptativo à velocidade instantânea do rio:
- Rios lentos (poucos cm/h) recebem horizonte curto — porque a previsão se torna imprecisa rapidamente.
- Rios rápidos (muitos cm/h) recebem horizonte longo — porque o movimento é bem definido e a previsão ainda é informativa.
13.1 Novo parâmetro por rio
| Rio | horizonte_min | horizonte_nowcasting (máx) |
|---|---|---|
| Nova Palmira | 1,0 h | 4,0 h |
| Vale Real | 1,0 h | 5,0 h |
| Feliz | 1,0 h | 5,0 h |
| Bom Princípio | 1,5 h | 6,0 h |
| Montenegro | 2,0 h | 8,0 h |
| São Sebastião do Caí | 2,0 h | 10,0 h |
13.2 Velocidade absoluta usada
Para escolher o horizonte, o modelo calcula a velocidade absoluta como o maior valor entre as variações de 1h, 3h e 6h:
13.3 Interpolação do horizonte
O horizonte efetivo é interpolado linearmente entre o mínimo e o máximo do rio:
13.4 Efeito prático por rio
| Rio | Lento (0,5 cm/h) | Médio (5 cm/h) | Rápido (10+ cm/h) |
|---|---|---|---|
| Nova Palmira | 1,0 h | 2,5 h | 4,0 h |
| Vale Real | 1,0 h | 3,0 h | 5,0 h |
| Feliz | 1,0 h | 3,0 h | 5,0 h |
| Bom Princípio | 1,5 h | 3,8 h | 6,0 h |
| Montenegro | 2,0 h | 5,0 h | 8,0 h |
| São Sebastião do Caí | 2,0 h | 6,0 h | 10,0 h |
Montenegro descendo a 1 cm/h → horizonte ≈ 2,5h. O modelo não fica 8h “chutando” o fundo; concentra-se em prever as próximas 2–3 horas, onde a confiança é maior.
13.5 Campos novos no JSON
14. Os estados possíveis da onda
| Estado | Quando ocorre | O que o modelo projeta |
|---|---|---|
| onda_em_construcao | Pico ainda não confirmado e rio subindo/estável | Pico (com horizonte adaptativo) |
| pico_provavelmente_ocorrido | Estado de construção, mas rio já caindo consistentemente | Fundo (obrigatoriamente abaixo do mínimo) |
| onda_em_queda | Pico confirmado + queda consistente | Fundo (com horizonte adaptativo) |
| onda_estabilizando | Pico confirmado, mas queda fraca | Fundo (peso maior no histórico) |
| onda_terminada | Fundo já ocorreu e nova subida iniciou | Pico da próxima onda |
15. Todos os campos do JSON
A API previsao_rio.php?rio=… retorna um JSON com todos os blocos abaixo. Cada campo tem um papel específico na leitura da onda.
15.1 Bloco rio
15.2 Bloco atual
15.3 Bloco onda_atual
15.4 Bloco historico
15.5 Bloco previsao
15.6 Bloco confiabilidade_onda
15.7 Bloco confiabilidade_previsao
15.8 Bloco proxima_onda
15.9 Bloco montante
15.10 Bloco gravacao_previsao
16. Análise de montante (propagação)
O sistema consulta as estações a montante da estação atual e calcula uma tendência agregada.
Alto Caí
Nova Palmira
Vale Real
Médio Caí
Feliz
Bom Princípio
Baixo Caí
São Sebastião do Caí
Montenegro
Quando há entrada_de_agua, o modelo aplica um ajuste de até +5 cm na previsão de pico (na v5.7+, o ajuste foi reduzido para respeitar o nowcasting).
17. Fórmulas completas do modelo (v5.8)
17.1 Variações
17.2 Tendência real
17.3 Tendência lenta
17.4 Confirmação do pico
17.5 Pesos das ondas semelhantes
17.6 Velocidades ponderadas
17.7 Horizonte adaptativo (v5.8)
17.8 Projeção de curto prazo
17.9 Projeção de pico
17.10 Projeção de fundo
17.11 Detecção de pico já ocorrido (v5.5)
17.12 Ajuste de montante
17.13 Arredondamento para 15 minutos
18. Como interpretar a previsão na prática
| Informação | O que significa |
|---|---|
| SUBINDO | Tendência de elevação compatível com onda em desenvolvimento. |
| PICO PARA ONDA ATUAL | Onda em desenvolvimento; máximo sendo projetado em horizonte curto. |
| PICO PROVAVELMENTE OCORRIDO | Pico não confirmado formalmente, mas rio já caindo; passa-se a projetar o fundo. |
| DESCENDO | Onda ultrapassou o máximo; projeta-se o fundo em horizonte curto. |
| PRÓXIMA ONDA | Onda anterior terminou; projeta-se o pico da próxima em horizonte curto. |
18.1 Lendo o horizonte
O campo previsao.horizonte_horas informa por quantas horas a previsão é válida. Esse valor varia a cada execução, em função da velocidade observada:
- Horizonte curto (1–2h) — rio em transição lenta. A previsão é conservadora, foca em poucas horas à frente.
- Horizonte médio (3–5h) — rio com movimento moderado. Equilíbrio entre cobertura e precisão.
- Horizonte longo (6–10h) — rio com movimento rápido e bem definido. A previsão cobre mais tempo porque a tendência é clara.
19. Ciclo de vida de uma previsão
20. Limitações
O comportamento real do rio pode se afastar da projeção quando ocorrerem situações diferentes daquelas observadas anteriormente.
Fatores que podem alterar o comportamento:
- chuvas muito intensas ou concentradas;
- distribuição espacial diferente da chuva;
- contribuições excepcionais de tributários;
- alterações bruscas na velocidade da subida;
- falhas ou interrupções de dados;
- comportamentos sem equivalentes suficientes no histórico;
- diferenças entre a onda atual e eventos anteriores.
21. Resumo do processo
22. Transparência sobre a previsão
As informações apresentadas pela Central de Previsões são derivadas das medições disponíveis para cada estação e dos cálculos realizados pelo sistema.
Uma estimativa pode ser revisada quando novos dados modificarem a interpretação da onda.
O valor observado posteriormente é a referência para avaliar se a projeção anterior se confirmou.
A versão documentada nesta página é a v5.8, que introduz horizonte adaptativo à velocidade, somando-se às melhorias das versões anteriores: parâmetros por rio (v5.6), detecção de tendência lenta (v5.6), nowcasting de curto prazo (v5.7) e detecção de pico já ocorrido (v5.5).
Sobre o sistema
Rio Caí — Central de Previsões
Sistema desenvolvido para análise automatizada do comportamento hidrológico e identificação de ondas, picos e fundos nas estações monitoradas.
Omeloton IA — omelhor.net