1 | ;+ |
---|
2 | ; _serietempECM.pro: |
---|
3 | ; |
---|
4 | ; ================ |
---|
5 | ; serietempECM.pro |
---|
6 | ; ================ |
---|
7 | ; |
---|
8 | ; DESCRIPTION |
---|
9 | ; =========== |
---|
10 | ; |
---|
11 | ; Analyse fichiers complets 2000 - 2007 ECMWF |
---|
12 | ; Attention : 2 and de ERA40 et 6 ans d'OPERA |
---|
13 | ; Hovmoller et series temporelles |
---|
14 | ; |
---|
15 | ; EVOLUTIONS |
---|
16 | ; ========== |
---|
17 | ; |
---|
18 | ; $Id$ |
---|
19 | ; |
---|
20 | ; $URL$ |
---|
21 | ; |
---|
22 | ; - fplod 20120413T092359Z cratos (Linux) |
---|
23 | ; |
---|
24 | ; * add minimal header |
---|
25 | ; |
---|
26 | ;- |
---|
27 | |
---|
28 | ; Hovmoller 2005 - 2007 |
---|
29 | ;;;;;;;;;;;;;;;;;;;;;;;;;;; |
---|
30 | chp='r' |
---|
31 | lo1=-10 & lo2=5 & la1=-30 & la2=40 |
---|
32 | dom=strcompress(string(lo1,lo2,la1,la2),/remove_all) |
---|
33 | |
---|
34 | ;geopotentiel : delta entre niveau 700 (7) et 925 hPa |
---|
35 | lev1=700 |
---|
36 | ;lecture premier fichier (OPERA) |
---|
37 | file1 = '/volumes/temp/CAT.'+chp+'.2002.2007.6TU.nc' |
---|
38 | print,file1 |
---|
39 | initncdf, file1,zaxis='level', glam = [-180,180] |
---|
40 | print, gdept |
---|
41 | domdef,lo1,lo2,la1,la2,lev1,lev1 |
---|
42 | data1 = read_ncdf(chp,20050101,20071231, file = file1) |
---|
43 | tab1=data1.arr |
---|
44 | lev2=850 |
---|
45 | ;lev2=925 |
---|
46 | domdef,lo1,lo2,la1,la2,lev2,lev2 |
---|
47 | data1= read_ncdf(chp,20050101,20071231, file = file1) |
---|
48 | tab2=data1.arr |
---|
49 | ;si geopot - sinon |
---|
50 | table1=(tab1+tab2)/2. |
---|
51 | ;table1=tab1-tab2 |
---|
52 | dada=smooth(table1,5) ;/100. |
---|
53 | min=210 & max=245 & in=2 |
---|
54 | min=5 & max=90 & in=8 |
---|
55 | ;pltt,window=0, dada, 'yt',title='latitude - time '+chp+'/100.',/rempli,min,max,int=in |
---|
56 | pltt,window=0, dada, 'yt',title='latitude - time '+chp+'%',inv=1,/rempli,min,max,int=in |
---|
57 | |
---|
58 | saveimage,'SORTIES/'+chp+'hovy2005-2007'+dom+'.png' |
---|
59 | |
---|
60 | ;series temporelles |
---|
61 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
---|
62 | chp='geopt' |
---|
63 | lo1=-5 & lo2=5 & la1=15 & la2=25 |
---|
64 | dom=strcompress(string(lo1,lo2,la1,la2),/remove_all) |
---|
65 | |
---|
66 | ;geopotentiel : delta entre niveau 700 (7) et 925 hPa |
---|
67 | ;domaine pour geopt: 20-25 N ? |
---|
68 | |
---|
69 | lev1=700 |
---|
70 | ;lecture premier fichier (OPERA) |
---|
71 | file1 = '/volumes/temp/CAT.'+chp+'.2002.2007.6TU.nc' |
---|
72 | print,file1 |
---|
73 | initncdf, file1,zaxis='level', glam = [-180,180] |
---|
74 | print, gdept |
---|
75 | domdef,lo1,lo2,la1,la2,lev1,lev1 |
---|
76 | data1 = read_ncdf(chp,20050101,20071231, file = file1) |
---|
77 | tab1=data1.arr |
---|
78 | ;lev2=850 |
---|
79 | lev2=925 |
---|
80 | domdef,lo1,lo2,la1,la2,lev2,lev2 |
---|
81 | data1= read_ncdf(chp,20050101,20071231, file = file1) |
---|
82 | tab2=data1.arr |
---|
83 | ;si geopot - sinon |
---|
84 | ;table1=(tab1+tab2)/2. |
---|
85 | ;table1=tab1-tab2 |
---|
86 | ntime1=max(size(time)) |
---|
87 | y1=fltarr(ntime1) |
---|
88 | serie1=reform(table1) |
---|
89 | dimserie1=size(serie1) |
---|
90 | nx=dimserie1(1)-1 & ny=dimserie1(2)-1 |
---|
91 | for i=0,ntime1-1 do y1(i)=mean(serie1(0:nx,0:ny,i)) |
---|
92 | |
---|
93 | ; si travail sur les trois dernieres annees, on saute ce passage |
---|
94 | ; lecture deuxieme fichier (ERA) |
---|
95 | chp2=chp ;chp2='z';!!!!!attention pour geopotentiel |
---|
96 | file2 = '/volumes/temp/CAT.'+chp2+'.2000.2001.6TU.nc' |
---|
97 | initncdf, file2,zaxis='level', glam = [-180,180] |
---|
98 | print, gdept |
---|
99 | domdef,lo1,lo2,la1,la2,lev1,lev1 |
---|
100 | data2 = read_ncdf(chp2,20000101,20011231, file = file2) |
---|
101 | tab1=data2.arr |
---|
102 | ;domdef,lo1,lo2,la1,la2,lev2,lev2 |
---|
103 | ;data2= read_ncdf(chp,20020101,20071231, file = file2) |
---|
104 | ;table2=data2.arr |
---|
105 | ;si geopot - sinon |
---|
106 | table2=tab1 |
---|
107 | ;table2=tab1-tab2 |
---|
108 | ntime2=max(size(time)) |
---|
109 | y2=fltarr(ntime2) |
---|
110 | serie2=reform(table2) |
---|
111 | dimserie2=size(serie2) |
---|
112 | nx=dimserie2(1)-1 & ny=dimserie2(2)-1 |
---|
113 | for i=0,ntime2-1 do y2(i)=mean(serie2(0:nx,0:ny,i)) |
---|
114 | ;construction de la serie temporelle complete et du temps associe |
---|
115 | jpt=ntime1+ntime2 |
---|
116 | print,ntime1,ntime2,jpt |
---|
117 | time=timegen(jpt,start=julday(1,1,2000,6,0,0),step_size=1, units='Days') |
---|
118 | data=[y2,y1] |
---|
119 | y=smooth(data,5) |
---|
120 | |
---|
121 | ;si seulement OPERA: |
---|
122 | jpt=ntime1 |
---|
123 | time=timegen(jpt,start=julday(1,1,2005,3,0,0),step_size=1, units='Days') |
---|
124 | data=y1 |
---|
125 | y=data ;smooth(data,3) |
---|
126 | pltt,y,'t',/rempli |
---|
127 | dimserie=size(y) |
---|
128 | ; tentative d'application de wavelet |
---|
129 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
---|
130 | ntime=max(size(time)) |
---|
131 | dt=1 |
---|
132 | ;y=fltarr(ntime) |
---|
133 | ;nx=dimserie(1)-1 & ny=dimserie(2)-1 |
---|
134 | ;for i=0,ntime-1 do y(i)=mean(serie(0:nx,0:ny,i)) |
---|
135 | fil=digital_filter(0.04,1,50,80) ; flow fraction de fnyquist, ici 1/2dt=1/2 |
---|
136 | ;fil=digital_filter(0.02,1,50,120) ; flow fraction de fnyquist, ici 1/2dt=1/2 |
---|
137 | |
---|
138 | yout=convol(y,fil) |
---|
139 | ;yout=y |
---|
140 | wave = WAVELET(yout,dt,PERIOD=period,COI=coi,/PAD,SIGNIF=signif) |
---|
141 | window,0 |
---|
142 | nscale = N_ELEMENTS(period) |
---|
143 | LOADCT,39 |
---|
144 | plot,time,period,/ytype,XSTYLE=1,YRANGE=[MAX(period),MIN(period)],/nodata,ystyle=1 |
---|
145 | |
---|
146 | CONTOUR,ABS(wave)^2,time,period, $ |
---|
147 | XSTYLE=1,ystyle=1,YTITLE='Period',TITLE='Noise Wavelet '+chp+' dom'+dom, $ |
---|
148 | YRANGE=[MAX(period),MIN(period)], $ ;*** Large-->Small period |
---|
149 | /YTYPE, $ ;*** make y-axis logarithmic |
---|
150 | NLEVELS=25,/FILL |
---|
151 | |
---|
152 | signif = REBIN(TRANSPOSE(signif),ntime,nscale) |
---|
153 | CONTOUR,ABS(wave)^2/signif,time,period, $ |
---|
154 | /OVERPLOT,LEVEL=1.0,C_ANNOT='95%' |
---|
155 | PLOTS,time,coi,NOCLIP=0 ;*** anything "below" this line is dubious |
---|
156 | |
---|
157 | ; le plus incroyable, c'est que ca marche!!!!! |
---|
158 | saveimage,'sorties/waveletECMfil(0.02)'+chp+dom+'.png',/png |
---|
159 | saveimage,'sorties/waveletECM2005-2007'+chp+dom+'.png',/png |
---|
160 | |
---|