Glossário

Termos técnicos usados nesta página, em ordem alfabética — para quem chega sem bagagem de estatística ou saúde pública.

Associação ecológica
Um padrão estatístico observado entre grupos ou períodos (aqui, meses de uma cidade), não entre indivíduos. Mostra correlação, não prova que um fator causa o outro.
Backtest / holdout cronológico
Testar um modelo só com dados de um período que ele nunca "viu" durante o treino, para simular como ele se sairia na prática.
Correção de Bonferroni
Ajuste conservador para quando vários testes são feitos: multiplica-se cada valor-p pelo número de testes, reduzindo a chance de um resultado significativo surgir por acaso.
DATASUS
O departamento do Ministério da Saúde que mantém as bases de dados públicas do SUS usadas neste estudo (SIH, SIM, SRAG/OpenDataSUS).
ERA5
O principal conjunto de dados climáticos de referência do mundo, produzido pelo serviço europeu Copernicus. Combina observações e modelos para reconstruir o clima do planeta numa grade de cerca de 25 km.
FAR (taxa de falso alarme)
Entre os alertas emitidos por um modelo, qual fração não se confirmou depois.
Função de transferência
A relação medida que converte a leitura de um instrumento para a escala de outro. Aqui, rede ≈ 1,14 × ERA5 + 0,1.
INMET
Instituto Nacional de Meteorologia — a rede oficial de estações meteorológicas do governo brasileiro, bem mais esparsa que a rede hiperlocal deste estudo.
Outlier
Um valor atípico, muito fora do padrão do resto dos dados, que pode distorcer uma média se não for tratado com cuidado.
r (correlação de Pearson) / rho (correlação de Spearman)
Um número entre −1 e 1 que mede o quanto duas variáveis se movem juntas. Perto de 1 ou −1, andam muito juntas; perto de 0, não há relação aparente entre elas.
ROC-AUC
Uma medida de 0 a 1 de quão bem um modelo distingue entre duas situações (aqui, "vai chover" ou "não vai"). 0,5 equivale a chute aleatório; 1 é acerto perfeito.
SIH (Sistema de Informações Hospitalares)
Base de dados pública do SUS com registros de internações hospitalares, mês a mês.
SIM (Sistema de Informações sobre Mortalidade)
Base de dados pública do SUS com registros de óbitos por causa, mês a mês.
SRAG (Síndrome Respiratória Aguda Grave) / OpenDataSUS / SIVEP-Gripe
SRAG é um quadro respiratório grave de notificação obrigatória; OpenDataSUS e SIVEP-Gripe são os sistemas do Ministério da Saúde onde esses casos são registrados diariamente.
Teste de permutação
Um método estatístico que embaralha os dados milhares de vezes (aqui, 20 mil) para calcular a chance de um resultado ter surgido por puro acaso.
Valor-p (p)
A chance de um resultado tão forte quanto o observado aparecer só por acaso, caso não exista efeito real nenhum. Quanto menor, mais forte a evidência; por convenção científica, abaixo de 0,05 é considerado estatisticamente significativo.

O contexto

O HexaClima é uma rede de 39 estações meteorológicas de baixo custo espalhadas pelos bairros de São Carlos/SP, num raio de 30 km do centro, medindo temperatura, umidade, chuva, pressão, vento, UV e CO₂ equivalente a cada poucos minutos. Sobre essa rede foram construídos, em camadas, previsão de chuva por aprendizado de máquina, alertas preditivos de seca e calor com 7 dias de antecedência e um índice de risco de saúde por calor. O índice se apoia num cruzamento de 17 anos de dados públicos de saúde do DATASUS com a reanálise climática ERA5, feito em paralelo.

A tese que esta página existe para verificar, número por número: dados hiperlocais somados a dados públicos abertos, tratados com método honesto — incluindo os resultados que não confirmam a hipótese inicial — produzem um retrato da cidade que nenhuma das duas fontes entregaria sozinha.

Mapa de São Carlos, SP, com as 39 estações da rede HexaClima distribuídas pela área urbana e bairros de referência rotulados, com detalhe mostrando o raio de 30 km.
As 39 estações da rede HexaClima em São Carlos/SP. No detalhe, o raio de 30 km com as estações fora da área urbana. Coordenadas públicas, mapa ao vivo em hexasmart.ai. Base cartográfica © colaboradores do OpenStreetMap.

O que só uma rede hiperlocal enxerga

Numa tarde quente, a cidade não é uma cidade só.

5,8 °C

