source: trunk/src/mode_sahelien/olr_eof_jjas2006_rossby_df.m @ 82

Last change on this file since 82 was 82, checked in by pinsard, 14 years ago

modif. of headers for manuals hyperlinks improvements

File size: 6.0 KB
Line 
1function olr_eof_jjas2006_rossby_df(period1, period2)
2% olr_eof_jjas2006_rossby_df ++explication between period1 days and period2 days
3
4%+
5%
6%  .. _olr_eof_jjas2006_rossby_df.m:
7%
8% ============================
9% olr_eof_jjas2006_rossby_df.m
10% ============================
11%
12% ++
13%
14% DESCRIPTION
15% ===========
16%
17% plot ++ from file olrfilernew7900jjas_10-30d.dat
18% and produce a MATLAB file ++eof_rossby_jjas_2006_10-30d.mat
19%
20% EXAMPLES
21% ========
22%
23% Following line read olrfilernew7900jjas_1030.dat, produce a MATLAB file
24% eof_rossby_jjas_2006_10-30d.mat
25% ::
26%
27% >> olr_eof_jjas2006_rossby_df(10,30);
28%
29% SEE ALSO
30% ========
31%
32% :ref:`carte_eof_ER_jjas_df.m`
33%
34% :ref:`carte_eofER_1030_article.m`
35%
36% :ref:`time_serie_ER_rossby_df.m`
37%
38% :ref:`time_serie_ER_rossby_df_complet.m`
39%
40% TODO
41% ====
42%
43% improve description
44%
45% improve file pb
46%
47% use return function
48%
49% clean variables and plot
50%
51% EVOLUTIONS
52% ==========
53%
54% $Id$
55%
56% - fplod 2009-02-11T16:27:34Z aedon.locean-ipsl.upmc.fr (Darwin)
57%
58%   * add try/catch on opening file for reading
59%
60% - fplod 2009-02-10T14:28:00Z aedon.locean-ipsl.upmc.fr (Darwin)
61%
62%   * replace ndmin by period1 and ndmax by period2
63%
64% - fplod 2009-01-27T12:39:15Z aedon.locean-ipsl.upmc.fr (Darwin)
65%
66%   * created from olr_eof_jjas2006_rossby_1025.m to replace it as well as
67%     olr_eof_jjas2006_rossby_1030.m, olr_eof_jjas2006_rossby_2590.m and
68%     olr_eof_jjas2006_rossby_30100.m
69%
70%     Days will be now written ``period1``\-``period2d`` (ex: 10-30d) in filenames.
71%
72%-
73
74global IRCAAM_ID;
75global IRCAAM_OD;
76
77if nargin==2
78 % period1 must be lower than period2
79 if (period1 > period2)
80  disp(['period1 = ', int2str(period1)]);
81  disp(['period2 = ', int2str(period2)]);
82  error('eee : period1 must be lower than period2');
83 end
84else
85  usage='usage : olr_eof_jjas2006_rossby_df(period1, period2)';
86  disp(usage);
87  error('eee : wrong arguments numbers')
88end
89
90% period1 and period2 will be used in xx-yyd form in filenames
91df = [int2str(period1),'-',int2str(period2),'d'];
92clear period1;
93clear period2;
94
95close all;
96
97fullfilename=[IRCAAM_ID,'olrfilernew7900jjas_',df,'.dat'];
98try
99 fid=fopen(fullfilename);
100catch
101 error('eee : File %s not found\n', fullfilename);
102end
103
104clear fullfilename;
105
106siz=144*25*10226;
107v=fread(fid,siz,'float');
108fclose(fid);
109v=reshape(v,144,25,10226);
110ind_olr=v(61:85,9:25,:);
111
112% selection des mois d ete
113% on selectionne les mois d ete (attention aux annees bixestiles!)
114
115siz1=31+28+31+30+31+1;
116siz1bis=31+28+31+30+31+30+31+31+30;
117a=siz1bis-siz1;
118%olr=zeros(144,28,25,122);
119olr=zeros(25,28,17,122);
120
121siz2=siz1+366; siz2bis=siz2+a; % 1980
122siz3=siz2+365; siz3bis=siz3+a; % 1981
123siz4=siz3+365; siz4bis=siz4+a; % 1982
124siz5=siz4+365; siz5bis=siz5+a; % 1983
125siz6=siz5+366; siz6bis=siz6+a; % 1984
126siz7=siz6+365; siz7bis=siz7+a; % 1985
127siz8=siz7+365; siz8bis=siz8+a; % 1986
128siz9=siz8+365; siz9bis=siz9+a; % 1987
129siz10=siz9+366; siz10bis=siz10+a; % 1988
130siz11=siz10+365; siz11bis=siz11+a; % 1989
131siz12=siz11+365; siz12bis=siz12+a; % 1990
132siz13=siz12+365; siz13bis=siz13+a; % 1991
133siz14=siz13+366; siz14bis=siz14+a; % 1992
134siz15=siz14+365; siz15bis=siz15+a; % 1993
135siz16=siz15+365; siz16bis=siz16+a; % 1994
136siz17=siz16+365; siz17bis=siz17+a; % 1995
137siz18=siz17+366; siz18bis=siz18+a; % 1996
138siz19=siz18+365; siz19bis=siz19+a; % 1997
139siz20=siz19+365; siz20bis=siz20+a; % 1998
140siz21=siz20+365; siz21bis=siz21+a; % 1999
141siz22=siz21+366; siz22bis=siz22+a; % 2000
142siz23=siz22+365; siz23bis=siz23+a; % 2001
143siz24=siz23+365; siz24bis=siz24+a; % 2002
144siz25=siz24+365; siz25bis=siz25+a; % 2003
145siz26=siz25+366; siz26bis=siz26+a; % 2004
146siz27=siz26+365; siz27bis=siz27+a; % 2005
147siz28=siz27+365; siz28bis=siz28+a; % 2006
148
149olr(:,1,:,:)=ind_olr(:,:,siz1:siz1bis); % 1979
150olr(:,2,:,:)=ind_olr(:,:,siz2:siz2bis); % 1980
151olr(:,3,:,:)=ind_olr(:,:,siz3:siz3bis); % 1981
152olr(:,4,:,:)=ind_olr(:,:,siz4:siz4bis); % 1982
153olr(:,5,:,:)=ind_olr(:,:,siz5:siz5bis); % 1983
154olr(:,6,:,:)=ind_olr(:,:,siz6:siz6bis); % 1984
155olr(:,7,:,:)=ind_olr(:,:,siz7:siz7bis); % 1985
156olr(:,8,:,:)=ind_olr(:,:,siz8:siz8bis); % 1986
157olr(:,9,:,:)=ind_olr(:,:,siz9:siz9bis); % 1987
158olr(:,10,:,:)=ind_olr(:,:,siz10:siz10bis); % 1988
159olr(:,11,:,:)=ind_olr(:,:,siz11:siz11bis); % 1989
160olr(:,12,:,:)=ind_olr(:,:,siz12:siz12bis); % 1990
161olr(:,13,:,:)=ind_olr(:,:,siz13:siz13bis); % 1991
162olr(:,14,:,:)=ind_olr(:,:,siz14:siz14bis); % 1992
163olr(:,15,:,:)=ind_olr(:,:,siz15:siz15bis); % 1993
164olr(:,16,:,:)=ind_olr(:,:,siz16:siz16bis); % 1994
165olr(:,17,:,:)=ind_olr(:,:,siz17:siz17bis); % 1995
166olr(:,18,:,:)=ind_olr(:,:,siz18:siz18bis); % 1996
167olr(:,19,:,:)=ind_olr(:,:,siz19:siz19bis); % 1997
168olr(:,20,:,:)=ind_olr(:,:,siz20:siz20bis); % 1998
169olr(:,21,:,:)=ind_olr(:,:,siz21:siz21bis); % 1999
170olr(:,22,:,:)=ind_olr(:,:,siz22:siz22bis); % 2000
171olr(:,23,:,:)=ind_olr(:,:,siz23:siz23bis); % 2001
172olr(:,24,:,:)=ind_olr(:,:,siz24:siz24bis); % 2002
173olr(:,25,:,:)=ind_olr(:,:,siz25:siz25bis); % 2003
174olr(:,26,:,:)=ind_olr(:,:,siz26:siz26bis); % 2004
175olr(:,27,:,:)=ind_olr(:,:,siz27:siz27bis); % 2005
176olr(:,28,:,:)=ind_olr(:,:,siz28:siz28bis); % 2006
177clear siz1 siz1bis;
178clear siz2 siz2bis;
179clear siz3 siz3bis;
180clear siz4 siz4bis;
181clear siz5 siz5bis;
182clear siz6 siz6bis;
183clear siz7 siz7bis;
184clear siz8 siz8bis;
185clear siz9 siz9bis;
186clear siz10 siz10bis;
187clear siz11 siz11bis;
188clear siz12 siz12bis;
189clear siz13 siz13bis;
190clear siz14 siz14bis;
191clear siz15 siz15bis;
192clear siz16 siz16bis;
193clear siz17 siz17bis;
194clear siz18 siz18bis;
195clear siz19 siz19bis;
196clear siz20 siz20bis;
197clear siz21 siz21bis;
198clear siz22 siz22bis;
199clear siz23 siz23bis;
200clear siz24 siz24bis;
201clear siz25 siz25bis;
202clear siz26 siz26bis;
203clear siz27 siz27bis;
204clear siz28 siz28bis;
205
206%olr=zeros(25,28,17,122);
207%olr=permute(olr,[1 3 2 4]);
208olr=permute(olr,[1 3 4 2]);
209
210olr=reshape(olr,425,3416);
211
212% calcul de la matrice de covariance
213vaudou=zeros(425,425);
214for a=1:425;
215    for b=1:425;
216      clear e d covaria;
217      e=olr(b,:);
218      d=olr(a,:);
219      covaria=cov(e,d);
220      vaudou(a,b)=covaria(2,1);
221    end;
222end;
223
224% on diagonalise la matrice de covariance
225[C,L]=eig(vaudou);
226
227% sauvegarde
228fullfilename=[IRCAAM_OD,'eof_rossby_jjas_2006_',df,'.mat'];
229delete(fullfilename);
230save(fullfilename,'C','L','olr');
231clear fullfilename;
232
Note: See TracBrowser for help on using the repository browser.