Changeset 16 for trunk/src/mode_sahelien/composite_wind925_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_wind925_EOF12_ER30100.m
r15 r16 1 % 2 1 3 % initialisation 2 4 close all; … … 8 10 uwnd925=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('uwnd925.1979.nc'); uwnd925(:,:,:,1)=uwnd(siz:sizbis,1,:,:); clear uwnd; 12 15 ncload('uwnd925.1980.nc'); uwnd925(:,:,:,2)=uwnd(siz+1:sizbis+1,1,:,:); clear uwnd; … … 46 49 47 50 %%%%%%%%%%%%%%% FICHIER OLR 48 % ouverture / lecture du fichier 49 load eof12_rossby_30100.txt; ind_olr=reshape(eof12_rossby_30100,122,28); 51 % ouverture / lecture du fichier 52 load eof12_rossby_30100.txt; 53 ind_olr=reshape(eof12_rossby_30100,122,28); 50 54 clear eof12_rossby_30100; 51 55 … … 54 58 % on calcule l ecart type sur la serie entiere de l OLR 55 59 ind_olr1=reshape(ind_olr, k,1); 56 ind_olr2=std(ind_olr1); clear ind_olr1; 60 ind_olr2=std(ind_olr1); 61 clear ind_olr1; 57 62 58 63 59 64 % intialisation des tableaux 60 uwnd925_filtre_compomax=NaN*ones(60,31,49,144); 65 uwnd925_filtre_compomax=NaN*ones(60,31,49,144); 61 66 uwnd925_filtre_compomin=NaN*ones(60,31,49,144); 62 67 63 compteurmax=0; 68 compteurmax=0; 64 69 compteurmin=0; 65 70 66 for a=1:28; % boucle sur les annees 67 clear delta; 71 % boucle sur les annees 72 for a=1:28; 73 clear delta; 68 74 delta=zeros(122,1); 69 for b=1:122; % boucle sur les jours : on prepare avant 75 % boucle sur les jours : on prepare avant 76 for b=1:122; 70 77 if b>1; 71 78 delta(b)=ind_olr(b,a)-ind_olr(b-1,a); 72 79 end; 73 80 end; 74 for b=1:122; % boucle sur les jours 75 if (b>20 && b<112); % 1ere condition (laisser une marge de 10) 76 % cas 1 : max deltas apres negetifs et deltas avant postifs 77 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && ind_olr(b,a)>ind_olr2); 81 % boucle sur les jours 82 for b=1:122; 83 % 1ere condition (laisser une marge de 10) 84 if (b>20 && b<112); 85 % cas 1 : max deltas apres negetifs et deltas avant postifs 86 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && ind_olr(b,a)>ind_olr2); 78 87 compteurmax=compteurmax+1; 79 88 uwnd925_filtre_compomax(compteurmax,1,:,:)=uwnd(b-20,a,:,:); … … 110 119 uwnd925_filtre_compomax(compteurmax,30,:,:)=uwnd(b+9,a,:,:); 111 120 uwnd925_filtre_compomax(compteurmax,31,:,:)=uwnd(b+10,a,:,:); 112 % cas 2 : min deltas apres positifs et deltas avant negatifs 121 % cas 2 : min deltas apres positifs et deltas avant negatifs 113 122 elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && ind_olr(b,a)<(-ind_olr2)); 114 123 compteurmin=compteurmin+1; … … 149 158 end; 150 159 end; 151 end; 160 end; 152 161 end; 153 162 … … 155 164 % on fait la somme des valeurs de uwnd925_filtreentiel sur le nbre d occurences 156 165 % on obtent un tableau de la forme (jours-avant-apres,lon,lat) 157 uwnd925_filtre_compomin1(:,:,:)=nanmean(uwnd925_filtre_compomin); clear uwnd925_filtre_compomin; 158 uwnd925_filtre_compomax1(:,:,:)=nanmean(uwnd925_filtre_compomax); clear uwnd925_filtre_compomax; 159 160 161 162 163 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 166 uwnd925_filtre_compomin1(:,:,:)=nanmean(uwnd925_filtre_compomin); 167 clear uwnd925_filtre_compomin; 168 uwnd925_filtre_compomax1(:,:,:)=nanmean(uwnd925_filtre_compomax); 169 clear uwnd925_filtre_compomax; 164 170 165 171 % etape 1 :on selectionne les mois d ete (attention aux annees bixestiles!) … … 168 174 vwnd925=zeros(122,49,144,28); 169 175 170 siz=31+28+31+30+31+1; sizbis=31+28+31+30+31+30+31+31+30; 176 siz=31+28+31+30+31+1; 177 sizbis=31+28+31+30+31+30+31+31+30; 171 178 ncload('vwnd925.1979.nc'); vwnd925(:,:,:,1)=vwnd(siz:sizbis,1,:,:); clear vwnd; 172 179 ncload('vwnd925.1980.nc'); vwnd925(:,:,:,2)=vwnd(siz+1:sizbis+1,1,:,:); clear vwnd; … … 204 211 205 212 %%%%%%%%%%%%%% FICHIER OLR 206 % ouverture / lecture du fichier 207 load eof12_rossby_30100.txt; ind_olr=reshape(eof12_rossby_30100,122,28); 213 % ouverture / lecture du fichier 214 load eof12_rossby_30100.txt; 215 ind_olr=reshape(eof12_rossby_30100,122,28); 208 216 clear eof12_rossby_30100 209 217 k=122*28; … … 211 219 % on calcule l ecart type sur la serie entiere de l OLR 212 220 ind_olr1=reshape(ind_olr, k,1); 213 ind_olr2=std(ind_olr1); clear ind_olr1; 221 ind_olr2=std(ind_olr1); 222 clear ind_olr1; 214 223 215 224 216 225 % intialisation des tableaux 217 vwnd925_filtre_compomax=NaN*ones(60,31,49,144); 226 vwnd925_filtre_compomax=NaN*ones(60,31,49,144); 218 227 vwnd925_filtre_compomin=NaN*ones(60,31,49,144); 219 228 220 compteurmax=0; 229 compteurmax=0; 221 230 compteurmin=0; 222 231 223 for a=1:28; % boucle sur les annees 224 clear delta; 232 % boucle sur les annees 233 for a=1:28; 234 clear delta; 225 235 delta=zeros(122,1); 226 for b=1:122; % boucle sur les jours : on prepare avant 236 % boucle sur les jours : on prepare avant 237 for b=1:122; 227 238 if b>1; 228 239 delta(b)=ind_olr(b,a)-ind_olr(b-1,a); 229 240 end; 230 241 end; 231 for b=1:122; % boucle sur les jours 232 if (b>20 && b<112); % 1ere condition (laisser une marge de 10) 233 % cas 1 : max deltas apres negetifs et deltas avant postifs 234 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && ind_olr(b,a)>ind_olr2); 242 % boucle sur les jours 243 for b=1:122; 244 % 1ere condition (laisser une marge de 10) 245 if (b>20 && b<112); 246 % cas 1 : max deltas apres negetifs et deltas avant postifs 247 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && ind_olr(b,a)>ind_olr2); 235 248 compteurmax=compteurmax+1; 236 249 vwnd925_filtre_compomax(compteurmax,1,:,:)=vwnd(b-20,a,:,:); … … 267 280 vwnd925_filtre_compomax(compteurmax,30,:,:)=vwnd(b+9,a,:,:); 268 281 vwnd925_filtre_compomax(compteurmax,31,:,:)=vwnd(b+10,a,:,:); 269 % cas 2 : min deltas apres positifs et deltas avant negatifs 282 % cas 2 : min deltas apres positifs et deltas avant negatifs 270 283 elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && ind_olr(b,a)<(-ind_olr2)); 271 284 compteurmin=compteurmin+1; … … 306 319 end; 307 320 end; 308 end; 321 end; 309 322 end; 310 323 … … 312 325 % on fait la somme des valeurs de vwnd925_filtreentiel sur le nbre d occurences 313 326 % on obtent un tableau de la forme (jours-avant-apres,lon,lat) 314 vwnd925_filtre_compomin1(:,:,:)=nanmean(vwnd925_filtre_compomin); clear vwnd925_filtre_compomin;315 vwnd925_filtre_compomax1(:,:,:)=nanmean(vwnd925_filtre_compomax); clear vwnd925_filtre_compomax;316 317 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 327 vwnd925_filtre_compomin1(:,:,:)=nanmean(vwnd925_filtre_compomin); 328 clear vwnd925_filtre_compomin; 329 vwnd925_filtre_compomax1(:,:,:)=nanmean(vwnd925_filtre_compomax); 330 clear vwnd925_filtre_compomax; 318 331 319 332 figure(1); … … 333 346 delta_uwnd925_filtre_min(b,c)=uwnd925_filtre_compomin1(f,b,c)-uwnd925_filtre_compomax1(f,b,c); 334 347 delta_vwnd925_filtre_min(b,c)=vwnd925_filtre_compomin1(f,b,c)-vwnd925_filtre_compomax1(f,b,c); 335 348 336 349 end; 337 350 end; … … 344 357 delta_vwnd925_filtre(:,1:72)=delta_vwnd925_filtre_min(:,73:144); 345 358 delta_vwnd925_filtre(:,73:144)=delta_vwnd925_filtre_min(:,1:72); 346 xi=[-180:3.75:176.25]; xi=xi'; yi=[-87.1591:3.708895:87.1591]; 359 xi=[-180:3.75:176.25]; 360 xi=xi'; 361 yi=[-87.1591:3.708895:87.1591]; 347 362 clear carteu cartev; 348 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 363 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 349 364 cartev=interp2(lon-180,lat,delta_vwnd925_filtre,xi,yi); 350 365 clear coco ; 351 366 coco(:,:)=pression(5-e,:,:); 352 hgt=interp2(lon-180,lat,coco,xi,yi);367 hgt=interp2(lon-180,lat,coco,xi,yi); 353 368 palette 354 355 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none');hold on;369 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 370 hold on; 356 371 caxis([-20 20]); 357 372 aa=quiver(xi,yi,carteu,cartev,'k'); … … 360 375 else 361 376 set (gca,'XTick',[-60:20:120],'XTickLabel',[' ';' ';' ';' ';' ';' ';' ';' ';' ';' '],'fontsize',6); 362 end 377 end 363 378 set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';' 0 ';'10N';'20N';'30N'],'fontname','Arial','fontsize',6); 364 379 cartemonde1; 365 380 if e==2; 366 co=colorbar; 381 co=colorbar; 367 382 set (co,'ytick',[-20:10:20],'yticklabel',[-20:10:20],'fontname','arial','fontsize',6); 368 383 end; … … 376 391 text(-150,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 377 392 pos_vert=e/6.1; 378 % set (gca,'position',[0.2 pos_vert 0.3 1/6.1]) 379 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 393 % set (gca,'position',[0.2 pos_vert 0.3 1/6.1]) 394 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 380 395 end; 381 396 382 383 print -depsc2 composite_wind925_EOF12_ER30100_part1.eps; 384 385 386 387 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 397 print -depsc2 composite_wind925_EOF12_ER30100_part1.eps; 388 398 389 399 figure(2); … … 403 413 delta_uwnd925_filtre_min(b,c)=uwnd925_filtre_compomin1(f,b,c)-uwnd925_filtre_compomax1(f,b,c); 404 414 delta_vwnd925_filtre_min(b,c)=vwnd925_filtre_compomin1(f,b,c)-vwnd925_filtre_compomax1(f,b,c); 405 415 406 416 end; 407 417 end; … … 414 424 delta_vwnd925_filtre(:,1:72)=delta_vwnd925_filtre_min(:,73:144); 415 425 delta_vwnd925_filtre(:,73:144)=delta_vwnd925_filtre_min(:,1:72); 416 xi=[-180:3.75:176.25]; xi=xi'; yi=[-87.1591:3.708895:87.1591]; 426 xi=[-180:3.75:176.25]; 427 xi=xi'; 428 yi=[-87.1591:3.708895:87.1591]; 417 429 clear carteu cartev; 418 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 430 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 419 431 cartev=interp2(lon-180,lat,delta_vwnd925_filtre,xi,yi); 420 432 clear coco ; 421 433 coco(:,:)=pression(5-e+4,:,:); 422 hgt=interp2(lon-180,lat,coco,xi,yi);434 hgt=interp2(lon-180,lat,coco,xi,yi); 423 435 palette 424 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 436 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 425 437 caxis([-20 20]); 426 438 hold on; … … 430 442 else 431 443 set (gca,'XTick',[-60:20:120],'XTickLabel',[' ';' ';' ';' ';' ';' ';' ';' ';' ';' '],'fontsize',6); 432 end 444 end 433 445 set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';' 0 ';'10N';'20N';'30N'],'fontname','Arial','fontsize',6); 434 446 435 447 cartemonde1; 436 448 if e==2; 437 co=colorbar; 449 co=colorbar; 438 450 set (co,'ytick',[-20:10:20],'yticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 439 451 end; … … 447 459 text(-150,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 448 460 pos_vert=e/6.1; 449 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 461 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 450 462 end; 451 463 452 464 453 print -depsc2 composite_wind925_EOF12_ER30100_part2.eps; 454 455 456 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 465 print -depsc2 composite_wind925_EOF12_ER30100_part2.eps; 457 466 458 467 figure(3); … … 471 480 delta_uwnd925_filtre_min(b,c)=uwnd925_filtre_compomin1(f,b,c)-uwnd925_filtre_compomax1(f,b,c); 472 481 delta_vwnd925_filtre_min(b,c)=vwnd925_filtre_compomin1(f,b,c)-vwnd925_filtre_compomax1(f,b,c); 473 482 474 483 end; 475 484 end; … … 482 491 delta_vwnd925_filtre(:,1:72)=delta_vwnd925_filtre_min(:,73:144); 483 492 delta_vwnd925_filtre(:,73:144)=delta_vwnd925_filtre_min(:,1:72); 484 xi=[-180:3.75:176.25]; xi=xi'; yi=[-87.1591:3.708895:87.1591]; 493 xi=[-180:3.75:176.25]; 494 xi=xi'; 495 yi=[-87.1591:3.708895:87.1591]; 485 496 clear carteu cartev; 486 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 497 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 487 498 cartev=interp2(lon-180,lat,delta_vwnd925_filtre,xi,yi); 488 499 clear coco ; 489 500 coco(:,:)=pression(5-e+8,:,:); 490 hgt=interp2(lon-180,lat,coco,xi,yi); 501 hgt=interp2(lon-180,lat,coco,xi,yi); 491 502 palette 492 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 503 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 493 504 caxis([-20 20]); 494 505 hold on; … … 498 509 else 499 510 set (gca,'XTick',[-60:20:120],'XTickLabel',[' ';' ';' ';' ';' ';' ';' ';' ';' ';' '],'fontsize',6); 500 end 511 end 501 512 set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';' 0 ';'10N';'20N';'30N'],'fontname','Arial','fontsize',6); 502 513 503 514 cartemonde1; 504 515 if e==2; 505 co=colorbar; 516 co=colorbar; 506 517 set (co,'ytick',[-20:10:20],'yticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 507 518 end; … … 515 526 text(-150,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 516 527 pos_vert=e/6.1; 517 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 528 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 518 529 end; 519 530 520 531 521 print -depsc2 composite_wind925_EOF12_ER30100_part3.eps; 522 523 524 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 532 print -depsc2 composite_wind925_EOF12_ER30100_part3.eps; 525 533 526 534 figure(4); … … 539 547 delta_uwnd925_filtre_min(b,c)=uwnd925_filtre_compomin1(f,b,c)-uwnd925_filtre_compomax1(f,b,c); 540 548 delta_vwnd925_filtre_min(b,c)=vwnd925_filtre_compomin1(f,b,c)-vwnd925_filtre_compomax1(f,b,c); 541 549 542 550 end; 543 551 end; … … 550 558 delta_vwnd925_filtre(:,1:72)=delta_vwnd925_filtre_min(:,73:144); 551 559 delta_vwnd925_filtre(:,73:144)=delta_vwnd925_filtre_min(:,1:72); 552 xi=[-180:3.75:176.25]; xi=xi'; yi=[-87.1591:3.708895:87.1591]; 560 xi=[-180:3.75:176.25]; 561 xi=xi'; 562 yi=[-87.1591:3.708895:87.1591]; 553 563 clear carteu cartev; 554 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 564 carteu=interp2(lon-180,lat,delta_uwnd925_filtre,xi,yi); 555 565 cartev=interp2(lon-180,lat,delta_vwnd925_filtre,xi,yi); 556 566 clear coco ; 557 567 coco(:,:)=pression(5-e+10,:,:); 558 hgt=interp2(lon-180,lat,coco,xi,yi); 568 hgt=interp2(lon-180,lat,coco,xi,yi); 559 569 palette 560 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 570 aa=contourf(xi,yi,hgt,[-20:2:20],'LineStyle','none'); 561 571 caxis([-20 20]); 562 572 hold on; … … 566 576 else 567 577 set (gca,'XTick',[-60:20:120],'XTickLabel',[' ';' ';' ';' ';' ';' ';' ';' ';' ';' '],'fontsize',6); 568 end 578 end 569 579 set (gca,'YTick',[-10:10:30],'YTickLabel',['10S';' 0 ';'10N';'20N';'30N'],'fontname','Arial','fontsize',6); 570 580 571 581 cartemonde1; 572 582 if e==2; 573 co=colorbar; 583 co=colorbar; 574 584 set (co,'ytick',[-20:10:20],'yticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 575 585 end; … … 583 593 text(-150,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 584 594 pos_vert=e/6.1; 585 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 595 set (gca,'position',[0.2 pos_vert 0.4 1/6.1]) 586 596 end; 587 597 588 print -depsc2 composite_wind925_EOF12_ER30100_part4.eps; 589 590 591 598 print -depsc2 composite_wind925_EOF12_ER30100_part4.eps;
Note: See TracChangeset
for help on using the changeset viewer.