Desenvolvimento de software para visualização de dados de radar ...

72
João Victor Cal Garcia Desenvolvimento de software para visualização de dados de radar meteorológico usando OpenGL São José do Rio Preto - SP, Brasil Janeiro de 2008

Transcript of Desenvolvimento de software para visualização de dados de radar ...

Page 1: Desenvolvimento de software para visualização de dados de radar ...

João Victor Cal Garcia

Desenvolvimento de software para visualização dedados de radar meteorológico usando OpenGL

São José do Rio Preto - SP, Brasil

Janeiro de 2008

Page 2: Desenvolvimento de software para visualização de dados de radar ...

João Victor Cal Garcia

Desenvolvimento de software para visualização dedados de radar meteorológico usando OpenGL

Monografia apresentada ao Departamento deCiências de Computação e Estatística do Insti-tuto de Biociências, Letras e Ciências Exatas daUniversidade Estadual Paulista “Júlio de Mes-quita Filho”, como parte dos requisitos necessá-rios para aprovação na disciplina Projeto Final.

Orientador:

Professor Doutor Augusto Brandão D’Oliveira

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO E ESTATÍSTICA

INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS

UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”

São José do Rio Preto - SP, Brasil

Janeiro de 2008

Page 3: Desenvolvimento de software para visualização de dados de radar ...

Monografia de Projeto Final de Graduação sob o título “Desenvolvimento de software para

visualização de dados de radar meteorológico usando OpenGL”, defendida por João Victor Cal

Garcia e aprovada em Janeiro de 2008, em São José do Rio Preto, Estado de São Paulo, pela

banca examinadora constituída pelos professores:

Prof. Dr. Augusto Brandão de OliveiraOrientador

Prof. Dr. Norian MarranghelloUniversidade Estadual Paulista “Júlio de

Mesquita Filho”

Prof. Dr. Roberto Vicente CalheirosUniversidade Estadual Paulista “Júlio de

Mesquita Filho”

Page 4: Desenvolvimento de software para visualização de dados de radar ...

Resumo

Este trabalho apresenta o problema da visualização de dados de radar meteorológico, bemcomo a ausência de ferramentas em código aberto para que os pesquisadores da área possamrealizar seu trabalho de maneira a não depender de programas caixa-preta. São discutidos osconceitos do radar, o uso desse sistema para medições meteorológicas, e as formas de repre-sentar os dados das leituras de radar em uma tela de computador. É feita então a proposiçãode um sistema em código livre que permite a leitura desses dados. O software gerado por essetrabalho visa auxiliar os pesquisadores do IPMet/UNESP, focando-se nos radares do instituto.O trabalho poderá ser usado como ponto de partida para desenvolvimento de novas ferramentas.

Page 5: Desenvolvimento de software para visualização de dados de radar ...

Abstract

This work presents the problem of viewing weather radar data as well as the lack of open-source tools to help researchers do their work without the use of black-box software. Theconcepts of radar, the use of a radar system for meteorological measurements and ways ofrepresenting data from the radar readings on a computer screen are discussed. It is made thena proposition of an open-source system that allows the reading of the radar data. The softwarecreated by this work aims to help the researchers of IPMet/UNESP, focusing on the radarsowned by the institute. This work can be used as a starting point for development of new tools.

Page 6: Desenvolvimento de software para visualização de dados de radar ...

“Dedico este trabalho aos meus pais,

que me educaram para ser quem sou,

que sempre me apoiaram e sempre

acreditaram em mim, e a toda minha

família, que sempre esteve presente.”

Page 7: Desenvolvimento de software para visualização de dados de radar ...

Agradecimentos

Ao professor Dr. Augusto Brandão D’Oliveira, por ser meu orientador e acreditar no meu

trabalho, por ensinar tantas coisas diferentes, por me ajudar sempre que as coisas se mostraram

mais difíceis do que pareciam, e por me ensinar o que significa ser brasileiro.

Ao professor Dr. Roberto Vicente Calheiros, pelo apoio moral, científico e material durante

o desenvolvimento do projeto,

Ao pessoal da Sigmet, que responderam minhas intermináveis dúvidas.

Ao IPMet, que cedeu material para esse projeto.

Aos professores que me ajudaram a chegar até aqui, e não que desistiram de mim.

Aos amigos e colegas que me incentivaram e me ajudaram sempre que precisei.

Page 8: Desenvolvimento de software para visualização de dados de radar ...

“Se meu corpo estiver morrendo,

deixe que meu corpo morra.

Mas não deixe que meu legado morra.”

Genghis Khan

Page 9: Desenvolvimento de software para visualização de dados de radar ...

Sumário

Lista de Figuras

Lista de Tabelas

1 Introdução p. 15

1.1 Considerações iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.1.1 Motivação e escopo . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

1.2 Objetivos e metodologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

1.3 Organização da monografia . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18

2 Radares meteorológicos e a computação gráfica p. 19

2.1 Um breve histórico sobre os radares . . . . . . . . . . . . . . . . . . . . . . p. 20

2.1.1 Do telemobiloscópio ao radar . . . . . . . . . . . . . . . . . . . . . p. 20

2.2 O funcionamento do radar . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21

2.2.1 A equação do radar . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

2.2.2 Tempo de resposta . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22

2.2.3 Freqüência e atenuação . . . . . . . . . . . . . . . . . . . . . . . . . p. 23

2.2.4 Ângulo de emissão/recepção . . . . . . . . . . . . . . . . . . . . . . p. 24

2.2.4.1 Equação da variação da altura do sinal . . . . . . . . . . . p. 24

2.2.5 O efeito Doppler . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.2.5.1 Radares Doppler . . . . . . . . . . . . . . . . . . . . . . . p. 27

2.3 Radares meteorológicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

2.3.1 Um exemplo americano - o NEXRAD . . . . . . . . . . . . . . . . . p. 27

Page 10: Desenvolvimento de software para visualização de dados de radar ...

2.3.2 Tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

2.3.2.1 Refletividade . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

2.3.2.2 Velocidade . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30

2.4 O caso brasileiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30

2.5 A computação gráfica na interpretação dos dados meteorológicos . . . . . . . p. 31

2.6 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 32

3 Visualização de dados de radar meteorológico usando OpenGL p. 34

3.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 34

3.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 35

3.3 Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

3.3.1 Os arquivos de radar . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

3.3.1.1 Nome do arquivo . . . . . . . . . . . . . . . . . . . . . . p. 37

3.3.1.2 Cabeçalho . . . . . . . . . . . . . . . . . . . . . . . . . . p. 38

3.3.1.3 A Matriz de dados . . . . . . . . . . . . . . . . . . . . . . p. 40

3.3.2 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 41

3.3.2.1 Exibição dos dados . . . . . . . . . . . . . . . . . . . . . p. 42

3.3.2.2 Interatividade . . . . . . . . . . . . . . . . . . . . . . . . p. 43

3.4 Implementação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 44

3.4.1 As janelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

3.4.2 Interatividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 48

3.5 Consideraçõs finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 48

4 Testes e exemplos p. 49

4.1 Explicações necessárias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49

4.2 Comparação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50

4.2.1 Esclarecimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51

Page 11: Desenvolvimento de software para visualização de dados de radar ...

4.2.2 PPI inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51

4.3 Exibição das funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53

4.3.1 Salvando em texto . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53

4.3.1.1 Fatia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54

4.3.1.2 Valores numéricos . . . . . . . . . . . . . . . . . . . . . . p. 56

4.3.1.3 Gráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56

4.4 Desempenho e soluções encontradas . . . . . . . . . . . . . . . . . . . . . . p. 59

4.5 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60

5 Conclusões p. 62

5.1 O projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62

5.2 Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 63

Anexo A -- Manual do Software p. 64

A.1 Abrir o arquivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64

Linha de Código . . . . . . . . . . . . . . . . . . . . . . . . p. 64

Arrastar e Soltar . . . . . . . . . . . . . . . . . . . . . . . . p. 64

A.2 Tela inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64

A.3 Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 65

A.3.1 Menu principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 65

A.3.2 Sub-menu “Vizualizar” . . . . . . . . . . . . . . . . . . . . . . . . . p. 65

A.3.3 Sub-menu “Gráfico Escalar” . . . . . . . . . . . . . . . . . . . . . . p. 66

A.4 Menu de opções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66

A.5 Telas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66

A.5.1 Tela ampliada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66

A.5.2 Tela de corte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66

A.5.3 Tela de gráfico escalar . . . . . . . . . . . . . . . . . . . . . . . . . p. 67

Page 12: Desenvolvimento de software para visualização de dados de radar ...

A.5.4 Tela dos dados numéricos . . . . . . . . . . . . . . . . . . . . . . . p. 67

Anexo B -- Conteúdo do CD p. 68

Referências p. 69

Page 13: Desenvolvimento de software para visualização de dados de radar ...

Lista de Figuras

1.1 Mapa da rede NEXRAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16

1.2 Localização dos radares existentes no Brasil e instituições responsáveis. . . . p. 16

2.1 Patente do telemobiloscópio . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2.2 Caminho do sinal do radar . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21

2.3 Altura do feixe de radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

2.4 Ilustração do Efeito Doppler . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26

2.5 Display de um radar meteorológico em 1960 . . . . . . . . . . . . . . . . . . p. 29

2.6 Display de um radar meteorológico Moderno (NEXRAD) . . . . . . . . . . . p. 29

2.7 Velocidade dos ventos por radar Doppler . . . . . . . . . . . . . . . . . . . . p. 30

3.1 Screenshot do IRIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43

3.2 Janela PPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

3.3 Valores numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 46

3.4 Gráfico da variação em um dado corte . . . . . . . . . . . . . . . . . . . . . p. 47

3.5 Janela de informações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 47

4.1 Imagem do IRIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51

4.2 Nosso sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 52

4.3 IRIS sem topografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53

4.4 Primeiro evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54

4.5 Corte do PPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55

4.6 Arquivo do corte aberto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55

4.7 Segundo evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56

4.8 Valores numéricos exibidos . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57

Page 14: Desenvolvimento de software para visualização de dados de radar ...

4.9 Reimpressão dos valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57

4.10 Terceiro evento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 58

4.11 Gráficos dos valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 58

4.12 Reimpressão da reta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 59

Page 15: Desenvolvimento de software para visualização de dados de radar ...

Lista de Tabelas

2.1 Freqüência dos radares meteorológicos . . . . . . . . . . . . . . . . . . . . . p. 23

2.2 Cores para dBZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

3.1 Campos fixos no nome do arquivo . . . . . . . . . . . . . . . . . . . . . . . p. 37

3.2 Campos variáveis no nome do arquivo . . . . . . . . . . . . . . . . . . . . . p. 37

3.3 Exemplo de decodificação do nome de arquivo . . . . . . . . . . . . . . . . p. 38

4.1 Máquinas usadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50

4.2 Arquivos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50

Page 16: Desenvolvimento de software para visualização de dados de radar ...

15

1 Introdução

1.1 Considerações iniciais

Meteorologia (do grego meteoron, “flutua no céu”, logos, “conhecimento”) é a área inter-

disciplinar de estudo da atmosfera focada nos processos e na previsão do clima. Os principais

fatores dos fenômenos meteorológicos são a temperatura, a pressão e a humiade relativa, além

do relacionamento e das alterações que eles sofrem durante o tempo.

O conhecimento do clima e a capacidade de prevê-lo são de grande interesse econômico

não somente na agricultura, como nos meios de transporte, na prevenção de desastres, e mesmo

em apólices de seguro. Esse conhecimento se torna mais útil quanto obtido com relativa ante-

cedência, mesmo que não seja tão preciso (ZHU et al., 2002).

Para que possam ser aplicados os modelos matemático-estatísticos, é necessária uma grande

quantidade de dados reais variados e uma idéia de como esses dados evoluem durante o tempo.

No estudo específico das precipitações, torna-se dispendioso observar grandes territórios, e nem

sempre é possível obter uma noção precisa da evolução das nuvens.

Um dos métodos de coleta de dados meteorológicos para o estudo e computação dos mes-

mos é o uso de radares Doppler. Desde 1941 (ATLAS, 1990), radares têm sido utilizados para

estudar o comportamento de nuvens de chuva e precipitações. Nos Estados Unidos, existe o

NEXRAD1, uma rede interligada com 158 radares de alta-definição operacionais (National We-

ather Service, 2007), como pode ser visto na Figura 1.1. Os dados gerados por esta rede são

de domínio público, o que além do excelente material para os meteorologistas, também tem

ajudado a planejar rotas aéreas, evitando regiões de turbulência (JOHNSON, 2007).