de diferença mediana de temperatura máxima entre bairros nos 143 dias quentes de 2025–2026 (2º mais quente menos 2º mais frio, uma medida robusta a outlier). Em 10% dos dias, a diferença chegou a 8,1 °C. O extremo foi 12,3 °C, em 23 de fevereiro de 2026, com 18 estações no ar.

Gráfico de barras: diferença de temperatura máxima entre bairros de São Carlos em dias quentes — mediana de 5,8 °C, 90º percentil de 8,1 °C e extremo de 12,3 °C em 23/02/2026.
Diferença de temperatura máxima entre bairros em dias quentes (2º mais quente − 2º mais frio), rede HexaClima, 143 dias quentes de 2025–2026. Leitura bruta das estações.

Comparamos a rede com o ERA5, a reanálise climática global padrão-ouro, com resolução de cerca de 25 km por pixel, em 370 dias de 2025–2026. No tempo, as duas fontes contam a mesma história: r = 0,94 na temperatura máxima diária e r = 0,89–0,93 na umidade. A diferença está na escala. A relação medida é rede ≈ 1,14 × ERA5 + 0,1, e o desnível cresce com o calor: pequeno nos dias frios, maior nos quentes. Em média, a rede lê 3,7 °C acima. Parte disso é instrumento (abrigo não aspirado ao sol) e parte é ilha de calor urbana real que um pixel de 25 km dilui. Por isso a mediana da rede passou de 32 °C em 119 dias em que o ERA5 não passou, e o contrário nunca aconteceu. Esses 119 dias não são ondas de calor escondidas: 32 °C na leitura da rede equivalem a cerca de 28 °C no ERA5, patamar em que não há excesso de óbitos (ver “Um limiar só vale na régua em que foi medido”, abaixo). Separar instrumento de ilha de calor, estação por estação, é o próximo passo desta análise.

Isso importa porque nenhuma fonte pública de referência — ERA5, INMET, satélite — tem esse grão. É a diferença entre saber que a cidade está quente e saber onde o calor está mais forte. E o dado chega em minutos, não com o atraso de dias da reanálise.

Métodos

Cruzamos três bases públicas do DATASUS, acessadas por clientes automatizados construídos para este projeto:

Para o achado central (ondas de calor e óbitos), a temperatura vem do ERA5, que cobre o período inteiro, obtido pelo arquivo histórico do Open-Meteo. Usamos 17 anos de óbitos mensais do SIM, com tendência e sazonalidade removidas, e testamos a significância por teste de permutação com 20 mil sorteios que preservam o calendário. Onda de calor foi definida, para essa análise, como 3 ou mais dias seguidos com temperatura máxima de 32 °C ou mais no ERA5. Os limiares de 32 e 34 °C eram as hipóteses originais. Os de 28 e 30 °C entraram depois, como teste de falseamento durante a comparação entre as escalas, com a expectativa de resultado nulo. Os valores-p reportados são os da permutação, sem ajuste para múltiplos testes.

A rede HexaClima, com dados desde 2024, entra depois, em duas etapas. Primeiro, a tradução entre escalas: regressão da temperatura máxima diária da rede (mediana das estações válidas, com pelo menos 8 estações por dia e 24 leituras por estação) contra o ERA5 do mesmo dia, em 370 dias de 2025–2026. Depois, a leitura do que muda entre bairros, que a grade de 25 km não resolve.

Resultados positivos: ondas de calor e óbitos

Este é o achado mais forte da linha de pesquisa.

Gráfico de barras: excesso de óbitos mensais em São Carlos durante ondas de calor, 2009–2026, por faixa etária e causa.
Variação de óbitos em meses com onda de calor (máxima ≥32 °C no ERA5, 3+ dias) comparados aos mesmos meses sem onda. Óbitos: SIM/DATASUS. Temperatura: ERA5. 2009–2026.
GrupoMeses com onda (n=32)Mesmos meses sem ondap
Todas as causas+3,3%−1,0%0,005
60+ anos+4,8%−1,4%0,001
80+ anos+3,6%−1,1%0,050
Circulatórias+3,7%−1,1%0,038

Em números absolutos, isso equivale a aproximadamente +5,6 óbitos por mês de onda, numa cidade de cerca de 250 mil habitantes. Setembro de 2024, com 7 dias de onda, teve +16% de óbitos por todas as causas — cerca de 27 pessoas a mais. As internações por causas circulatórias contam história parecida: +6,5% nos meses com onda.

