- Timestamp:
- 01/06/09 10:53:18 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mode_sahelien/composite_olr_EOF24_1030_passbande.m
r15 r16 1 % 2 1 3 % initialisation 2 clear; close all; 4 clear; 5 close all; 3 6 4 7 cd('..'); … … 25 28 olr1=zeros(siz,21,144); 26 29 olr1(:,:,1:72)=olr(:,:,73:144); 27 olr1(:,:,73:144)=olr(:,:,1:72); clear olr; 30 olr1(:,:,73:144)=olr(:,:,1:72); 31 clear olr; 28 32 29 33 % on permture le temps et l'espce … … 37 41 vecteur=zeros(siz,1); 38 42 for c=1:siz; 39 vecteur(c)=olr1(a,b,c); 43 vecteur(c)=olr1(a,b,c); 40 44 end; 41 45 std_c=nanmean(vecteur); 42 46 for c=1:siz; 43 olr1(a,b,c)=olr1(a,b,c)-std_c; 44 end 47 olr1(a,b,c)=olr1(a,b,c)-std_c; 48 end 45 49 end 46 end; 47 48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 50 end; 51 49 52 % on met sous la forme longitude latitude jour 50 51 53 52 54 % on selectionne les mois d ete (attention aux annees bixestiles!) … … 145 147 olr1=permute(olr,[3 4 1 2]); 146 148 clear olr; 147 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 148 149 % ouverture / lecture du fichier 149 150 % ouverture / lecture du fichier 150 151 fid=fopen('sahel_pb.dat','r'); 151 152 v=fread(fid,3538,'float'); … … 153 154 154 155 % on met sous la forme annee mois 155 ind_olr=reshape(v,122,29); clear v; 156 ind_olr=reshape(v,122,29); 157 clear v; 156 158 157 159 % on selectionne les annees de 1979 a 2006 158 ind_olr1=ind_olr(:,1:28); clear ind_olr; 159 k=122*28; olr_eof=ind_olr1; clear ind_olr1; 160 161 % on calcule l ecart type sur la serie temporelle de l OLR 160 ind_olr1=ind_olr(:,1:28); 161 clear ind_olr; 162 k=122*28; 163 olr_eof=ind_olr1; 164 clear ind_olr1; 165 166 % on calcule l ecart type sur la serie temporelle de l OLR 162 167 olrbis=reshape(olr_eof,k,1); 163 olr_std=std(olrbis); 164 olr_moy=mean(olrbis); 168 olr_std=std(olrbis); 169 olr_moy=mean(olrbis); 165 170 166 171 … … 168 173 olrbis(a)=(olrbis(a)-olr_moy)/olr_std; 169 174 end 170 171 clear olr_eof; 175 176 clear olr_eof; 172 177 olr_eof=reshape(olrbis,122,28); 173 178 % intialisation des tableaux 174 olr_filtre_compomax=NaN*ones(50,31,21,144); 179 olr_filtre_compomax=NaN*ones(50,31,21,144); 175 180 olr_filtre_compomin=NaN*ones(50,31,21,144); 176 181 177 compteurmax=0; 182 compteurmax=0; 178 183 compteurmin=0; 179 184 180 for a=1:28; % boucle sur les annees 181 clear delta; 185 % boucle sur les annees 186 for a=1:28; 187 clear delta; 182 188 delta=zeros(122,1); 183 for b=1:122; % boucle sur les jours : on prepare avant 189 % boucle sur les jours : on prepare avant 190 for b=1:122; 184 191 if b>1; 185 192 delta(b)=olr_eof(b,a)-olr_eof(b-1,a); 186 193 end; 187 194 end; 188 for b=1:122; % boucle sur les jours 189 if (b>20 && b<112); % 1ere condition (laisser une marge de 10) 190 % cas 1 : max deltas apres negetifs et deltas avant postifs 191 if (delta(b+1)<0 && delta(b)>0 && olr_eof(b,a)>1); 195 % boucle sur les jours 196 for b=1:122; 197 % 1ere condition (laisser une marge de 10) 198 if (b>20 && b<112); 199 % cas 1 : max deltas apres negetifs et deltas avant postifs 200 if (delta(b+1)<0 && delta(b)>0 && olr_eof(b,a)>1); 192 201 compteurmax=compteurmax+1; 193 202 olr_filtre_compomax(compteurmax,1,:,:)=olr1(b-20,a,:,:); … … 224 233 olr_filtre_compomax(compteurmax,30,:,:)=olr1(b+9,a,:,:); 225 234 olr_filtre_compomax(compteurmax,31,:,:)=olr1(b+10,a,:,:); 226 % cas 2 : min deltas apres positifs et deltas avant negatifs 235 % cas 2 : min deltas apres positifs et deltas avant negatifs 227 236 elseif (delta(b+1)>0 && delta(b)<0 && olr_eof(b,a)<-1); 228 237 compteurmin=compteurmin+1; … … 263 272 end; 264 273 end; 265 end; 274 end; 266 275 end; 267 276 disp(['iii : compteurmin =', int2str(compteurmin)]); … … 283 292 % on fait la somme des valeurs de olr_filtre sur le nbre d occurences 284 293 % on obtent un tableau de la forme (jours-avant-apres,lon,lat) 285 olr_filtre_compomin1(:,:,:)=nanmean(olr_filtre_compomin); clear olr_filtre_compomin; 286 olr_filtre_compomax1(:,:,:)=nanmean(olr_filtre_compomax); clear olr_filtre_compomax; 287 288 x=[-10:1:10]'; %' 289 290 figure(1); orient('landscape'); 291 292 lat=lat(21:41)'; 294 olr_filtre_compomin1(:,:,:)=nanmean(olr_filtre_compomin); 295 clear olr_filtre_compomin; 296 olr_filtre_compomax1(:,:,:)=nanmean(olr_filtre_compomax); 297 clear olr_filtre_compomax; 298 299 x=[-10:1:10]'; 300 301 figure(1); 302 orient('landscape'); 303 304 lat=lat(21:41)'; 293 305 lon=lon-180; 294 306 for e=1:7; … … 321 333 delta_olr_filtre_min(1,2)=50.0001; 322 334 fin=-30+24*2.5; 323 335 324 336 clear fin 325 337 fin=-10+16*2.5; … … 329 341 else 330 342 set (gca,'XTick',[-60:30:60],'XTickLabel',[' ';' ';' ';' ';' ']); 331 end; 343 end; 332 344 333 345 set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';' 0';'10N';'20N';'30N'],'fontname','Arial','fontsize',6); 334 346 if e==4; 335 co=colorbar; 347 co=colorbar; 336 348 set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 337 349 end; 338 hold on; cartemonde1; 350 hold on; 351 cartemonde1; 339 352 set (gca,'tickDir','out'); 340 353 axis equal … … 342 355 343 356 344 if e==7; 357 if e==7; 345 358 title('OLR composite EOF234 1030j ITCZ 7.5-12.5 ','fontsize',8) ; 346 359 end 347 360 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 348 361 pos_vert=e/10; 349 set (gca,'position',[0.2 pos_vert 0.5 0.1]) 350 end; 351 352 figure(1); print -depsc2 composite_olr_EOF234_1030_part1.eps; 353 354 figure(2); orient('landscape'); 362 set (gca,'position',[0.2 pos_vert 0.5 0.1]) 363 end; 364 365 figure(1); 366 print -depsc2 composite_olr_EOF234_1030_part1.eps; 367 368 figure(2); 369 orient('landscape'); 355 370 356 371 for e=1:7; … … 383 398 delta_olr_filtre_min(1,2)=50.0001; 384 399 fin=-30+24*2.5; 385 400 386 401 clear fin 387 402 fin=-10+16*2.5; … … 391 406 else 392 407 set (gca,'XTick',[-60:30:60],'XTickLabel',[' ';' ';' ';' ';' ']); 393 end; 408 end; 394 409 395 410 set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';' 0';'10N';'20N';'30N'],'fontname','Arial','fontsize',6); 396 411 if e==4; 397 co=colorbar; 412 co=colorbar; 398 413 set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 399 414 end; 400 hold on; cartemonde1; 415 hold on; 416 cartemonde1; 401 417 set (gca,'tickDir','out'); 402 418 axis equal … … 404 420 405 421 406 if e==7; 422 if e==7; 407 423 title('OLR composite EOF234 1030j ITCZ 7.5-12.5 ','fontsize',8) ; 408 424 end 409 425 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 410 426 pos_vert=e/10; 411 set (gca,'position',[0.2 pos_vert 0.5 0.1]) 412 end; 413 414 figure(2); print -depsc2 composite_olr_EOF234_1030_part2.eps; 415 416 417 418 419 427 set (gca,'position',[0.2 pos_vert 0.5 0.1]) 428 end; 429 430 figure(2); 431 print -depsc2 composite_olr_EOF234_1030_part2.eps;
Note: See TracChangeset
for help on using the changeset viewer.