No Brasil, temos uma quantidade bem mais discreta de radares – cerca de 30, incluindo na

contagem os radares militares. No estado de São Paulo, os radares mais importantes são os de

Bauru e Presidente Prudente, pertencentes ao IPMet2, UNESP de Bauru.

1Next Generation Weather Radar, Radar da próxima geração2Instituto de Pesquisas Meteorológicas

Page 17: Desenvolvimento de software para visualização de dados de radar ...

1.1 Considerações iniciais 16

Figura 1.1: Mapa da rede NEXRAD

Existem ainda radares no Sul, Norte e Nordeste brasileiro, mas seria necessária uma rede

bem maior (com um número de radares próximo ao do NEXRAD) para que pudesse ser feito um

estudo satisfatório. Um mapa das posições dos radares utilizados pelo Brasil pode ser vista na

Figura 1.2.

Figura 1.2: Localização dos radares existentes no Brasil e instituições responsáveis.

Page 18: Desenvolvimento de software para visualização de dados de radar ...

1.2 Objetivos e metodologias 17

1.1.1 Motivação e escopo

Esses radares normalmente funcionam utilizando o efeito Doppler, e conseguem gerar ra-

pidamente uma quantidade muito grande de dados.

Para que se torne viável aos estudiosos identificar e acompanhar a evolução das informa-

ções e, por conseqüência, estudá-las de maneira satisfatória, torna-se necessário o auxilio de

ferramentas específicas.

Atualmente, as ferramentas disponíveis para o estudo do enorme volume de dados gerado

pelos radares meteorológicos são não-livres, dependentes de arquitetura e de difícil acesso por

parte dos pesquisadores.

1.2 Objetivos e metodologias

O objetivo do projeto é criar uma ferramenta em código aberto que seja de fácil manutenção

capaz de ler e visualizar os dados gerados por radares meteorológicos. Além disso, o programa

também deve disponibilizar uma série de recursos que facilitem a visualização e localização de

informações pelo usuário.

Serão implementadas ferramentas que permitam a visualização dos dados de várias manei-

ras, como a projeção sobre o mapa geopolítico, visualização de cortes e mesmo a exibição de

dados numéricos em formato de tabela.

Um objetivo mais discreto é o de mimetizar as características dos softwares não-livres s

atualmente utilizados pelos pesquisadores, criando assim uma base de familiaridade para os

novos usuários.

Põem-se então em prática os conhecimentos adquiridos nas disciplinas de planejamento e

construção de software, matemática, computação gráfica, bem como estudos dirigidos nas áreas

de meteorologia, ondulatória e programação visual.

A programação do projeto será feita em C++, que é uma linguagem moderna e poderosa,

além de ter um desempenho considerável.

Para a parte gráfica, optou-se por utilizar API OpenGL, devido à facilidade de manutenção

e grande quantidade de documentação disponível.

Page 19: Desenvolvimento de software para visualização de dados de radar ...

1.3 Organização da monografia 18

1.3 Organização da monografia

A monografia está organizada em cinco capítulos.

O Capítulo 1 é uma introdução breve sobre o assunto do projeto.

O Capítulo 2 contém uma explicação do funcionamento dos sistemas de radar, além de dar

uma noção sobre como a meteorologia pode usar esses equipamentos. Também faz uma

menção do uso da computação na visualização dos dados de radar meteorológico.

O Capítulo 3 descreve o problema da ausência de software livre para visualização de dados de

radar meteorológico, e a solução apresentada nesse trabalho. Inclui também uma descri-

ção dos problemas encontrados para visualizar os dados de maneira funcional.

O Capítulo 4 apresenta uma série de testes das funções do sistema, bem como uma boa quan-

tidade de imagens do programa funcionando. Ele inclui também vários exemplos de

leituras de radar.

O Capítulo 5 contém as conclusões e lições aprendidas durante o desenvolvimento desse tra-

balho.

Page 20: Desenvolvimento de software para visualização de dados de radar ...

19

2 Radares meteorológicos e acomputação gráfica

“Toda ciência ou é física ou é coleção de selos.”

Ernest Rutherford

O termo radar1foi criado em 1941, substituindo o termo britânico RDF2, cunhado, por sua

vez, em meados da década de 30. Esse dispositivo utiliza ondas eletromagnéticas para obter da-

dos como a distância, a altitude, a direção e a velocidade de objetos, estejam eles em movimento

ou estacionários.

Apesar de muitos usos de radar não necessitarem mais do que uma grandeza escalar como

saída, a exemplo dos radares de velocidade usados por policiais para controle de trânsito, siste-

mas como medições meteorológicas costumam gerar um volume de dados tão grande que seu

estudo direto se torna praticamente inviável. Só como exemplo, a rede americana de radares

NEXRAD gerava, em meados de 2005, 480 gigabytes de dados por dia, valor estimado para

atingir 6.5 terabytes diários com o surgimento de novas tecnologias.

Uma das maneiras de visualizar esses dados é a utilização de ferramentas gráficas espe-

cializadas. Graças aos avanços da Computação Gráfica, tornou-se possível fazer projeções de

dados de maneira satisfatória aos usos humanos. A projeção passou de monitor de fósforo que

podia dar apenas variações de intensidade (brilho) para os atuais monitores com palhetas de 16

milhões de cores. Também se tornou possível exibir dados de dimensão elevada - uma única

leitura de radar meteorológico pode gerar quase quatro megabytes de informação vetorial.

1Acrônimo para RAdio Detection And Ranging (do inglês, Detecção e Telemetria utilizando Rádio).2Radio Direction Finding (do inglês, Localização de Direção de Rádio).

Page 21: Desenvolvimento de software para visualização de dados de radar ...

2.1 Um breve histórico sobre os radares 20

2.1 Um breve histórico sobre os radares

Antes que o radar surgisse, foi necessário que os cientistas compreendessem os princípios

das ondas de rádio. Apesar das equações das ondas eletromagnéticas terem sido propostas

pelo matemático inglês James Maxwell no início da década de 1860, foi apenas em 1888 que

a existência de tal fenômeno foi demonstrada de maneira satisfatória, pelo cientista alemão

Heinrich Hertz.

Hertz também desenvolveu um sistema para medir a velocidade das ondas, e seus estudos

encorajaram investigações científicas mais profundas sobre o assunto.

2.1.1 Do telemobiloscópio ao radar

Hertz já havia feito experiências com ondas de rádio em 1887, mas levou quase 20 anos

para que os primeiros experimentos que utilizaram ondas de rádio para localizar objetos fossem

realizados.

Em 1904, o também alemão Christian Hülsmeyer desenvolveu um aparelho que poderia ser

considerado o precursor do radar – o telemobiloscópio, como pode se visto na Figura 2.1 – que

podia apenas detectar a presença de grandes objetos de metal (navios), mas não sua distância.

A invenção de Hülsmeyer não foi prontamente aceita, mas ele chegou a propor um complicado

ferramental para que fosse possível medir a distância do objeto. Nikola Tesla estabeleceu, em

1917, princípios que relacionavam a freqüência e o nível energético para as unidades primitivas

do radar.

Figura 2.1: Patente do telemobiloscópio

Page 22: Desenvolvimento de software para visualização de dados de radar ...

2.2 O funcionamento do radar 21

Às vésperas da segunda guerra mundial, o desenvolvimento do radar foi impulsionado pelo

conflito iminente e pela vulnerabilidade britânica aos ataques aéreos. Os ingleses chamaram o

novo sistema RDF, um dos grandes trunfos dos Aliados durante a guerra. O RDF foi utilizado

por muito tempo como aparelho de navegação; hoje, está sendo substituído pelo GPS3.

O funcionamento do RDF é semelhante ao do radar, com a diferença que ele é utilizado

para encontrar a direção onde um determinado sinal de rádio conhecido é mais forte. Algum

tempo depois, os alemães conseguiram reproduzir a tecnologia.

Nos anos posteriores ao conflito, a tecnologia desenvolvida foi aplicada no controle de

tráfego aéreo, astrometria, medição de velocidade no trânsito e monitoração do tempo.

2.2 O funcionamento do radar

O radar opera da seguinte maneira: Uma fonte emissora gera um pulso forte e focado. Essa

onda segue sem muita degradação até se chocar com um objeto capaz de refleti-la. A esse

objeto, dá-se o nome de refletor.

A maior parte do sinal é perdida no processo, refletida para direções que não retornarão

ao radar. Uma pequena parte do sinal refletido atinge então um sensor especial, sensível à

onda de rádio, chamado de receptor, que normalmente está localizado na mesma posição que o

transmissor. Pode-se ver melhor esse funcionamento na Figura 2.2.

Figura 2.2: Caminho do sinal do radar

3Global Positioning System, Sistema Global de Posicionamento.

Page 23: Desenvolvimento de software para visualização de dados de radar ...

2.2 O funcionamento do radar 22

2.2.1 A equação do radar

A modelagem matemática do funcionamento do radar é dada na Equação 2.1, também

conhecida como Equação do radar. Essa equação fornece a energia do pulso recebido (Pr) pelo

radar (RINEHART, 1997).

Pr =PtGtArσF 4

(4π)2 R2t R

2r

(2.1)

Pt é a energia do pulso transmitido.

Gt é o ganho da antena transmissora.

Ar é a abertura (área) efetiva da antena receptora.

σ dado por σ = 4π Pretornado

Pinterceptado, é uma razão entre a quantidade de energia que atinge um objeto

pela quantidade de energia refletida por aquele alvo que volta para o radar.

F é relativo à facilidade com que a onda se propaga no meio (1 é igual ao vácuo).

Rt é a distância entre o transmissor e o alvo.

Rr é a distância entre o receptor e o alvo.

Como normalmente o transmissor e o receptor estão na mesma posição, podemos simplifi-

car a equação 2.1 se fizermos R = Rt = Rr , chegando na equação 2.2 (RINEHART, 1997).

Pr =PtGtArσF 4

(4π)2 R4(2.2)

2.2.2 Tempo de resposta

Se a resistência do meio (seja ele gás ou líquido) for igual em todo o percurso, e supondo

que a onda se move numa velocidade muito próxima à da luz, pode-se rapidamente dizer que o

intervalo (em segundos) necessário para que a onda seja emitida e então recebida é de d2c

, onde

c é a velocidade da luz e d a distância do refletor em relação ao radar.

Surge então o problema da sobreposição de sinais. Se não for esperado o tempo adequado

antes da emissão de um novo pulso, é possível que sinais de dois pulsos diferentes cheguem de

volta ao radar no mesmo tempo.

Page 24: Desenvolvimento de software para visualização de dados de radar ...

2.2 O funcionamento do radar 23

Tabela 2.1: Freqüência dos radares meteorológicosFreqüência (GHz) Comprimento de Onda (cm) Banda Atenuada por

90 0.1 W Nuvens30 1.0 K Nuvens10 3.0 X Precipitações5 6.0 C Precipitações3 10.0 S Precipitações

1.5 20.0 L Tempestades e Aviões

Essa situação, denominada ambigüidade, é facilmente contornada quando a distância má-

xima em que as ondas refletidas voltam diretamente para o radar com intensidade suficiente

para a leitura é conhecida. Sendo essa distância dmax, tem-se que a espera deve ser de pelo

menos dmax

2csegundos antes de uma nova transmissão.

Exemplo Em radares meteorológicos é comum o uso de distâncias de até 200 km, podendo

haver extensão para até 450 km. Para evitar ambigüidade na leitura do sinal é necessário esperar

pelo menos que a onda que tem o maior alcance retorne. Se a onda de maior alcance atinge os

450 km do ponto de origem, deve-se esperar aproximadamente 7.5× 10−4 segundos entre uma

transmissão e outra.

Um ponto interessante é que o tempo de transmissão de um pulso de radar é da ordem de

10−6 segundos. Costuma-se dizer que sistemas de radar passam mais tempo “ouvindo” do que

“falando”. Na verdade, eles passam quase 99% do tempo recebendo sinais, e 1% do tempo

transmitindo-os.

2.2.3 Freqüência e atenuação

Como o sinal recebido normalmente é muito mais fraco que o sinal gerado, as ondas de

rádio são preferidas ao som e à luz visível, pois podem ser facilmente ampliadas sem introdu-

ção de ruído na leitura. Mesmo assim, as diferentes freqüências de rádio não são igualmente

eficientes em todas as condições. A Tabela 2.1 ilustra o fato, de acordo com a utilização por

radares meteorológicos.

Quanto maior o comprimento de onda, menos atenuação sofre o sinal. Um sinal de banda4

W é atenuado por nuvens, enquanto um sinal de banda L atravessa a maioria das precipitações