Acima de 32 °C, a régua severa (34 °C ou mais no ERA5), isolada, não atinge significância estatística (p=0,23), simplesmente porque há poucos meses nessa condição (13 em 17 anos). A régua de 32 °C no ERA5 acumula os 32 episódios necessários para revelar o efeito. Abaixo dela, o sinal desaparece, como mostra a seção seguinte.

Um limiar só vale na régua em que foi medido

O limiar de 32 °C foi medido na escala do ERA5. As estações da rede leem mais quente, e a diferença não é fixa: cresce com o calor, o que é consistente com o erro radiativo de abrigos não aspirados somado à ilha de calor urbana, ambos maiores em dia de sol forte. A tabela abaixo mostra as equivalências pela relação medida (rede ≈ 1,14 × ERA5 + 0,1; r = 0,94; 370 dias de 2025–2026).

Temperatura máxima no ERA5Equivalente na leitura das estações
28,0 °C≈ 32,0 °C
32,0 °C≈ 36,6 °C
34,0 °C≈ 38,9 °C
36,0 °C≈ 41,1 °C

O teste decisivo foi repetir a análise de excesso de óbitos em limiares mais baixos do ERA5, incluindo o de 28 °C, que corresponde aos 32 °C da rede. Esses limiares foram testados esperando resultado nulo, e foi o que apareceu.

Limiar no ERA5Equivalente nas estaçõesMesesExcesso (todas)Excesso (60+)p (todas / 60+)
≥ 28 °C≈ 32,0 °C138−0,2%−0,2%0,75 / 0,70
≥ 30 °C≈ 34,3 °C75−0,8%−0,3%0,86 / 0,62
≥ 32 °C≈ 36,6 °C32+3,3%+4,8%0,005 / 0,001

Excesso de óbitos por limiar de onda de calor (3+ dias com máxima ≥ limiar, escala ERA5). SIM/DATASUS, 2009–2026, permutação com 20 mil sorteios.

No patamar dos 32 °C da rede, que em São Carlos é verão comum (138 meses de “onda” em 17 anos), o sinal é zero. O excesso de óbitos é específico dos episódios realmente extremos. Baixar o limiar de um alerta de saúde dilui esses episódios num conjunto de dias comuns, e o alerta perde a evidência que o sustenta. Para replicar a análise com outra rede de sensores, é preciso medir antes a relação local entre estações e referência: cada rede terá sua própria função de transferência.

A hipótese que caiu

Internações respiratórias em São Carlos têm sazonalidade forte: pico de abril a junho (cerca de 130 por mês), vale de novembro a janeiro (cerca de 80 por mês) — uma diferença de 65%.

A hipótese inicial era que o pico acompanharia o auge da seca (agosto–setembro, quando há cerca de 14 dias por mês com umidade mínima abaixo de 30%). Não foi o que o dado mostrou: o pico respiratório vem antes do auge da seca. No agregado mensal, o melhor preditor das internações é o frio (r = −0,31 com a temperatura máxima), não a umidade — porque internação é o desfecho grave, e ele acompanha os vírus da estação fria. O efeito do ar seco parece ser agudo, medido em dias, e desaparece quando se olha por mês.

Registrar que a hipótese intuitiva não se sustentou vale tanto quanto um achado positivo.

Resultados nulos

Publicar os nulos ao lado dos positivos é o que separa vigilância de marketing — por isso eles estão aqui, não numa nota de rodapé:

Ressalvas

Ressalvas de método — leia antes de citar um número desta página
  • Tudo o que é saúde aqui é associação estatística (ecológica), não causalidade demonstrada.
  • Todo limiar de temperatura ligado a óbitos está na escala do ERA5. Na leitura das estações, o equivalente de 32 °C é cerca de 36,6 °C. Números não se transportam entre instrumentos sem uma função de transferência medida.
  • Foram testados quatro limiares (28, 30, 32 e 34 °C), e os valores-p reportados não têm ajuste para múltiplos testes. Numa leitura conservadora, que conta os quatro, inclusive os dois testados esperando resultado nulo, multiplicar os valores-p por quatro (correção de Bonferroni) mantém o resultado de 32 °C abaixo de 0,05: 0,02 para todas as causas e 0,004 para 60+.
  • Sensores de baixo custo superestimam a temperatura máxima ao sol: parte do desnível frente ao ERA5, e parte do espalhamento entre bairros, é efeito de instrumento, não só ilha de calor real.
  • SIH e SIM cobrem a rede SUS, e os meses mais recentes de cada base são preliminares.
  • O índice de risco térmico-saúde (próxima seção) ainda não tem validação prospectiva — essa validação começou agora.

