Vous êtes sur la page 1sur 21

FUNDAO CEARENSE DE METEOROLOGIA E RECURSOS HIDRICOS

Por:

Dr. Antonio Carlos Santana dos Santos


Universidade Estadual do Cear - UECE Fundao Cearense de Meteorologia e Recursos Hdricos - FUNCEME

dr.acss@gmail.com

Dr. Sergio Sousa Sombra


Fundao Cearense de Meteorologia e Recursos Hdricos FUNCEME

sergiossombra@yahoo.com.br

Fortaleza, Agosto de 2006

SUMRIO
SUMRIO.............................................................................................................................. 2 1. Introduo........................................................................................................................... 3 2. Instalao ............................................................................................................................ 3 3. Executando o FERRET ...................................................................................................... 3 4. Conceitos bsicos ............................................................................................................... 3 5. Redimensionamento do tamanho da figura ........................................................................ 5 6. Criando uma nova janela .................................................................................................... 5 7. Acessando um dado NETCDF ........................................................................................... 5 8. Fazendo mais de um grfico na mesma janela ................................................................... 6 9. Usando variveis abstratas.................................................................................................. 7 10. Usando transformaes..................................................................................................... 7 11. Usando expresses algbricas .......................................................................................... 8 12. Comandos Comuns......................................................................................................... 10 13. Criando o mapa dos estados ........................................................................................... 11 14. Gerando figures com cores personalizadas .................................................................... 11 15. Operadores...................................................................................................................... 12 16. Alguns comandos teis:.................................................................................................. 13 18. Linhas de corrente .......................................................................................................... 21

1. Introduo

Este material tem como principal objetivo apresentar alguns aspectos bsicos da utilizao do software de visualizao de dados FERRET. A idia do curso surgiu pela grande utilizao dessa ferramenta no dia a dia da FUNCEME, bem como sua utilidade nos cursos de graduao e ps-graduao das universidades locais, como UFC e UECE. Esse software um poderoso programa para visualizar e fazer operaes diversas de clculos com dados no formato NETCDF, sua facilidade de uso o principal ponto fonte do software. Na FUNCEME o mesmo j usado para visualizar dados dos modelos RSM e RAMS

2. Instalao
A instalao do Ferret bastante simples, leia o arquivo:
http://ferret.wrc.noaa.gov/Ferret/Downloads/ferret_installation_and_update_guide_v550.html

3. Executando o FERRET
Para executar o FERRET no linux necessrio est em ambiente csh, e executar o comando ferret, conforme o pode ser visto em seguida.

>csh %>ferret yes? go tutorial

4. Conceitos bsicos
No ferret todas as variveis so definidas em uma grade. A grade permite localizar um dado no espao e no tempo. Uma coleo de variveis a ser manipuladas no disco denominada data set.

Para acessar uma varivel no FERRET, devemos saber o nome, o arquivo de dados(data set) e a regio de interesse. A seqncia abaixo mostra como ler um dado em ferret.

1 especificar o data set 2 especificar a regio 3 definir as variveis ou expresses(opcional) 4 requerer uma sada

Exemplo 1:

Yes? use coads Yes? set region/z=0/t=16-jan-1982/x=160e:160w/y=20s:20n Yes?vector uwnd,vwnd

Figura 1: vetor velocidade do vento

Comandos de linha no ferret, geralmente usa-se o comando ferret seguido de uma opo, as mais usadas so:

%ferret [-gui] [-gif] [-unmapped]

-gui para usar-lo graficamente -gif para gerar figuras gif

-unmapped, geralmente usado para criar animaes e arquivos gifs Exemplo 2:

%ferret gif Yes?(comandos para gerar alguma figura) Yes?frame/file=figura.gif

5. Redimensionamento do tamanho da figura


Caso queira limpar a rea antes de faz-la.

Exemplo 3:

Yes? set window/clear/size=0.25 Yes?set window/size=0.25/clear (dessa forma ir ocorrer um erro)

6. Criando uma nova janela


