source: trunk/src/SIMULS_IRCAAM/composite_olr_TR_eof2_1030.m @ 26

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

add semi-colon after end everywhere

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