Do achado ao serviço: o Índice de Risco Térmico-Saúde

A pesquisa virou funcionalidade em produção com uma regra de governança explícita: análise exploratória vive num diretório de pesquisa separado; só passa a integrar o sistema principal quando reescrita com testes.

O índice classifica os próximos dias (janela padrão de 7 dias) em quatro níveis, a partir da previsão de temperatura máxima, que é calibrada nas estações da rede. Os limiares vêm da análise epidemiológica, medida no ERA5, e são convertidos para a escala das estações antes de qualquer comparação com a previsão. Os níveis são avaliados de cima para baixo: Muito alto tem precedência sobre Alto.

NívelRegra (previsão, leitura das estações)Equivalente no ERA5Evidência
🟢 Sem risco térmicoNenhum dia com máxima ≥ 36,6 °C——
🟡 AtençãoUm ou mais dias com máxima ≥ 36,6 °C, sem sequência de 3 dias seguidos32 °CDias isolados não foram testados; a análise cobre sequências de 3+ dias
🟠 Alto3 ou mais dias seguidos com máxima ≥ 36,6 °C32 °CPadrão testado: óbitos +3,3% (p=0,005); 60+ +4,8% (p=0,001)
🔴 Muito alto3 ou mais dias seguidos com máxima ≥ 38,9 °C34 °CSubconjunto do padrão testado; isolado, p=0,23 (13 meses em 17 anos)

As mensagens ao usuário usam a escala que ele vê, com os limiares arredondados (37 °C e 39 °C nas estações). No nível Alto, as mensagens priorizam pessoas com 60 anos ou mais, grupo em que o sinal é mais forte. Toda mensagem termina com o aviso de que se trata de risco populacional estimado a partir do histórico local de saúde, e não de previsão individual.

O patamar de 36 °C no ERA5 (≈41,1 °C nas estações) não define nenhum dos quatro níveis. Ele marca como risco muito alto um dia isolado no painel semanal do mapa e aciona o anel mais forte das estações. Esses usos não têm teste epidemiológico próprio: a evidência deste estudo cobre sequências de 3 ou mais dias.

Na primeira versão em produção, o índice aplicava o número 32 diretamente à leitura das estações, o que fazia o nível Alto disparar em episódios que a evidência não cobre. A coincidência com o limiar de 32 °C que a previsão de calor já usava parecia uma confirmação mútua, mas eram duas temperaturas diferentes. A correção, feita em 11 de setembro de 2026, vale para todas as superfícies do índice: bot, API, faixa de risco, painel semanal e anéis por bairro no mapa. A API expõe a tradução entre as escalas. Os níveis meteorológicos da previsão de calor (32, 34 e 36 °C na leitura das estações) continuam no mapa como informação de temperatura, sem alegação de mortalidade.

Hoje o índice roda no mapa público, junto com a previsão de calor a 7 dias e os alertas de umidade baixa. No mapa, cada estação ganha um anel colorido conforme a temperatura atual daquele bairro, com os limiares convertidos — a temperatura deixa de ser uma média da cidade e vira um endereço. Como usam a leitura do momento, e não uma sequência de dias, os anéis são sinal de calor local, não risco validado. Um canal de alerta dirigido à população em geral, em parceria formal com a Secretaria de Saúde, ainda não existe: depende de protocolo próprio, que é o próximo passo institucional, não técnico.

Duas escolhas de desenho são posição ética, não técnica. Primeira: o índice é sempre risco populacional, nunca previsão individual — o disclaimer acompanha toda mensagem; ele diz que a cidade entra numa semana que, historicamente, está associada a mais óbitos, e nunca algo sobre uma pessoa específica. Segunda: cada alerta emitido fica registrado para ser comparado com os óbitos reais do SIM a cada consolidação trimestral — em um ou dois anos, o índice deixa de ser "baseado em correlação histórica" e passa a ser "validado em operação".

Ficha técnica — números citáveis e suas fontes