Para criar uma nova janela execute o comando abaixo

Yes?set windows/new

7. Acessando um dado NETCDF

Exemplo 4

8. Fazendo mais de um grfico na mesma janela


O comando SET VIEWPORT torna possvel criar mais de um grfico na mesma janela, veja figura 2 e a seqncia de comandos para faz-la.

Figura 2: temperatura da superfcie do mar e temperatura do ar. % ferret yes? USE coads_climatology yes? SET REGION/X=160E:130W yes? SET REGION/Y=-10:10/L=5 yes? SET VIEWPORT upper yes? CONTOUR sst yes? SET VIEWPORT lower yes? CONTOUR airt yes? QUIT

9. Usando variveis abstratas


Variveis Abstratas so aquelas que no depende de um arquivo de dados, que podem ser facilmente mostrado no FERRET (para mais detalhes veja o manual). Por exemplo, podemos examinar a funo SIN(X) no intervalo [0, ], veja figura 3.

Figura 3: funo seno no intervalo de 0 a . % ferret yes? PLOT/I=1:100 sin(3.14*I/100) yes? QUIT

10. Usando transformaes


O que chamamos de transformaes uma determinada operao sobre uma varivel em particular ao longo de um eixo especifico em que a sintaxe @trn onde trn o nome da transformao. Veja alguns exemplos abaixo. @DIN integral definida. @IIN integral indefinida @AVE mdia @VAR varincia @MIN mnimo @MAX mximo @DDC derivada centrada @DDF derivada avanada 7

@DDB derivada recuada

@SUM soma

As figuras 4 e 5 mostram aplicaes da transformao @AVE e @LOC

Figura 4: temperatura mdia do ar % ferret yes? USE levitus_climatology yes? SET REGION/Y=30s:30n/X=160W yes? PLOT temp[Z=0:100@AVE] yes? QUIT

11. Usando expresses algbricas


Neste exemplo, uma srie de dados que contm as temperaturas de superfcie do mar, as temperaturas de ar, e as medidas da velocidade de vento. Ns desejamos olhar o calor sensvel em seu primeiro passo de tempo (L=1) (figura 5). Ns especificamos uma escala da latitude e nveis do contorno e tambm a definio de uma varivel denominada sens heat que o calor sensvel e onde podemos ver uma aplicao do uso de expresses algbricas.

% ferret yes? USE coads_climatology yes? LET kappa = 1 !monthly COADS climatology !arbitrary

yes? LET/TITLE="SENSIBLE HEAT" sens_heat = kappa * (airt-sst) * wspd yes? SHADE/L=1/LEV=(-20,20,5)/Y=-90:40 sens_heat yes? QUIT As isotermas podem ser localizado com a transformada "@LOC" o qual ir retornar a posio da linha central onde o valor do argumento de @LOC ocorre primeiramente. Assim, "TEMP[Z=0:200@LOC:20 ]" encontra a primeira ocorrncia do valor 20 da temperatura ao longo da linha central de Z, fazendo a varredura de todos os dados entre 0 e 200.

% ferret yes? USE levitus_climatology yes? SET REG/Y=10s:30n/X=140E:140W yes? PPL CONSET .12 !label size yes? CONTOUR temp[Z=0:200@LOC:20] yes? QUIT

12. Comandos Comuns


A quick reference to the most commonly used Ferret commands (typing "SHOW COMMANDS" at the Ferret prompt lists all commands): Comando USE SHOW DATA SHOW GRID SET REGION LIST PLOT CONTOUR FILL SHADE VECTOR POLYGON DEFINE STATISTICS LET SAVE GO Descrio Nome do dado a ser analisado Produz um sumrio das variveis contida no arquivo de dados. Examina as coordenadas de uma grade. Delimita a regio a ser analisada. Produz uma lista de dados Gera grficos. Faz linhas de contorno de uma determinada varivel. Faz grfico no modo cheio, obedecendo s linhas de contorno . Produz grficos cheios, porm ponto a ponto . Faz setas vetoriais. Criar regies poligonais Define eixos, grades e smbolos. Cria um sumrio estatstico das variveis e expresses. Define uma nova varavel. Salva um arquivo no formato NETCDF. Executa uma seqncia de comandos(script Ferret).

