source: trunk/serietempECM.pro @ 611

Last change on this file since 611 was 516, checked in by pinsard, 12 years ago

consolidation of doc dev. (to be cont.)

  • Property svn:keywords set to Id
File size: 4.4 KB
Line 
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;;;;;;;;;;;;;;;;;;;;;;;;;;;
30chp='r'
31lo1=-10 & lo2=5 & la1=-30 & la2=40
32dom=strcompress(string(lo1,lo2,la1,la2),/remove_all)
33
34;geopotentiel : delta entre niveau 700 (7) et 925 hPa
35lev1=700
36;lecture premier fichier (OPERA)
37file1 = '/volumes/temp/CAT.'+chp+'.2002.2007.6TU.nc'
38print,file1
39initncdf, file1,zaxis='level', glam = [-180,180]
40print, gdept
41domdef,lo1,lo2,la1,la2,lev1,lev1
42data1 = read_ncdf(chp,20050101,20071231, file = file1)
43tab1=data1.arr
44lev2=850
45;lev2=925
46domdef,lo1,lo2,la1,la2,lev2,lev2
47data1= read_ncdf(chp,20050101,20071231, file = file1)
48tab2=data1.arr
49;si geopot - sinon
50table1=(tab1+tab2)/2.
51;table1=tab1-tab2
52dada=smooth(table1,5) ;/100.
53min=210 & max=245 & in=2
54min=5 & max=90 & in=8
55;pltt,window=0, dada, 'yt',title='latitude - time '+chp+'/100.',/rempli,min,max,int=in
56pltt,window=0, dada, 'yt',title='latitude - time '+chp+'%',inv=1,/rempli,min,max,int=in
57
58saveimage,'SORTIES/'+chp+'hovy2005-2007'+dom+'.png'
59
60;series temporelles
61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
62chp='geopt'
63lo1=-5 & lo2=5 & la1=15 & la2=25
64dom=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
69lev1=700
70;lecture premier fichier (OPERA)
71file1 = '/volumes/temp/CAT.'+chp+'.2002.2007.6TU.nc'
72print,file1
73initncdf, file1,zaxis='level', glam = [-180,180]
74print, gdept
75domdef,lo1,lo2,la1,la2,lev1,lev1
76data1 = read_ncdf(chp,20050101,20071231, file = file1)
77tab1=data1.arr
78;lev2=850
79lev2=925
80domdef,lo1,lo2,la1,la2,lev2,lev2
81data1= read_ncdf(chp,20050101,20071231, file = file1)
82tab2=data1.arr
83;si geopot - sinon
84;table1=(tab1+tab2)/2.
85;table1=tab1-tab2
86ntime1=max(size(time))
87y1=fltarr(ntime1)
88serie1=reform(table1)
89dimserie1=size(serie1)
90nx=dimserie1(1)-1 & ny=dimserie1(2)-1
91for 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)
95chp2=chp ;chp2='z';!!!!!attention pour geopotentiel
96file2 = '/volumes/temp/CAT.'+chp2+'.2000.2001.6TU.nc'
97initncdf, file2,zaxis='level', glam = [-180,180]
98print, gdept
99domdef,lo1,lo2,la1,la2,lev1,lev1
100data2 = read_ncdf(chp2,20000101,20011231, file = file2)
101tab1=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
106table2=tab1
107;table2=tab1-tab2
108ntime2=max(size(time))
109y2=fltarr(ntime2)
110serie2=reform(table2)
111dimserie2=size(serie2)
112nx=dimserie2(1)-1 & ny=dimserie2(2)-1
113for 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
115jpt=ntime1+ntime2
116print,ntime1,ntime2,jpt
117time=timegen(jpt,start=julday(1,1,2000,6,0,0),step_size=1, units='Days')
118data=[y2,y1]
119y=smooth(data,5)
120
121;si seulement OPERA:
122jpt=ntime1
123time=timegen(jpt,start=julday(1,1,2005,3,0,0),step_size=1, units='Days')
124data=y1
125y=data ;smooth(data,3)
126pltt,y,'t',/rempli
127dimserie=size(y)
128; tentative d'application de wavelet
129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
130ntime=max(size(time))
131dt=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))
135fil=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
138yout=convol(y,fil)
139;yout=y
140wave = WAVELET(yout,dt,PERIOD=period,COI=coi,/PAD,SIGNIF=signif)
141window,0
142nscale = N_ELEMENTS(period)
143LOADCT,39
144plot,time,period,/ytype,XSTYLE=1,YRANGE=[MAX(period),MIN(period)],/nodata,ystyle=1
145
146CONTOUR,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
152signif = REBIN(TRANSPOSE(signif),ntime,nscale)
153CONTOUR,ABS(wave)^2/signif,time,period, $
154           /OVERPLOT,LEVEL=1.0,C_ANNOT='95%'
155PLOTS,time,coi,NOCLIP=0   ;*** anything "below" this line is dubious
156
157; le plus incroyable, c'est que ca marche!!!!!
158saveimage,'sorties/waveletECMfil(0.02)'+chp+dom+'.png',/png
159saveimage,'sorties/waveletECM2005-2007'+chp+dom+'.png',/png
160
Note: See TracBrowser for help on using the repository browser.