Campus de Florianópolis
Departamento Acadêmico de Saúde e Serviços
Curso Técnico de Meteorologia
Módulo 3: Sistema de Informação Meteorológica
Unidade Curricular: Aplicativos Computacionais para
Meteorologia
Semestre: 2012/2
Sigla: ACM
GrADS
APLICATIVO METEOROLÓGICO EM
METEOROLOGIA
ACM02
Professores: Mário e Michel
Elaboração: Mário Quadro e José Antonio Aravéquia (CPTEC/INPE)
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
1
Resumo
Este curso tem por objetivo principal apresentar ao aluno algumas ferramentas gráficas que auxiliam o na
visualização de dados meteorológicos, auxiliando diretamente atividades de ensino, pesquisa e a operação
meteorológica. Além disso, apresenta-se uma visão geral do procedimento utilizado no desenvolvimento de
produtos meteorológicos na rotina operacional de um centro de meteorologia.
Apesar da rotina diária da previsão de tempo ser, na maioria dos casos, automatizada, o técnico/previsor
necessita no mínimo ter um conhecimento básico das ferramentas que ele dispõe no seu trabalho. Por outro
lado, nas áreas de desenvolvimento e pesquisa o conhecimento dos softwares de visualização meteorológica é
indispensável.
O conteúdo do curso basicamente constará dos seguintes itens:

Noções básicas do GrADS;

Plotagem e análise de algumas variáveis meteorológicas importantes;

Sobreposição e diferenças entre campos meteorológicos;

Análises e prognósticos meteorológicos desenvolvidos no Climerh através do GrADS;

Rotinas operacionais de meteorologia.
Exercícios de fixação são aplicados entre cada item, visando mostrar ao aluno a prática das atividades
relacionadas.
Não será dada ênfase neste curso ao desenvolvimento de atividades de pesquisa. No entanto, existem algumas
semelhanças entre as atividades operacionais e de pesquisa que podem ser futuramente abordadas.
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
Parte I
Noções Básicas do GrADS
2
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
3
1.1 - O GrADS
O Grid Analisys and Display System (GrADS) é uma ferramenta interativa que está atualmente em uso global
para a análise e exibição de dados de ciência da Terra. Este sistema fornece um ambiente integrado para
acesso, manipulação e exibição de dados de ciência da Terra. O GrADS trabalha com modelos de dados em 4
dimensões, normalmente latitude, longitude, nível e tempo. Cada conjunto de dados está localizado dentro de
um espaço de 4 dimensões através do uso de um arquivo descritor de dados. Os dados podem ser descritos
em pontos de grade (que podem ser não-linearmente espaçados - grades do tipo Gaussiana e grades de
modelagem oceanográfica de resolução variável) ou de estação. A representação interna de um arquivo de
dados pode ser binário ou GRIB.
Desde que cada conjunto de dados esteja localizado dentro de um espaço de dados 4-D, é muito fácil a
intercomparação dos conjuntos de dados. As operações podem ser desempenhadas entre dados em grades
diferentes, ou entre dados em grades e dados observacionais. Dados de diferentes conjuntos podem ser
graficamente sobrepostos, desde que estejam com registro espacial e temporal correto.
O usuário acessa os dados da perspectiva do modelo 4-D. Uma dimensão de ambiente é descrita pelo usuário
como um subconjunto desejado do espaço 4-D. Os dados são acessados, manipulados e exibidos dentro deste
subconjunto.
1.2 - Iniciando e Saindo do GrADS
O GrADS é iniciado digitando o comando: grads [-lblpC] [-c ‘comando’]
Uso: grads [-lblpC] [-c ‘comando’]
Opções
-c
Comando
run, open, exec..
Descrição
Executa ‘comando’ quando inicia o GrADS
-b
Roda o GrADS em background.. Nenhuma janela de saída é aberta
-l
Roda o GrADS em modo paisagem. Não questiona o sentido da orientacão.
-p
Roda o GrADS em modo retrato. Não questiona o sentido da orientacão.
-C
Habilita comandos automáticos de séculos com anos < 100
Se nenhuma opção for digitada, o GrADS perguntará pelo modo paisagem ou retrato. O modo paisagem tem 11
x 8.5 e o retrato tem 8.5 x 11 polegadas (normalmente usado para produzir saídas verticais de impressão). Após
responder essa pergunta, ma janela de saídas gráficas, separada, será aberta. O tamanho desta janela pode ser
modificado a qualquer tempo. O GrADS tratará a janela como se esta tivesse um dos tamanhos acima. Você
pode manter o tamanho da janela com um aspecto próprio. Isto pode ser feito usando o administrador de janela
ou no GrADS através do comando:
set xsize x y
que modifica o tamanho da janela para x ,y pixels.
Os comandos do GrADS são digitados na janela de texto de onde o GrADS foi iniciado. A saída de gráficos
aparecerá na janela de gráficos em resposta aos comandos digitados. Assim é necessário fazer a janela de texto
a janela "ativa", a janela que recebe a entrada do teclado.
1.2.1 - Ajuda
Digitando help na linha de comando, o GrADS mostra um resumo da lista de operações básicas para fazer algo
no GrADS. Uma informação pode ser obtida, na maior parte dos parâmetros do comando, apenas por digitar o
comando.
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
4
1.2.2 - Sair
Para sair do GrADS, basta digitar o comando:
quit
1.3 - Arquivos de Dados no GrADS
O GrADS suporta dois tipos de dados básicos:


