API para extrair os dados históricos de temperatura da Base do INMET
Os dados são da base BDMEP - Banco de Dados Meteorológicos para Ensino e Pesquisa. São dados históricos, a partir de 1961 extraidos de estações convencionais (link).
Os dados do BDMEP são dados históricos e não em tempo real, ou seja, as vezes só estão disponíveis dados anteriores a 1~3 meses.
Um pré requisito para acessar a base é ter cadastro no BDMEP. Veja a sessão de links abaixo.
- Pagina Inicial do INMET
- Pagina dos dados BDMEP
- Caso ainda não possua cadastro para consulta da base BDMEP, acesse AQUI
- Para fazer o login e ver os dados no site acesse AQUI
- Tabela de código de ventos AQUI
- Lista de estações AQUI
- Python 3
- Selenium
- Selenium web driver (chromedriver.exe ou outro se sua escolha)
- Beautiful Soup4
-
Instale Git e faça o download deste projeto (para Windows)
-
Instale Python 3
-
Na linha de comando, crie um VirtualEnv para seu codigo python:
> python -m venv venv
-
Inicie seu virtualEnv com:
> venv\Scripts\activate
- Se precisar desativar é só
> venv\Scripts\deactivate
- Se precisar desativar é só
-
Após criar o VirtualEnv e inicia-lo, vamos agora instalar as dependencias deste projeto. Para isso use:
> pip install -r requirements.txt
-
Pronto, tudo certinho para executar o projeto :)
- A base do BDMEP possui varios tipo de consultas. Para facilitar o uso, foram criados alguns Templates:
- HOUR | Consulta de apenas alguns parametros e 3x ao dia
- DAY | Consulta de apenas alguns parametros e 2x ao dia
- DAYFULL | Consulta de todos os parametros e 3x ao dia
- MONTH | Consulta de todos os parametros e 1x ao mes
*Recomendo utilizar ou o Template DAYFULL, pois é o que aparenta estar mais completo.
- Para executar use o comando abaixo:
> python extract_data.py DAYFULL
- O arquivo será gerado em
data/output_data.csv
*Por enquanto não foi adicionado nem a opção de data nem a opção de nome do arquivo. Para alterar a data de extraão edite a linha 94 do extract_data.py
Um detalhe importante é que a base do BDMEP são dados de estações "Convencionais". Existem dois tipos de estações:
- Convêncional: É composta de vários sensores isolados que registram continuamente os parâmetros meteorológicos (pressão, temperatura, etc..), que são lidos e anotados por um observador (humano ou sistema) a cada intervalo de tempo (link).
- Automática: É composta de uma unidade de memória central ("data logger"), ligada a vários sensores meteorológicos, e que integra os valores observados minuto a minuto e os disponibiliza automaticamente a cada hora (link).
Então, para neste projeto estamos usando os dados Convêncionais.
As observações ocorrem todos os dias as 0900, 1500 e 2100 (UTC-3).
A formula usada para o cálculo da Temperatura média compensada (TC) é:
TC = ( T12 + 2*T0 + T_(min) + T_(max) ) / 5
-
Esse documento que explica a metodologia utilizada para construir a base.
-
Essa publicação sobre medias diarias e Temperatura média compensada
-
Dados Horários (link)
- Dados de 3x ao dia
-
Dados Diários (link)
- Dados de 3x ao dia contendo a media diaria e mais algumas medidas calculadas
-
Dados Mensais (link)
- Dados de 1x ao mes, com a media mensal
-
Atributos:
- mRelEstacao
- btnProcesso
- mRelDtInicio
- mRelDtFim
- mAtributos=,,,,,,,,,,,,,,,, -> Conjunto de atributos separados por virgula. Se tiver o atributo então recebe o valor 1, se não fica vazio (ex: mAtributos=1,1,1,,,,,,,,,,1,1,,,). Lista de atributos:
- 1º Direção do Vento Predominante (tabela)
- 2º Velocidade do Vento Média (mps)
- 3º Velocidade do Vento Máxima Média (mps)
- 4º Evaporação do Piche (mm)
- 5º Evapotranspiração Potencial BH (mm)
- 6º Evapotranspiração Real BH (mm)
- 7º Insolação Total (hs)
- 8º Nebulosidade Média (décimos)
- 9º Número de Dias com Precipitação (qtd)
- 10º Precipitação Total (mm)
- 11º Pressão Atm nível Mar Média (mbar)
- 12º Pressão Atm Média (mbar)
- 13º Temp Máxima Média(ºC)
- 14º Temp Compensada Média(ºC)
- 15º Temp Mínima Média(ºC)
- 16º Umidade Relativa Média (%)
- 17º Visibilidade Média (%)(tabela)
-
Informações sobre os parametros:
- Tratamento para login com usuario errado.
- Exportar para arquivo
- Adicionar input para data