# Meteorologia de Superfície — Aeródromos Brasileiros Coleta, processa e visualiza dados meteorológicos horários de aeródromos brasileiros a partir do portal de dados de superfície do ICEA/DECEA. --- ## Início rápido Clone o repositório, entre na pasta do módulo e execute: ```bash cd softwares/test/meteorologia_aeroportos ``` **Windows (PowerShell)** ```powershell .\run\run.bat ``` **Windows (CMD)** ```cmd run\run.bat ``` **Linux / macOS** ```bash chmod +x run/run.sh && ./run/run.sh ``` O script cria o ambiente virtual, instala as dependências e abre o dashboard em **http://localhost:8501**. > **Pré-requisito:** Python 3.10+ e Google Chrome instalados. > > No PowerShell o `.\` antes do caminho é obrigatório para executar arquivos `.bat` por caminho relativo. --- ## Estrutura ``` meteorologia_aeroportos/ ├── README.md este arquivo ├── LICENSE MIT License ├── docs/ documentação técnica e autoria ├── _apps/ módulos Python │ ├── dashboard.py dashboard interativo (Streamlit) │ ├── pipeline.py orquestrador completo │ ├── scraper_meteorologia.py coleta de dados via web │ ├── concat_meteorologia.py concatenação de CSVs │ ├── db.py camada SQLite │ └── _diag_outliers.py diagnóstico de qualidade ├── run/ │ ├── run.bat inicialização Windows │ └── run.sh inicialização Linux/macOS ├── env/ │ └── requirements.txt └── db/ ├── met.db banco SQLite principal └── dados/ CSVs temporários (removidos após coleta) ``` CSVs analíticos permanentes ficam fora da pasta do módulo: ``` dataset/tabelas/preproc/meteorologia_aeroportos// ``` --- ## Uso via linha de comando Todos os comandos são executados a partir da pasta `meteorologia_aeroportos/`. **Coletar histórico completo de um aeródromo:** ```bash python _apps/pipeline.py --aerodrome SBGR --all-years ``` **Coletar um intervalo de anos:** ```bash python _apps/pipeline.py --aerodrome SBGR --start-year 2020 --end-year 2025 ``` **Abrir o dashboard:** ```bash streamlit run _apps/dashboard.py ``` **Diagnóstico de qualidade do banco:** ```bash python _apps/_diag_outliers.py ``` | Parâmetro | Descrição | |-----------|-----------| | `--aerodrome` | Código ICAO (ex: `SBGR`, `SBSP`) | | `--all-years` | Coleta todo o histórico disponível | | `--start-year` / `--end-year` | Intervalo de anos | | `--no-headless` | Abre o Chrome de forma visível (debug) | | `--no-cleanup` | Mantém CSVs trimestrais intermediários | --- ## Banco de dados `db/met.db` — SQLite com três tabelas: | Tabela | Conteúdo | |--------|----------| | `observations` | Série temporal horária (10 variáveis por observação) | | `outlier_log` | Auditoria de valores tratados por limites físicos | | `aerodromes` | Catálogo de aeródromos disponíveis no portal ICEA | **Variáveis na tabela `observations`:** | Coluna | Descrição | Unidade | |--------|-----------|---------| | `T` | Temperatura do bulbo seco | °C | | `Td` | Ponto de orvalho | °C | | `UR` | Umidade relativa | % | | `QNH` | Pressão atmosférica ao nível do mar | hPa | | `WS` | Velocidade do vento | kt | | `WG` | Rajada máxima de vento | kt | | `WD` | Direção do vento | ° | | `VIS` | Visibilidade predominante | dam | | `TETO` | Teto de nuvens | dam | | `PREC` | Precipitação acumulada | mm | --- ## Categorias ICAO de condições de voo | Categoria | Teto (dam) | Visibilidade (dam) | Condição | |-----------|------------|-------------------|----------| | **LIFR** | < 15 | < 50 | IFR Severo | | **IFR** | 15–30 | 50–100 | Voo por instrumentos | | **MVFR** | 30–100 | 100–300 | VFR Marginal | | **VMC** | > 100 | > 300 | Condições visuais | --- ## Documentação e autoria - [`docs/about.md`](docs/about.md) — descrição técnica detalhada, limitações e oportunidades de melhoria - [`docs/authors.md`](docs/authors.md) — autoria, licença e guia para contribuições futuras - [`docs/changelog.md`](docs/changelog.md) — histórico de versões por autor --- ## Fonte dos dados Portal ICEA/DECEA — Dados de Superfície: **https://pesquisa.icea.decea.mil.br/superficie_list/** *IED — Instituto de Estudos para o Desenvolvimento · ITA — Instituto Tecnológico de Aeronáutica*