1 | ;+ |
---|
2 | ; .. _serieAMSU.pro: |
---|
3 | ; |
---|
4 | ; ============= |
---|
5 | ; serieAMSU.pro |
---|
6 | ; ============= |
---|
7 | ; |
---|
8 | ; DESCRIPTION |
---|
9 | ; ============ |
---|
10 | ; |
---|
11 | ; lecture fichiers complets AMSU pour tracer hovmullers et ondelettes |
---|
12 | ; |
---|
13 | ; EVOLUTIONS |
---|
14 | ; ========== |
---|
15 | ; |
---|
16 | ; $Id$ |
---|
17 | ; |
---|
18 | ; $URL$ |
---|
19 | ; |
---|
20 | ; - fplod 20120413T091954Z cratos (Linux) |
---|
21 | ; |
---|
22 | ; * minimal header |
---|
23 | ; |
---|
24 | ;- |
---|
25 | ; |
---|
26 | ;Hovmoller 2005 - 2007 |
---|
27 | ;;;;;;;;;;;;;;;;;;;;;; |
---|
28 | |
---|
29 | lo1=-10 & lo2=5 & la1=-30 & la2=40 |
---|
30 | dom=strcompress(string(lo1,lo2,la1,la2),/remove_all) |
---|
31 | canal='a5' |
---|
32 | |
---|
33 | j1=366+365+365+365+366 |
---|
34 | j2=j1+365+365+364 |
---|
35 | file='stagiaire/'+canal+'.2000_2007.nc' |
---|
36 | initncdf, file, xaxisname = 'xlon', yaxisname = 'ylat' |
---|
37 | |
---|
38 | domdef,lo1,lo2,la1,la2 |
---|
39 | data=read_ncdf('moyenne_tb', j1,j2,/timestep,timevar = 'jours', file = file) |
---|
40 | time=julday(1,1,2005)+lindgen(j2-j1+1) |
---|
41 | dada=smooth(data.arr,5) |
---|
42 | min=260 & max=290 & in=3 |
---|
43 | min=245 & max=267 & in=1 |
---|
44 | pltt,window=0, dada, 'yt',title='latitude - time '+canal,/rempli,min,max,int=in |
---|
45 | saveimage,'SORTIES/'+canal+'hovy2005-2007.'+dom+'.png' |
---|
46 | |
---|
47 | ; tentative d'application de wavelet |
---|
48 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
---|
49 | retall |
---|
50 | lo1=-5 & lo2=5 & la1=5 & la2=15 |
---|
51 | dom=strcompress(string(lo1,lo2,la1,la2),/remove_all) |
---|
52 | canal='b5' |
---|
53 | ;annee=2005 |
---|
54 | ;an=strcompress(string(annee),/remove_all) |
---|
55 | ;imo=1 ; no du mois |
---|
56 | ;im1=9 |
---|
57 | j1=366+365+365+365+366 |
---|
58 | j2=j1+365+365+364 |
---|
59 | file='stagiaire/'+canal+'.2000_2007.nc' |
---|
60 | initncdf, file, xaxisname = 'xlon', yaxisname = 'ylat' |
---|
61 | ;j1=0 & j2=364 |
---|
62 | domdef,lo1,lo2,la1,la2 |
---|
63 | data=read_ncdf('moyenne_tb', j1,j2,/timestep,timevar = 'jours', file = file) |
---|
64 | time=julday(1,1,2005)+lindgen(j2-j1+1) |
---|
65 | ntime=max(size(time)) |
---|
66 | serieb=data.arr |
---|
67 | pltt,window=0,serieb, 't',/rempli |
---|
68 | dimserie=size(serieb) |
---|
69 | y=fltarr(ntime) |
---|
70 | nx=dimserie(1)-1 & ny=dimserie(2)-1 |
---|
71 | for i=0,ntime-1 do y(i)=mean(serieb(0:nx,0:ny,i)) |
---|
72 | |
---|
73 | dt=1 |
---|
74 | ; premier param freq de coupure exprimée comme fraction de FNyquist, |
---|
75 | ; flow fraction de fnyquist, ici 1/2dt=1/2 |
---|
76 | ; freq visee nbjours/ntot, donc fraction=freq visee/ FNyquisrt |
---|
77 | ;dernier param nb points pour construire le filtre (2xperiode visee) |
---|
78 | fil=digital_filter(0.05,1,50,80) ; 40 jours environ |
---|
79 | fil=digital_filter(0.04,1,50,90) |
---|
80 | |
---|
81 | yout=convol(y,fil) |
---|
82 | ;yout=y |
---|
83 | wave = WAVELET(yout,dt,PERIOD=period,COI=coi,/PAD,SIGNIF=signif) |
---|
84 | window,0 |
---|
85 | nscale = N_ELEMENTS(period) |
---|
86 | LOADCT,39 |
---|
87 | plot,time,period,/ytype,XSTYLE=1,YTITLE='Period',TITLE='Noise Wavelet', $ |
---|
88 | YRANGE=[MAX(period),MIN(period)],/nodata,ystyle=1 |
---|
89 | CONTOUR,ABS(wave)^2,time,period, $ |
---|
90 | XSTYLE=1,ystyle=1,YTITLE='Period',TITLE='Noise Wavelet'+canal+' dom'+dom, $ |
---|
91 | YRANGE=[MAX(period),MIN(period)], $ ;*** Large-->Small period |
---|
92 | /YTYPE, $ ;*** make y-axis logarithmic |
---|
93 | NLEVELS=25,/FILL |
---|
94 | |
---|
95 | signif = REBIN(TRANSPOSE(signif),ntime,nscale) |
---|
96 | CONTOUR,ABS(wave)^2/signif,time,period, $ |
---|
97 | /OVERPLOT,LEVEL=1.0,C_ANNOT='95%' |
---|
98 | PLOTS,time,coi,NOCLIP=0 ;*** anything "below" this line is dubious |
---|
99 | |
---|
100 | ; le plus incroyable, c'est que ca marche!!!!! |
---|
101 | saveimage,'sorties/wavelet-2005-2007'+canal+'dom'+dom+'.png',/png |
---|
102 | |
---|
103 | |
---|