Sobre o GrADS - DCA-UFCG

Propaganda
GrADS
Grid Analysis and Display System
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
CENTRO DE TECNOLOGIA E RECURSOS NATURAIS
UNIDADE ACADÊMICA DE CIÊNCIAS ATMOSFÉRICAS
Professor: Enilson Palmeira Cavalcanti
Sobre o GrADS:
Documentação
Aquisição (download/instalação)
Aplicabilidade
http://grads.iges.org/grads/
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.)
Ajuda:
help
open <descritor> - abrir arquivos
query - perguntas ao sistema
clear - limpar tela gráfica (ou “c”)
set <arg.> - definir opções
display expr/var - visualizar expressão/variável (ou “d”)
quiq - sair do GrADS
Arquivos do GrADS:
arquivo descritor
arquivo binário
Ex: Arquivo *.ctl
nome.ctl
nome.bin
dset saida.bin
undef -9.99e33
title Interpolacao: metodo de BARNES(1964)
xdef 40 linear
-49.000
.385
ydef 50 linear
-19.000
.365
zdef 2 levels 1000 850
tdef 1 linear
00:00z01mar1977 3hr
vars 5
u
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
(nome.*)
Operação do GrADS:
OPEN - abrir arquivo
DISPLAY - visualizar expressão ou variável
SET que|lugar|como
Gravando figura em disco:
printim “nome do arquivo”
print
disable print
NOVO  printim nome.gif gif white (gif, jpg, png
Dimensã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 ur
Exibição:
display expressão (pode ser a própria variável)
d expressão
clear ou c (apaga a exibição)
Tipos de saídas gráficas(principais):
set gxout “tipo de gráfico”
bar
gráfico de barra
barb
plotagem do vento com barbela
contour
plota contornos(traça isolinhas)
grfill
análise pintando a caixa de grade
grid
caixa de grade com o valor
line
gráfico de linha
shaded
plotagem de contorno sombreado
stream
traça linhas de corrente
vector
traça o vetor - flecha
Exemplos: set gxout shaded; set gxout vector
Animação (por default é t):
set loopdim x|y|z|t
set loopincr incr
set 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 ymax
set vpage off
controle da área de plotagem
set parea xmin xmax ymin ymax
set 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 y2
draw rec xlo ylo xhi yhi
draw recf xlo ylo xhi yhi
draw polyf x1 y1 x2 y2 ... xn yn (Obs.: x1=xn e y1=yn)
draw mark tipo x y tamanho
tipo: 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 escuro
1-branco
5-cyan
9-roxo
13-aqua
2-vermelho 6-magenta 10-amarelo/verde 14-roxo escuro
3-verde
7amarelo 11-azul médio
15-cinza
estilo:
1-sólido
4-traço curto/longo 7-ponto/ponto/traço
2-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
tc
tr
l
c
r
bl
bc
br
Saída para impressão:
enable print nome-arquivo
print
disable print
l-left
t-top
c-center b-base
r-right
(METAFILE)
p/ imprimir: gxeps arquivo-entrada arquivo-saida
Exemplo: 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
scaled
nps
sps
off
Controlando desenho do mapa:
set mpdset <lowres|mres|hires|nmap|mresbr>
set map auto|cor estilo espessura
set mpdraw on off
Controlando moldura e display de logotipo:
set frame on|off
set grads on|off
Funções do GrADS
média:
ave(expr,xdim1,xdim2) ou
ave(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,
!ls,
!copy a:teste.dat c:
!mv teste1.txt teste2.txt
etc.
LINGUAGEM SCRIPT
Arquivo script: nome.gs
(arquivo texto para edição)
Ex de arquivo *.gs
‘open model.ctl’
‘set lat -30 10’
‘set lon -60 -30’
‘d temp’
“open model.ctl”
“set lat -30 10”
“set lon -60 -30”
“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é-definidas
lat, lon, lev, result, log, etc.
Variáveis globais
_varia1=‘variável global’ , -varn=2
variáveis compostas
varname.i.j
varname.10.3=350, i=10 e j=3
OPERADORES
|
ou lógico
!
não
!=
diferente
>=
maior ou igual
<=
menor ou igual
+
adição
*
multiplicação
&
=
>
<
%
/
e lógico
igual
maior que
menor que
concatenação
subtração
divisão
CONTROLE DE FLUXO
Estrutura 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’
else
ident=‘impar’
endif
endif
CONTROLE DE FLUXO
Estrutura de repetição
while expressão
| ...
| registros do scripit
| ...
endwhile
Ex:
num=1
while (num <= 10)
‘set t ‘ num
‘d var’
‘c’
num=num+1
endwhile
ENTRADA E SAÍDA PADRÃO
Para escrever: say ou prompt
say expressão
prompt expressão
Para ler: pull
pull 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 result
valor=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 varia
endif
say '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=a
endif
if (y1 > y2)
a=y1
y1=y2
y2=a
endif
'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
Download