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

Last change on this file since 91 was 26, checked in by pinsard, 15 years ago

add semi-colon after end everywhere

File size: 6.6 KB
Line 
1%
2
3clear;
4lon=[-180:2.5:177.5]';
5lat=[-30:2.5:30];
6
7fid=fopen('olr.7906.fil.ER.dat','r');
8%fid=fopen('olrfilernew7900jjas_1030.dat','r');
9siz=144*25*10226;v=fread(fid,siz,'float');fclose(fid);
10v=reshape(v,144,25,10226);
11ind_olr=v(:,:,:);
12
13% selection des mois d ete
14% on selectionne les mois d ete (attention aux annees bixestiles!)
15
16siz1=31+28+31+30+31+1;
17siz1bis=31+28+31+30+31+30+31+31+30;
18a=siz1bis-siz1;
19
20olr=zeros(144,28,25,122);
21
22siz2=siz1+366; siz2bis=siz2+a; % 1980
23siz3=siz2+365; siz3bis=siz3+a; % 1981
24siz4=siz3+365; siz4bis=siz4+a; % 1982
25siz5=siz4+365; siz5bis=siz5+a; % 1983
26siz6=siz5+366; siz6bis=siz6+a; % 1984
27siz7=siz6+365; siz7bis=siz7+a; % 1985
28siz8=siz7+365; siz8bis=siz8+a; % 1986
29siz9=siz8+365; siz9bis=siz9+a; % 1987
30siz10=siz9+366; siz10bis=siz10+a; % 1988
31siz11=siz10+365; siz11bis=siz11+a; % 1989
32siz12=siz11+365; siz12bis=siz12+a; % 1990
33siz13=siz12+365; siz13bis=siz13+a; % 1991
34siz14=siz13+366; siz14bis=siz14+a; % 1992
35siz15=siz14+365; siz15bis=siz15+a; % 1993
36siz16=siz15+365; siz16bis=siz16+a; % 1994
37siz17=siz16+365; siz17bis=siz17+a; % 1995
38siz18=siz17+366; siz18bis=siz18+a; % 1996
39siz19=siz18+365; siz19bis=siz19+a; % 1997
40siz20=siz19+365; siz20bis=siz20+a; % 1998
41siz21=siz20+365; siz21bis=siz21+a; % 1999
42siz22=siz21+366; siz22bis=siz22+a; % 2000
43siz23=siz22+365; siz23bis=siz23+a; % 2001
44siz24=siz23+365; siz24bis=siz24+a; % 2002
45siz25=siz24+365; siz25bis=siz25+a; % 2003
46siz26=siz25+366; siz26bis=siz26+a; % 2004
47siz27=siz26+365; siz27bis=siz27+a; % 2005
48siz28=siz27+365; siz28bis=siz28+a; % 2006
49
50olr(:,1,:,:)=ind_olr(:,:,siz1:siz1bis); % 1979
51olr(:,2,:,:)=ind_olr(:,:,siz2:siz2bis); % 1980
52olr(:,3,:,:)=ind_olr(:,:,siz3:siz3bis); % 1981
53olr(:,4,:,:)=ind_olr(:,:,siz4:siz4bis); % 1982
54olr(:,5,:,:)=ind_olr(:,:,siz5:siz5bis); % 1983
55olr(:,6,:,:)=ind_olr(:,:,siz6:siz6bis); % 1984
56olr(:,7,:,:)=ind_olr(:,:,siz7:siz7bis); % 1985
57olr(:,8,:,:)=ind_olr(:,:,siz8:siz8bis); % 1986
58olr(:,9,:,:)=ind_olr(:,:,siz9:siz9bis); % 1987
59olr(:,10,:,:)=ind_olr(:,:,siz10:siz10bis); % 1988
60olr(:,11,:,:)=ind_olr(:,:,siz11:siz11bis); % 1989
61olr(:,12,:,:)=ind_olr(:,:,siz12:siz12bis); % 1990
62olr(:,13,:,:)=ind_olr(:,:,siz13:siz13bis); % 1991
63olr(:,14,:,:)=ind_olr(:,:,siz14:siz14bis); % 1992
64olr(:,15,:,:)=ind_olr(:,:,siz15:siz15bis); % 1993
65olr(:,16,:,:)=ind_olr(:,:,siz16:siz16bis); % 1994
66olr(:,17,:,:)=ind_olr(:,:,siz17:siz17bis); % 1995
67olr(:,18,:,:)=ind_olr(:,:,siz18:siz18bis); % 1996
68olr(:,19,:,:)=ind_olr(:,:,siz19:siz19bis); % 1997
69olr(:,20,:,:)=ind_olr(:,:,siz20:siz20bis); % 1998
70olr(:,21,:,:)=ind_olr(:,:,siz21:siz21bis); % 1999
71olr(:,22,:,:)=ind_olr(:,:,siz22:siz22bis); % 2000
72olr(:,23,:,:)=ind_olr(:,:,siz23:siz23bis); % 2001
73olr(:,24,:,:)=ind_olr(:,:,siz24:siz24bis); % 2002
74olr(:,25,:,:)=ind_olr(:,:,siz25:siz25bis); % 2003
75olr(:,26,:,:)=ind_olr(:,:,siz26:siz26bis); % 2004
76olr(:,27,:,:)=ind_olr(:,:,siz27:siz27bis); % 2005
77olr(:,28,:,:)=ind_olr(:,:,siz28:siz28bis); % 2006
78clear siz1 siz1bis;
79clear siz2 siz2bis;
80clear siz3 siz3bis;
81clear siz4 siz4bis;
82clear siz5 siz5bis;
83clear siz6 siz6bis;
84clear siz7 siz7bis;
85clear siz8 siz8bis;
86clear siz9 siz9bis;
87clear siz10 siz10bis;
88clear siz11 siz11bis;
89clear siz12 siz12bis;
90clear siz13 siz13bis;
91clear siz14 siz14bis;
92clear siz15 siz15bis;
93clear siz16 siz16bis;
94clear siz17 siz17bis;
95clear siz18 siz18bis;
96clear siz19 siz19bis;
97clear siz20 siz20bis;
98clear siz21 siz21bis;
99clear siz22 siz22bis;
100clear siz23 siz23bis;
101clear siz24 siz24bis;
102clear siz25 siz25bis;
103clear siz26 siz26bis;
104clear siz27 siz27bis;
105clear siz28 siz28bis;
106
107%dimensions variable olr avant permute (144,28,25,122);
108olr1=permute(olr,[4 2 3 1]);
109clear olr;
110
111status=load('eof12_rossby_1030.txt');
112eof12_rossby_1030=status;
113clear status;
114
115% on met sous la forme annee mois
116olr_eof=reshape(eof12_rossby_1030,122,28);
117clear eof12_rossby_1030;
118
119% on calcule l ecart type sur la serie temporelle de l OLR
120k=122*28;
121olrbis=reshape(olr_eof,k,1);
122olrbis=std(olrbis);
123
124% intialisation des tableaux
125olr_filtre_compomax=NaN*ones(50,25,144);
126olr_filtre_compomin=NaN*ones(50,25,144);
127
128compteurmax=0;
129compteurmin=0;
130
131% boucle sur les annees
132for a=1:28;
133   clear delta;
134   delta=zeros(122,1);
135   % boucle sur les jours : on prepare avant
136   for b=1:122;
137        if b>1;
138            delta(b)=olr_eof(b,a)-olr_eof(b-1,a);
139        end;
140   end;
141   % boucle sur les jours
142   for b=1:122;
143      % 1ere condition (laisser une marge de 10)
144      if (b>20 && b<112);
145% cas 1 : max deltas apres negetifs et deltas avant postifs
146         if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && olr_eof(b,a)>olrbis);
147            compteurmax=compteurmax+1;
148            olr_filtre_compomax(compteurmax,:,:)=olr1(b,a,:,:);
149% cas 2 : min deltas apres positifs et deltas avant negatifs
150         elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && olr_eof(b,a)<(-olrbis));
151            compteurmin=compteurmin+1;
152            olr_filtre_compomin(compteurmin,:,:)=olr1(b,a,:,:);
153         end;
154      end;
155   end;
156end;
157
158% on fait la somme des valeurs de olr_filtreentiel sur le nbre d occurences
159% on obtent un tableau de la forme (jours-avant-apres,lon,lat)
160olr_filtre_compomin1(:,:)=nanmean(olr_filtre_compomin);
161clear olr_filtre_compomin;
162olr_filtre_compomax1(:,:)=nanmean(olr_filtre_compomax);
163clear olr_filtre_compomax;
164
165x=[-10:1:10]';
166
167delta_olr_filtre_min=zeros(25,144);
168for b=1:25;
169    for c=1:144;
170        delta_olr_filtre_min(b,c)=olr_filtre_compomin1(b,c)-olr_filtre_compomax1(b,c);
171        if delta_olr_filtre_min(b,c)<-25;
172            delta_olr_filtre_min(b,c)=-25;
173        elseif delta_olr_filtre_min(b,c)>25;
174            delta_olr_filtre_min(b,c)=25;
175        end;
176    end;
177end;
178sauvegrads('composite_olr_EOF12_ER1030',delta_olr_filtre_min,[-180 2.5 -30 2.5]);
179delta_olr_filtre_min(1,1)=-25.0001;
180delta_olr_filtre_min(1,2)=25.0001;
181fin=-30+24*2.5;
182
183clear fin;
184fin=-10+16*2.5;
185[cs,h]=contour(lon,lat,delta_olr_filtre_min,[5:5:25],'k');
186clabel(cs,h,[10 20 30],'color','k','rotation',0,'fontsize',5);
187hold on;
188
189clear cs h;
190%[cs,h]=contour(lon,lat,delta_olr_filtre_min,[-25:5:-5],'k','Linewidth',0.3);
191[cs,h]=contour(lon,lat,delta_olr_filtre_min,[-25:5:-5],'k:','Linewidth',0.3);
192
193clabel(cs,h,[-30 -20 -10],'color','k','rotation',0,'fontsize',5);
194
195cartemonde1;
196
197axis equal
198axis([-80 100 -10 30]);
199
200%set (gca,'XTick',[-80:20:60],'XTickLabel',['80W';'60W';'40W';'20W';' 0 ';'20E';'40E';'60E'],'fontname','Arial','fontsize',6);
201set (gca,'XTick',[-180:60:180],'XTickLabel',[' 180';'120W';' 60W';'  0 ';' 60E';'120E';'180 '],'fontname','Arial','fontsize',6);
202
203set (gca,'YTick',[-10:10:40],'YTickLabel',['10S';' 0 ';'10N';'20N';'30N'],'fontname','Arial','fontsize',6);
204
205set (gca,'tickDir','out');
206title('Composite t=0 OLR et Pluies IRD indice ITCZ reconstruit EOF1+2','fontsize',6);
Note: See TracBrowser for help on using the repository browser.