dados em grade
dados de estações
dados pontos de grade
estação ou ponto de observações.
Os dados e os dados meta (ou informações sobre os dados) são guardados em arquivos separados. O arquivo
de dados meta contém uma descrição completa dos dados além do nome deste arquivo. O arquivo é puramente
de dados, não contendo espaço ou tempo identificador. O arquivo que se abre no GrADS é o arquivo descritor
de dados (os dados meta) ou arquivo .ctl. O .ctl é construído para descrever os vários tipos de dados e
estruturas (i.e., binário e GRIB).
É, no mínimo, necessária a abertura de um arquivo descritor de dados antes entrar os outros comandos do
GrADS.
open filename
Não existe problema em abrir mais que um arquivo descritor de dados. Cada arquivo será numerado na ordem
em que ele foi aberto. Inicialmente, o “arquivo padrão" é o arquivo 1, ou o 1º arquivo aberto. A importância do
padrão de arquivo será discutida mais tarde.
Padrão da extenção do arquivo
".ctl" é, de fato, a extensão padronizada para o descritor de dados dos arquivos do GrADS. Contribuindo para
aderir a este padrão, não há necessidade de digitar a extensão ".ctl" quando digitar o comando open. Por
exemplo, digitando:
open jandata.1966 tem o mesmo efeito de open jandata.1966.ctl
A tabela abaixo mostra alguns exemplos de abertura de diversos tipos de arquivos:
open arq
Abre o arquivo descritor
sdfopen arq.nc <template #timestep>
Abre arquivos no formato netCDF ou HDF-SDS, conforme a
convenção do COARDS. O argumento opcional é um parâmetro
que define o intervalo de tempo em que serão abertos os
arquivos no GrADS
xdfopen arq
Abre arquivos no formato netCDF ou HDF-SDS, que não seguem
a convenção do COARDS, via um arquivo descritor semelhante ao
comando open
close #file
Fecha o último descritor aberto
Os dados a serem visualizados deverão estar em formato binário, com acesso direto, seqüencial não formatado
(IEEE flutuantes e inteiros) ou GRIB. Os dados estão descritos pelo arquivo descritor de dados, que contém:
 Nome do conjunto de dados binário;
 Mapeamento entre coordenada de grade e coordenada global;
 Número de variáveis, abreviações para as variáveis.
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
5
O arquivo descritor de dados tem formato livre onde, cada campo, é delimitado por um campo vazio. Isto pode
ser criado facilmente com um editor de texto. O arquivo descritor de dados designa, para cada variável do
arquivo, doze caracteres de abreviação. Essas abreviações são usadas em expressões do GrADS.
O uso do arquivo descritor de dados será discutido para dados em ponto de grade e dados de estação.
1.3.1 - Conjuntos de dados em grade
Os dados em grade podem conter qualquer número de variáveis em especificada longitude, latitude, níveis
verticais e intervalos de tempo. As latitudes podem variar de norte para sul ou de sul para norte (o padrão),
e os níveis podem variar de cima para baixo ou de baixo para cima.
O GrADS vê este conjuntos de dados como um vetor gigante "5-D" — com X (longitude ou lon) variando mais
rápido, então Y (latitude ou lat), Z ( nível vertical ou lev), o tipo de variável e por último o T (tempo).
É fácil pensar nos dados em termos de uma seqüência de grades horizontais, onde variam longitude e latitude.
Cada grade horizontal representa uma variável particular, em uma altura e tempo particular, além de serem do
mesmo tamanho em qualquer conjunto particular de dados do GrADS (se existir grades de tamanhos diferentes,
estas devem ser criadas em conjuntos de dados separados).
Estas grades são escritas no conjunto de dados na seguinte ordem: começando com uma variável particular, as
grades, para cada nível vertical, são escritas (em um tempo particular) em ordem ascendente. Então as grades
da próxima variável serão escritas. Quando todas as grades, em um tempo particular forem escritas, as grades
do próximo tempo serão escritas.
1.3.2 - Conjuntos de dados de estação
Os conjuntos de dados de estação devem ser escritos para um arquivo binário, é necessário que as observações
das estações estejam agrupadas em um arquivo dentro de algum intervalo de tempo.
As variáveis dentro de cada observação estão divididas em dois grupos. Cada variável é uma variável de
superfície, assim pode ser relatada no máximo uma vez por estação, ou é uma variável dependente de nível,
assim pode ser relatada em um número de níveis diferentes dento uma observação.
O controle de ordenação dos bytes para arquivos de dados de estação: Pode ser especificado o trocador de
bytes (byteswapped, big_endian, ou little_endian) para os arquivos de dados de estação. O utilitário stnmap, e o
GrADS, desempenharão a necessária conversão. Os arquivos de mapa de estação devem ainda ser criado na
máquina onde eles serão usados.
O formato de uma observação em um arquivo de dados de estação binário é:
 Um cabeçalho que fornece informação sobre a localização da estação;
 Variáveis de Superfície, se quaisquer existir;
 Variáveis dependentes de níveis, se quaisquer existir;