sem problemas. Em contrapartida, ondas de maior comprimento de onda são menos “sensíveis”,

e normalmente não conseguira “ver” objetos menores. As ondas de banda S são as mais utiliza-

4Banda é o nome dado a um intervalo qualquer de freqüências do espectro eletromagnético.

Page 25: Desenvolvimento de software para visualização de dados de radar ...

2.2 O funcionamento do radar 24

das na meteorologia por radar, pois são razoavelmente precisas, detectam bem a precipitação, e

ignoram a maior parte das nuvens.

2.2.4 Ângulo de emissão/recepção

No caso específico dos radares que lidam com objetos no céu, é importante notar a existên-

cia de um ângulo de inclinação para a emissão do sinal de rádio. Isso ocorre para que o radar

não detecte objetos próximos ao nível do solo, como acidentes geográficos e construções.

Devido a essa inclinação, quanto mais longe do radar está o sinal, maior é a distância entre a

altura do radar e a altura do feixe de rádio naquela posição. Ao invés de um plano de observação,

obtém-se uma superfície de cone. Essa situação é acentuada ainda mais pelo fato da terra ter

formato aproximado ao de uma esfera.

Exemplo No exemplo específico dos radares meteorológicos, o menor ângulo para a leitura

costuma ser maior ou igual a 0.5◦ em relação à componente horizontal, apesar de existirem

radares com ângulo inferior, e até mesmo negativo. O ângulo pode parecer pequeno, mas se for

tomada uma superfície plana, o feixe de rádio estaria a quase 4 km de altura em relação ao nível

do radar, na distância de 450 km (normalmente a máxima usada em radares meteorológicos).

Ao lembrar que a terra é curva, a situação se torna ainda mais extrema: Tem-se quase 20 km de

diferença na mesma distância de 450 km!

2.2.4.1 Equação da variação da altura do sinal

Para o calculo genérico da diferença de altitude entre o radar e o solo, pode-se utilizar a

Equação 2.3, cuja visualização está na Figura 2.3 (RINEHART, 1997).

H =

(√r2 + (keae)

2 + 2rkeae sen (Θe)

)− keae + ha (2.3)

Onde:

r é a distância que o raio percorre

ke é o coeficiente de refração do meio. No caso do ar, uma boa aproximação é 43.

ae é o raio da terra, que varia, aproximadamente, entre 6356 km e 6378 km.

Θe é o ângulo, em relação à componente horizontal.

Page 26: Desenvolvimento de software para visualização de dados de radar ...

2.2 O funcionamento do radar 25

Figura 2.3: Altura do feixe de radar

ha é a altura do feixe em relação à altura do radar.

Muitos radares podem fazer a leitura em mais de um ângulo, de uma vez só. Dados desse

tipo são úteis para composições tridimensionais de nuvens e precipitações.

2.2.5 O efeito Doppler

O efeito Doppler foi descrito pela primeira vez em 1842, pelo cientista austríaco Christian

Doppler em sua monografia. O fenômeno descreve a variação relativa da freqüência de uma

onda, causada pelo movimento relativo entre o seu emissor e o receptor.

Quando o emissor e o observador se aproximam, a freqüência da onda emitida aumenta

(em relação áquele observador). O contrário acontece quando eles se afastam, ocorrendo uma

diminuição da freqüência da onda gerada (novamente, em relação àquele observador), como

pode ser observado no modelo da Figura 2.4. Esse comportamento pode ser modelado matema-

ticamente, como mostrado nas Equações 2.4 e 2.5 (RINEHART, 1997).

Alteração de freqüência:

∆f =fv

c=

v

λ(2.4)

Freqüência observada:

∆f ′ = f +fv

c(2.5)

Onde:

Page 27: Desenvolvimento de software para visualização de dados de radar ...

2.2 O funcionamento do radar 26

Figura 2.4: Ilustração do Efeito Doppler

f é a freqüência transmitida;

v é a velocidade relativa entre o observador e o emissor, positiva quando estão de aproximando,

e negativa quando de afastam;

c é a velocidade da luz (3.108).

Essas equações são simplificações, razoavelmente precisas para aproximações de primeira

ordem.

Disso, nota-se que a freqüência da onda observada aumenta quando o observador e o emis-

sor se aproximam, e diminui quando eles se afastam. Se eles se movem diretamente numa

mesma reta, é interessante notar que a freqüência observada da onda permanece constante, mas

em qualquer outro caso, a freqüência varia conforme o tempo.

O efeito Doppler pode ser facilmente observado no dia a dia. Um caso comum é a si-

rene da ambulância, que é mais aguda (maior freqüência) quando ela se aproxima, e se torna

rapidamente mais grave enquanto ela se distancia. Astrônomos usam o efeito para estudar o mo-

vimento de estrelas, detectando, por exemplo, se uma estrela é binária, ou mesmo para medir

velocidade de rotação de galáxias.

Page 28: Desenvolvimento de software para visualização de dados de radar ...

2.3 Radares meteorológicos 27

2.2.5.1 Radares Doppler

Os radares Doppler utilizam o efeito Doppler para medir a velocidade de objetos detectados.

A medida é feita calculando-se a mudança de freqüência que o sinal de rádio emitido sofre ao

ser recebido. Radares de trânsito utilizam o tal artifício para calcular a velocidade dos veículos.

Na meteorologia, os radares Doppler podem ser utilizados para calcular o movimento das

nuvens, auxiliando não só no estudo das precipitações, como também do vento (LUCK, 1949).

2.3 Radares meteorológicos

Os primeiros usos de radares para detecção de precipitações ocorreram por volta de 1941.

Os técnicos de radar dos Aliados, na Segunda Guerra Mundial, tinham problemas em se livrar

do ruído em suas leituras, pois grandes áreas de sujeira dificultavam a detecção de navios e

aviões. Rapidamente, perceberam que estavam detectando nuvens. Reconhecendo o conheci-

mento do tempo como um recurso estratégico, os militares treinaram meteorologistas no uso de

radares, e utilizaram essa informação para planejar as investidas.

Depois da Segunda Guerra, muitos governos passaram a endossar pesquisas na área dos

radares meteorológicos. Os dados gerados produziram material valioso para que físicos de nu-

vens, hidrólogos e meteorologistas pudessem fazer estudos focados no desenvolvimento, movi-

mento e estrutura das precipitações (JOSS; WALDVOGEL, 1990).

Nos anos 60, os primeiros radares Doppler foram utilizados para medidas meteorológicas.

Isso foi importante para o estudo de tempestades mais violentas, como furacões e tornados.

Para se ter idéia, os radares Doppler atuais geram informações tão precisas que é possível gerar

um alerta de emergência dezenas de minutos antes de um tornado tocar o solo.

2.3.1 Um exemplo americano - o NEXRAD

Nos Estados Unidos, foi criado o NEXRAD (NEXt-generation RADar, radares da Próxima

Geração), no final da década de 70. O NEXRAD faz cobertura de todo o território americano, e

seus dados são publicados abertamente. Esses dados têm uso governamental e comercial, como

por exemplo, na previsão de tempestades e inundações. O NEXRAD conta atualmente com

158 radares Doppler de alta resolução do tipo WSR-88D (Weather Surveillance Radar, 1988,

Doppler), que substituíram os antigos radares WSR-57 e WSR-74.

Radares meteorológicos também são utilizados para controle de trafego aéreo, auxiliando

Page 29: Desenvolvimento de software para visualização de dados de radar ...

2.3 Radares meteorológicos 28

Tabela 2.2: Cores para dBZdBZ Cor Evento Observado65+ Magenta Tempestade

50-65 Vermelho Chuva pesada35-50 Amarelo Chuva media20-35 Verde Neve ou Chuva leve

20- Azul Neve leve, Garoa

na criação de rotas que desviem do mal tempo e de certos tipos de vento que possam causar

acidentes aéreos (ABER, 1990), (KAWECKI, 1978).

2.3.2 Tipos de dados

Os radares meteorológicos produzem uma série de dados diferentes. Muitas vezes, só é

possível ter real compreensão de um fenômeno meteorológico se forem observados vários tipos

de informação. Entre os tipos de dados gerados por radares Doppler, como os instalados no

Brasil, os mais comumente utilizados são a refletividade e a velocidade.

2.3.2.1 Refletividade

O tipo mais comum é a refletividade, cuja unidade é o dBZ5 (decibéis em Z). Esse valor é

relacionado à intensidade do pulso que foi refletido pelo objeto detectado.

Para a leitura de dados do radar, costuma utilizar-se uma escala de cores (em contrapartida à

escala de brilho, utilizada antes do fortalecimento da computação gráfica, apresentada na Figura

2.5). Esses valores podem ser facilmente interpretados como a intensidade da precipitação

na região. A Tabela 2.2: Cores para dBZ faz essa explicação, baseada no padrão utilizado

pelo NEXRAD. Um exemplo moderno de como são as projeções gráficas dos dados de radar

meteorológicos é apresentada na Figura 2.6.

Em radares que podem fazer leitura em diferentes altitudes, é comum o uso da refletividade

composta. Nesse tipo de visualização, o valor da refletividade em cada ponto é o maior valor

em dBZ de todas as leituras em diferentes camadas. Desta forma, é possível ter uma melhor

visão de um evento meteorológico.

5Z é um indicador de intensidade de chuva através da energia refletida ao radar. Como os valores Z variammuito, usa-se dBZ, onde dBZ = 10log

(ZZ0

), onde Z0 é uma refletividade de referência.

Page 30: Desenvolvimento de software para visualização de dados de radar ...

2.3 Radares meteorológicos 29

Figura 2.5: Display de um radar meteorológico em 1960

Figura 2.6: Display de um radar meteorológico Moderno (NEXRAD)

Page 31: Desenvolvimento de software para visualização de dados de radar ...

2.4 O caso brasileiro 30

2.3.2.2 Velocidade

Com a popularização dos radares Doppler, tornou-se possível calcular não só a movimen-

tação das nuvens, mas as correntes de ar que influíam em pequenas porções da precipitação.

Normalmente, utiliza-se uma escala de brilho para a velocidade (quanto menos brilho, mais

rápido) e de cores para a direção (verde para o movimento em direção ao radar, vermelho para o

movimento contrário a ele). Dados das diferentes camadas de vento podem ser obtidos de forma

similar à da refletividade composta. Um exemplo de como esses dados podem ser apresentados

está na Figura 2.7

Figura 2.7: Velocidade dos ventos por radar Doppler

A combinação desses dados é bastante útil para o estudo da formação, evolução e desloca-

mento das precipitações.

2.4 O caso brasileiro

Existem atualmente mais de 20 radares meteorológicos que atuam em território brasileiro,

pertencentes a instituições diversas. Para melhor compreensão do clima nacional, utilizam-se

também dados de radares pertencentes à Argentina e ao Paraguai. Apesar dos radares meteoro-

lógicos conseguirem fazer leituras num raio de até 450 km, esses dados são mais confiáveis se

a distância não ultrapassar 250 km, por fatores como atenuação e o rápido ganho de altitude do

pulso de rádio, já mencionados anteriormente (ANGELIS et al., 2006).

Em São Paulo, conta-se principalmente com os radares de Bauru e de Presidente Prudente,

de responsabilidade do IPMet/UNESP. Desde 2004, um convênio do Departamento de Controle

do Espaço Aéreo (DECEA) com o Centro de Previsão do Tempo e Estudos Climáticos (CPTEC-

INPE) está sendo realizado para integração dos radares nacionais. Atualmente, radares situados

nas regiões sul, sudeste e centro-oeste operam em rede, 24 horas por dia, e os dados são enviados

Page 32: Desenvolvimento de software para visualização de dados de radar ...

2.5 A computação gráfica na interpretação dos dados meteorológicos 31

para o CPTEC em tempo real (ANGELIS et al., 2006).

Para que os dados fossem suficientes para um estudo completo das precipitações brasilei-

ras, seria necessário um número bem maior de radares, cobrindo toda a extensão do território

nacional. Atualmente, não existem planos para tal expansão.

2.5 A computação gráfica na interpretação dos dados meteo-rológicos

Apesar da obtenção e armazenamento dos dados serem problemas já bem estudados pelo

meio científico, existem ainda desafios a serem resolvidos no que diz respeito à visualização e

interpretação das informações.

Nos primórdios da utilização do radar, bastava que o aparelho emitisse algum aviso quando

um objeto era detectado na direção observada. Quando aplicações mais modernas surgiram

(como os radares de base rotatória), tornou-se necessário o desenvolvimento de ferramentas

que pudessem auxiliar o trabalho dos técnicos.

