Paraná: protótipo de exposição relativa ao vento
Camada de exposição relativa em 240 m (UTM 22S), 16 direções, índice v2 = Σ peso × (razão de rajada)². Classes por percentis do próprio estado.
baixa · moderada · alta · muito alta. Classes = percentis P25, P75 e P95 do próprio Paraná (exposição relativa; limites do índice: 0,843, 1,357 e 1,646).
Estações existentes e propostas · dados (JSON: limites, municípios e grade de 5 km) · Caminho do vento (Toledo detalhado)
Limitações declaradas A CONFERIR
- Só Toledo foi calibrada (15 pontos, 2 eventos); o restante do estado é extrapolação (HIPÓTESE).
- Superfície simplificada: relevo Copernicus GLO-30 (DSM) médio em 240 m; WorldCover 2021; edificações por densidade OSM (alturas e larguras assumidas); sem barreiras sub-célula.
- Núcleos do modelo definidos em células foram desenvolvidos a 30 m; a 240 m mudam de escala física (ver validação).
- Climatologia direcional de Toledo usada em todo o PR; ventos de serra, litoral e frentes frias do Sul/Leste não representados.
- Não é mapa de risco, não é laudo e não serve para decisão de projeto.
Método: índice = Σ_d peso_d × (razão de rajada_d)², 16 direções, núcleo vento_modelo.py; pesos direcionais de Toledo (rosa ≥ 50 km/h, 2005–2025) aplicados ao estado todo; classes = percentis P25/P75/P95 do próprio PR (exposição RELATIVA).
Validação cruzada com Toledo (o único lugar calibrado)
Concordância do protótipo com o índice v2 calibrado, em pontos sorteados no círculo de 15 km do aeródromo FATO:
| Comparação | Pontos | Spearman | Pearson | Razão dos desvios |
|---|---|---|---|---|
| Estado (240 m) × índice calibrado de Toledo suavizado a 240 m | 3997 | 0,32 | 0,32 | 0,61 |
| Piloto 240 m × calibrado suavizado | 3997 | 0,45 | 0,45 | 0,58 |
| Piloto 90 m × calibrado suavizado | 3997 | 0,77 | 0,79 | 0,89 |
| Piloto 30 m (superfície simplificada) × calibrado 30 m | 3997 | 0,87 | 0,88 | 0,99 |
AUC dos 15 pontos com dano contra as 849 células de 0,5 km com edificações sem dano relatado (4.536 edificações; candidatas não verificadas, controle impuro; mesmo teste da atualização de 25/10, aqui por célula) FATO:
| Índice | AUC | Danos × candidatos |
|---|---|---|
| Índice v2 calibrado, 30 m | 0,72 | 15 × 847 |
| Calibrado suavizado a 240 m | 0,78 | 15 × 847 |
| Protótipo do estado, 240 m | 0,62 | 15 × 849 |
| Piloto 90 m | 0,77 | 15 × 849 |
| Piloto 30 m, superfície simplificada | 0,70 | 15 × 849 |
Leitura ESTIMATIVA: A 240 m o protótipo estadual reproduz pouco do índice calibrado de Toledo (Spearman 0,32); a 90 m a concordância sobe para 0,77 e a 30 m, com superfície simplificada, para 0,87. A AUC dos pontos com dano é 0,62 a 240 m (estado), 0,77 a 90 m e 0,72 no índice calibrado de 30 m. Conclusão: o mapa de 240 m deve ser lido como esquemático (onde o terreno é mais exposto, em termos relativos) e a regionalização para decisão deve usar 90 m ou menos. Parte da perda vem de os núcleos do modelo serem definidos em células e de a superfície ser simplificada, não só da resolução.
Fora de Toledo não há referência de dano para testar; a seletividade do modelo calibrado já é baixa.
(a) Viabilidade, custo e tempo para modelar o estado inteiro
Medição real com o pipeline atual (DEM Copernicus GLO-30, ESA WorldCover 2021, edificações OSM do extrato Geofabrik "Sul", núcleo vento_modelo.py em 16 direções) num bloco-piloto de 100 × 100 km no Oeste do Paraná (centrado em Toledo) com margem de 15 km de cada lado (domínio de 130 × 130 km), em CPU (16 núcleos; o modelo roda em 1 núcleo por processo). Tempos em segundos, medidos em 26/10/2026 FATO:
| Resolução | Grade do domínio | DEM (s) | WorldCover (s) | Edificações + superfície (s) | Modelo, 16 direções | Total do bloco | Memória de pico |
|---|---|---|---|---|---|---|---|
| 240 m | 542 × 542 (0,29 Mpx) | 0,6 | 2,2 | 0,2 | 14,9 s | 18,3 s | 0,1 GB |
| 90 m | 1444 × 1444 (2,09 Mpx) | 0,7 | 3,0 | 0,3 | 1 min 01 s | 1 min 05 s | 0,7 GB |
| 30 m | 4333 × 4333 (18,77 Mpx) | 1,3 | 9,8 | 1,0 | 11 min 34 s | 11 min 47 s | 6,0 GB |
Memória de pico: 30 m = leitura instantânea do Gerenciador de Tarefas durante o modelo (≈ 6,0 GB); 90 m e 240 m = proporcional ao número de pixels ESTIMATIVA.
Extração das edificações e da infraestrutura de todo o Paraná a partir do extrato OSM: 1 min 08 s (uma vez, para o estado inteiro).
Protótipo estadual medido de ponta a ponta em 240 m: grade 2850 × 2850 (8,12 Mpx), tempo total 4 min 08 s, dos quais o modelo 3 min 00 s FATO.
Extrapolação para o Paraná inteiro por blocos de 100 × 100 km (com margem de 15 km)
| Resolução | Blocos que tocam o PR | CPU em série | CPU em paralelo | Processos | Observação |
|---|---|---|---|---|---|
| 240 m | 34 | 10 min 22 s | 56,0 s | 16 | memória desprezível; limitado pelos 16 núcleos |
| 90 m | 34 | 37 min 00 s | 3 min 18 s | 16 | memória baixa; limitado pelos 16 núcleos |
| 30 m | 34 | 6h40 | 3h10 | 3 | limitado pela memória (≈ 6 GB por bloco; com ~21 GB livres, 3 processos) |
ESTIMATIVA Extrapolação = nº de blocos × tempo medido do bloco-piloto (conservadora: blocos de borda e de litoral têm menos terra e áreas sem edificações). Paralelismo: um processo por bloco, limitado por núcleos e pela memória de pico medida; eficiência de 70% assumida.
GPU
RTX 5060 Ti (sm_120): NÃO executa com o PyTorch instalado (2.5.1+cu121, arquiteturas até sm_90): erro "CUDA error: no kernel image is available for execution on the device". Usar a RTX exige PyTorch com CUDA 12.8 ou CuPy 13, que não foi instalado (instalação de pacote fora do escopo desta execução). CuPy: não instalado; Numba: não instalado. Referência indicativa na NVIDIA GeForce GTX 1060 6GB (GPU antiga, sm_61, 6 GB), bloco de 4333 × 4333: interpolação bilinear (rotação do campo) 0,0046 s na GPU contra 0,34 s em CPU (×73,9); FFT 2D 0,026 s contra 0,23 s (scipy, 16 threads; ×8,8); transferência CPU→GPU 0,024 s. A RTX 5060 Ti 16 GB, mais nova, deve ser mais rápida, mas isso não foi medido (HIPÓTESE). Perfil de uma direção a 90 m (2,8 s, cProfile): marcha ao longo do vento 44%, topografia linear com FFT 30%, rotações 11%, resto 15%; mesmo com FFT e rotações instantâneas, o ganho total seria de ~1,7× (Amdahl) enquanto a marcha (laço sequencial por colunas) não for portada para a GPU.
Custo em dinheiro: horas de CPU/GPU do computador local, sem chamadas de API paga. Conclusão operacional: o estado inteiro em 240 m cabe numa execução única de 4 min (medida); em 90 m, 34 blocos levam ≈ 37 min em série ou ≈ 3 min com 16 processos; em 30 m (a resolução calibrada), ≈ 6,7 h em série ou ≈ 3,2 h com 3 processos, limitado pela memória. Plano sugerido: 240 m no estado (feito, esquemático); 90 m no estado inteiro (barato e é onde a concordância com o índice calibrado de Toledo se recupera, ver validação); 30 m só nos municípios com ocorrências para calibrar. A GPU não é necessária até 90 m e só compensaria em 30 m, depois de resolver a compatibilidade da RTX 5060 Ti e portar a marcha ao longo do vento (ESTIMATIVA).
Próximos passos
- Calibrar por região com ocorrências colaborativas (/ocorrencias/) e estações novas (/estacoes/).
- Rodar blocos de 100 km em 30 a 90 m nas regiões com demanda (Oeste, Sudoeste, Campos Gerais, Norte Pioneiro).
- Substituir a superfície simplificada (barreiras, edificações por polígono) e a climatologia direcional por regiões.