Utilizamos cookies para ajudá-lo a navegar com eficiência e executar determinadas funções. Você encontrará informações detalhadas sobre todos os cookies em cada categoria de consentimento abaixo.
Os cookies categorizados como “Necessários” são armazenados no seu navegador, pois são essenciais para ativar as funcionalidades básicas do site.
Também utilizamos cookies de terceiros que nos ajudam a analisar como você usa este site, armazenam suas preferências e fornecem conteúdo e anúncios que são relevantes para você. Estes cookies só serão armazenados no seu navegador com o seu consentimento prévio.
Você pode optar por ativar ou desativar alguns ou todos esses cookies, mas a desativação de alguns deles pode afetar sua experiência de navegação.
Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.
Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.
Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.
27 de julho de 2021
[vc_row][vc_column][vc_column_text]Quando pensamos em software radar, muitos detalhes do desenvolvimento vem à mente. Um deles é a obtenção dos dados do radar, o estudo das variáveis medidas pelo radar meteorológico.
[adrotate banner=”4″]
Neste artigo, vamos entender um pouco mais sobre o desenvolvimento do software radar meteorológico, como são medidas suas informações e como visualizá-las, incluindo a utilização das Bibliotecas de Software Livre para Processamento dos Dados. Além disso, vamos falar sobre a preparação do ambiente de desenvolvimento através de ferramentas de desenvolvimento de software como o Anaconda Navigator e Spyder.
A obtenção de dados pode ser realizada a partir do site do Centro Nacional de Monitoramento e Alerta de Desastres Naturais (CEMADEN). Assim, no site podemos encontrar as informações de pluviômetros, estações hidrológicas e radares meteorológicos.
Os dados são fornecidos no formato Rainbow5, que consiste em um arquivo XML que contém metadados e conteúdo binário. Então, estes arquivos possuem extensão .vol e armazenam as medições do radar.
Um radar meteorológico funciona emitindo pulsos de energia eletromagnética em frequências de micro-ondas. Ou seja, parte da energia é retroespalhada pelos alvos, e retorna para a mesma direção da antena do radar, sendo captada pelo refletor.
Dessa forma, a energia recebida é analisada por computadores para determinar a localização do alvo, intensidade da precipitação, informações sobre a velocidade e direção do vento, além da distância (mensurada através da medida do tempo que leva o pulso de energia se deslocar da fonte do alvo e retornar até o refletor).
As variáveis obtidas através desse sistema podem ser analisadas e determinar, por exemplo, a estrutura interna da chuva. Assim, permitem estimar a precipitação, realizar monitoramento e previsão de curtíssimo prazo com diversas aplicações.
Nesta etapa, podemos escolher as variáveis básicas necessárias para realizar a estimativa de precipitação, que são:
É uma medida da eficiência do alvo de um radar em interceptar e retornar a energia do radar, que depende dos parâmetros físicos do alvo. Bem como o número e tamanho das gotas de chuva por unidade de volume e unidade de mm6m-3.
É uma medida do logaritmo da razão entre a refletividade transmitida com pulso horizontal e refletividade transmitida com pulso vertical em um volume. Então, pode também ser pensada como o logaritmo da razão entre a refletividade horizontal para a refletividade vertical nas unidades lineares.
É a derivada espacial da fase diferencial. Ou seja, uma comparação da diferença de fase entre os pulsos polarizados horizontal e verticalmente, em duas distâncias diferentes.
É a velocidade de aproximação ou afastamento dos alvos em relação ao radar na direção do feixe.
Para o processamento de dados, podemos utilizar duas bibliotecas com código aberto, que tem o objetivo de ler e manipular os dados de radar, a Python ARM Radar Toolkit (Py- ART) e a Biblioteca para processamento de dados de radar meteorológico (WRADLIB).
Assim, elas foram criadas para facilitar o uso de dados de radar meteorológico, são bem documentadas e fáceis de usar. Ambas são escritas na linguagem de programação Python.
Para a utilização das bibliotecas, instalamos a Anaconda Navigator, uma interface gráfica que permite gerenciar ambientes de programação. Então, na Figura 1, é possível ver a interface e algumas aplicações gerenciadas pela Anaconda Navigator.
Depois da instalação do Anaconda, utilizamos o ambiente científico Spyder, uma das ferramentas apresentadas em sua tela inicial. Dessa forma, com o Spyder, é possível editar, analisar e depurar arquivos.
Na Figura 2, podemos ver um exemplo de leitura e plotagem do campo PPI (Plan Position Indicator, em inglês), que é um campo bidimensional do radar meteorológico que representa a variável escolhida (neste caso a refletividade) com a antena do radar no centro da tela e a altura acima do solo com círculos concêntricos. Portanto, a refletividade é plotada conforme uma barra de cores na lateral direita da figura.
Para a utilização da biblioteca Py-Art, além do Python, instalaremos mais quatro bibliotecas, NumPy, SciPy, Matplotlib e netCDF4.
Py-ART tem a capacidade de ler uma série de formatos de radar meteorológico comuns, incluindo os formatos: Sigmet IRIS, MDV, CF Radial, Universal Format (UF) e arquivos no formato NEXRAD Nível II. O Py-ART também contém rotinas que podem produzir os gráficos de radar mais utilizados, incluindo PPIs, CAPPIs e RHIs.
Nesse caso, o método mais fácil para instalar o Py-ART é usar os pacotes gerenciados pela ferramenta “conda”. Assim , é recomendado criar um novo ambiente ao usar Py-ART ou, até mesmo, outros pacotes como Wradlib, de modo a se criar um ambiente exclusivo para o projeto.
Assim, o Py-ART pode ser usado para uma variedade de tarefas, desde plotagem básica até a execução de processamento mais complexos. Além disso, os usos mais específicos para Py-ART incluem:
Do mesmo modo, a leitura dos arquivos do radar meteorológico é feita pelo Py-ART por meio do módulo pyart.io. Portanto, para a utilização da Wradlib, podemos reutilizar o ambiente criado para o Py-Art, por conter as mesmas dependências e adicionar as bibliotecas h5py, h5netcdf, xarray, xmltodict e gdal. Isso porque a Wradlib tem a capacidade de fazer leitura de formatos de dados semelhante ao Py-ART.
Com o Py-ART, é possível criar plotagens de plano gráfico de indicador de posição (PPI) como mostra a Figura 3. Dessa forma, o PPI é gerado de uma varredura de medida angular do sistema de coordenadas horizontais, conhecida como azimute com uma elevação constante.
Em primeiro lugar, a variável é plotada em um plano, em que o centro é a posição do radar meteorológico. Neste caso, a figura 3 mostra um exemplo de PPI utilizando a biblioteca Py-ART, em um raio de 200 km.
Através do uso do Py-ART e Wradlib, é possível gerar e visualizar dados das variáveis básicas, ilustrado na Figura 4. Em (a) Refletividade (Z), em (b) Refletividade Diferencial (ZDR), em (c) Fase Diferencial Específica (KDP) em (d) Velocidade Radial (Vr).
É possível extrair informações dos arquivos do radar meteorológico através da função radar.info(‘compact’) ou radar.info(‘full’) utilizando Py-ART. Isto é, porque eles podem fornecer detalhes sobre os dados armazenados.
Metadados contendo as variáveis: altitude, longitude, latitude, azimute, elevação, metadados, título, versão do arquivo, nome do radar meteorológico, além de outros estão contidos no arquivo, bem como ilustra a Figura 5. Então, para obter detalhes dos arquivos através da biblioteca Wradlib, utilizamos a função wrl.io.read_rainbow(‘path’), onde ‘path’ se refere ao caminho do arquivo.
Para a plotagem de anéis, podemos utilizar a função display.plot_range_rings(), em que os parâmetro são: um array, para uma faixa de 250 km. Neste caso, utilizamos a função da seguinte maneira: display.plot_range_rings([250]), como podemos ver na fig. 6 (a), display.plot_range_rings([50, 100]) para fig. 6(b), display.plot_range_rings([50, 100, 150, 250]) para fig. 6(c).
Além disso, é possível personalizar as cores da plotagem do PPI, através da biblioteca matplotlib, que possui vários mapas de cores integrados acessíveis via matplotlib.cm.get_cmap. Ou através da classe ListedColormap e uma matriz Nx4 numpy de valores entre 0 e 1 para representar os valores RGBA do mapa de cores.
Ainda mais, podemos fazer um novo mapa de cores. Para isso, é necessário informar o comprimento, os intervalos entre as cores e suas respectivas cores. Como podemos ver na Figura 7, N representa o comprimento, a fig. 7 (a) representa os valores para as cores em RGB e fig. 7 (b) mostra os intervalos entre cada cor. Assim, o resultado da plotagem é apresentado na fig. 7 (c), onde o comprimento vai de 0 à 60 e apresenta intervalos de 10 e 5.
Como vimos no artigo, a utilização das bibliotecas Py-ART e Wradlib aponta para a viabilidade no processo de análise, visualização e processamento de dados do radar meteorológico.
Além disso, dentre diversas facilidades oferecidas por estas bibliotecas, encontra-se a de plotagem. Isto é, por meio da plotagem, conseguimos gerar o PPI. Assim, levando em consideração a utilização da linguagem Python e suas bibliotecas, é possível manipular facilmente as cores geradas no PPI.
Tratamento global de erros em páginas Razor
[/vc_column_text][/vc_column][/vc_row]
[adrotate banner=”5″]
Autor