Uma descrição detalhada de cada item do cabeçalho segue:
id
- identificador da estação. Este deve ter de 1 a 7 caracteres que identificam somente a estação. Pode
ter designação arbitrária; i.e., as estações podem ser numeradas em alguma ordem arbitrária.
lat
- localização da dimensão Y da estação em coordenadas globais, tipicamente latitude.
lon
- localização da dimensão X da estação em coordenadas globais, tipicamente longitude.
t
- tempo desta observação, em unidades relativas de grade. Este se refere ao modo como as estações
estão agrupadas no tempo. Por exemplo, no trabalho com observações de superfície de rotas aéreas, pode-se
provavelmente ter um intervalo de agrupamento de tempo de uma hora. Os intervalos de tempo de chegada de
cada observação podem ser tratados como sendo de exatamente uma hora, assim t deve ser atribuído para 0.0.
Se a observação foi de 12:15pm, e o agrupamento de tempo estava sendo escrito para 12pm, pode-se atribuir t
para 0.25. Assim, t deverá ter uma variação entre -0.5 a 0.5.
nlev
- número de grupo de dados seguindo o cabeçalho. Este será a soma de um grupo de superfície, se
presente, mais o número de grupo dependente de nível. Se for atribuído para zero marca o fim de um grupo de
tempo
flag
- se for zero, não haverá nenhuma variável de superfície seguindo o cabeçalho. Se for um, então
haverá variáveis de superfície seguindo o cabeçalho.
Seguindo o cabeçalho, os dados desta observação serão escritos. O primeiro grupo de dados deverá ter todas as
variáveis de superfície presente. A presença ou ausência da variável de superfície será determinada pelo flag no
cabeçalho. Se presente, então todas as variáveis de superfície deverão ser escritas — variáveis ausentes
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
6
deverão receber o valor de dados ausentes. Assim, cada grupo de variáveis de superfície deve ter o mesmo
tamanho para cada arquivo da mensagem.
As variáveis de superfície são escritas como números de ponto flutuante. A ordem das variáveis deve ser a
mesma em cada observação e deve ser a mesma do arquivo descritor de dados.
Seguindo o grupo da variável de superfície, qualquer número de grupos dependentes de nível pode ser escrito.
O número total de grupos de dados é fornecido no cabeçalho. Cada grupo dependente de nível deve ter todas
as variáveis dependentes de nível presente, mesmo que elas sejam preenchidas com o valor de dado ausente.
Assim, cada grupo dependente de nível terá o mesmo tamanho para todos os níveis e todos as observações no
arquivo.
O grupo dependente de nível é escrito como segue:
nível -- valor de ponto flutuante dando o valor da dimensão de Z em coordenadas globais neste nível
variáveis -- as variáveis dependentes de nível para este nível.
Após todas as observações, para um grupo de tempo, serem escritas, um cabeçalho especial (com nenhum
grupo de dados) será escrito para indicar o final do tempo do grupo. O cabeçalho terá um valor de zero para o
nlev. O próximo grupo de tempo, então, pode começar logo após. Um grupo de tempo sem nenhuma
mensagem poderá ainda conter um registro de cabeçalho finalizador de grupo tempo (isto é, dois finalizadores
em uma linha).
Os arquivos de dados de estação do GrADS devem ser escritos como um conjunto de dados em stream do
UNIX, sem qualquer informação de descritor de registro embutido. Isto é facilmente feito em um programa em
C. De um programa em FORTRAN, isto normalmente requer uma opção de dependência de sistema na
declaração OPEN. Por Exemplo, no FORTRAN para a DEC pode-se usar a opção:
RECORDTYPE='STREAM'
1.4 - Arquivo Descritor de Dados
1.4.1 - Em pontos de grade
Cada conjunto de dados binário em grade, é descrito por um arquivo descritor de dados separado deste,
basicamente é uma tabela (mapa) dos conjuntos de dados binários. Seguindo há um exemplo de um arquivo
descritor de dados:
DSET ua.dat
TITLE Dados De Ar Superiores
UNDEF -9.99E33
XDEF 80 LINEAR -140.0 1.0
YDEF 50 LINEAR 20.0 1.0
ZDEF 10 LEVELS 1000 850 700 500 400 300 250 200 150 100
TDEF 4 LINEAR 0Z10apr1991 12hr
VARS 6
slp 0 0 Pressão ao nível médio do mar
z 10 0 Altura geopotencial
t 10 0 Temperatura
td 6 0 Ponto de orvalho
u 10 0 Componente u do vento
v 10 0 Componente v do vento
ENDVARS
O arquivo descritor de dados tem ' formato livre', i.e., cada caracter em branco é um delimitador e pode
aparecer em qualquer coluna. Os Registros comentados começam com um asterisco ('*') na coluna 1. Os
comentários não podem aparecer na lista de registros de variáveis (entre os registros vars e endvars). Os
registros não podem ser mais longos que 255 caracteres.
Neste exemplo, um conjunto de dados binário é especificado como ua.dat, o valor indefinido ou ausente dos
dados é -9.99e33, há 80 pontos de grade na direção do X, 50 na direção Y, 10 níveis, 4 tempos e 6 variáveis.
As variáveis, z, t, u, e v têm 10 níveis, a variável td tem 6 níveis, e a variável slp tem um nível (veja abaixo
para mais uma descrição especifica de cada entrada).
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
7
Supondo estes pontos de dados em X e Y, um nível para uma variável e um tempo em uma grade horizontal,
esta grade está exatamente na mesma ordem de armazenamento de um vetor em FORTRAN, neste caso um
vetor de DIMENSÃO A(80,50). A primeira dimensão sempre varia de oeste para leste, a segunda de sul para
norte (pelo padrão).
Segue de exemplo, uma descrição de cada registro do arquivo descritor de dados em grade:
DSET <nome do conjunto Esta linha especifica o nome do conjunto de dados binário. Este pode ter em caso misto. Se
de dados>
o conjunto de dados binário está no mesmo diretório que o arquivo descritor de dados,
pode ser digitado, no descritor de dados, o nome do arquivo de dados sem especificar o
diretório completo, apenas por prefixar um caracter ^ . Por Exemplo, se o arquivo de
descritor de dados é:
/dados/wx/grads/sa.ctl
e o arquivo de dados binário é:
/dados/wx/grads/sa.dat
pode ser usado o seguinte nome no arquivo de descritor de dados:
DSET ^sa.dat
em vez de:
DSET /dados/wx/grads/sa.dat
TITLE caracteres
Título do Arquivo de Dados.
UNDEF valor
Indefinido ou ausente. As operações no GrADS e as rotinas gráficas irão ignorar os dados
com este valor no conjunto de dados. Este é um parâmetro requerido mesmo que não
exista dados indefinidos.
XDEF <número> LINEAR Define o mapeamento entre os valores de grade e longitude. Especificamente:
<início incremento> ou
número -- o número de grades na direção do X, deve ser especificado como um
LEVEL <lista de valores>
número inteiro. Deve ser >= 1.
LINEAR ou LEVELS - Indica o tipo do mapeamento da grade.
Para LINEAR:
início
-- longitude inicial, ou a longitude para X=1. Deve ser especificado como
um valor de ponto flutuante onde negativo indica graus oeste.
incremento -- espaçamento entre o valor de grade na direção X. É assumido que os
valores da dimensão X vão de oeste para leste. Deve ser especificado como um valor
positivo de ponto flutuante.
Para LEVELS:
lista de valores -- lista de valores representando a longitude de cada dimensão X.
Pode começar em uma linha e continuar na próxima linha do arquivo descritor (o
registro não pode ter mais que 255 caracteres). Deve existir no mínimo 2 níveis (de
outro modo deve ser usado o mapeamento LINEAR).
YDEF <número mapeam. Define o mapeamento entre os valores de grade e latitude. Especificamente:
início> <incremento> ou
número -- número de grades na direção Y, especificada como um número inteiro.
LEVELS
<lista
de
mapeamento -- tipo de mapeamento, especificado como uma palavra-chave.
valores>
As válidas são:
LINEAR
-- mapeamento linear
GAUSR15 -- latitudes Gaussiana R15
GAUSR20 -- latitudes Gaussiana R20
GAUSR30 -- latitudes Gaussiana R30
GAUSR40 -- latitudes Gaussiana R40
Exemplos de como especificar o mapeamento GAUSRxx:
YDEF 20 GAUSR40 15
Indica que existem 20 valores na dimensão Y que começam na Latitude Gaussiana 15
(64.10 sul) na grade Gaussiana R40. Assim os 20 valores podem corresponder às
Latitudes:
64.10, -62.34, -60.58, -58.83, -57.07, -55.32, -53.56,
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
8
51.80, -50.05, -48.29, -46.54, -44.78, -43.02, -41.27,
39.51, -37.76, -36.00, -34.24, -32.49, -30.73
YDEF 102 GAUSR40 1
A grade gaussiana inteira esta presente, começando na latitude mais ao sul (-88.66).
início
-- Para o mapeamento LINEAR, a latitude inicial, i.e., a latitude onde Y = 1, é
especificada como um valor de ponto flutuante, com o negativo indicando graus sul. Para
mapeamento GAUSRxx, o valor inicial indica o primeiro número da grade gaussiana, onde
1 deverá ser a latitude de grade gaussiana mais ao sul.
incremento -- espaçamento entre os valores de grade na direção Y. É assumido que os
valores da dimensão Y vão de sul para norte. Pode ser especificado por um valor positivo de
ponto flutuante. É usado somente pelo mapeamento LINEAR.
Para LEVELS:
lista de valores -- lista de ‘valores’ representando a latitude de cada dimensão Y. Pode
começar em uma linha e continuar na próxima linha do arquivo descritor (o registro não
pode ter mais que 80 caracteres). Deve haver no mínimo 2 níveis (de outro modo deve ser
usado o mapeamento LINEAR).
ZDEF
número Define o mapeamento entre os valores de grade e os níveis de pressão. Especificamente:
mapeamento
<início
número -- número de valores de grade na direção Z, especificado como um número
incremento> ou <lista de
inteiro.
valores>
mapeamento-- tipo de mapeamento, especificado como uma palavra-chave.
Os válidos são:
LINEAR – mapeamento linear
LEVELS -- níveis arbitrários de pressão
início
-- quando o mapeamento é LINEAR, este é o valor inicial , ou o valor quando
Z=1.
incremento -- quando o mapeamento é LINEAR, indica o incremento na direção de Z ou
de baixo para cima. Isto pode ser um valor negativo, por exemplo:
ZDEF 10 LINEAR 1000 -100
indicando que os dados estão nos níveis 1000, 900, 800, 700, etc.
lista de valores -- quando o mapamento é LEVELS, os níveis especificados são
simplesmente listados em ordem ascendente. Se há unicamente um nível, usa-se LINEAR,
desde que LEVELS implica em dois níveis no mínimo.
TDEF
número
do Define o mapeamento entre valores de grade e tempo. Especificamente:
incremento tempo-inicial
número-- número de tempos no conjunto de dados. Especificado como um número inteiro.
LINEAR
tempo-inicial – valores iniciais de data/tempo, especificados no formato absoluto de
data/tempo do GrADS. Este é o valor quando T=1. O formato de data/tempo é:
hh:mmZddmmmyyyy onde:
hh = hora (dois dígitos inteiros)
mm = minutos (dois dígitos inteiros)
dd = dia (um ou dois dígitos inteiros)
mmm = mês (jan, feb, mar, apr, may, jun, jul, aug, set, oct, nov, dec)
yyyy = ano (dois ou quatro dígitos inteiros. Dois dígitos implica em um ano entre 1950
e 2049).
Se não for especificado, o padrão de hh é 00, o de mm é 00 e o de dd é 1. O mês e o
ano deverão ser especificados. No formato absoluto de data/tempo do GrADS nenhum
espaço em branco intervindo é permitido.
Exemplos:
12Z1JAN1990
14:20Z22JAN1987
JUN1960
incremento -- incremento de tempo. Especificado formato de incremento de tempo do
GrADS:
vvkk onde:
vv = um número inteiro, 1 ou 2 dígitos
kk = uma palavra-chave de incremento,
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
9
mn = minutos
hr = horas
dy = dias
mo = mês
yr = ano
Exemplos:
20mn
1mo
2dy
-- incremento de 20 minutos
-- incremento de 1 mês
-- incremento de 2 dias
Exemplo adicional de uma declaração do TDEF:
TDEF 24 LINEAR 00Z01JUN1987 1HR
O conjunto tem 24 tempos, iniciando às 00Z de 1º de Junho de 1987, e incremento
de 1hora
VARS número
Indica o início dos registros que descrevem as variáveis no conjunto de dados.
número -- o registro do número de variáveis
registro de variáveis (slp ... v)
Há seis registros de variáveis neste exemplo, cada um com o seguinte formato:
abrev niv unids descrição
abrev
-- de um 1 a 12 caracter de abreviação para a variável. Esta
abreviação deve começar com um caracter alfabético (a-z) e deverá ser composto de
caracteres alfabéticos e números. Esta abreviação será o "nome" da variável que será
acessada dentro GrADS.
niv
-- um valor inteiro especificando o número de níveis que
esta variável tem no conjunto de dados. Este não pode exceder o número de níveis
na declaração do ZDEF. O valor do niv 0 indica que esta variável tem um "nível" que
não corresponde à um nível vertical. Um exemplo poderia ser uma variável de
superfície.
unids
-- usado para dados em formato GRIB ou formato/estrutura de
dados especiais. Ponha 99 aqui.
descrição -- uma descrição da variável em texto, com no máximo 40 caracteres.
ENDVARS
Após o último registro das variáveis vem a declaração ENDVARS. Este é o fim do arquivo
descritor de dados. Linhas em branco após a declaração ENDVARS podem causar
falhas na abertura do ctl!
1.4.2 - Em Pontos de Estação
O formato do arquivo descritor de dados, para os dados de estação, é parecido com o formato dos conjuntos de
dados em grade. Um exemplo de um arquivo de descritor de dados de estação é:
dset ^ua.reps
dtype station
stnmap ^ua.map
undef -999.0
title Tempo Real obs de ar Superior
tdef 10 linear 12z18jan1992 12hr
vars 12
slp 0 99 SLP
ts 0 99 Temp. Superf.
ds 0 99 Ponto de Orv. Superf.
us 0 99 Vento U Superf.
vs 0 99 Vento V Superf.
z 1 99 Geopotencial
t 1 99 Temperatura
d 1 99 Ponto de Orvalho
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
10
u 1 99 Vento U
v 1 99 Vento V
endvars
Note as diferenças entre este descritor de arquivo e um arquivo de descritor de grade:
DTYPE registro
STNMAP registro
XDEF, YDEF, ZDEF registro
TDEF registro
VAR registros
especifica um tipo de dado: station.
dá o nome do arquivo de mapeamento da estação . Este arquivo é criado pelo utilitário
stnmap, que será descrito mais tarde.
não é especificado.
descreve o intervalo do grupo de tempo e o número de grupos de tempo no arquivo.
variáveis de superfície devem vir primeiro, é colocado um 0 no campo do número de
níveis. Variáveis dependentes de nível são listadas após as variáveis de superfície, e é
colocado 1 no campo do número de níveis.
Uma vez que o conjunto de dados foi escrito e o arquivo descritor criado, deve-se em seguida criar o arquivo de
mapeamento de estação usando o utilitário stnmap. Este utilitário escreve informações da tabela misturada
e/ou liga listas que permite ao GrADS acessar os dados das observações de forma mais eficiente. O utilitário vai
perguntar pelo nome do arquivo descritor de dados.
Se houver mudança nos arquivos de dados — talvez pela anexação de outro grupo de tempo — deverá haver
também mudança no arquivo descritor para refletir as mudanças — o novo número de tempos, por exemplo -- e
então o utilitário stnmap deverá ser reutilizado.
1.4.3 - O registro OPTIONS no arquivo descritor
As opções de registro no arquivo descritor permitem o controle de vários aspectos nos modos com os quais o
GrADS interpreta os arquivos de dados. Este arcaica o velho registro "format" e tem a forma:
options <palavras-chave>
Algumas palavras-chave são:
options <yrev> <zrev> <sequential> <byteswapped> <big_endian> <little_endian>
<cray_32bit_ieee> onde:
sequential
especifica que o arquivo foi escrito no I/O seqüencial não formatado, onde cada registro
é uma grade variando em X,Y. Note que pode ter somente uma dimensão em X e Y no arquivo, cada
registro no arquivo será um elemento longo (este modo pode não ser uma boa idéia).
yrev
especifica que a dimensão Y, ou latitude, foi escrita na ordem invertida da qual o GrADS
assume. Uma coisa importante a recordar é que o GrADS ainda apresenta a visão de que os dados vão de
sul para norte. A declaração do YDEF não muda os dados, estes ainda descrevem a transformação de um
espaço de grade indo de sul para norte. O reverso do eixo Y é feito quando os dados estão sendo lidos no
arquivo de dados.
zrev
indica que os dados foram escritos dentro do arquivo de cima para baixo, em vez do
contrário como o GrADS assume. As mesmas considerações do yrev são aplicadas.
template
nomes de arquivos arranjados estão sendo usados
byteswapped a ordem dos bytes é invertida (veja as próximas duas opções e o exemplo do arquivo .ctl
acima)
O melhor modo de assegurar a independência de hardware nos arquivos de dados em grade é
especificar a plataforma da fonte dos dados. Isto permite que os dados trabalhem em ambos os tipos de
hardware sem ter que se preocupar com a ordem dos bytes. Os dois parâmetros de opção seguintes
indicam a atual ordem dos bytes dos dados. Se os dados já estão no formato correto, então nenhuma
conversão será realizada. Estas opções facilitam o deslocamento de um arquivo de dados e de seu
arquivo descritor entre as máquinas.
big_endian real de 32-bit IEEE criada em uma plataforma de big_endian (cray, sun, sgi e hp).
little_endian real de 32-bit IEEE criada em uma plataforma de little_endian (iX86 e dec)
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
Parte II
Exercícios
11
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
12
Nesta seção foram elaborados alguns exercícios de fixação do item anterior. Por exemplo, como montar um
arquivo descritor para arquivos de estação ou em pontos de grade, visando compreender a lógica de um arquivo
de dados e o que ele contém.
2.1 – Exercícios Gerais
Estes exercícios têm por finalidade compreender qual é a estrutura de um arquivo descritor de dados em pontos
de grade e de estações meteorológicas.
2.1.1 - O que é o GrADS e qual a sua importância para a meteorologia?
2.1.2 - Quais os tipos de formatos de dados que o GrADS pode visualizar?
2.1.3 - Qual o padrão da seqüência de escrita dos registros no GrADS em latitude,
longitude e níveis de pressão?
2.1.4 - Descreva a função de cada uma das linhas do arquivo descritor model.ctl
DSET
^model.dat
OPTIONS little_endian
UNDEF -2.56E33
TITLE 5 Days of Sample Model Output
XDEF 72 LINEAR 0.0 5.0
YDEF 46 LINEAR -90.0 4.0
ZDEF 7 LEVELS 1000 850 700 500 300 200 100
TDEF 5 LINEAR 02JAN1987 1DY
VARS 8
PS
0
99
Surface Pressure
U
7
99
U Winds
V
7
99
V Winds
Z
7
99
Geopotential Heights
T
7
99
Temperature
Q
5
99
Specific Humidity
TS
0
99
Surface Temperature
P
0
99
Precipitation
ENDVARS
2.1.5 - A partir do arquivo descritor model.ctl (mostrado acima), responda as seguintes
questões:
-
Quantas variáveis no arquivo são de superfície e de altitude?
-
Qual a área (LAT/LON) coberta pelos dados do modelo?
-
Qual é o formato e a data inicial e final dos dados?
2.2 – Opções do arquivo descritor
Outros exemplos do registro options do GrADS:
2.2.1 – Template
O arquivo .ctl a seguir descreve uma série de arquivos gerados pelo modelo ETA do CPTEC.
DSET ^SULL40Ganl1999101300%y4%m2%d2%h2.bin
OPTIONS TEMPLATE
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
13
UNDEF -9999
TITLE Forecast fields - Analise : 19991013 00Z
XDEF
73 LINEAR -69.00
0.40
YDEF
64 LINEAR -44.20
0.40
ZDEF
11 LEVELS
1000 950 850 700 500 400 300 250 200 150 100
TDEF 11 LINEAR 00Z13Oct1999 6HR
*
VARS 29
slp
0 99
Mesinger M S L Pressure (hPa)
ps
0 99
Surface Pressure
(hPa)
ts
0 99
Sfc (skin) Temperature
(K)
qs
0 99
Sfc Spec Humid.
(kg/kg)
tsh
0 99
Shelter Temperature
(K)
tdsh
0 99
Shelter Dew Temp.
(K)
uanem
0 99
U 10m
(m/s)
vanem
0 99
V 10m
(m/s)
prc
0 99
Total 6h Precip.
(m)
prcc
0 99
Conv
6h Precip.
(m)
lsprec 0 99
Large Scl 6h Prec.
(m)
neve
0 99
Snowfall 6h
(m)
cape
0 99
CAPE
(J/kg)
cine
0 99
CINE
(J/kg)
ipw
0 99
Precipitable Water
(mm)
cld
0 99
Aveg Cloud Fraction
(No Dim)
roce
0 99
Ave Outgo TOA LW Rad
(W/m2)
ustrm
0 99
U Storm Motion
(m/s)
vstrm
0 99
V Storm Motion
(m/s)
htfrz
0 99
Height Freezing Lvl
(m)
rhfrz
0 99
Rel Humid Freez Lvl
(%)
li
0 99
Lifted Index
(degree)
geo
11 99
geopotential height (m)
u
11 99
zonal wind
(m/s)
v
11 99
meridional wind
(m/s)
at
11 99
temperature
(K)
rh
11 99
relative humidity
(%)
omg
11 99
Omega
(hPa/s)
sh
11 99
specific
humidity
(g/Kg)
ENDVARS
Responda:
a) Descreva abaixo o nome dos 5 primeiros arquivos de dados que serão abertos pelo descritor:
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
b) Quantas variáveis no arquivo são de superfície?
___________________________________________________________________________________________
c) Qual a área (LAT/LON) coberta pelos dados do modelo?
___________________________________________________________________________________________
d) Qual a função da opção template no descritor?
___________________________________________________________________________________________
2.2.2 – Dados em formato GRIB
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
14
Os arquivos .ctl a seguir descrevem uma série de análises e previsão do NCEP e CPTEC, respectivamente,
geradas no formato GRIB.
Ctl do Ncep
DSET ^pgcf%f2.991013
OPTIONS TEMPLATE
TITLE CAMPOS DO NCEP 19991013
DTYPE GRIB
INDEX ^ncep.idx
UNDEF -9.90E+20
XDEF 144 LINEAR
0.000 2.500
YDEF
45 LINEAR
-90.000 2.500
ZDEF
10 LEVELS 1000 925 850 700 500 400 300 250 200 150
TDEF
11 LINEAR 00Z13Oct1999 12hr
VARS 13
geo
10 7,100,0 Geopotential height (gpm)
U
10 33,100,0 u wind (m/s)
V
10 34,100,0 v wind (m/s)
at
10 11,100,0 Temperature (K)
omg
10 39,100,0 Pressure vertical velocity (Pa/s)
RH
7 52,100,0 Relative humidity (percent)
IPW
0 54,200,0 Precipitable water (kg/m**2)
SLP
0 2,102,0 Pressure reduced to MSL (Pa)
ts
0 11,1,0 Temperature (K)
olr
0 212,1,0 Upward long wave radiation flux (W/m**2)
prc
0 61,1,0 Total precipitation (kg/m**2)
SH
0 51,105,2 Specific humidity (kg/kg)
clcv
0 71,200,0 Total cloud cover (percent)
ENDVARS
Ctl do Cptec
dset ^GPSATRS1999101300%y4%m2%d2%h2P.fct.T062L28.grb
OPTIONS TEMPLATE LITTLE_ENDIAN
title PACIFIC, SA AND ATLANTIC SECTOR: TROPOSPHERE FILE
undef 1e+20
dtype grib
index ^GPSATRS1999101300.fct.T062L28.idx
xdef 81 linear -150.000000 1.875000
ydef 51 levels
-62.486 -60.620
-58.755 -56.890 -55.025 -53.160 -51.294 -49.429 -47.564 -45.699 -43.833 -41.968
-40.103 -38.238 -36.372 -34.507 -32.642 -30.777 -28.911 -27.046 -25.181 -23.316
-21.450 -19.585 -17.720 -15.855 -13.989 -12.124 -10.259 -8.394 -6.528 -4.663
-2.798 -0.933
0.933
2.798
4.663
6.528
8.394 10.259 12.124 13.989
15.855 17.720 19.585 21.450 23.316 25.181 27.046 28.911 30.777
zdef 7 levels
1000 925 850 700 500 300 200
tdef 25 linear 00Z13Oct1999 6hr
vars 15
slp
0
2, 1, 0, 0 SEA LEVEL PRESSURE [hPa]
ts
0 187, 1, 0, 0 SURFACE TEMPERATURE [K]
prc
0
61, 1, 0, 0 TOTAL PRECIPITATION [Kg/m2]
clcv
0
71, 1, 0, 0 CLOUD COVER [%]
olr
0 114, 1, 0, 0 OUTGOING LONG WAVE AT TOP [W/m2]
mk
7 137,100 MASK [0/1]
u
7
33,100 ZONAL WIND (U) [m/s]
v
7
34,100 MERIDIONAL WIND (V) [m/s]
omg
7
39,100 OMEGA [Pa/s]
cor
7
35,100 STREAM FUNCTION [m2/s]
potv
7
36,100 VELOCITY POTENTIAL [m2/s]
geo
7
7,100 GEOPOTENTIAL HEIGHT [gpm]
at
7
11,100 ABSOLUTE TEMPERATURE [K]
rh
7
52,100 RELATIVE HUMIDITY [no Dim]
sh
7
51,100 SPECIFIC HUMIDITY [g/g]
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
15
endvars
Responda:
a) Qual o registro que identifica no arquivo o formato GRIB em que ele foi gerado?
___________________________________________________________________________________________
b) Quantas variáveis de altitude existem em cada arquivo?
___________________________________________________________________________________________
c) Descreva abaixo o nome dos arquivos de dados que serão abertos pelo descritor do NCEP:
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
d) O que significa a linha do ydef no descritor do CPTEC?
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
e) O que significam os números da 3a coluna das variáveis nos arquivos descritores?
___________________________________________________________________________________________
___________________________________________________________________________________________
___________________________________________________________________________________________
f)
Qual a função do registro LITTLE_ENDIAN no descritor do CPTEC?
___________________________________________________________________________________________
___________________________________________________________________________________________
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
Parte III
Comandos de Visualização e Impressão
16
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
17
3.1 - Conceitos Básicos de Operação
O GrADS trabalha basicamente com duas janelas, uma janela terminal com uma linha de comando, e uma janela
de tamanho modificável (fundo preto por default) onde os gráficos serão exibidos. Os comandos do GrADS são
digitados na janela terminal e a resposta do GrADS é gráfica na janela de gráficos, ou também texto na janela
terminal.
Os três comandos fundamentais do GrADS são:
1. open
2. d
3. set
torna disponível ao GrADS um arquivo de dados em grade ou dados de estação
exibe uma "expressão" do GrADS (i.e., uma fatia dos dados)
manipula o "o que", "onde" e "como" serão exibidos os dados
A "expressão" do GrADS ou o que se deseja ver, pode ser tão simples como uma variável no arquivo de dados
que foi aberto, i.e., ‘d slp’ ou uma operação aritmética de funções dos dados no GrADS, i.e., ‘d slp/100' ou ‘d
mag(u,v)’ onde mag é uma função intrínseca do GrADS.
O "lugar" da exibição dos dados é chamado de " dimensão do ambiente " e define que porção do espaço
geofísico 4-D (lon,lat,nível,tempo) será exibida. A dimensão do ambiente é manipulada através do comando set
e é controlada em coordenadas de grade (x,y,z,t ou índices) ou em coordenas globais (lon, lat,lev, tempo).
O "o que" e "como" da exibição é controlado pelo comando set, e inclue os métodos gráficos (i.e., contornos,
linhas de corrente) e dados (i.e., d para um arquivo).
Os gráficos do GrADS podem ser escritos para um arquivo (i.e., enable print nome do arquivo e print) e então
convertido em postscript para impressão e/ou conversão para outros formatos de imagem.
Em adição, o GrADS inclui gráfico de primitivas (i.e., linhas e círculos) e rótulos básicos através do comando
draw.
O comando q ou query é usado para obter informações do GrADS, tais como, que arquivos estão abertos e até
mesmo estatísticas.
3.2 – Tutorial
Um tutorial e um exemplo de dados estão disponíveis nos sites de distribuição (ftp://grads.iges.org/example.tar
e ftp://sprite.llnl.gov/pub/fiorino/grads/exemple). Porções dos sample.txt estão incluídas abaixo como outro
ponto de partida para novos usuários do GrADS:
A seguinte sessão de exemplo dará um conhecimento de como usar as capacidades básicas do GrADS. Será
necessário ter o arquivo de dados 'model.dat' em seu sistema. Esta sessão de amostra toma cerca de 30
minutos para realizá-la.
Este arquivo de dados é descrito pelo arquivo descritor de dados 'model.ctl'. Seria interessante a visualização
dos componentes deste arquivo antes de continuar. O arquivo descritor de dados descreve o arquivo de dados
real, que no caso, contém 5 dias de grades globais que tem 72 x 46 elementos em tamanho.
Para iniciar o GrADS, entre com:
grads
Se o grads não está no diretório corrente, ou se este não está em algum lugar do PATH, entre com o nome
inteiro do caminho, por exemplo:
/usr/homes/smith/grads/grads
O GrADS mostrará uma linha de comando com uma pergunta: paisagem vs. retrato; somente pressione enter.
Neste ponto deverá ser aberta no console uma janela de saída gráfica. O tamanho desta janela pode ser movido
ou modificável. Os comandos do GrADS deverão ser digitados na janela de onde o GrADS foi iniciado – será
necessário tornar a janela 'ativa' antes de digitar e não deverá cubrir inteiramente esta janela com a janela de
saída gráfica.
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
18
Na janela de texto , haverá uma linha de comando: ga>. Os comandos do GrADS deverão ser digitados nesta
linha de comando e os resultados serão exibidos na janela de saída gráfica.
O primeiro comando a ser digitado é:
open model.ctl
Para exibir o que existe neste arquivo digite:
query file
Uma das variáveis disponíveis é ps, para pressão à superfície. Para exibir esta variável penas digite:
d ps
d é apenas o curto comando para exibição. Note, pelo padrão, que o GrADS exibirá uma plotagem X, Y
referente ao primeiro tempo e ao nível mais baixo no conjunto dos dados.
Digite os comandos para alterar as ' dimensões do ambiente '. O comando de exibição (e implicitamente, o
acesso, a operação e a saída dos dados) fará coisas com respeito à corrente dimensão do ambiente. A dimensão
do ambiente pode ser controlada digitando com o conjunto de comandos:
clear
set lon -90
set lat 40
set lev 500
set t 1
dz
limpa a janela gráfica
atribui uma longitude fixa
atribui uma latitude fixa
atribui um nível fixo
atribui um tempo fixo
exibe uma variável
Na seqüência dos comandos acima, todas as quatro dimensões do GrADS foram atribuídas para um valor
singular, é dito que estas dimensões estão fixas. Quando a variável for exibida, desde que todas as dimensões
estejam fixas, obtém-se um único valor, neste caso, o valor na localização 90W, 40N, 500mb e no 1º. tempo no
conjunto de dados.
Se for digitado agora:
set lon -180 0
dz
X está agora com uma dimensão variada
Foi atribuído à dimensão de X, ou longitude, uma variação. Isto foi feito devido aos dois valores colocados no
comando set. Agora a dimensão longitude está variando (as outras dimensões estão ainda fixas) e, quando for
exibido uma variável, será plotado um gráfico de linha, neste caso, um gráfico de 500mb na altura de 40N.
Digite:
clear
set lat 0 90
dz
Neste caso há duas dimensões variando, assim pelo padrão, uma plotagem em contorno foi realizada. Se 3
dimensões variarem:
c
set t 1 5
dz
uma sequência de animação foi realizada, neste caso, através do tempo.
Agora digite:
clear
set lon -90
set lat -90 90
set lev 1000 100
set t 1
dt
du
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
19
Neste caso foi atribuído ao Y (latitude) e ao Z (nível) dimensões variantes, assim uma seção de corte vertical foi
plotada. As duas variáveis exibidas simplesmente se sobrepõem uma sobre a outra. O número de campos
exibidos sobrepostos será quantos desejar antes de entrar com o comando clear.
Outro exemplo, neste caso com X e T variando (diagrama de Hovmoller):
c
set lon -180 0
set lat 40
set lev 500
set t 1 5
dz
Foram mostrados vários exemplos de como selecionar uma porção do conjunto dos dados, o tópico agora será
operações nos dados. Primeiro, atribua a dimensão do ambiente para uma variação Z, Y:
clear
set lon -180 0
set lat 0 90
set lev 500
set t 1
Querendo ver a temperatura em Fahrenheit em vez de Kelvin. A conversão será feita digitando:
display (t-273.16)*9/5+32
Pode ser usada qualquer expressão que envolva os operadores padronizados de +, -, *, e /, e as quais, envolve
operandos que podem ser constantes, variáveis, ou funções. Um exemplo envolvendo funções:
clear
d sqrt(u*u+v*v)
para calcular a magnitude do vento. Uma função é fornecida para fazer este cálculo diretamente:
d mag(u,v)
Outra construção de função é a função do cálculo da média:
clear
d ave(z,t=1,t=5)
Neste caso foi calculado a média dos 5 dias. É possível remover a media do campo corrente:
d z - ave(z,t=1,t=5)
As médias podem ser tomadas sobre a longitude para remover a media zonal:
clear
d z-ave(z,x=1,x=72)
dz
Um diferenciamento no tempo pode também ser aplicado:
clear
d z(t=2)-z(t=1)
Isto computa a variação entre os dois campos sobre 1 dia. Este cálculo pode também ser feito usando um
compensador do tempo corrente:
d z(t+1) - z
A especificação completa do nome de uma variável é:
name.file(dim +|-|= valor, ...)
Se dois arquivos forem abertos, talvez um com saída de modelo e o outro com análises, a diferença entre os
dois campos pode ser tomada entrando com: display z.2 - z.1
Esta função interna calcula a vorticidade relativa horizontal via diferenciação finita:
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
20
clear
d hcurl(u,v)
Outra função toma o peso da massa integral vertical:
clear
d vint(ps,q,275)
Aqui foi calculada a água precipitável em mm.
Passando agora para o tópico de controle de saída gráfica, até aqui foi permitido ao GrADS controlar o intervalo
de contorno, o espaçamento entre as linhas pode ser mudado digitando:
clear
set cint 30
dz
Ou também controlar a cor do contorno digitando:
clear
set ccolor 3
dz
Outro modelo de exibição dos dados pode ser selecionado:
clear
set gxout shaded
d hcurl(u,v)
Se este não estiver muito suave, um suavizador cúbico pode ser aplicado digitando:
clear
set csmooth on
d hcurl(u,v)
Um gráfico diferente pode ser sobreposto digitando:
set gxout contour
set ccolor 0
set cint 30
dz
e um título também pode ser colocado:
draw title 500mb Altura e Vorticidade
Para ver os vetores de vento:
clear
set gxout vector
d u;v
Aqui foram exibidas duas expressões, a 1ª. foi a componente U do vetor; a 2ª. foi a componente V do vetor.
Para colorir, um 3º campo pode ser especificado:
d u;v;q
ou talvez:
d u;v;hcurl(u,v)
Para exibir pseudo vetores entre qualquer campo escolhido:
clear
d mag(u,v) ; q*10000
Aqui a componente U é a magnitude do vento e a componente V é a umidade.
Um processo quase idêntico para ver as linhas de corrente (e as colorir):
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
21
clear
set gxout stream
d u;v;hcurl(u,v)
O valor vigentes dos pontos de grade:
clear
set gxout grid
du
É possível alterar o fundo do mapa:
clear
set lon -110 -70
set lat 30 45
set mpdset nam
set digsiz 0.2
set dignum 2
du
# tamanho dos Dígitos
# número de dígitos depois do lugar decimal
Como também alterar a projeção:
set lon -140 -40
set lat 15 80
set mpvals -120 -75 25 65
set mproj nps
set gxout contour
set cint 30
dz
# constantes da projeção de mapa
# estereográfica polar norte
Neste caso, o grads foi informado que deverá acessar e operar os dados da longitude 140W para 40W, e da
latitude 15N para 80N, como também, exibir uma plotagem estereográfica polar que contém a região unida
entre 120W a 75W e 25N a 65N. A área extra de plotagem é recortada pela rotina de projeção de mapa.
Isto conclui esta sessão. Neste ponto, examine um conjunto de dados adicionais, ou siga através da
documentação do GrADS e experimente as outras opções descritas.
3.3 – A linguagem SCRIPT do GrADS
A linguagem de script do GrADS, usada via o comando run do GrADS, fornece uma capacidade parecida ao
comando exec, exceto que o script pode ter variáveis, controle de fluxo, e acesso ao comando de saída do
GrADS. Scripts podem ser escritos para desempenhar uma variedade de funções, tal como permitir a um usuário
de apontar e pressiona na tela para alguma coisa selecionada, para animar quaisquer quantidades desejadas,
para anotar desenhos com informação obtida dos comandos de pergunta do GrADS.
3.3.1 - Resumo da Linguagem Do Script
A linguagem do script é parecida ao REXX em implementação. Todas variáveis são de tipo STRING. Operações
nas variáveis do script são suportadas. O controle de fluxo é alcançado via construções de if/else/endif e
while/endwhile. O Laço do fluxo de pode ser modificado pelos comandos continue ou break. As strings contidas
em variáveis ou gerados via uma expressão podem ser emitidas ao GrADS como comandos. O resultado destes
comandos (o string que GrADS poderia ter digitado no terminal) é colocado dentro uma variável e feito
avaliação pelo script. A linguagem inclui apoio para funções.
3.3.2 - Elementos da Linguagem
Um arquivo de script é dividido em registros. O fim de um registro de escrita é determinado por um ou outro
caracter de nova linha (fim do registro para o arquivo) ou um ponto-e-vírgula (onde o ponto-e-vírgula não está
contido dentro uma string constante).
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
22
Cada registro de script pode ser um dos seguintes tipos de registro de script:






Assignment
If / Else / Endif
while / endwhile / break / continue
function header / return
say / pull
comment
Se um registro de escrita ano e nenhum acima, é assumido ser um registro de declaração, que contem escrita
um expressão. O resultado da expressão é passado ao GrADS como um comando para execução. O texto
resultado do comando do GrADS é inserido na variável 'result' para exame pelo script.
Muitos dos tipos de registro acima conterão expressões. Expressão de script é composta de operadores e
operandos, onde os operandos são variáveis de script, chamadas de funções, ou constantes, e os operadores
são lógicos, matemáticos, ou operações de concatenação.
Não há 'goto' nesta língua.
N.B. O GrADS necessita de um <enter> depois da última linha de comando no arquivo do script, de outro
modo GrADS não executará esta linha de comando.
3.3.3 – Exemplo de script
function lines(args)
*
'reinit'
or = '01 02 03 04 05 06 07 08 09 10 11 12'
an = 'jan feb mar apr may jun jul aug sep oct nov dec'
nm = '31 28 31 30 31 30 31 31 30 31 30 31'
fct = 'f00 f24 f48 f72'
*
*data=subwrd(args,1)
*_yy=substr(data,1,2)
*_mm=substr(data,3,2)
*_dd=substr(data,5,2)
*_hh=substr(data,7,2)
*
'open /usr/users/meteop/modelos/ctl/eta001.ctl'
'open /usr/users/meteop/M7/scmask.ctl'
'run /usr/users/meteop/gs/rgb.gs'
'set mpdset SC'
*
'set t 1'
'q time'
anl=subwrd(result,3)
*
i=1
while (i<=2)
'c'
'enable print chuva_'i'.gmf'
*****************************
'set t 1'
'q time'
prv0=subwrd(result,6)
if (prv0='Mon');dia0=Domingo;endif
if (prv0='Tue');dia0=Segunda;endif
if (prv0='Wed');dia0=Terca;endif
if (prv0='Thu');dia0=Quarta;endif
if (prv0='Fri');dia0=Quinta;endif
if (prv0='Sat');dia0=Sexta;endif
if (prv0='Sun');dia0=Sabado;endif
*****************************
'set t 4'
'q time'
prv1=subwrd(result,6)
if (prv1='Mon');dia1=SEGUNDA_FEIRA;endif
if (prv1='Tue');dia1=TERCA_FEIRA;endif
if (prv1='Wed');dia1=QUARTA_FEIRA;endif
if (prv1='Thu');dia1=QUINTA_FEIRA;endif
if (prv1='Fri');dia1=SEXTA_FEIRA;endif
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
if (prv1='Sat');dia1=SABADO;endif
if (prv1='Sun');dia1=DOMINGO;endif
*****************************
'set t 8'
'q time'
prv2=subwrd(result,6)
if (prv2='Mon');dia2=SEGUNDA_FEIRA;endif
if (prv2='Tue');dia2=TERCA_FEIRA;endif
if (prv2='Wed');dia2=QUARTA_FEIRA;endif
if (prv2='Thu');dia2=QUINTA_FEIRA;endif
if (prv2='Fri');dia2=SEXTA_FEIRA;endif
if (prv2='Sat');dia2=SABADO;endif
if (prv2='Sun');dia2=DOMINGO;endif
*****************************
'set lat -29.5 -25.8'
'set lon -54 -48.2'
'set xlab off'
'set ylab off'
'set grads off'
'set gxout shaded'
'set csmooth on'
'set clevs 3 5 8 11 14 17 20 25 30 40 50 60 70'
'set ccols 0 9 14 4 11 5 13 3 10 12 8 2 6 9'
if (i=1)
'define p1=(prc(t=2)+prc(t=3)+prc(t=4)+prc(t=5))*1000'
'd p1'
'draw title PREVISAO DE CHUVA PARA 'dia1
else
'define p2=(prc(t=6)+prc(t=7)+prc(t=8)+prc(t=9))*1000'
'd p2'
'draw title PREVISAO DE CHUVA PARA 'dia2
endif
'set gxout contour'
'set clevs 3 5 8 11 14 17 20 25 30 40 50 60 70'
'set ccols 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0'
if (i=1)
'define p1=(prc(t=2)+prc(t=3)+prc(t=4)+prc(t=5))*1000'
'd p1'
'draw title PREVISAO DE CHUVA PARA 'dia1
else
'define p2=(prc(t=6)+prc(t=7)+prc(t=8)+prc(t=9))*1000'
'd p2'
'draw title PREVISAO DE CHUVA PARA 'dia2
endif
'run cbarn.gs'
'set mpdset brmap_hires'
'set map 1 1 6'
'set gxout fgrid'
'set fgvals 0 0'
'd img.2(z=1,t=1)'
'set string 2 c 5'
'draw string 3.5 0.9 Previsao Numerica Processada as 21 h de 'dia0
'draw string 9.4 0.9 Modelo ETA'
*************************************
'print'
'disable print chuva_'i'.gmf'
'!/usr/local/bin/gxgif -r -i chuva_'i'.gmf -o chuva_'i'.gif'
i=i+1
endwhile
'!rm -f *.gmf'
'quit'
return 'ok'
3.4 – Cartão de Referência do GrADS
23
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
24
No apêndice A está contido um cartão de referência (Reference Card) que exemplifica os principais comandos
utilizados pelo sistema. Este é uma boa (e ágil) referência quem trabalha diariamente com o GrADS e não
costuma consultar o manual.
GrADS - Ferramenta de Análise e Previsão Meteorológica – IFSC/SC
25
Referências Bibliográficas
Bonatti, J.P., 1996. Modelo de Circulação geral atmosférico do CPTEC. Climanálise Especial. Edição
Comemorativa de 10 anos. Distribuído via Internet http://yabae/products/climanalise/cliesp10a/index1.html
Brian, D., 1995. The grid analysis and display system. Distribuído via Internet. http://grads.iges.org/grads.
Download

XI Semana Acadêmica da Faculdade de Meteorologia da