Giter Site home page Giter Site logo

inmet-api-temperature's Introduction

INMET-API-temperatura

API para extrair os dados históricos de temperatura da Base do INMET

Descrição

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.

Links

  • 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

Como executar o projeto?

Requerimentos

  • Python 3
  • Selenium
  • Selenium web driver (chromedriver.exe ou outro se sua escolha)
  • Beautiful Soup4

Instalação

  • 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
  • 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 :)

Executando 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

Sobre o BDMEP

Detalhes importantes

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

Documentos Importantes

Parâmetros

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

TO DO

  • Tratamento para login com usuario errado.
  • Exportar para arquivo
  • Adicionar input para data

Saiba mais

inmet-api-temperature's People

Contributors

fabinhojorge avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.