Changeset 16 for trunk/src/mode_sahelien/composite_hgt500_eof12_ER1030.m
- Timestamp:
- 01/06/09 10:53:18 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mode_sahelien/composite_hgt500_eof12_ER1030.m
r15 r16 1 % 2 1 3 % initialisation 2 clear; close all;3 4 clear; 5 close all; 4 6 5 7 % etape 1 :on selectionne les mois d ete (attention aux annees bixestiles!) … … 8 10 hgt500=zeros(122,49,144,28); 9 11 10 siz=31+28+31+30+31+1; sizbis=31+28+31+30+31+30+31+31+30; 12 siz=31+28+31+30+31+1; 13 sizbis=31+28+31+30+31+30+31+31+30; 11 14 ncload('hgt500.1979.nc'); hgt500(:,:,:,1)=hgt(siz:sizbis,1,:,:); clear hgt; 12 15 ncload('hgt500.1980.nc'); hgt500(:,:,:,2)=hgt(siz+1:sizbis+1,1,:,:); clear hgt; … … 54 57 end 55 58 end 56 59 57 60 58 61 hgt1=zeros(122,28,49,144); 59 62 hgt1(:,:,:,1:72)=hgt500(:,:,:,73:144); 60 63 hgt1(:,:,:,73:144)=hgt500(:,:,:,1:72); 61 clear hgt500; hgt500=hgt1; clear hgt1; 64 clear hgt500; 65 hgt500=hgt1; 66 clear hgt1; 62 67 63 68 hgt1=permute(hgt500,[2 1 3 4]); 64 hgt2(:,:,:)=nanmean(hgt1); clear hgt1; 69 hgt2(:,:,:)=nanmean(hgt1); 70 clear hgt1; 65 71 hgt3=reshape(hgt500, 3416,49,144); 66 hgt4(:,:)=nanmean(hgt3); clear hgt3; 72 hgt4(:,:)=nanmean(hgt3); 73 clear hgt3; 67 74 68 75 for a=1:122; 69 76 for b=1:28; 70 77 for c=1:37; 71 for d=1:144; 72 hgt500(a,b,c,d)=hgt500(a,b,c,d)-(hgt2(a,c,d)-hgt4(c,d)); 78 for d=1:144; 79 hgt500(a,b,c,d)=hgt500(a,b,c,d)-(hgt2(a,c,d)-hgt4(c,d)); 73 80 end; 74 81 end; … … 86 93 % on calcule l ecart type sur la serie entiere de l OLR 87 94 ind_olr1=reshape(ind_olr, k,1); 88 ind_olr2=std(ind_olr1); clear ind_olr1;89 90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 95 ind_olr2=std(ind_olr1); 96 clear ind_olr1; 97 91 98 % GEOPOTENTIEL 92 99 % intialisation des tableaux 93 hgt500_filtre_compomax=NaN*ones(60,31,49,144); 100 hgt500_filtre_compomax=NaN*ones(60,31,49,144); 94 101 hgt500_filtre_compomin=NaN*ones(60,31,49,144); 95 102 96 compteurmax=0; 103 compteurmax=0; 97 104 compteurmin=0; 98 105 hgt=hgt500; 99 106 clear hgt500 100 for a=1:28; % boucle sur les annees 101 clear delta; 107 % boucle sur les annees 108 for a=1:28; 109 clear delta; 102 110 delta=zeros(122,1); 103 for b=1:122; % boucle sur les jours : on prepare avant 111 % boucle sur les jours : on prepare avant 112 for b=1:122; 104 113 if b>1; 105 114 delta(b)=ind_olr(b,a)-ind_olr(b-1,a); 106 115 end; 107 116 end; 108 for b=1:122; % boucle sur les jours 109 if (b>20 && b<112); % 1ere condition (laisser une marge de 10) 110 % cas 1 : max deltas apres negetifs et deltas avant postifs 111 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && ind_olr(b,a)>ind_olr2); 117 % boucle sur les jours 118 for b=1:122; 119 % 1ere condition (laisser une marge de 10) 120 if (b>20 && b<112) 121 % cas 1 : max deltas apres negetifs et deltas avant postifs 122 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && ind_olr(b,a)>ind_olr2); 112 123 compteurmax=compteurmax+1; 113 124 hgt500_filtre_compomax(compteurmax,1,:,:)=hgt(b-20,a,:,:); … … 144 155 hgt500_filtre_compomax(compteurmax,30,:,:)=hgt(b+9,a,:,:); 145 156 hgt500_filtre_compomax(compteurmax,31,:,:)=hgt(b+10,a,:,:); 146 % cas 2 : min deltas apres positifs et deltas avant negatifs 157 % cas 2 : min deltas apres positifs et deltas avant negatifs 147 158 elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && ind_olr(b,a)<(-ind_olr2)); 148 159 compteurmin=compteurmin+1; … … 183 194 end; 184 195 end; 185 end; 196 end; 186 197 end; 187 198 … … 189 200 % on fait la somme des valeurs de hgt500_filtreentiel sur le nbre d occurences 190 201 % on obtent un tableau de la forme (jours-avant-apres,lon,lat) 191 hgt500_filtre_compomin1(:,:,:)=nanmean(hgt500_filtre_compomin); clear hgt500_filtre_compomin; 192 hgt500_filtre_compomax1(:,:,:)=nanmean(hgt500_filtre_compomax); clear hgt500_filtre_compomax; 193 194 x=[-10:1:10]'; %' 195 196 figure(1); 202 hgt500_filtre_compomin1(:,:,:)=nanmean(hgt500_filtre_compomin); 203 clear hgt500_filtre_compomin; 204 hgt500_filtre_compomax1(:,:,:)=nanmean(hgt500_filtre_compomax); 205 clear hgt500_filtre_compomax; 206 207 x=[-10:1:10]'; 208 209 figure(1); 197 210 orient('landscape'); 198 211 lat=lat'; … … 228 241 else 229 242 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 230 end; 243 end; 231 244 set (gca,'YTick',[20:10:70],'YTickLabel',[' ';'30N';'40N';'50N';'60N';' '],'fontname','Arial','fontsize',6); 232 245 if e==4; 233 co=colorbar; 246 co=colorbar; 234 247 set (co,'ytick',[-40:20:40],'yticklabel',[-40:20:40],'fontname','Arial','fontsize',6); 235 248 end; 236 hold on; cartemonde1; 249 hold on; 250 cartemonde1; 237 251 set (gca,'tickDir','out'); 238 252 axis equal; … … 243 257 text(-270,50,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 244 258 pos_vert=e/10; 245 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 259 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 246 260 end; 247 261 248 262 print -depsc2 compo_hgt500_eof12_ER1030a.eps; 249 263 250 figure(2); 264 figure(2); 251 265 orient('landscape'); 252 266 … … 272 286 subplot(7,1,8-e); 273 287 palettejerome30; 274 colormap(palette);275 288 colormap(palette); 289 276 290 delta_hgt500_filtre_min(1,1)=-50.001; 277 291 delta_hgt500_filtre_min(1,2)=50.001; 278 292 279 293 aa=contourf(lon-180,lat,delta_hgt500_filtre_min,[-50:2.5:50],'LineStyle','none'); 280 294 if e==1; … … 282 296 else 283 297 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 284 end; 298 end; 285 299 set (gca,'YTick',[20:10:70],'YTickLabel',[' ';'30N';'40N';'50N';'60N';' '],'fontname','Arial','fontsize',6); 286 300 if e==4; 287 co=colorbar; 301 co=colorbar; 288 302 set (co,'ytick',[-40:20:40],'yticklabel',[-40:20:40],'fontname','Arial','fontsize',6); 289 303 end; 290 hold on; cartemonde1; 304 hold on; 305 cartemonde1; 291 306 set (gca,'tickDir','out'); 292 307 axis equal; … … 297 312 text(-270,50,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 298 313 pos_vert=e/10; 299 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 314 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 300 315 end; 301 316 print -depsc2 compo_hgt500_eof12_ER1030b.eps;
Note: See TracChangeset
for help on using the changeset viewer.