10

13. Criando o mapa dos estados


Os comandos abaixo geram os contornos dos paises(primeiro) e dos estados(segundo), veja figuram, onde os nmeros depois de detail define a cor e espessura do contorno. go land_detail.jnl 4 go land_detail N " " 4 4

Figura 5: ndice de Angstron

14. Gerando figures com cores personalizadas


Com o Ferret possvel criar figuras escolher diversos gradientes de cores, bem como modific-los ou at mesmo criar.

Veja o exemplo abaixo um exemplo para criar uma paleta, o mesmo parte de um script.
Exemplo 1
PALETTE RAIN_HOLE_CMYK.SPK FILL/LEV=50/TITLE="UMIDADE RELATIVA (%)" RH[L=3, D=1] !FILL/LEV="(0,10,0.5) (10,20,1) (20,40,2) (40,80,4)(80,100,5)"/TITLE="UMIDADE 4. RELATIVA (%)" RH[L=3,D=1] CONTOUR/LEV=(0,100,5)/OVER RH[L=3,D=1]

11

Exemplo 2

yes? PALETTE rainbow yes? ppl list shaset yes? set view upper; go magnify 1.2 yes? FILL/levels=10 temp[z=0]; go land thick yes? set view lower; go magnify 1.2 yes? FILL/lev=20 temp[z=0]; go land thick
Resultado 2

15. Operadores
Os operadores validos so:

+ (soma);

- (diferena); * (produto); / (diviso); ^ (exponencial);

AND(E); OR(OU); GT(MAIOR QUE) GE(MAIOR OU IGUAL QUE); LT(MENOR QUE); LE(MENOR OU IGUAL QUE); EQ(IGUAL); NE(NO IGUAL OU DIFERENTE QUE)

Exemplos:

Examples:
IF `i GT 5` THEN SAY "I is too big" ENDIF

Escreve a mensagem se o valor de I for maior que 5 12

16. Alguns comandos teis:


Para usar qualquer comando UNIX no shell do ferret basta digitar sp (ou spawn) antes do comando desejado, ex: yes? sp pwd yes? sp ls ; sp du -hc teste.dat para abrir vrios arquivos cdf ao mesmo tempo, ou usar vrios comandos em seqncia no mesmo prompt, basta depar-los por ponto e vrgula: yes? set d esku_heat_budget.cdf ; set d monthly_navy_winds.cdf ; set d etopo40.cdf mostra as variveis contidas no primeiro arquivo aberto ( esku_heat_budget.cdf ): yes? sh d 1 ! ou: show data 1 ou ainda: sh d esku_heat_budget.cdf mostra as variveis contidas no terceiro arquivo (etopo40.cdf): yes? sh d 3 mostra as grades das variveis CLD (cloudiness) contida no primeiro arquivo ( esku_heat_budget.cdf ) e UWND (zonal wind ) contida no segundo arquivo (monthly_navy_winds.cdf) : yes? sh g cld[d=1] ; sh g uwnd[d=2] ! sh g o mesmo que show grid

seleciona o segundo arquivo (monthly_navy_winds.cdf )com default: yes? set d 2 ! ou set d monthly_navy_winds.cdf yes? sh g uwnd ! Note que no mais necessrio colocar: sh d uwnd[d=2] salva varivel do primeiro arquivo: SST (Hemisf. Sul) e as variveis do segundo arquivo: UWND e VWND (toda a grade), em um mesmo arquivo cdf (esku.cdf): yes? save/file=esku.cdf sst[d=1,y=0:90s] , uwnd[d=2] , vwnd[d=2] no entanto caso o arquivo ( esku.cdf) j exista, precisa ser removido antes de se executar o comando acima (save/file): yes? sp rm -rf esku.cdf fechando todos os arquivos cdf abertos e fechando o ferret: yes? canc d/all yes? ex ! ou exit