NºAfirmaçãoFonte / períodoStatus
1ROC-AUC 0,927 na previsão de chuva a 30 minModelos treinados nos dados da rede, jan–jul/2025Medido (holdout cronológico)
2Detecção de ~90% dos dias de umidade <40% até 6 dias antes (FAR ~0,10)Backtest ~90 diasMedido
3+65% de internações respiratórias no pico sazonal (abr–jun vs. nov–jan)SIH/DATASUS, 2008–2026 (222 meses)Medido
4Frio prediz internação melhor que seca no agregado mensal (r=−0,31 vs. |r|≤0,20)SIH × ERA5, 220 mesesMedido
5Óbitos +3,3% (todas as causas, p=0,005) e +4,8% (60+, p=0,001) em meses de onda com máxima ≥32 °C no ERA5SIM/DATASUS × ERA5, 2009–2026, permutação 20kMedido; associação, não causalidade
6≈ +5,6 óbitos por mês de onda; set/2024: +16% (~+27 óbitos)IdemMedido
7Sem excesso de óbitos em ondas com máxima ≥28 °C (p=0,75) e ≥30 °C (p=0,86) no ERA5SIM/DATASUS × ERA5, 2009–2026, permutação 20kResultado nulo
8Rede ≈ 1,14 × ERA5 + 0,1 (r=0,94); 32 °C no ERA5 ≈ 36,6 °C nas estaçõesRede × ERA5, 370 dias, 2025–2026Medido
9119 dias com mediana da rede ≥32 °C sem registro equivalente no ERA5 (desnível médio +3,7 °C)Rede × ERA5, 370 dias, 2025–2026Leitura bruta; não equivale a ondas de calor
105,8 °C de diferença mediana entre bairros em dias quentes (extremo 12,3 °C)Rede, 143 dias quentes, 2025–2026Medido; posicionamento dos sensores contribui
116.257 casos de SRAG de São Carlos extraídos de dados abertosSIVEP-Gripe/OpenDataSUS, 2009–2026Dado bruto público, filtrado
12Correlação diária SRAG × umidade: nula por falta de potência (~0,8 caso/dia)SRAG × ERA5, defasagens 0–14 diasResultado nulo honesto

Onde está o código

A análise vive num repositório de pesquisa próprio (MapaHexaClimaPreditivo), com os clientes de acesso ao DATASUS, os scripts de análise e os dados extraídos versionados separadamente do produto em operação. A regressão entre rede e ERA5 está em research/saude/rede_vs_era5.py, e a análise de permutação nos limiares, em research/saude/analise_clima_saude.py. O ERA5 foi obtido pelo arquivo histórico do Open-Meteo. O relatório completo pode ser baixado em PDF abaixo, e a análise é reproduzível sob solicitação.

Baixar relatório técnico (PDF, com DOI)

Histórico de revisões
  • Setembro de 2026: publicação.
  • 10 de setembro de 2026: explicitada a fonte de temperatura do achado central (ERA5, 2009–2026) e a ordem da análise. Os 119 dias passam a ser apresentados como leitura bruta das estações, sem correção de viés. Nenhum resultado numérico mudou.
  • 11 de setembro de 2026: medida a relação entre a escala das estações e a do ERA5 (rede ≈ 1,14 × ERA5 + 0,1) e testados os limiares de 28 e 30 °C no ERA5, sem excesso de óbitos. Todos os limiares ligados a óbitos passam a indicar a escala. Registrada a correção do Índice de Risco Térmico-Saúde, que passou a converter as escalas antes de comparar a previsão com o limiar. Nenhum resultado numérico anterior mudou.
  • 11 de setembro de 2026: relatório técnico depositado no Zenodo com DOI (versão 1.0), que passa a ser a versão canônica para download; o link antigo do PDF redireciona para o DOI.

Como citar esta página

MORCELI, Gustavo. Ondas de calor e mortalidade em São Carlos: o que 17 anos de DATASUS cruzados com uma rede hiperlocal revelam. São Carlos, 2026. Disponível em: https://gustavomorceli.com.br/dados-para-o-bem-comum/estudo-sao-carlos/. Acesso em: [data].

Relatório técnico com DOI (versão 1.0): MORCELI, Gustavo. Ondas de calor e mortalidade em São Carlos: o que 17 anos de DATASUS cruzados com uma rede hiperlocal revelam. Versão 1.0. [S. l.]: Zenodo, 2026. Relatório técnico. DOI: 10.5281/zenodo.22700571.


Este estudo sustenta o Capítulo 4 do livro Dados para o Bem Comum. A rede de estações e o índice de risco são desenvolvidos pela Hexa Smart, da BDN Tecnologia. Saiba mais sobre Gustavo Morceli.

Fontes públicas: DATASUS/TabNet · OpenDataSUS (SRAG) · ERA5, Copernicus Climate Change Service, via Open-Meteo · Lei 12.608/2012.