source: trunk/src/SIMULS_IRCAAM/composite_olr_CTL_eof1_30100.m @ 16

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

remove trailing blanks, split lines with multiple statements

File size: 12.6 KB
Line 
1%
2
3% initialisation
4clear;
5close all;
6olr=zeros(122,29,64,128);
7cd('CTL')
8
9ncload('rlut_d.CtIV.197106-09.nc','rlut');
10olr(:,1,:,:)=rlut; clear rlut;
11
12ncload('rlut_d.CtIV.197206-09.nc','rlut');
13olr(:,2,:,:)=rlut; clear rlut;
14
15ncload('rlut_d.CtIV.197306-09.nc','rlut');
16olr(:,3,:,:)=rlut; clear rlut;
17
18ncload('rlut_d.CtIV.197406-09.nc','rlut');
19olr(:,4,:,:)=rlut; clear rlut;
20
21ncload('rlut_d.CtIV.197506-09.nc','rlut');
22olr(:,5,:,:)=rlut; clear rlut;
23
24ncload('rlut_d.CtIV.197606-09.nc','rlut');
25olr(:,6,:,:)=rlut; clear rlut;
26
27ncload('rlut_d.CtIV.197706-09.nc','rlut');
28olr(:,7,:,:)=rlut; clear rlut;
29
30ncload('rlut_d.CtIV.197806-09.nc','rlut');
31olr(:,8,:,:)=rlut; clear rlut;
32
33ncload('rlut_d.CtIV.197906-09.nc','rlut');
34olr(:,9,:,:)=rlut; clear rlut;
35
36ncload('rlut_d.CtIV.198006-09.nc','rlut');
37olr(:,10,:,:)=rlut; clear rlut;
38
39ncload('rlut_d.CtIV.198106-09.nc','rlut');
40olr(:,11,:,:)=rlut; clear rlut;
41
42ncload('rlut_d.CtIV.198206-09.nc','rlut');
43olr(:,12,:,:)=rlut; clear rlut;
44
45ncload('rlut_d.CtIV.198306-09.nc','rlut');
46olr(:,13,:,:)=rlut; clear rlut;
47
48ncload('rlut_d.CtIV.198406-09.nc','rlut');
49olr(:,14,:,:)=rlut; clear rlut;
50
51ncload('rlut_d.CtIV.198506-09.nc','rlut');
52olr(:,15,:,:)=rlut; clear rlut;
53
54ncload('rlut_d.CtIV.198606-09.nc','rlut');
55olr(:,16,:,:)=rlut; clear rlut;
56
57ncload('rlut_d.CtIV.198706-09.nc','rlut');
58olr(:,17,:,:)=rlut; clear rlut;
59
60ncload('rlut_d.CtIV.198806-09.nc','rlut');
61olr(:,18,:,:)=rlut; clear rlut;
62
63ncload('rlut_d.CtIV.198906-09.nc','rlut');
64olr(:,19,:,:)=rlut; clear rlut;
65
66ncload('rlut_d.CtIV.199106-09.nc','rlut');
67olr(:,20,:,:)=rlut; clear rlut;
68
69ncload('rlut_d.CtIV.199206-09.nc','rlut');
70olr(:,21,:,:)=rlut; clear rlut;
71
72ncload('rlut_d.CtIV.199306-09.nc','rlut');
73olr(:,22,:,:)=rlut; clear rlut;
74
75ncload('rlut_d.CtIV.199406-09.nc','rlut');
76olr(:,23,:,:)=rlut; clear rlut;
77
78ncload('rlut_d.CtIV.199506-09.nc','rlut');
79olr(:,24,:,:)=rlut; clear rlut;
80
81ncload('rlut_d.CtIV.199606-09.nc','rlut');
82olr(:,25,:,:)=rlut; clear rlut;
83
84ncload('rlut_d.CtIV.199706-09.nc','rlut');
85olr(:,26,:,:)=rlut; clear rlut;
86
87ncload('rlut_d.CtIV.199806-09.nc','rlut');
88olr(:,27,:,:)=rlut; clear rlut;
89
90ncload('rlut_d.CtIV.199906-09.nc','rlut');
91olr(:,28,:,:)=rlut; clear rlut;
92
93ncload('rlut_d.CtIV.200006-09.nc','rlut','lat','lon');
94olr(:,29,:,:)=rlut; clear rlut;
95
96
97cd('..');
98% selction du domaine geographique
99olr1=zeros(122,29,64,128);
100olr1(:,:,:,1:64)=olr(:,:,:,65:128);
101olr1(:,:,:,65:128)=olr(:,:,:,1:64);
102clear olr;
103
104load eof1_CTL_30100.txt
105
106% on met sous la forme annee mois
107olr_eof=reshape(eof1_CTL_30100,122,29);
108clear eof1_CTL_30100;
109
110% on calcule l ecart type sur la serie temporelle de l OLR
111k=122*29;
112olrbis=reshape(olr_eof,k,1);
113olrbis=std(olrbis);
114
115% intialisation des tableaux
116olr_filtre_compomax=NaN*ones(50,31,64,128);
117olr_filtre_compomin=NaN*ones(50,31,64,128);
118
119compteurmax=0;
120compteurmin=0;
121
122% boucle sur les annees
123for a=1:29;
124   clear delta;
125   delta=zeros(122,1);
126   % boucle sur les jours : on prepare avant
127   for b=1:122;
128        if b>1;
129            delta(b)=olr_eof(b,a)-olr_eof(b-1,a);
130        end;
131   end;
132   % boucle sur les jours
133   for b=1:122;
134      % 1ere condition (laisser une marge de 10)
135      if (b>20 && b<112);
136
137         if (delta(b+1)<0 && delta(b)>0 && olr_eof(b,a)>(olrbis));
138            compteurmax=compteurmax+1;
139          olr_filtre_compomax(compteurmax,1,:,:)=olr1(b-20,a,:,:);
140            olr_filtre_compomax(compteurmax,2,:,:)=olr1(b-19,a,:,:);
141            olr_filtre_compomax(compteurmax,3,:,:)=olr1(b-18,a,:,:);
142            olr_filtre_compomax(compteurmax,4,:,:)=olr1(b-17,a,:,:);
143            olr_filtre_compomax(compteurmax,5,:,:)=olr1(b-16,a,:,:);
144            olr_filtre_compomax(compteurmax,6,:,:)=olr1(b-15,a,:,:);
145            olr_filtre_compomax(compteurmax,7,:,:)=olr1(b-14,a,:,:);
146            olr_filtre_compomax(compteurmax,8,:,:)=olr1(b-13,a,:,:);
147            olr_filtre_compomax(compteurmax,9,:,:)=olr1(b-12,a,:,:);
148            olr_filtre_compomax(compteurmax,10,:,:)=olr1(b-11,a,:,:);
149
150            olr_filtre_compomax(compteurmax,11,:,:)=olr1(b-10,a,:,:);
151            olr_filtre_compomax(compteurmax,12,:,:)=olr1(b-9,a,:,:);
152            olr_filtre_compomax(compteurmax,13,:,:)=olr1(b-8,a,:,:);
153            olr_filtre_compomax(compteurmax,14,:,:)=olr1(b-7,a,:,:);
154            olr_filtre_compomax(compteurmax,15,:,:)=olr1(b-6,a,:,:);
155            olr_filtre_compomax(compteurmax,16,:,:)=olr1(b-5,a,:,:);
156            olr_filtre_compomax(compteurmax,17,:,:)=olr1(b-4,a,:,:);
157            olr_filtre_compomax(compteurmax,18,:,:)=olr1(b-3,a,:,:);
158            olr_filtre_compomax(compteurmax,19,:,:)=olr1(b-2,a,:,:);
159            olr_filtre_compomax(compteurmax,20,:,:)=olr1(b-1,a,:,:);
160
161            olr_filtre_compomax(compteurmax,21,:,:)=olr1(b,a,:,:);
162            olr_filtre_compomax(compteurmax,22,:,:)=olr1(b+1,a,:,:);
163            olr_filtre_compomax(compteurmax,23,:,:)=olr1(b+2,a,:,:);
164            olr_filtre_compomax(compteurmax,24,:,:)=olr1(b+3,a,:,:);
165            olr_filtre_compomax(compteurmax,25,:,:)=olr1(b+4,a,:,:);
166            olr_filtre_compomax(compteurmax,26,:,:)=olr1(b+5,a,:,:);
167            olr_filtre_compomax(compteurmax,27,:,:)=olr1(b+6,a,:,:);
168            olr_filtre_compomax(compteurmax,28,:,:)=olr1(b+7,a,:,:);
169            olr_filtre_compomax(compteurmax,29,:,:)=olr1(b+8,a,:,:);
170            olr_filtre_compomax(compteurmax,30,:,:)=olr1(b+9,a,:,:);
171            olr_filtre_compomax(compteurmax,31,:,:)=olr1(b+10,a,:,:);
172
173         elseif (delta(b+1)>0 && delta(b)<0 && olr_eof(b,a)<(-olrbis));
174            compteurmin=compteurmin+1;
175
176            olr_filtre_compomin(compteurmin,1,:,:)=olr1(b-20,a,:,:);
177            olr_filtre_compomin(compteurmin,2,:,:)=olr1(b-19,a,:,:);
178            olr_filtre_compomin(compteurmin,3,:,:)=olr1(b-18,a,:,:);
179            olr_filtre_compomin(compteurmin,4,:,:)=olr1(b-17,a,:,:);
180            olr_filtre_compomin(compteurmin,5,:,:)=olr1(b-16,a,:,:);
181            olr_filtre_compomin(compteurmin,6,:,:)=olr1(b-15,a,:,:);
182            olr_filtre_compomin(compteurmin,7,:,:)=olr1(b-14,a,:,:);
183            olr_filtre_compomin(compteurmin,8,:,:)=olr1(b-13,a,:,:);
184            olr_filtre_compomin(compteurmin,9,:,:)=olr1(b-12,a,:,:);
185            olr_filtre_compomin(compteurmin,10,:,:)=olr1(b-11,a,:,:);
186
187            olr_filtre_compomin(compteurmin,11,:,:)=olr1(b-10,a,:,:);
188            olr_filtre_compomin(compteurmin,12,:,:)=olr1(b-9,a,:,:);
189            olr_filtre_compomin(compteurmin,13,:,:)=olr1(b-8,a,:,:);
190            olr_filtre_compomin(compteurmin,14,:,:)=olr1(b-7,a,:,:);
191            olr_filtre_compomin(compteurmin,15,:,:)=olr1(b-6,a,:,:);
192            olr_filtre_compomin(compteurmin,16,:,:)=olr1(b-5,a,:,:);
193            olr_filtre_compomin(compteurmin,17,:,:)=olr1(b-4,a,:,:);
194            olr_filtre_compomin(compteurmin,18,:,:)=olr1(b-3,a,:,:);
195            olr_filtre_compomin(compteurmin,19,:,:)=olr1(b-2,a,:,:);
196            olr_filtre_compomin(compteurmin,20,:,:)=olr1(b-1,a,:,:);
197
198            olr_filtre_compomin(compteurmin,21,:,:)=olr1(b,a,:,:);
199            olr_filtre_compomin(compteurmin,22,:,:)=olr1(b+1,a,:,:);
200            olr_filtre_compomin(compteurmin,23,:,:)=olr1(b+2,a,:,:);
201            olr_filtre_compomin(compteurmin,24,:,:)=olr1(b+3,a,:,:);
202            olr_filtre_compomin(compteurmin,25,:,:)=olr1(b+4,a,:,:);
203            olr_filtre_compomin(compteurmin,26,:,:)=olr1(b+5,a,:,:);
204            olr_filtre_compomin(compteurmin,27,:,:)=olr1(b+6,a,:,:);
205            olr_filtre_compomin(compteurmin,28,:,:)=olr1(b+7,a,:,:);
206            olr_filtre_compomin(compteurmin,29,:,:)=olr1(b+8,a,:,:);
207            olr_filtre_compomin(compteurmin,30,:,:)=olr1(b+9,a,:,:);
208            olr_filtre_compomin(compteurmin,31,:,:)=olr1(b+10,a,:,:);
209         end;
210      end;
211   end;
212end;
213% on fait le test de Student
214nb_value=min(compteurmin,compteurmax);
215student1=zeros(31,64,128);
216for a=1:31;
217    for b=1:64;
218        for c=1:128;
219           x=olr_filtre_compomin(1:nb_value,a,b,c);
220           y=olr_filtre_compomax(1:nb_value,a,b,c);
221           student1(a,b,c)=ttest(x,y,.2);
222        end
223    end
224end
225
226
227% on fait la somme des valeurs de olr_filtreentiel sur le nbre d occurences
228% on obtent un tableau de la forme (jours-avant-apres,lon,lat)
229olr_filtre_compomin1(:,:,:)=nanmean(olr_filtre_compomin);
230clear olr_filtre_compomin;
231olr_filtre_compomax1(:,:,:)=nanmean(olr_filtre_compomax);
232clear olr_filtre_compomax;
233
234x=[-10:1:10]';
235
236figure(1);
237orient('landscape');
238
239lat=lat';
240lon=lon-180;
241for e=1:7;
242       a=7-(e-1)+1;
243       f=2*(a-1)+1;
244       clear delta_olr_filtre_min;
245       delta_olr_filtre_min=zeros(64,128);
246       for b=1:64;
247          for c=1:128;
248             delta_olr_filtre_min(b,c)=olr_filtre_compomin1(f,b,c)-olr_filtre_compomax1(f,b,c);
249             if student1(f,b,c)==1;
250                 delta_olr_filtre_min(b,c)=delta_olr_filtre_min(b,c);
251             else
252 %                delta_olr_filtre_min(b,c)=NaN;
253             end;
254          end;
255       end;
256       for b=1:64;
257          for c=1:128;
258             if delta_olr_filtre_min(b,c)<-50;
259                  delta_olr_filtre_min(b,c)=-50;
260             elseif delta_olr_filtre_min(b,c)>50;
261                  delta_olr_filtre_min(b,c)=50;
262             end;
263          end;
264       end
265       subplot(7,1,8-e);
266       palette
267       delta_olr_filtre_min(1,1)=-50.0001;
268       delta_olr_filtre_min(1,2)=50.0001;
269       fin=-30+24*2.5;
270
271       clear fin
272       fin=-10+16*2.5;
273       aa=contourf(lon,lat,delta_olr_filtre_min,[-50:5:50],'LineStyle','none');
274       if e==1;
275       set (gca,'XTick',[-180:60:180],'XTickLabel',[' 180';'120W';' 60W';'   0';' 60E';'120E';' 180'],'fontname','Arial','fontsize',6);
276       else
277      set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6);
278       end
279       set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';'  0';'10N';'20N';'30N'],'fontname','Arial','fontsize',6);
280       if e==4;
281          co=colorbar;
282          set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6);
283       end;
284       hold on;
285       cartemonde1;
286       set (gca,'tickDir','out');
287       axis equal
288       axis([-180 180 -20 40]);
289       if e==7;
290      title('OLR composite EOF1 30100j simulation CTL ','fontsize',8) ;
291       end
292       text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10);
293       pos_vert=e/10;
294       set (gca,'position',[0.2 pos_vert 0.5 0.1])
295end;
296
297figure(1);
298print -depsc2 composite_olr_EOF1_30100j_simulation_CTL_part1.eps;
299
300figure(2);
301orient('landscape');
302
303for e=1:7;
304       a=7-(e-1)+1+7;
305       f=2*(a-1)+1;
306       clear delta_olr_filtre_min;
307       delta_olr_filtre_min=zeros(64,128);
308       for b=1:64;
309          for c=1:128;
310             delta_olr_filtre_min(b,c)=olr_filtre_compomin1(f,b,c)-olr_filtre_compomax1(f,b,c);
311             if student1(f,b,c)==1;
312                 delta_olr_filtre_min(b,c)=delta_olr_filtre_min(b,c);
313             else
314 %                delta_olr_filtre_min(b,c)=NaN;
315             end;
316          end;
317       end;
318       for b=1:64;
319          for c=1:128;
320             if delta_olr_filtre_min(b,c)<-50;
321                  delta_olr_filtre_min(b,c)=-50;
322             elseif delta_olr_filtre_min(b,c)>50;
323                  delta_olr_filtre_min(b,c)=50;
324             end;
325          end;
326       end
327       subplot(7,1,8-e);
328       palette
329       delta_olr_filtre_min(1,1)=-50.0001;
330       delta_olr_filtre_min(1,2)=50.0001;
331       fin=-30+24*2.5;
332
333       clear fin
334       fin=-10+16*2.5;
335       aa=contourf(lon,lat,delta_olr_filtre_min,[-50:5:50],'LineStyle','none');
336       if e==1;
337       set (gca,'XTick',[-180:60:180],'XTickLabel',[' 180';'120W';' 60W';'   0';' 60E';'120E';' 180'],'fontname','Arial','fontsize',6);
338       else
339      set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6);
340       end
341       set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';'  0';'10N';'20N';'30N'],'fontname','Arial','fontsize',6);
342       if e==4;
343          co=colorbar;
344          set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6);
345       end;
346       hold on;
347       cartemonde1;
348       set (gca,'tickDir','out');
349       axis equal
350       axis([-180 180 -20 40]);
351       if e==7;
352           title('OLR composite EOF1 30100j simulation CTL','fontsize',8) ;
353       end
354       text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10);
355       pos_vert=e/10;
356       set (gca,'position',[0.2 pos_vert 0.5 0.1])
357end;
358
359figure(2);
360print -depsc2 composite_olr_EOF1_30100j_simulation_CTL_part2.eps;
Note: See TracBrowser for help on using the repository browser.