13

abrindo o ferret no modo gif: yes? ferret -gif abrindo s o arquivo recm criado: yes? set d esku.cdf yes? sh d ! lista variveis no arquivo define a intensidade do vento: yes? let wind = (UWND^2.0 + VWND^2.0)^0.5 ! ou: yes? let wind = (UWND[d=1]^2.0 + VWND[d=1]^2.0)^0.5 ! caso existam outros arquivos abertos lista na tela o eixo dos tempos para a nova varivel: yes? list wind[i=10,j=10] yes? sh g wind[d=1] ! Mostra a grade da nova varivel intensidade do vento mdio para o ano de 1990 (com linhas de contorno): yes? fill wind[d=1,t=16-JAN-1990:17-DEC-1990@ave] yes? cont/o wind[d=1,t=16-JAN-1990:17-DEC-1990@ave] ! cont/o = contour/over yes? go land 1 ! mapa yes? frame/file=fig01.gif ! salva a figura em um arquivo .gif. O diretrio onde a figura foi salva dado pelo comando: yes? sp pwd especificando as intensidades desejadas (de 0 a 12 m/s com espaamento de 2m/s): yes? fill/lev=(0,12,2) wind[d=1,t=16-JAN-1990:17-DEC-1990@ave] ! lev = levels yes? con/o/lev=(0,12,2) wind[d=1,t=16-JAN-1990:17-DEC-1990@ave] yes? go land 1 yes? frame/file=fig01.gif para valores de 0 a 10m/s (espaamento de 2m/s) e acima de 10m/s, mdia em todos os intervalos de tempos do arquivo: yes? fill/levels="(0,10,2)(inf)" wind[d=1,t=@ave] ! use t=@ave ou t=16-JAN-1982:17-DEC-1992@ave] yes? go land 1 yes? frame/file=fig01.gif

14

mair refinamento de 0 a 4 m/s (espaamento de 0.2). De 4 a 12 m/s espaamento de 2m/s: yes? fill/levels="(0,4,0.2) (4,12,2)(inf)" wind[d=1,t=16-JAN-1990:17-DEC-1990@ave] yes? go land 1

yes? frame/file=fig01.gif

ajustando as dimenses: aspect = Y/X ,aspect=0.5 significa que a figura na vertical tem metade do seu tamanho na horizontal. yes? SET window/ASPECT=1/size=0.6 ! ou caso queira uma figura maior yes? SET window/ASPECT=1/size=0.9 ! A dimenso da figura pode ser ajustada com o mouse, caso no se esteja no modo gif (ferret -gif) Amrica do Sul, mdia temporal dos ventos: yes? SET window/ASPECT=1/size=0.9 15

yes? fill wind[x=90w:30w,y=15n:60s,l=@ave] ! Amrica do Sul yes? go land_detail 1 "" 1 1 "" "" 1 ! mapa poltico yes? frame/file=fig01.gif uso de land_detail: yes? go land_detail arg1 arg2 arg3 arg4 arg5 arg6 arg7 yes? SET window/ASPECT=1/size=0.4 yes? fill wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? go land_detail 1 "" 1 "" "" "" 1 yes? Frame/file=fig01.gif sem os estados figura abaixo:

yes? fill wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? go land_detail 1 "" 1 1 "" "" yes? frame/file=fig01.gif

1 ! com os estados

16

! ! ! ! ! ! !

arg1 cor dos continentes ex: 1,2,3,etc... arg2 use ou overlay arg3 cor para os pases (use 1,2,etc..) ou se no quiser desenh-los arg4 cor dos estados ,use 1,2,etc... ou arg5 rivers_pen Pen for largest rivers arg6 more_rivers Pen for additional rivers arg7 marine boundaries Pen for marine boundaries in South Pacific, Bering Strait