Os primeiros sistemas capazes de reproduzir adequadamente leituras de radar foram adap-

tações de osciloscópios. Eles utilizavam uma conversão simples da força e direção do sinal

para os eixos X e Y da tela. Existiram basicamente quatro variações desse sistema, utilizadas

principalmente pelos militares (NAVAL HISTORICAL CENTER, ).

A-Scope apresenta a distância do objeto detectado, em (x,y), onde X é a distância e Y é a

quantidade de energia refletida.

B-Scope apresenta distância e azimute em (x,y), onde x é o azimute e y é a distância.

C-Scope apresenta altitude e azimute em (x,y), onde x é o azimute e y é a altitude.

PPI (Plan Position Indicator, do inglês, indicador de posição no plano) é a mais conhecida

forma de visualização dos dados de radar, normalmente utilizada em filmes de ação. O

display é um circulo cujo centro representa a posição da antena do radar, e os objetos

são representados por coordenadas azimutais, com o raio representando a distância e o

ângulo, a direção.

O PPI ainda é o meio mais utilizado para visualização geral de um evento meteorológico,

apesar de que desde a década de 80, sejam preferidos monitores de rasterização, pois são mais

baratos e razoavelmente precisos.

Page 33: Desenvolvimento de software para visualização de dados de radar ...

2.6 Considerações finais 32

A visualização de dados meteorológicos é, no entanto, mais complexa. Um radar Doppler

gera dados sobre posição, intensidade, velocidade e direção do deslocamento precipitações, que

são difíceis de projetar de maneira satisfatória. A maioria dos sistemas de software, como o Java

NEXRAD Tools, opta por apresentar os dados em camadas separadas.

O problema da visualização de fenômenos meteorológicos foi extensivamente examinado

(PAPATHOMAS; SCHIAVONE; JULESZ, 1988), (SCHÖNHUBER et al., 1997), (MCCASLIN; MCDO-

NALD; SZOKE, 2000), mas apesar dos esforços, ele parece persistir. Apesar de ainda não ter

sido obtido um resultado ideal (RILEY et al., 2004), algumas soluções não-livres foram propos-

tas, as quais foram responsáveis por grande parte no avanço do ramo. Empresas como a IBM

reconhecem o potencial desse ramo da ciência, e investem ativamente em ferramentas especia-

lizadas (TREINISH, 1999).

Na computação gráfica, trabalhos foram propostos desde o início da década de 80 (KAJIYA;

HERZEN, 1984), focando-se na visualização de fenômenos atmosféricos de maneira a aproveitar

as então novas tecnologias digitais. O uso dos modernos algoritmos de renderização, bem

como do poder crescente do hardware voltado para gráficos também gerou frutos, inspirando

pesquisas e soluções baseadas em um poder de processamento cada vez mais notável (HAASE et

al., 2000).

Alguns sistemas modernos se propõem a uma representação volumétrica dos corpos mete-

orológicos. Essa idéia começou no final da década de 80 (DREBIN; CARPENTER; HANRAHAN,

1988), mas só se tornou realmente viável e capaz de produzir resultados em tempo real com

o advento de novas técnicas de processamento 3d e do barateamento do hardware relacionado

(ENGEL; KRAUS; ERTL, 2001), (KNISS et al., 2002).

Por fim, vale também citar que ainda é inviável tecnologicamente coletar e reproduzir to-

das as informações que poderiam ser importantes para a exibição dos dados meteorológicos.

Existem sistemas que sanam esse problema utilizando modelos matemáticos complexos para

simular e gerar informações que servirão para tapar as lacunas existentes (EBERT; MUSGRAVE,

2003), (STAM; FIUME, 1995).

2.6 Considerações finais

Neste capítulo, foi apresentado um breve histórico dos sistemas de radar utilizados para

medições meteorológicas. Inicialmente, houve a exposição dos primeiros estudos sobre ele-

tromagnetismo e ondas de rádio, ainda no século XIX. Foram citados trabalhos precursores ao

radar, e sobre a alavancada que a Segunda Guerra Mundial exerceu sobre as pesquisas de de-

Page 34: Desenvolvimento de software para visualização de dados de radar ...

2.6 Considerações finais 33

tecção de objetos à distância. Falou-se também sobre os primeiros usos de sistemas de radar

para detecção de nuvens e precipitações, e sobre o rápido interesse militar – e posteriormente,

econômico - dessas aplicações.

Uma abordagem sobre o funcionamento dos radares, incluindo descrição dos principais

problemas encontrados nesses sistemas e sua influência nas leituras meteorológicas. Foi feita

também uma explicação do efeito Doppler e do funcionamento dos radares Doppler, bem como

o uso dessa tecnologia para fins meteorológicos.

Também se falou sobre a rede norte-americana de radares, o NEXRAD, e sua importância

para a população local. Uma breve descrição das instalações brasileiras foi dada, incluindo o

problema da falta de estrutura para melhor desenvolvimento das pesquisas.

Por fim, foram citados os principais tópicos que utilizam a computação gráfica como ferra-

menta para visualizar os dados meteorológicos.

Page 35: Desenvolvimento de software para visualização de dados de radar ...

34

3 Visualização de dados de radarmeteorológico usando OpenGL

“Como regra, os homens se preocupam mais com

o que não podem ver do que com o que podem.”

Julio Cesar

A vizualização dos dados de radar normalmente é feita por meio de software não-livre. É

portanto interessante o desenvolvimento de software livre para o mesmo fim.

Em Bauru e Presidente Prudente os radares Sigmet, sob responsabilidade do IPMet 1, são

fontes valiosas de informação para o estado de São Paulo. Infelizmente, os dados produzidos

por esses aparelhos só podem ser visualizados com facilidade no sistema fechado IRIS 2, da

própria Sigmet. Esses sistemas são dependentes de plataforma e são muito caros, o que impede

que muitos cientistas possam estudar os dados de maneira satisfatória.

Propomos nesse capítulo um sistema de visualização dos dados dos radares Sigmet, de

maneira a mimetizar algumas das funções do software IRIS, utilizando a API OpenGL.

3.1 Motivação

Em meados de 2006, 75% da população brasileira ocupava o espaço urbano, proporção

que chegava aos 90% em estados como São Paulo. Esse fenômeno, típico de países em desen-

volvimento, tem sido significativo desde a década de 70. Com a concentração da população

nos centros urbanos, ocorreu uma queda na qualidade de vida nas cidades não só por fatores

socioeconômicos, mas também climáticos. As inundações são consideradas um fenômeno tí-

pico decorrente dessa urbanização acelerada, quando diz respeito à água no meio urbano. São

normalmente decorrentes da ocupação de áreas ribeirinhas com risco de inundação, e de locais

1Instituto de Pesquisas Meteorológicas2Interactive radar Information System

Page 36: Desenvolvimento de software para visualização de dados de radar ...

3.2 Objetivos 35

com grandes inclinações, como morros urbanos, que estão sujeitos a deslizamentos após pe-

ríodo de chuvoso. Na medida em que aumentam os aglomerados urbanos impermeabilizando

o solo, diminuindo sua capacidade de infiltração, a quantidade de água que chega ao mesmo

tempo no sistema de drenagem aumenta, produzindo inundações mais freqüentes, atingindo

principalmente a população ribeirinha (TUCCI; PORTO; BARROS, 1995).

Seria inviável, na maioria dos casos, a instalação de uma rede pluviométrica de superfície

grande o suficiente para que se possam obter todas as informações necessárias para o correto

estudo das chuvas. Entra aí o radar meteorológico, um sistema de monitoramento das condi-

ções atmosféricas em tempo real, capaz de cobrir as falhas deixadas pela insuficiência da rede

pluviométrica já existente, como por exemplo, sub ou super estimativa do total de chuva ou sua

variabilidade espacial. Com os radares, é possível observar a área onde a precipitação que está

ocorrendo em um determinado momento ou então de forma acumulada em um determinado

período em uma área extensa. A previsão de chegada de um sistema precipitante sobre um

local determinado com algumas horas de antecedência, dada com o uso de modelos numéricos

de alerta à ocorrência de precipitação intensa, contribui para a redução de impactos de prejuí-

zos em diversas escalas, como por exemplo, sobre regiões suscetíveis a inundações abruptas

(ANTÔNIO, 1998).

Os radares de Bauru e Presidente Prudente foram fabricados pela Sigmet, uma empresa

norte-americana especializada em sistemas de radares. São equipamentos caros, delicados e

de difícil manutenção. Os dados gerados pelos radares são interpretados nativamente pela

plataforma IRIS, produzida pela mesma empresa. Essa é uma plataforma não-livre, ou seja,

não se sabe exatamente o que acontece dentro dela, só suas entradas e saídas. Cada radar

custa em torno de U$1.000.000,00, sem incluir a instalação; o software IRIS custa em torno de

U$40.000,003. O IRIS é muito caro e dependente de plataforma, o que torna seu acesso limi-

tado, mesmo aos cientistas do ramo. Existem alternativas mais baratas, mas a maioria delas se

aplica aos dados de radar do NEXRAD, o que as torna pouco útil para pesquisadores brasileiros.

Além disso, não existem aplicações de código aberto que possam ser ajustadas às necessidade

dos usuários ou evoluída conforme novas tecnologias se tornem disponíveis.

3.2 Objetivos

Devido aos problemas apresentados, decidimos criar a base para um sistema de visualiza-

ção dos dados dos radares meteorológicos focado nos casos específicos de Bauru e Presidente

3Dados cedidos pelo Sigmet.

Page 37: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 36

Prudente. O trabalho visa a implementação um sistema que possa ser utilizado por pesquisa-

dores que não tenham acesso ao IRIS e que desejem examinar os dados de radar de maneira

satisfatória.

O trabalho visa, em sua fase inicial, a criação de um visualizador em PPI dos dados gerados

pelo radar com controles para ampliação de imagem, seleção de cortes e circulares e exibição

de valores numéricos de uma determinada região do mapa exibido. Além disso, é interessante

que o software possa salvar esses dados em formato texto ou em imagem, para que seja possível

focar o estudo em partes relevantes das informações obtidas pelo radar.

3.3 Problema

Para modelar nosso sistema, tivemos primeiro que entender o funcionamento do IRIS. An-

tes mesmo de iniciarmos o planejamento da interface e das funcionalidades, foi necessário

compreender a organização interna dos arquivos gerados pelo IRIS.

Depois disso, discutimos as funcionalidades do IRIS que são desejáveis para nosso soft-

ware, e algumas funcionalidades extras que decidimos por implementar, dado potencial de uso.

3.3.1 Os arquivos de radar

Computacionalmente falando, os arquivos de radar são representados por matrizes de dados

de dimensão elevada4. Uma leitura completa tem em torno de 4 megabytes mas, graças à evo-

lução do hardware nos últimos anos, é possível trabalhar confortavelmente com arquivos desse

tamanho na memória.

Um problema que surge é fato dos arquivos serem em formato ASCII, possuindo uma

grande quantidade de informação distribuída de maneira não uniforme, o que torna a leitura

mais complicada, pois o programa precisa diferenciar o tipo de informação que está lendo a

cada passo de sua execução.

Depois de uma análise do problema, percebemos que é possível dividir cada arquivo de

radar em três partes significativas, que devem ser tratadas diferentemente pela função de leitura

– O Nome do Arquivo, o Cabeçalho e a Matriz de Dados. Essas serão descritas nas próximas

sessões.4Em torno de 360× 2000

Page 38: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 37

Tabela 3.1: Campos fixos no nome do arquivoCaracteres Significado

1,2 e 3 Origem4 e 5 Ano6 e 7 Mês8 e 9 Dia

10 e 11 Horas12 e 13 Minutos14 e 15 Segundos

16 “.”, marcação de fim da Data

Tabela 3.2: Campos variáveis no nome do arquivoCaracteres Significado

Entre “.” e “km” Raio inicial da leitura, de 1 a 3 casaskm Marcação de final de raio inicial

Entre “km” e “-” Azimute inicial, de 1 a 3 casas- Marcação de final do azimute inicial

Entre “-” e “az” Azimute final, de 1 a 3 casasaz Marcação de final do azimute final

3.3.1.1 Nome do arquivo

O IRIS utiliza um padrão bastante interessante para nomear os arquivos gerados pelo radar.

Ele contém dados da Localização, momento da leitura e outras informações úteis para a exibição

dos dados.

Muitos desses dados não podem ser encontrados em nenhum outro lugar do arquivo, e

são, portanto, extremamente úteis para o escopo de nosso trabalho. Nessa seção, utilizamos

