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