para redirecionar o grfico para outro arquivo gif basta mudar o nome do gif no comando frame/file: yes? fill wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? go land_detail 1 "" 1 "" "" "" 1 yes? frame/file=fig02.gif voltando para o gif original: yes? fill wind[x=43w:36w,y=2s:9s,l=@ave,d=1] yes? go land_detail 1 "" 1 1 "" "" 1 yes? frame/file=fig01.gif comandos principais do pacote grfico PPLUS: carregando o PPLUS no ferret yes? ppl echo on o comando axlsze seleciona o tamanho dos nmeros que especificam as longitudes e as latitudes no eixos horizontal e vertical, ex: ppl axlsze .12 , .15 significa que os nmeros que especificam as latitudes (eixo vertical) sero maiores dos que os nmeros que especificam as latitudes (eixo horizontal) yes? ppl axlsze .13,.13 ! labelsverticais maiores yes? fill/lev=10 wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? go land_detail 1 "" 1 "" "" "" 1 ! mapa yes? ppl fill ! desenha o grfico com os labelsmodificados yes? frame/file=fig01.gif qualquer comando a ser sobreposto ao fill (ou shade) no grfico anterior (tais como vector/over ou contour/over) precisa ser executado depois do ppl fill (ou ppl shade),ex: yes? ppl axlsze .13,.13 ! labelsverticais maiores yes? fill/lev=10 wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? go land_detail 1 "" 1 "" "" "" 1 ! mapa yes? ppl fill ! desenha o grfico com os labelsmodificados vector/o uwnd[x=90w:30w,y=15n:60s,l=@ave,d=1], \ vwnd[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? frame/file=fig01.gif 17 ! Cear

ppl labset htitle , hxlab , hylab , hlabs yes? ppl labset .15, .13, .13, .13 fill/lev=10/nolabels wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? ppl xlab hxlab yes? ppl ylab hylab yes? ppl title htitle yes? ppl fill yes? go land_detail 1 "" 1 "" "" "" 1 yes? frame/file=fig01.gif

comando shakey sintaxe: yes? ppl shakey s1 , s2 , s3 , s4 s1: mostra a barra de cores(1) ou no (0) s2: orientao da barra de cores: horizontal e acima: 0 , vertical e a direita: 1 s3: tamanho em polegadas dos nmeros da barra de cores, ex:.13 ou 0.13 s4: se for diferente de 0 , os nmeros na barra vertical so escritos com intervalos de tamanho s4 ex: yes? ppl axlsze .13,.13 yes? ppl labset .15, .13, .13, .13 yes? fill/lev=15/nolabels wind[x=90w:30w,y=15n:60s,l=@ave,d=1] yes? ppl shakey 1,0,0.13, yes? ppl xlab EIXO X yes? ppl ylab EIXO Y yes? ppl title HTITLE yes? ppl fill yes? go land_detail 1 "" 1 "" "" "" 1

18

yes? frame/file=fig02.gif

srie temporal, mdia em torno do Cear: yes? plot wind[x=41.5w:37.5w@ave,y=2s:8s@ave,d=1] de 1982 a 1985: yes? plot wind[x=41.5w:37.5w@ave,y=2s:8s@ave,t=16-JAN-1982:16-DEC-1985,d=1] listando esta ltima srie temporal para um arquivo txt (wind.dat): yes? list/file=wind.dat wind[x=41.5w:37.5w@ave,y=2s:8s@ave,t=16-JAN-1982:16-DEC1985,d=1] caso o arquivo wind.dat precise ser redefinido, o arquivo pr existente precisa ser apagado antes de se usar o list/file: yes? sp rm -rf wind.dat pode-se especificar o formato dos dados salvos no arquivo txt. A especificao feita com o comando format e a formatao segue o mesmo padro usado no fortran77: (ex: f7.5,4x,I5). No caso de duas colunas de dados contendo as sries temporais dos ventos zonal e meridional em torno do Cear: inprime na tela: yes? list uwnd[x=41.5w:37.5w@ave,y=2s:8s@ave,t=16-JAN-1982:16-DEC-1985,d=1], vwnd[x=41.5w:37.5w@ave,y=2s:8s@ave,t=16-JAN-1982:16-DEC-1985,d=1] salva em um arquivo: yes? sp rm -rf wind.dat

19

yes?list/file=wind.dat/format=(f6.3,5x,f6.3) \ uwnd[x=41.5w:37.5w@ave,y=2s:8s@ave,t=16-JAN-1982:16-DEC-1985,d=1], \ vwnd[x=41.5w:37.5w@ave,y=2s:8s@ave,t=16-JAN-1982:16-DEC-1985,d=1]

17 . Gerando mapas locais Exemplo


!Departamento de Meteorologia - DEMET !SCRIPT PARA PLOTAR O MAPA DO CEARA NO SOFTWARE FERRET !ELABORACAO !ANTONIO CARLOS SANTANA DOS SANTOS,Dr. !SERGIO SOUSA SOMBRA,Dr. !ALEXANDRE ARAUJO COSTA, PhD. !22/09/2006 set d frs.nc !abre arquivo SET REGION/X=38.42w:38.20w/Y=4.1S:3.9S !escolhe regio let vento=((v)^2+(u)^2)^(1/2) fill/levels=50 vento[l=@ave] !-----------------------------------------------------DEFINE AXIS/Z=1:100000:1 vec_len DEFINE GRID/Z=vec_len vec_grid !---------------------MACRO REGIOES--------------------------------!MACRO-REGIAO 1 - LITORAL NORTE !-----------------------------------------------------------------------FILE/VAR=lon,lat/G=vec_grid acarau.dat PLOT/vs/line/COLOR=black/NOLABEL/over 360+lon,lat canc d acarau.dat FILE/VAR=lon,lat/G=vec_grid alcantaras.dat PLOT/vs/line/COLOR=black/NOLABEL/over 360+lon,lat canc d alcantaras.dat FILE/VAR=lon,lat/G=vec_grid amontada.dat PLOT/vs/line/COLOR=black/NOLABEL/over 360+lon,lat canc d amontada.dat FILE/VAR=lon,lat/G=vec_grid barroquinha.dat PLOT/vs/line/COLOR=black/NOLABEL/over 360+lon,lat canc d barroquinha.dat FILE/VAR=lon,lat/G=vec_grid alcantaras.dat PLOT/vs/line/COLOR=black/NOLABEL/over 360+lon,lat !go land_detail 1 !go land_detail N " " 1 1 !frame/file=eolica.gif

20

Tipo de arquivo Lon


-38.6365212917134 -38.6111688049224 -38.6016756552712 -38.601066875889 -38.609822007521 -38.6212550090246 -38.6186481980547 -38.6227839329822 -38.6005660764843 -38.5920406359602 -38.5892532459944 -38.5930757644957 -38.5798657408424 -38.5415316982933

lat
-3.80064645441884 -3.75608879529713 -3.74918563341448 -3.74074073871496 -3.72548893764237 -3.7225772694513 -3.7117865312733 -3.70448066379008 -3.7047187584225 -3.7018877488328 -3.69644246035827 -3.69161188035853 -3.69419866805053 -3.71540243666804

.................... ....................

18. Linhas de corrente


SET MODE VERIFY set d u.nc !abre arquivos set d v.nc !abre arquivos SET WINDOW/clear/SIZE=1/ASPECT=1.3 set window/clear/size=0.25 SET REG/Y=50s:10n/x=80w:10w cancel mode logo !retira logotipo default do ferret FLOW/DENSITY=4 Uwnd[L=112,d=1],Vwnd[L=112,d=2] !Linha Corrente go land_detail N " " 1 1 go land_detail.jnl !coloca a grade !frame/file=28-18.gif

Dvidas: Veja manual completo no CD. Ou envie e-mail para: sergiossombra@yahoo.com.br dr.acss@gmail.com

21

Vous aimerez peut-être aussi