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.