grads universidade federal de campina grande centro de tecnologia e recursos naturais unidade...
TRANSCRIPT
GrADS
UNIVERSIDADE FEDERAL DE CAMPINA GRANDECENTRO DE TECNOLOGIA E RECURSOS NATURAIS
UNIDADE ACADÊMICA DE CIÊNCIAS ATMOSFÉRICAS
Professor: Enilson Palmeira Cavalcanti
Grid Analysis and Display System
Iniciando o GrADS: > grads <opção> (ou através de icone de atalho)
-c executa direto comando grads-b modo simples sem gráficos-l modo paisagem (11x8,5 pol.)-p modo retrato (8,5x11 pol.)
Sobre o GrADS: Documentação Aquisição (download/instalação)
Aplicabilidadehttp://grads.iges.org/grads/
Ajuda: help
open <descritor> - abrir arquivosquery - perguntas ao sistemaclear - limpar tela gráfica (ou “c”)set <arg.> - definir opçõesdisplay expr/var - visualizar expressão/variável (ou “d”)quiq - sair do GrADS
Arquivos do GrADS: arquivo descritor nome.ctlarquivo binário nome.bin (nome.*)
Ex: Arquivo *.ctl
dset saida.binundef -9.99e33title Interpolacao: metodo de BARNES(1964)xdef 40 linear -49.000 .385ydef 50 linear -19.000 .365zdef 2 levels 1000 850tdef 1 linear 00:00z01mar1977 3hr vars 5u 2 componente zonal [m/s]v 2 componente merid [m/s]w 2 componente verti [cm/s]theta 2 temp. potencial [K]relhum 2 umidade relativa [%]endvars
Operação do GrADS:OPEN - abrir arquivoDISPLAY - visualizar expressão ou variávelSET que|lugar|como
Gravando figura em disco:printim “nome do arquivo”printdisable print
NOVO printim nome.gif gif white (gif, jpg, pngDimensão de ambiente:
4-D (lon,lat,lev,time) ou (x,y,z,t)set lat|lon|lev|time val1 <val2>set x|y|z|t val1 <val2>
Exemplos: set lat -10 1; set lon -120; set t 2; set lev 500
Nome de variáveis:nome.file# (dimexp, dimexp, ...)
x|y|z|t|lon|lat|lev|time = valor * x|y|z|t|lon|lat|lev|time +|-Exemplos: z.3(lev=500); tv.1 (time -12hr); rh; q.2(t-1,lev=850)
Expressões:+ adição * multiplicação- subtração / divisão
Exemplos: z- z(t-1); temp(lev=500)- temp(lev=850)
Variáveis definidas:define nomevariável=expressão
(OBS.: a variável é armazenada na memória)
undefine nome variável (apaga variável da memória)
Exemplo: define ur=(e/es)*100; undefine urExibição:
display expressão (pode ser a própria variável)d expressãoclear ou c (apaga a exibição)
Tipos de saídas gráficas(principais):set gxout “tipo de gráfico”
bar gráfico de barrabarb plotagem do vento com barbelacontour plota contornos(traça isolinhas)
grfill análise pintando a caixa de gradegrid caixa de grade com o valorline gráfico de linhashaded plotagem de contorno sombreadostream traça linhas de correntevector traça o vetor - flechaExemplos: set gxout shaded; set gxout vector
Animação (por default é t):set loopdim x|y|z|tset loopincr incrset looping on|off
Exemplos: set loopdim x; set loopincr 2
Controle de página:Página virtual - área de plotagem ||paisagem - 11x8,5 pol.Página real - área da tela ||retrato - 8,5x11 pol.
Set vpage xmin xmax ymin ymaxset vpage off
controle da área de plotagemset parea xmin xmax ymin ymaxset parea off
String e graficos primitivos:draw title “caracteres”draw xlab “caracteres”draw ylab “caracteres”draw string x y “caracteres”draw line x1 y1 x2 y2draw rec xlo ylo xhi yhidraw recf xlo ylo xhi yhidraw polyf x1 y1 x2 y2 ... xn yn (Obs.: x1=xn e y1=yn)draw mark tipo x y tamanhotipo: 1-cruz; 2-círculo aberto; 3-círculo fechado;
4-quadrado aberto; 5-quadrado fechado
Controlando comandos de desenho:set font número (numéro de 0 - 5)set line cor <estilo> <espessura>
cor:0-preto 4-azul 8-laranja 12-amarelo escuro1-branco 5-cyan 9-roxo 13-aqua2-vermelho 6-magenta 10-amarelo/verde 14-roxo escuro3-verde 7amarelo 11-azul médio 15-cinzaestilo:1-sólido 4-traço curto/longo 7-ponto/ponto/traço2-traço longo 5-pontos 3-traço curto 6-ponto/traço espessura: 1, 2, 3, ... , 10
set strsiz hsiz <vsiz> set rgb número vermelho verde azul
número: 16 a 99; vermelho, verde e azul: 0 a 255
Controlando comandos de desenho (continuação):set string cor <justificativa <espessura <rotação>>>
tl
bl
tr
br
tc
bc
cl r l-left t-topc-center b-baser-right
Saída para impressão:enable print nome-arquivoprint (METAFILE)disable print
p/ imprimir: gxeps arquivo-entrada arquivo-saidaExemplo: gxeps meta.gmf poscript.txt (UNIX)
progra GV.EXE for windows
Controlando gráficos:set ccolor cor (cor definida anteriormente)set ccolor rainbow (cores do arco-iris)set ccolor revrain (ordem inversa arco-iris)
set cthick espessura (espessura: de 1 a 10)
set cstyle estilo (estilo: definido anteriormente)
set cterp on|off (liga|desliga suavizador)
set cint valor (valor: intervalo da análise)
set cmin valor (plota contornos > valor)
set cmax valor (plota contornos < valor)
set black val1 val2 (não plota no intervalo val1 e val2)
Controlando gráficos(continuação):set clevs lev1 lev2 lev3 ... (traça lev1, lev2, lev3, ...)
set ccols col1 col2 col3 ... (define cor para cada lev)
set rbcols cor1 cor 2 cor 3 .... (nova sequência de cores)
set clopts cor <espessura < tamanho>> (-1 e 0.09 default)
set clab on|off|string|auto (controla a rotulação)set clab %gK (coloca um K no valor)set clab %g%% (coloca % no valor)set clab %.2f (valor com 2 decimais)set clab %03.0f (três dígitos)
set clskip numero (numero de linhas puladas)
set arrscl tamanho <magnitude> (para vetor)
Controlando a orientação dos eixos:
set xyrev on off (inverte os eixos)
set xflip on off (vira a ordem do eiixo x)
set yflip on off (vira a ordem do eixo y)
Controlando a rotulação dos eixos:
set xaxis|yaxis inicial final <incr> (início e fim do eixo)
set xlint|ylint intervalo (intevalo de rotulação do eixo)
set xlopts|ylopts cor <espessura <tamanho>> (eixo)
set xlpos|ylpos offset lado (lado: b-botton, t-top, r-rigth, l-left)
Controlando projeções de mapas:
set mproj proj proj= robinson latlon
scalednpsspsoff
Controlando desenho do mapa:
set mpdset <lowres|mres|hires|nmap|mresbr>set map auto|cor estilo espessuraset mpdraw on off
Controlando moldura e display de logotipo:
set frame on|offset grads on|off
Funções do GrADSmédia:
ave(expr,xdim1,xdim2) ouave(expr,ydim1,ydim2)
ave(ave(expr,xdim1,xdim2),ydim1,ydim2)aave(expr,xdim1,xdim2,ydim1,ydim2)
integral:vint(expr,psexpr,topo)
filtro:smth9(expr)
diferença finita:cdiff(expr,dim)
constante:const(expr,constante<,bandeira>
mascara:maskout(expr,mascara)
densidade de plotagem:skip(expr,skipx,skipy)
Funções do GrADS (continuação)
matemáticas:abs(expr)acos(expr)asin(expr)atan(expr)atan2(expr1,expr2)tan(expr)cos(expr)sin(expr)log(expr)log10(expr)pow(expr1,expr2)sqrt(expr)
meteorológicas:tvrh2q(tvexpr,rhexpr) (calcula a umidade específica q)tvrh2t(tvexpr,rhexpr) (calcula a temperatura em K)
Funções do GrADS (continuação)
vetores:hcurl(uexpr,vexpr)
hdivg(uexpr,vexpr)
mag(uexpr,vexpr)
Interação com o sistema operacional
Usa-se o símbolo “!” com o comando DOS ou UNIX
Ex: !dir, !copy a:teste.dat c: !ls, !mv teste1.txt teste2.txt etc.
LINGUAGEM SCRIPT
Arquivo script: nome.gs (arquivo texto para edição)
Ex de arquivo *.gs
‘open model.ctl’ “open model.ctl”‘set lat -30 10’ “set lat -30 10”‘set lon -60 -30’ “set lon -60 -30”‘d temp’ “d temp”
REGISTROS DA LINGUAGEM SCRIPT
* atribuições (Ex: nome=10, nome2=‘INMET’)* decisão - if | else | endif* repetição - while | endwhile | break | continue* funções - function header | return* entrada e saida - say | pull* comentários (começando com *)
VARIÁVEIS (de 1 a 8 caracteres, começando com letras)Ex: variáveis string
nome=‘Peter Pan’ ou nome=“Peter Pan”
variáveis pré-definidaslat, lon, lev, result, log, etc.
Variáveis globais_varia1=‘variável global’ , -varn=2
variáveis compostasvarname.i.j varname.10.3=350, i=10 e j=3
OPERADORES
| ou lógico & e lógico! não = igual!= diferente > maior que>= maior ou igual < menor que<= menor ou igual % concatenação+ adição - subtração* multiplicação / divisão
CONTROLE DE FLUXOEstrutura de seleção ou decisão
if expressão|| registros do scripit|
else|| registros do scripit|
endif
Ex:if (num > 0)
ident=‘par’else
if (num =0)ident=‘nulo’
elseident=‘impar’
endifendif
CONTROLE DE FLUXO
Estrutura de repetiçãowhile expressão
| ...| registros do scripit| ...
endwhile
Ex:num=1while (num <= 10)
‘set t ‘ num‘d var’‘c’num=num+1
endwhile
ENTRADA E SAÍDA PADRÃO
Para escrever: say ou promptsay expressãoprompt expressão
Para ler: pullpull variável
FUNÇÕES DE STRING (subwrd, sublin, substr)
subward(string, palavra)sublin(string, linha)substr(string, começo, comprimento)
Ex: nome=‘meu amigo e 10’nota=subwrd(nome, 4)
q dim -> gera string de nome resultvalor=subward(result, 3)
FUNÇÕES DE ENTRADA E SAÍDA
read (nome de arquivo)
write (nome de arquivo, registro <,anexa>)
close (nome de arquivo)
Ex: SCRIPT - zoom.gs
function zoom (varia)if (varia='') say 'Enter variavel:' pull variaendifsay 'Click area de zoom:''clear''d 'varia'query bpos' x1 = subwrd(result,3) y1 = subwrd(result,4)
'query bpos' x2 = subwrd(result,3) y2 = subwrd(result,4)if (x1 > x2) a=x1 x1=x2 x2=aendifif (y1 > y2) a=y1 y1=y2 y2=aendif'q xy2w 'x1' 'y1 lo1 = subwrd(result,3) la1 = subwrd(result,6)'q xy2w 'x2' 'y2 lo2 = subwrd(result,3) la2 = subwrd(result,6)'set lat 'la1' 'la2'set lon 'lo1' 'lo2'clear''d 'varia