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

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

fix some links in manuals

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