como exemplo o arquivo PPR070104151526.257km87-100az. Para facilitar a compreensão,

transcrevemos essas informações na Tabela 3.1.

Arquivos com a matriz inteira costumam ter o nome só até esse ponto, seguindo uma exten-

são qualquer, como “.txt”. Os demais arquivos (que foram os mais comuns em nosso material de

testes) exibem ainda uma extensão dessas informações. Eles são então compostos pelos dados

da Tabela 3.1, com as adições da Tabela 3.2.

Exemplo O nome do arquivo já exibido, PPR070104151526.257km87-100az, pode ser de-

codificado conforme mostra a Tabela 3.3. Sabemos então que ele diz respeito a uma leitura em

Presidente Prudente, no primeiro de janeiro de 2007, pouco depois das 15 horas e 15 minutos,

e começou no quilômetro 257 (distância do radar).

Page 39: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 38

Tabela 3.3: Exemplo de decodificação do nome de arquivoCaracteres Significado

PPR Origem (Presidente Prudente)07 Ano01 Mês04 Dia15 Horas15 Minutos26 Segundos. Marcação de fim da Data

257 Raio inicial da leiturakm Marcação de final de raio inicial87 Azimute inicial- Marcação de final do azimute inicial

100 Azimute finalaz Marcação de final do azimute final

Sabemos agora como é codificado o nome do arquivo, mas ainda é interessante estudar

o cabeçalho do mesmo para que possamos compreender o tipo de informações que pode ser

extraída de lá.

3.3.1.2 Cabeçalho

A seguir, apresentamos o cabeçalho do arquivo PPR070104151526.257km87-100az, já exi-bido na seção 3.3.1.1.

------------- Product Summary for PPR070104151526.RAWMRYJ -------------

Ingest site name : ’Sao Paulo,Brazil’, Version: 8.10

Ingest hardware name: ’Sao Paulo,Brazil’

Product site name : ’Sao Paulo,Brazil’, Version: 8.10

File size: 933888 bytes (Disk space: 933888 bytes)

Product type is: Raw Data

PCO name: SURVEILLANCE, TCO name: SURVEILLANCE

PRF: 250Hz, Wavelength: 10.70cm, Nyquist: 6.69m/s(V), 6.69m/s(W)

XMT Polarization: Horizontal, Wind:???

Constant:72.74 dB, I0:-112.09 dBm, Cal Noise:-80.92 dBm, Bandwidth:0 kHz.

Heights: Radar: 493m, Ground: 473m, Melting: ????m MSL

Maximum range: 450.0 km

Single sweep #1, Force 8-bit, All data recorded

Ingest time: 15:15:26 4 JAN 2007 BRT (180 minutes west)

Volume scan time: 15:15:26 4 JAN 2007 BRT (LT: BRT 180 minutes)

Oldest Ing time: 15:15:26 4 JAN 2007 LT

Product Gen time: 18:16:08 4 JAN 2007 UTC

Input count: 1

Product is not composited.

Information from INGEST Header

Page 40: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 39

------------------------------

Site name: ’Sao Paulo,Brazil’, Task name: ’SURVEILLANCE’

Scan: PPI Full, Speed: 9.00 deg/sec, Resolution:1.00 deg

Description: ’Surveillance to 450 km’

Location: 22◦10.5’S 51◦22.5’W, Altitude: 493 meters, Melting height:Unknown

Volume Time: 15:15:26.673 4 JAN 2007 BRT (180 min. west) (LT: BRT 180 min.)

Flags: SPT, SPV, 3lag, ship, unfold, fall, block, attn, target

PRF: 250Hz, PulseWidth: 1.91 usec (1)

BeamWidth: 2.00/2.00 deg.

Radar constant: 72.74/72.74 dB, Receiver bandwidth 0 kHz.

Calibration I0: -112.09/-104.30 dBm, with noise -80.92/-72.37 dBm.

LOG-Noise: 0.1613, Lin-Noise: 0.1613, I-Off: 0.0000, Q-Off: 0.0000

SOPRM Flags: 0x04af, LOG Slope: 0.480, Z-Cal: -39.31dBZ, H/V: 0.00 dB

Filters: Dop:2, Log:0; PntClt: 0, Thresh: 0.0 dB; Samples: 32

Processing Mode: FFT

Zdr Threshold: LOG GDR = 0.00 dB, XDR = 0.00 dB

T Threshold: LOG LOG = 1.8 dB

Z Threshold: LOG & CSR SIG = 5.0 dB

V Threshold: SQI & CSR CSR = 18.0 dB

W Threshold: SIG & SQI & LOG SQI = 0.50

Available moments are: dBT dBZ V W

Original moments were: dBT dBZ V W

Starting range 1.000 km, range bin spacing 250 meters

There are 1 sweeps, each having 360 rays and 1797 bins

Angle list: 0.3

This RAW product contains only sweep #1.

What parameter do you wish to display? Sorry, unrecognized parameter, try again:

What parameter do you wish to display? Do you want just performance information?

Enter starting range in km:

Sweep began at: 15:15:26 4 JAN 2007 BRT

Com uma leitura rápida, é fácil perceber que o cabeçalho possui uma série de informações

relevantes ao teor de nosso trabalho. Dessas, as mais importantes são apontadas a seguir.

Starting range 1.000 km, range bin spacing 250 meters

Dessa linha, notamos que cada uma das leituras do radar é feita com um incremento de 250

metros de raio em relação à medida anterior. Percebemos também que o primeiro quilômetro

de leituras não é computado nos dados. Na linha seguinte, temos outra informação valiosa:

There are 1 sweeps, each having 360 rays and 1797 bins

É possível saber que temos apenas uma tabela de dados no arquivo (1 sweep, ou seja, apenas

uma leitura do radar), que ela tem 360 linhas (ou seja, o radar disparou 360 feixes de rádio),

e que tem 1797 colunas (em outros termos, significa que o radar separou as leituras em 1797

intervalos de tempo, e, diretamente, distâncias).

Page 41: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 40

Percebemos que informações relevantes, como número de colunas e linhas, ou distância

inicial da leitura, são omitidas nesse cabeçalho. Para essas informações, a Seção 3.3.1.1 nos

mostra uma alternativa bem mais aceitável.

Outro motivo que nos desencoraja o estudo do cabeçalho é a grande quantidade de infor-

mações técnicas encontradas. Cada arquivo tem uma coleção de dados sobre a calibragem do

equipamento e outros fatores que fogem ao escopo de nosso trabalho.

3.3.1.3 A Matriz de dados

O arquivo gerado pelos radares do IPMet possuem, como já mencionado, um cabeçalho de

dados, mas a maioria dessas informações só é significativa nas mãos de técnicos de radar, pois

tratam de aspectos relacionados à calibragem e configuração do aparelho. Para os estudiosos

das informações observadas pelo radar, é mais interessante o foco nos dados da leitura.

Esses dados só se iniciam depois de um cabeçalho de tamanho variável que, para nosso

estudo, deve ser desconsiderado da leitura. É necessário então entender exatamente onde termi-

nam os cabeçalhos e começam os dados. A seguir, vemos exemplos da transição do cabeçalho

para a matriz onde estão os dados. Omitimos os dados, pois uma única linha da tabela poderia

ocupar várias páginas. Eles estão disponíveis no CD que acompanha esse texto, cujo conteúdo

está referenciado no Anexo B.

Exemplo Leitura do arquivo PPR070126014527.51km256-285az

Sweep began at: 01:45:27 26 JAN 2007 BRT

# 0 Az: 359.34, 0.51 El: 0.35, 0.31 Size:1797 1:46:06

Exemplo Leitura do arquivo BRU070126014508.292km271-279az

Sweep began at: 01:45:08 26 JAN 2007 BRT

# 0 Az: 359.37, 0.53 El: 0.31, 0.33 Size:1797 1:45:35

Como a linha iniciada por # é uma espécie de cabeçalho de cada linha de dados (omi-

tida nesses exemplos), percebemos que a primeira linha a ter informações relativas aos dados

começa logo após a linha iniciada por “Sweep began at:”

Percebemos também que nenhuma linha do exemplo de cabeçalho começa com o caractere

#. Isso pode ser constatado para todas as linhas, observando o cabeçalho completo já exibido na

Page 42: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 41

Subseção 3.3.1.2. Sem grandes dificuldades, pode-se bolar um algoritmo para que a leitura do

arquivo só seja iniciada nesse ponto, bastando posicionar a cabeça de leitura na primeira linha

iniciada pelo caractere “#”.

Então, nos resta entender como fazer a leitura da matriz dos dados propriamente dita. Pri-

meiro, notemos que a linha “# 0 Az: 359.37, 0.53 El: 0.31, 0.33 Size:1797 1:45:35” pode ser

decodificada facilmente. São-nos interessantes apenas os termos iniciais “0 Az: 359.37”. Des-

ses, o número “0” representa o índice da matriz (no campo dos azimutes), enquanto o número

“359.37” é o azimute da leitura que vamos tratar.

Terminada a obtenção dos dados a respeito do conteúdo da linha, devemos iniciar a leitura

das informações por ela contida. Os valores são formatados de maneira bem simples: as linhas

te dados são compostas por seqüencias de palavras entre 3 e 5 dígitos (incluindo também os

símbolos “.” e “-”), separadas por espaços ou caracteres diferentes de “#”. Nosso software deve

ler essas linhas, colocando os dados de cada uma das palavras na coluna respectiva da tabela de

dados.

Não existe padrão para a quantidade mínima e máxima de colunas da tabela, apesar de

termos um limite teórico de 1800 colunas para as leituras, o que equivaleria a 450 km em

condições padrão. Também não existe necessidade de que exista o mesmo número de colunas

por linha, pois muitos cortes reduzem o intervalo de azimutes estudado. Por outro lado, é

necessário manter a ordem das colunas durante a leitura. Isso pode ser feito simplesmente

retornando a cabeça de escrita para a coluna inicial já conhecida devido aos cabeçalhos do

arquivo.

A leitura continua até que seja encontrado o final do arquivo ou um erro na formação dos

dados. Podemos então partir para a segunda fase de nosso projeto, que é a exposição das

informações do arquivo em formato inteligível.

3.3.2 Requisitos

Já conhecemos o tipo de informação que precisamos ler do arquivo. Devemos agora definir

exatamente quais são os objetivos de nosso sistema no que diz respeito à interface e utilização.

Para isso, temos como base o software IRIS.

Em nosso estudo, tivemos contato apenas com screenshots5 do IRIS, o que não nos possibi-

litou conhecer a fundo todas suas funções. Utilizamos então informações sobre como os dados

eram utilizados por pesquisadores, com a intenção de criar uma ferramenta que facilitasse esse

5Capturas de telas ou fotos de um software em funcionamento

Page 43: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 42

tipo de uso.

3.3.2.1 Exibição dos dados

No IRIS, a exibição básica dos dados é feita nos modelos do PPI, já explicado no item 2.5.

Significa que devemos projetar os dados da matriz utilizando coordenadas azimutais em um

espaço basicamente cartesiano.

Para isso, tivemos de primeiro converter as coordenadas azimutais em coordenadas polares,

e por fim, transformá-las em pares no plano cartesiano. A equação 3.1 ensina como calcular

as coordenadas polares a partir das coordenadas azimutais (uma simples conversão de azimutes

para graus), enquanto o sistema 3.2 nos mostra como proceder para encontrar o par (x, y) de

coordenadas cartesianas.

Θ = 90− Φ (3.1)

x = r · cos Θ

y = r · sen Θ(3.2)

r é o raio (distância em relação ao radar), em colunas.

Θ é o ângulo, em graus.

Φ é o azimute, em graus.

(x, y) é o vetor de coordenadas do plano cartesiano.

Assim, basta que implementemos uma função em nosso programa que varra a matriz de

dados e imprima na tela, em PPI, os dados encontrados. Claro, seria muito difícil ler esses

dados em valor numérico, por isso, utilizamos a escala de cores mencionada na Tabela 2.2.

Outro ponto importante é que nosso visualizador seja semelhante ao do IRIS, para maior

conforto dos usuários que já estejam habituados ao sistema. O IRIS possui uma série de in-

formações bastante úteis, como marcadores de distância e azimute, como mostra a Figura 3.1.

Seria pouco prático se nosso programa não fosse capaz de reproduzir essas funções.

Dessa forma, garantimos que nosso sistema é semelhante, pelo menos visualmente, ao que

os cientistas estão acostumados a trabalhar. Com as decisões básicas do design tomadas e com

Page 44: Desenvolvimento de software para visualização de dados de radar ...

3.3 Problema 43

Figura 3.1: Screenshot do IRIS

