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

Last change on this file since 45 was 36, checked in by pinsard, 15 years ago

correction on usage message

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