a idéia do mecanismo por trás da exibição do PPI, devemos agora nos concentrar em tornar o

sistema fácil de compreender e usar pelos pesquisadores da área.

3.3.2.2 Interatividade

Não seria possível utilizar o programa de maneira produtiva, caso não houvesse funções

especiais desempenhadas em resposta às ações do usuário. Em nosso sistema, a maior parte

dessa interatividade é feita com o uso do mouse.

Para facilitar a visualização das informações do PPI, optamos pelo uso de um mostrador

que apresente os dados relativos à posição do ponteiro do mouse, ou seja, distância e azimute

em relação ao radar, além valor da leitura no ponto escolhido. Com isso, o usuário pode obter

exatamente as informações de um ponto da circunferência, sem necessitar de aproximações

intuitivas.

Decidimos também que utilizaríamos o recurso de clicar e arrastar para selecionar zonas

especiais de nossa exibição. As ações que escolhemos para o nosso sistema foram as seguintes:

• Ampliar: Amplia a projeção atual para que se foque nos dados do retângulo de seleção

escolhido pelo mouse. Útil para estudar detalhes.

Page 45: Desenvolvimento de software para visualização de dados de radar ...

3.4 Implementação 44

• Visualizar Setor Circular: Amplia a projeção atual num Setor Circular escolhido pelo

mouse, tornando o resto da amostragem invisível. Útil para se estudar partições dos dados

de maneira isolada.

• Visualizar Corte: Cria um gráfico escalar da linha reta entre dois pontos escolhidos pelo

mouse. Bastante importante para o estudo do perfil dos dados.

• Visualizar Formato Numérico: Mostra os dados de maneira numérica, em uma tabela,

centrada no ponto escolhido pelo mouse. Especialmente útil para visualizar informações

precisas sobre uma dada posição.

• Arrastar Projeção: Serve para deslocar a projeção, de modo que seja possível esturar os

demais dados sem a necessidade de fazer uma nova seleção.

Além disso, também foram definidos alguns comandos com o teclado, para maior comodi-

dade dos usuários. As mais importantes são listadas logo abaixo:

• ESC: retorna o programa para um estado anterior. Dessa forma, é possível alternar rapi-

damente entre dois tipos de visualização de informação.

• c: altera rapidamente a opção de quantidade de cores do PPI de maneira circular.

• q: altera rapidamente a opção de qualidade da exibição do PPI de maneira circular.

• u: alterna rapidamente entre as unidades de medida da projeção (milhas e quilômetros).

3.4 Implementação

Definimos os problemas iniciais e as propostas para que o software fosse construído, e

agora resta a programação do sistema. Em nossa busca por encontrar as ferramentas ideais para

a implementação do projeto, tivemos de fazer duas escolhas importantes.

A primeira escolha diz respeito à API gráfica que usaríamos. Escolhemos o OpenGL por

ser leve e de fácil portabilidade, existindo sua implementação em várias arquiteturas distintas.

Como uma camada de abstração para facilitar a criação de janelas e o uso de comandos do

teclado e do mouse, escolhemos pela biblioteca GLUT, pelas mesmas facilidades do OpenGL. O

GLUT é uma coleção de rotinas que visa simplificar a programação de projetos em computação

gráfica, e é distribuído gratuitamente na internet, além de possuir uma documentação bastante

farta.

Page 46: Desenvolvimento de software para visualização de dados de radar ...

3.4 Implementação 45

Munidos da API, restava escolher a linguagem. Por sorte, o OpenGL e o GLUT foram por-

tados para muitas linguagens diferentes. Optamos pelo C++, por ser uma linguagem moderna

e praticamente uma linguagem comum entre os cientistas da computação. Essa escolha foi

importante não só pelas poderosas capacidades da programação orientada a objetos, mas pela

facilidade de encontrar programadores da mesma, de forma a tornar o código fonte acessível a

uma parcela maior de desenvolvedores.

Também optamos por fazer uma ferramenta de código aberto, pois é interessante que o

sistema continue a evoluir conforme surgirem novas necessidades ou tecnologias. Também

outros desenvolvedores poderão fazer suas modificações, garantindo uma vida mais longa para

nosso trabalho.

Feitas essas colocações, é hora de entender os conceitos básicos de nossa implementação.

3.4.1 As janelas

Decidimos por implementar o sistema utilizando não somente uma, mas duas janelas dife-

rentes. Muitas vezes, o usuário só está interessado na tela do PPI, e não se incomoda em não

observar os dados relativos ao local ou momento exato de um evento estudado. Utilizamos as

capacidades nativas do GLUT para gerar as duas janelas, definindo separadamente os controles

de cada uma delas.

Na janela principal, temos as projeções propriamente ditas. A tela inicia com o PPI do

arquivo, apontado na inicialização, mostrada na Figura 3.2, e contém as seguintes informações:

Figura 3.2: Janela PPI

Page 47: Desenvolvimento de software para visualização de dados de radar ...

3.4 Implementação 46

• Projeção colorida da matriz de dado, em coordenadas azimutais.

• Mapa do estado de São Paulo e vizinhanças, centrado na localidade do radar em questão.

• Escala de distância e azimute (variando a distância entre quilômetros e milhas).

• Um quadro mostrando qual a posição atual do ponteiro do mouse (distância e azimute em

relação ao radar), bem como o valor da leitura na região apontada (em dBZ).

Além dessas informações, podemos escolher, via botão direito do mouse, duas outras op-

ções de visualização: observar os números diretamente (por uma tabela, como na Figura 3.3)

ou observar o gráfico da variação dos valores das medidas em um mesmo ângulo ou distância,

exemplificado pela Figura 3.4.

Figura 3.3: Valores numéricos

Na segunda janela, temos informações importantes para a identificação do arquivo. Em

nosso sistema, incluímos, seguindo o padrão do IRIS, o Lugar, Data e Hora em que foi realizada

a leitura que estamos exibindo. Também optamos por exibir uma escala das cores que utilizamos

para representar cada variação de dBZ, como podemos ver na Figura 3.5.

Em nossa implementação, optamos por utilizar as mesmas 32 cores que o IRIS possui.

Para deixar que o usuário escolha como deve ser feita essa impressão. Existem opções para

outros modos de cores (com menos ou mais cores, além do padrão de brilho utilizado antes

dos computadores modernos) e também outros modos para decidir que tipo de transição deve

existir entre as leituras do radar no PPI (dégradé suave, transição brusca ou pontos, utilizados

por alguns programas).

Page 48: Desenvolvimento de software para visualização de dados de radar ...

3.4 Implementação 47

Figura 3.4: Gráfico da variação em um dado corte

Figura 3.5: Janela de informações

Page 49: Desenvolvimento de software para visualização de dados de radar ...

3.5 Consideraçõs finais 48

3.4.2 Interatividade

Decidimos manter nossa solução baseada mais no uso do mouse que no do teclado. Essa

escolha foi feita para evitar que o usuário tenha que aprender vários comandos e teclas de atalho.

Em qualquer tela do programa, quando o usuário clica com o botão direito do mouse, surge

um menu com as opções relativas ao que ele pode fazer em dado momento. Na janela de

projeção, ele pode alterar a forma como os dados são apresentados. Quando essas opções são

escolhidas, normalmente o usuário deve clicar com o botão direito e arrastar o ponteiro, de

forma a escolher a partição de dados que gostaria de observar.

Na tela de informações, o usuário tem um menu para alterar as opções de exibição, como

quantidade de cores, qualidade da imagem e outras características do software. Na tela de

informações, também são exibidos os atuais valores de cada uma dessas opções, para que o

usuário possa escolher com mais facilidade.

3.5 Consideraçõs finais

Nesse capítulo, falamos sobre os problemas que nos motivaram à realização desse projeto.

Propusemos-nos a criar um software livre que pudesse realizar algumas funções do IRIS, um

sistema não-livre e bastante caro.

Nos aprofundamos no estudo dos arquivos de radar gerados pelo software da Sigmet, que

foram o principal foco de estudo durante a implementação de nosso sistema. Também discuti-

mos brevemente as transformações de coordenadas necessárias para que nosso sistema pudesse

funcionar corretamente.

Por fim, falamos sobre nosso produto final, um visualizador de dados de radar utilizando

OpenGL e C++. Comentamos sobre nossas escolhas em relação à interface e interatividade, e

mostramos algumas capturas de tela do resultado final.

Page 50: Desenvolvimento de software para visualização de dados de radar ...

49

4 Testes e exemplos

“Nada é impossível para aquele que tenta.”

Alexandre o Grande

Nesse capítulo discutimos o produto final de nosso trabalho e também os resultados obtidos

com sua construção. Apresentamos detalhes que nos levaram a modificações e novas aborda-

gens durante o período inicial de testes, e explicamos por que algumas decisões de modelagem

foram tomadas. Abordamos cada uma das principais funções do software desenvolvido, in-

cluindo uma comparação com o IRIS.

4.1 Explicações necessárias

Antes de iniciarmos a apresentação de nossos resultados, devemos dar detalhes sobre as

condições onde o software foi testado. Isso inclui a máquina onde foi executado, o sistema ope-

racional, e também quais foram os arquivos necessários para o software pudesse ser executado

sem problemas. Apresentamos, ainda, informações sobre as leituras de radar que utilizamos em

nosso exemplo, para que os testes possam ser repetidos por usuários futuros.

Nosso sistema foi desenvolvido utilizando a linguagem C++. Utilizamos a IDE Bloodshed

Dev-C++ versão 4.9.9.2 em todo o processo de programação, aliada ao compilador GCC versão

3.4.2. Também utilizamos uma série de bibliotecas disponíveis naturalmente junto ao GCC, a

C++ STL (Standard Template Library), para facilitar o desenvolvimento.

A API OpenGL, em sua versão 2.1, foi largamente utilizada no projeto, sendo a base de

todas as projeções. Também utilizamos, em menor escala, a biblioteca GLU (OpenGL Utility

Library) versão 1.3, e, em maior escala, a biblioteca GLUT (OpenGL Utility Toolkit) versão

3.7. O GLUT foi muito importante em nosso trabalho, responsável pelo controle de entrada do

mouse e teclado, bem como das janelas.

Além disso, utilizamos as bibliotecas ZLIB versão 1.2.3, libJPEG versão 6b e libTIFF

Page 51: Desenvolvimento de software para visualização de dados de radar ...

4.2 Comparação 50

Tabela 4.1: Máquinas usadasMáquina Desktop 1 Notebook Desktop 2Processador Athlon XP 1800+ Athlon XP 3400+ Pentium III 700mhzMemória RAM 512mb 256mb 128mbVideo GeForce4 Ti4200 GeForceGo6150 Intel i810 8mbS.O. Windows 2003 Windows XP Windows 98 SEDisco Rígido 286gb 40gb 10gb

Tabela 4.2: Arquivos utilizadosNome do Arquivo

BRU040107170009BRU060826200000BRU061015164507(RINEHART, 1997)

versão 3.6.1 para realizar as funcionalidades relacionadas com salvar a amostra em formato de

imagem.

O executável é um arquivo único, com pouco mais de 1,2 megabytes. No Windows, são

necessários que os seguintes arquivos estejam na pasta System32 do diretório onde o sis-

tema foi instalado ou no diretório do executável do programa: libtiff3.dll, jpeg62.dll, zlib1.dll,

opengl32.dll, glu32.dll, glut32.dll. Esses arquivos são relacionados às bibliotecas que utiliza-

mos em nosso software.

Utilizamos três computadores diferentes para validar nosso projeto, de forma a minimizar a

chance de erros e localizar problemas relacionados com portabilidade. As máquinas utilizadas

para os testes possuíam as características apontadas na Tabela 4.1. Elas possuem características

bem distintas, para assegurar que o sistema pode ser executado em máquinas mais modestas e

nas mais modernas sem grandes diferenças de desempenho, mantendo resultados coerentes.

Em nossos testes, utilizamos os arquivos listados na Tabela 4.2, que contém leituras de

radar. O funcionamento e formatação desses arquivos foram devidamente tratadas na seção

3.3.1.

4.2 Comparação

Nessa primeira fase de nossos testes, tratamos da validação de um dos objetivos iniciais

propostos pelo projeto: a semelhança com o software IRIS, no qual baseamos parte de nosso

sistema. Fazemos uma comparação entre as visualizações (PPI) geradas por ambos os progra-

mas, com comentários relevantes a cada situação apresentada.

Page 52: Desenvolvimento de software para visualização de dados de radar ...

4.2 Comparação 51

4.2.1 Esclarecimentos

O IRIS mostra o PPI e as informações sobre a leitura em uma única janela. Em nosso

estudo, percebemos que muitas vezes a sub-janela de informações sobre a leitura nem sempre

é tão importante quanto a amostragem dos dados e, por isso, optamos pelo uso de duas janelas

diferentes, de forma que o usuário possa rapidamente se desfazer da janela de informações se

essa não o interessar.

Também devemos salientar que nosso padrão de cores foi baseado no padrão utilizado por

uma série de capturas de tela do IRIS em funcionamento. Em alguns dos exemplos, o usuário

alterou o padrão do IRIS de forma a enfatizar algum dado da leitura. Optamos por não alterar

nosso padrão de maneira semelhante, para facilitar a interpretação e comparação entre nossas

próprias capturas.

4.2.2 PPI inicial

O evento dessa primeira comparação é de uma leitura feita pelo radar de Bauru, em 26 de

agosto de 2006, às 20 horas. É uma leitura com alcance de 450km, e é interessante por possuir

área bem grande de precipitações.

A Figura 4.1 é o PPI gerado IRIS, acompanhado das informações relevantes. O padrão das

cores está levemente alterado, como mencionado na seção 4.2.1, tendendo mais para o verde,

enquanto nossa exibição tende mais para o amarelo. Essa divergência não é um erro, e sim, uma

variação das capacidades de exibir os dados.

Figura 4.1: Imagem do IRIS

Page 53: Desenvolvimento de software para visualização de dados de radar ...

4.2 Comparação 52

Nosso PPI e os dados são apresentados na Figura 4.2, e pode-se notar que as informações

são válidas, tomado como parâmetro o IRIS. A diferença no formato das precipitações deve-se

ao fato que o IRIS só começa a exibir os dados acima de 15 dBZ, enquanto nosso software

exibe informações desde -12.5 dBZ. Podemos argumentar que, nesse exemplo, nossa leitura é,

de fato, mais precisa que a do IRIS, apesar de normalmente informações abaixo de 0 dBZ não

serem tão úteis quanto as informações acima dos 20 dBZ (RINEHART, 1997).

Figura 4.2: Nosso sistema

Um detalhe ausente em nosso sistema é o detalhamento topográfico do mapa do estado de

São Paulo, como podemos ver na Figura 4.1. Essa opção não prejudica de forma considerável

o estudo dos dados, mas poderia ser considerada para um trabalho posterior. Em muitas fotos,

o IRIS não usa o mapa, como por exemplo, na Figura 4.3.

Outra diferença bastante marcante que pode ser considerada como um avanço de nosso sis-

tema em relação ao IRIS é o marcador de posição do ponteiro do mouse. É o pequeno conjunto

de dados do lado esquerdo da tela, que informam sobre qual a distância do radar e o azimute do

ponto apontado no PPI, bem como o valor da leitura naquela posição. Essa pequena melhoria é

útil para encontrar rapidamente as informações, sem ser necessário aproximar mentalmente os

dados.

Page 54: Desenvolvimento de software para visualização de dados de radar ...

4.3 Exibição das funções 53

Figura 4.3: IRIS sem topografia

4.3 Exibição das funções

Nossos testes não poderiam estar completos sem que fosse realizada uma análise mais apro-

fundada de suas capacidades.

Como parte de nosso processo de validação do software, exibimos suas funcionalidades

do e dos detalhes que nos levaram a escolher uma ou outra abordagem durante a fase final do

desenvolvimento. Também fazemos uma revisão nos métodos de saida e manipulação de dados

que programamos em nosso sistema, com as devidas explicações para cada uma de nossas

escolhas.

No Capítulo 3, relatamos as diferentes maneiras implementadas em nosso sistema pelas

quais é possível exibir os dados obtidos pelas leituras do radar meteorológico. Apesar de nosso

principal foco ter sido o PPI simples, padrão na maioria dos sistemas estudados, nós também

exibimos gráficos escalares e a planilha dos valores numéricos, opções bastante úteis para um

estudo mais focado de uma região ou evento.

4.3.1 Salvando em texto

Uma das características mais importante de nosso sistema é sua capacidade de salvar parti-

ções dos dados de radar meteorológico exibidos num formato que permita sua re-interpretação

pelo sistema.

Nosso programa consegue salvar no formato do IRIS os dados de qualquer leitura bem

Page 55: Desenvolvimento de software para visualização de dados de radar ...

4.3 Exibição das funções 54

construída que possa ser exibida sem problemas. O processo, no entanto, requer uma condição

especial – o usuário deve estar visualizando os dados na forma de Corte da Seção Circular,

Gráfico Escalar ou a grade de valores numéricos.

Esse teste envolve as operações de selecionar, salvar e abrir os arquivos salvos. Em todos

os exemplos, utilizamos o arquivo de saída. TIFF para as capturas de tela.

4.3.1.1 Fatia

Nessa sub-seção, fazemos o teste de salvar como arquivo de texto os dados de uma partição

selecionada de um PPI gerado pela interpretação do arquivo BRU070225140101, como mostra

a Figura 4.4.

Figura 4.4: Primeiro evento

Na Figura 4.5, temos a seleção da partição, iniciando no raio 72km em relação ao radar

(ou range) até o raio 115km, no intervalo entre os azimutes 79 e 88. Esse arquivo será salvo

utilizando a função de salvar como texto de nosso software.

Por fim, temos a exibição sem ampliação de todo o PPI, tela inicial de nosso software, na

Figura 4.6. Esse resultado foi obtido utilizando o arquivo salvo anteriormente como arquivo

de entrada. Podemos observar que nosso sistema suporta a leitura de arquivos que ele mesmo

gerou.

Page 56: Desenvolvimento de software para visualização de dados de radar ...

4.3 Exibição das funções 55

Figura 4.5: Corte do PPI

Figura 4.6: Arquivo do corte aberto

Page 57: Desenvolvimento de software para visualização de dados de radar ...

4.3 Exibição das funções 56

4.3.1.2 Valores numéricos

Vamos apresentar um teste agora utilizando os valores numéricos de uma seleção do arquivo

BRU070316133101. Podemos observar o arquivo completo na Figura4.7.

Figura 4.7: Segundo evento

A grade numérica apresentada na Figura 4.8 é semelhante à captura de tela da Figura 3.3,

mas optamos por utilizar outro padrão de cores (uma das opções do software) para facilitar o

reconhecimento dos dados.

Nosso teste termina com o uso do arquivo gerado como entrada. Na Figura 4.9, podemos

ver o quão pequenos são o intervalo de pouco mais de 7 km que apresentamos na tela anterior,

quando exibidos em um PPI.

4.3.1.3 Gráfico

Como último teste, exibimos o gráfico relativo ao corte fixo no azimute 246, dos raios 77

km até 230 km. A Figura 4.10 e o PPI do arquivo BRU040107170009.

Vemos então o gráfico na Figura 4.11. As cores estão diferentes do gráfico apresentado na

Figura 3.4 apenas para podermos mostrar a função de alteração de cores de nosso sistema.

Page 58: Desenvolvimento de software para visualização de dados de radar ...

4.3 Exibição das funções 57

Figura 4.8: Valores numéricos exibidos

Figura 4.9: Reimpressão dos valores

Page 59: Desenvolvimento de software para visualização de dados de radar ...

4.3 Exibição das funções 58

Figura 4.10: Terceiro evento

Figura 4.11: Gráficos dos valores

Page 60: Desenvolvimento de software para visualização de dados de radar ...

4.4 Desempenho e soluções encontradas 59

Para finalizar os testes para salvar como texto, resta abrir o arquivo gerado utilizando nosso

sistema. Podemos ver o resultado na Figura 4.12.

Figura 4.12: Reimpressão da reta

Podemos concluir que os testes de imagens funcionaram com os três exemplos propos-

tos. Melhor que isso, os arquivos gerados são compatíveis com os arquivos do IRIS, o que é

uma vantagem. Numa versão posterior, poderia ser implementada a capacidade de salvar esses

arquivos em formatos diferentes.

4.4 Desempenho e soluções encontradas

Nos primeiros testes que realizamos com o software, notamos uma lentidão considerável

ao abrir arquivos cujo alcance da leitura fosse superior a 100km. Na verdade, é fácil entender

o problema. Cada arquivo na verdade deve ser considerado como uma matriz de azimute ×distância do radar, como já mencionado na Seção 3.3.1.3. Cada um desses pares é associado

a coordenadas (x, y) no plano cartesiano, que são utilizadas pelo OpenGL. Além disso, cada

par (r, θ) também é associado a um valor real, que é a intensidade, em dBZ, da leitura naquele

ponto.

O problema dessa interpretação é que uma matriz com 360 azimutes e 2000 intervalos de

Page 61: Desenvolvimento de software para visualização de dados de radar ...

4.5 Considerações finais 60

distância ocuparia quase 8MB na memória. É uma quantidade muito grande de dados para se

exibir de forma vetorial. Descobrimos que o tempo entre as atualizações de tela do OpenGL

eram de mais de 1 segundo, inaceitável para um software que não realiza operações complexas.

Uma abordagem diferente foi utilizada. Analisando com cuidado as capturas de tela do

IRIS, notamos que ele não parecia mostrar os dados em intervalos de 250m, mas em intervalos

de quase 1km. Resolvemos utilizar uma solução semelhante.

Optamos por criar uma nova matriz, com metade dos valores dos raios. Como opção de

desenvolvimento, o sistema atribui o maior valor entre duas leituras adjacentes para um único

valor da tabela simplificada. Com isso, passamos de 2000 valores em cada azimute para 1000

valores. O ganho em velocidade foi de mais de 50%, e não houve perda considerável na quali-

dade do PPI.

Como teste, reduzimos ainda mais uma vez esse valor, para 500 valores por azimute, ob-

tendo um resultado bem mais interessante, com redução pouco significativa da qualidade da

exibição. Decidimos, porém, implementar uma opção para que o usuário possa decidir entre

qual das 3 versões usar.

Aumentos progressivos da distância mínima (oito ou 16 vezes maior) se mostraram ainda

mais rápidos, mas a qualidade do PPI ficou bastante degradada. Optamos por deixar esses

valores fora do software devido a esse problema.

Na versão final, o sistema consegue operar com leituras de 450 km com um intervalo mí-

nimo de atraso.

4.5 Considerações finais

Nosso sistema pretendia mimetizar algumas das características visuais do IRIS, e nossos

testes mostram que fizemos um grande avanço nesse setor. Restam ainda algumas funcionali-

dades do programa não-livre, como capacidade de exibir mais de uma leitura ao mesmo tempo,

ou ainda, de fazer animações com a progressão dos eventos pelo tempo.

Além disso, nosso software mostrou ser capaz de manipular os dados e salva-los de maneira

que continuem compatíveis com os dados de leitura de radar gerados pelo IRIS. Essa caracte-

rística é bem importante, e poderia ser explorada futuramente para a geração de outros formatos

de saída, para que os pesquisadores possam utilizar vários softwares para fazerem suas análises

numéricas.

Também estudamos o problema de desempenho com o qual lidamos até uma fase avançada

Page 62: Desenvolvimento de software para visualização de dados de radar ...

4.5 Considerações finais 61

de nosso projeto, e mostramos a solução apresentada. As idéias poderiam ser melhor ainda

aproveitadas, gerando mais comodidade ao usuário final.

Page 63: Desenvolvimento de software para visualização de dados de radar ...

62

5 Conclusões

“A vitória pertence aos mais perseverantes.”

Napoleão Bonaparte

Devido à importância da meteorologia, foram desenvolvidos vários meios de estudar os

fenômenos climáticos. Um deles foi o uso de radares para o estudo de precipitações, que pode

dar informações importantes sobre o regime de chuvas de uma região.

Um dos problemas gerados pelo estudo dos dados das leituras do radar é a visualização dos

mesmos. Apesar dos estudos nas formas de apresentar esses dados serem bastante avançados,

ainda existem carências no que diz respeito aos softwares utilizados para tal fim. Esse problema

foi bem explorado no Capítulo 2.

Este trabalho oferece um software livre que permite visualizar dados oriundos dos radares

do Sigmet.

5.1 O projeto

O Projeto na construção do software para visualizar dados de radar meteorológico usando

OpenGL foi concluído com sucesso. Ele dispõe de todas as funcionalidades requeridas em

nossa primeira análise de requisitos, e pode ser utilizado por pesquisadores da área.

Foi importante para nos ensinar mais sobre OpenGL e sobre C++, além de ter nos ensinado

bastante sobre administração de código. A versão final do código fonte tem cerca de 8 mil

linhas, totalmente formatadas e documentadas para facilitar manutenção futura.

Os testes mostraram que as funcionalidades foram atingidas. O resultado pode ser utilizado

profissionalmente, como ferramenta de auxilio aos estudos dos dados dos radares.

Page 64: Desenvolvimento de software para visualização de dados de radar ...

5.2 Futuro 63

5.2 Futuro

Apesar de nosso sistema já estar maduro o suficiente para ser utilizado por pesquisadores,

ele ainda não está completo. Faltam-lhe algumas capacidades que, se implementadas, poderiam

torná-lo uma ferramenta realmente poderosa para cientistas.

Não foram implementadas funcionalidades para abrir e fechar arquivos utilizando os diálo-

gos do sistema operacional; impressão em papel seria bem vinda. A adição ao suporte de mais

formatos de arquivos seria de todo uma boa aquisição para as capacidades do software.

Pelo fato do código do sistema ser aberto, isso permitirá que desenvolvedores futuros adi-

cionem funcionalidades extras para o software, conforme seja necessário ao seu campo de tra-

balho.

Page 65: Desenvolvimento de software para visualização de dados de radar ...

64

ANEXO A -- Manual do Software

Esse anexo é um pequeno manual para o software desenvolvido pelo projeto.

A.1 Abrir o arquivo

Para abrir um arquivo de radar, basta seguir um desses dois passos:

Linha de Código Em linha de código, vá para a pasta onde está o arquivo bolacha.exe, e

digite:

bolacha.exe "caminho do arquivo de radar"

Onde “caminho do arquivo de radar”1 (sem aspas) pode incluir diretórios.

Arrastar e Soltar Arraste o ícone do arquivo de dados de radar para cima do ícone do

programa bolacha.exe, e solte o botão do mouse.

A.2 Tela inicial

A tela inicial exibe a projeção completa do arquivo de radar. A partir desta tela, podemos

ter acesso a todas as funções do programa. Em arquivos muito grandes, o programa pode se

tornar lento. Isso ocorre devido ao grande número de pontos necessários para que a projeção

seja feita de forma correta. Existe uma segunda janela, com dados e informações sobre a leitura.

É possível melhorar o desempenho diminuindo a qualidade dos gráficos.

Na tela inicial, existe uma escala (em quilômetros ou milhas), cuja função é orientar o

usuário. No canto inferior esquerdo da tela, existe um quadro negro que mostra, dada a posição1Nota do Desenvolvedor: O programa só aceita dados de radar IRIS, no formato de texto padrão. Para que

seja possível utilizar o Mapa e o posicionamento correto do raio inicial, é recomendado que o arquivo de radartenha o formato apresentado na Seção 3.3.1.1 da monografia.

Page 66: Desenvolvimento de software para visualização de dados de radar ...

A.3 Menu 65

do ponteiro do mouse, os valores do raio e ângulo azimutal (em relação ao radar, no centro) e o

valor da refletividade em dBZ. Esse valor é atualizado conforme o cursor do mouse for movido.

Devido aos problemas da biblioteca GLUT, se os valores não estiverem se atualizando, basta

clicar com o botão esquerdo do mouse em qualquer parte da tela do programa.

Nessa tela, é exibido um mapa simplificado do estado de São Paulo e seus estados vizinhos,

além da localização de algumas cidades.2

A.3 Menu

O menu é acessado pelo clique do botão direito do mouse em qualquer ponto da tela do

programa.

A.3.1 Menu principal

Ampliar Amplia a imagem do PPI.

Visualizar→ Sub-menu de Visualização.

Voltar Retorna à tela inicial.

Salvar→ Sub-menu de Salvar.

Sair Sai do programa.

A.3.2 Sub-menu “Vizualizar”

Corte→ Sub-menu Corte.

Setor Circular Seleciona um setor circular do PPI.

Deslocar Bolacha Desloca o centro do PPI para outra posição.

Valores Numéricos Mostra a grade de números.

2Nota do Desenvolvedor: Fica a cargo de futuros desenvolvedores a implementação de um mapa mais preciso,bem como a presença de mais cidades. É um processo simples, porém braçal, e leva muito tempo.

Page 67: Desenvolvimento de software para visualização de dados de radar ...

A.4 Menu de opções 66

A.3.3 Sub-menu “Gráfico Escalar”

Intervalo Angular Gráfico por variação de azimute.

Intervalo Radial Gráfico por variação de raio.

A.4 Menu de opções

Fundo e Texto (Gráficos e Números) Altera as cores dos dados

Qualidade do Display Controla interpolação de cores.

Quantidade de Cores Define padrão das cores usadas.

Sistema de Unidades Quilômetros ou Milhas.

Distância entre Leituras Precisão da impressão.

A.5 Telas

Vamos agora explicar cada uma das telas do programa.

A.5.1 Tela ampliada

Na tela ampliada, o mouse funciona de maneira idêntica à na tela inicial, incluindo o menu.

A única diferença é que agora é possível deslocar o mapa utilizando as teclas direcionais do

teclado. Isso é muito útil para varrer uma região em busca de informações.

A.5.2 Tela de corte

Na tela de corte, o mouse funciona de maneira idêntica à na tela inicial, incluindo o menu.

A única diferença é que agora é possível deslocar o mapa utilizando as teclas direcionais do

teclado. Isso é muito útil para varrer uma região em busca de informações.

Além disso, todas as informações fora da área de corte são escondidas, para que seja mais

fácil analisar os dados.

Page 68: Desenvolvimento de software para visualização de dados de radar ...

A.5 Telas 67

A.5.3 Tela de gráfico escalar

A tela de gráfico escalar não se beneficia de nenhum menu, apesar de estarem disponíveis.

Ela se beneficia do teclado da mesma forma que as outras telas ampliadas, ou seja, os direcionais

alteram as unidades.

A.5.4 Tela dos dados numéricos

Essa tela imprime os valores dos dados numéricos, e é possível usar o teclado para alterar

o foco da tela, utilizando as teclas direcionais. O mouse nessa tela não tem funções, e o menu

não tem toda a funcionalidade.

Page 69: Desenvolvimento de software para visualização de dados de radar ...

68

ANEXO B -- Conteúdo do CD

Um CD acompanha essa monográfia, contendo os seguintes arquivos:

binario.rar Executável do programa.

codigo.rar Código fonte do programa.

monografia.pdf Esse texto, em sua integridade.

requisitos.rar Arquivos de pré-requisitos e bibliotecas necessárias para o uso do software.

exemplos.rar Eventos para testar o software.

Page 70: Desenvolvimento de software para visualização de dados de radar ...

69

Referências

ABER, R. Social and Economic Benefits of Weather Services: Assessment Methods,Results and Applications’ in WMO. Econorra’c and Social Benefits of Meteorological andHydrological Services, v. 1, p. 26–30, 1990.

ANGELIS, C. F. et al. Rede de radares meteorológicos: ação conjunta decea - inpe/cptec.CONGRESSO BRASILEIRO DE METEOROLOGIA, XIV - (CBMET), 2006.

ANTÔNIO, M. A. Técnica de ajuste em tempo real de medidas de chuva com radar. Tese(Doutorado) — "Universidade Estadual Paulista, Faculdade de Ciências Agronômicas"UNESP,1998.

ATLAS, D. E. Radar in meteorology. American Meteorological Society, 1990.

DEITEL, H.; DEITEL, P. C++ how to program. [S.l.]: Prentice Hall Upper Saddle River, NJ,1998.

DREBIN, R.; CARPENTER, L.; HANRAHAN, P. Volume rendering. ACM SIGGRAPHComputer Graphics, ACM Press New York, NY, USA, v. 22, n. 4, p. 65–74, 1988.

EBERT, D.; MUSGRAVE, F. Texturing and Modeling: A Procedural Approach. [S.l.]: MorganKaufmann, 2003.

ECKEL, B. Thinking in C++. [S.l.]: Prentice-Hall, Inc. Upper Saddle River, NJ, USA, 1995.

ENGEL, K.; KRAUS, M.; ERTL, T. High-quality pre-integrated volume rendering usinghardware-accelerated pixel shading. Proceedings of the ACM SIGGRAPH/EUROGRAPHICSworkshop on Graphics hardware, ACM Press New York, NY, USA, p. 9–16, 2001.

FOLEY, J. Computer Graphics: Principles and Practice. [S.l.]: Addison-Wesley Professional,1995.

HAASE, H. et al. Meteorology meets computer graphics-a look at a wide range of weathervisualisations for diverse audiences. Computers and Graphics, Elsevier Science, v. 24, n. 3, p.391–397, 2000.

HEARN, D.; BAKER, M. Computer graphics: C version. [S.l.]: Prentice-Hall, Inc. UpperSaddle River, NJ, USA, 1996.

JOHNSON, R. C. Airline flights get less turbulent. eetimes.com, 9 2007.

JOSS, J.; WALDVOGEL, A. Radar in Meteorology. Proc. Battan Memorial and 40thAnniversary Radar Meteorol. Conf, p. 577–606, 1990.

Page 71: Desenvolvimento de software para visualização de dados de radar ...

Referências 70

KAJIYA, J.; HERZEN, B. V. Ray tracing volume densities. Proceedings of the 11th annualconference on Computer graphics and interactive techniques, ACM Press New York, NY,USA, p. 165–174, 1984.

KAWECKI, A. Economical aspects of the meteorological radar system synthesis. ActaGeophysica Polonica, v. 26, n. 2, p. 173–184, 1978.

KILGARD, M. The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3.Web Site: http://www. opengl. org/developers/documentation/glut, 1996.

KNISS, J. et al. Volume rendering multivariate data to visualize meteorological simulations:a case study. Proceedings of the symposium on Data Visualisation 2002, EurographicsAssociation Aire-la-Ville, Switzerland, Switzerland, 2002.

LUCK, D. Frequency Modulated Radar. [S.l.]: McGraw-Hill New York, 1949.

MCCASLIN, P.; MCDONALD, P.; SZOKE, E. 3D visualization development at NOAAforecast systems laboratory. ACM SIGGRAPH Computer Graphics, ACM Press New York,NY, USA, v. 34, n. 1, p. 41–44, 2000.

NATIONAL WEATHER SERVICE. NEXRAD Radar Operations Center, WSR-88D. WebSite: http://www.roc.noaa.gov/, 03 2007.

NAVAL HISTORICAL CENTER. U.S. Radar - Operational Characteristics of RadarClassified by Tactical Application,. [S.l.]: Department of the Navy.

NEIDER, J.; DAVIS, T.; WOO, M. OpenGL. Programming guide. [S.l.]: Addison-WesleyReading, Mass, 1997.

NEIDER, J. et al. OpenGL Programming Guide:: the Official Guide to Learning OpenGL.[S.l.]: Pearson Education, 2005.

OLIVEIRA, J. de; FERREIRA, N.; JÚNIOR, A. Estimativas de precipitação derivadas deimagens do satélite goes-8 e de radar meteorológico doppler.

OPENGL, A. OpenGL Reference Manual: The Official Reference Document to OpenGL,Version 1.1. [S.l.]: Addison-Wesley, Reading, MA, 1997.

PAPATHOMAS, T.; SCHIAVONE, J.; JULESZ, B. Applications of computer graphics to thevisualization of meteorological data. Proceedings of the 15th annual conference on Computergraphics and interactive techniques, ACM Press New York, NY, USA, p. 327–334, 1988.

RILEY, K. et al. A system for realistic weather rendering. 20th International Conference onInteractive Information and Processing Systems, 2004.

RINEHART, R. Radar for Meteorologists. [S.l.]: Rinehart Publications Grand Forks, ND,1997.

SCHÖNHUBER, M. et al. Weather radar versus 2D-video disdrometer data. Weather RadarTechnology for Water Resources Management, p. 159–171, 1997.

STAM, J.; FIUME, E. Depicting fire and other gaseous phenomena using diffusion processes.Proceedings of the 22nd annual conference on Computer graphics and interactive techniques,ACM Press New York, NY, USA, p. 129–136, 1995.

Page 72: Desenvolvimento de software para visualização de dados de radar ...

Referências 71

TREINISH, L. Task-specific visualization design. Computer Graphics and Applications, IEEE,v. 19, n. 5, p. 72–77, 1999.

TUCCI, C.; PORTO, R.; BARROS, M. Inundações urbanas. Drenagem urbana, v. 1, p. 15–36,1995.

WRIGHT, R.; LIPCHAK, B. OpenGL SuperBible. [S.l.]: Sams Indianapolis, IN, USA, 2004.

ZHU, Y. et al. The economic value of ensemble-based weather forecasts. Bulletin of theAmerican Meteorological Society, v. 83, n. 1, p. 73–83, 2002.