Changeset 16 for trunk/src/mode_sahelien/composite_pluie_ird_rossby1030.m
- Timestamp:
- 01/06/09 10:53:18 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mode_sahelien/composite_pluie_ird_rossby1030.m
r15 r16 1 % 2 1 3 %%%%%%%%%%%%%%% FICHIER pluie IRD 2 4 % ouverture / lecture du fichier … … 19 21 for c=1:365; 20 22 if v(a,b,c)>990; 21 v(a,b,c)=NaN; 23 v(a,b,c)=NaN; 22 24 elseif v(a,b,c)<0; 23 25 v(a,b,c)=NaN; … … 36 38 for c=1:366; 37 39 if v(a,b,c)>990; 38 v(a,b,c)=NaN; 40 v(a,b,c)=NaN; 39 41 elseif v(a,b,c)<0; 40 42 v(a,b,c)=NaN; … … 53 55 for c=1:365; 54 56 if v(a,b,c)>990; 55 v(a,b,c)=NaN; 57 v(a,b,c)=NaN; 56 58 elseif v(a,b,c)<0; 57 59 v(a,b,c)=NaN; … … 70 72 for c=1:365; 71 73 if v(a,b,c)>990; 72 v(a,b,c)=NaN; 74 v(a,b,c)=NaN; 73 75 elseif v(a,b,c)<0; 74 76 v(a,b,c)=NaN; … … 87 89 for c=1:365; 88 90 if v(a,b,c)>990; 89 v(a,b,c)=NaN; 91 v(a,b,c)=NaN; 90 92 elseif v(a,b,c)<0; 91 93 v(a,b,c)=NaN; … … 106 108 for c=1:366; 107 109 if v(a,b,c)>990; 108 v(a,b,c)=NaN; 110 v(a,b,c)=NaN; 109 111 elseif v(a,b,c)<0; 110 112 v(a,b,c)=NaN; … … 123 125 for c=1:365; 124 126 if v(a,b,c)>990; 125 v(a,b,c)=NaN; 127 v(a,b,c)=NaN; 126 128 elseif v(a,b,c)<0; 127 129 v(a,b,c)=NaN; … … 140 142 for c=1:365; 141 143 if v(a,b,c)>990; 142 v(a,b,c)=NaN; 144 v(a,b,c)=NaN; 143 145 elseif v(a,b,c)<0; 144 146 v(a,b,c)=NaN; … … 157 159 for c=1:365; 158 160 if v(a,b,c)>990; 159 v(a,b,c)=NaN; 161 v(a,b,c)=NaN; 160 162 elseif v(a,b,c)<0; 161 163 v(a,b,c)=NaN; … … 174 176 for c=1:366; 175 177 if v(a,b,c)>990; 176 v(a,b,c)=NaN; 178 v(a,b,c)=NaN; 177 179 elseif v(a,b,c)<0; 178 180 v(a,b,c)=NaN; … … 191 193 for c=1:365; 192 194 if v(a,b,c)>990; 193 v(a,b,c)=NaN; 195 v(a,b,c)=NaN; 194 196 elseif v(a,b,c)<0; 195 197 v(a,b,c)=NaN; … … 208 210 for c=1:365; 209 211 if v(a,b,c)>990; 210 v(a,b,c)=NaN; 212 v(a,b,c)=NaN; 211 213 elseif v(a,b,c)<0; 212 214 v(a,b,c)=NaN; … … 223 225 clear 224 226 225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%226 227 load pluie.mat; 227 228 % pluie dimension : lon lat jours annee (41 17 122 12) => jour annee lat lon (17 41 122 12) 228 229 229 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%230 230 load eof12_rossby_1030.txt; 231 231 232 232 % on met sous la forme annee mois 233 233 eof12_rossby_1030=reshape(eof12_rossby_1030,122,28); 234 olr_eof=eof12_rossby_1030(:,1:12); % selection des annees avant 1990 234 % selection des annees avant 1990 235 olr_eof=eof12_rossby_1030(:,1:12); 235 236 clear eof12_rossby_1030; 236 237 237 238 % on calcule l ecart type sur la serie temporelle de l'olr 238 k=122*12; 239 k=122*12; 239 240 olrbis=reshape(olr_eof,k,1); 240 olrbis=std(olrbis); 241 olrbis=std(olrbis); 241 242 242 243 % intialisation des tableaux 243 pluie_filtre_compomax=NaN*ones(30,31,17,41); 244 pluie_filtre_compomax=NaN*ones(30,31,17,41); 244 245 pluie_filtre_compomin=NaN*ones(30,31,17,41); 245 246 pluie=permute(pluie,[3 4 2 1]); 246 compteurmax=0; 247 compteurmax=0; 247 248 compteurmin=0; 248 249 249 for a=1:12; % boucle sur les annees 250 clear delta; 250 % boucle sur les annees 251 for a=1:12; 252 clear delta; 251 253 delta=zeros(122,1); 252 for b=1:122; % boucle sur les jours : on prepare avant 254 % boucle sur les jours : on prepare avant 255 for b=1:122; 253 256 if b>1; 254 257 delta(b)=olr_eof(b,a)-olr_eof(b-1,a); 255 258 end; 256 259 end; 257 for b=1:122; % boucle sur les jours 258 if (b>20 && b<112); % 1ere condition (laisser une marge de 10) 259 % cas 1 : max deltas apres negetifs et deltas avant postifs 260 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && olr_eof(b,a)>olrbis); 260 % boucle sur les jours 261 for b=1:122; 262 % 1ere condition (laisser une marge de 10) 263 if (b>20 && b<112); 264 % cas 1 : max deltas apres negetifs et deltas avant postifs 265 if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && olr_eof(b,a)>olrbis); 261 266 compteurmax=compteurmax+1; 262 267 pluie_filtre_compomax(compteurmax,1,:,:)=pluie(b-20,a,:,:); … … 291 296 pluie_filtre_compomax(compteurmax,30,:,:)=pluie(b+9,a,:,:); 292 297 pluie_filtre_compomax(compteurmax,31,:,:)=pluie(b+10,a,:,:); 293 % cas 2 : min deltas apres positifs et deltas avant negatifs 298 % cas 2 : min deltas apres positifs et deltas avant negatifs 294 299 elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && olr_eof(b,a)<(-olrbis)); 295 300 compteurmin=compteurmin+1; … … 328 333 end; 329 334 end; 330 end; 335 end; 331 336 end; 332 337 … … 334 339 % on fait la somme des valeurs de pluie_filtreentiel sur le nbre d occurences 335 340 % on obtent un tableau de la forme (jours-avant-apres,lon,lat) 336 pluie_filtre_compomin1(:,:,:)=nanmean(pluie_filtre_compomin); clear pluie_filtre_compomin; 337 pluie_filtre_compomax1(:,:,:)=nanmean(pluie_filtre_compomax); clear pluie_filtre_compomax; 338 339 figure(1); orient('landscape'); 340 figure(2); orient('landscape'); 341 figure(3); orient('landscape'); 341 pluie_filtre_compomin1(:,:,:)=nanmean(pluie_filtre_compomin); 342 clear pluie_filtre_compomin; 343 pluie_filtre_compomax1(:,:,:)=nanmean(pluie_filtre_compomax); 344 clear pluie_filtre_compomax; 345 346 figure(1); 347 orient('landscape'); 348 figure(2); 349 orient('landscape'); 350 figure(3); 351 orient('landscape'); 342 352 343 353 for e=1:7; … … 368 378 pluie_max(1,1)=-0.0001; 369 379 pluie_max(1,2)=10.0001; 370 lat=[-10:2.5:30]; lon=[-70:2.5:30]'; 371 figure(1); subplot(7,1,8-e); palette 380 lat=[-10:2.5:30]; 381 lon=[-70:2.5:30]'; 382 figure(1); 383 subplot(7,1,8-e); 384 palette 372 385 aa=contourf(lon,lat,pluie_min,[0:0.5:10],'LineStyle','none'); 373 386 if e==1; … … 375 388 else 376 389 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 377 end; 390 end; 378 391 set (gca,'YTick',[-10:10:40],'YTickLabel',[' ';' 0';'10N';'20N';'30N';' '],'fontname','Arial','fontsize',6); 379 392 if e==4; 380 co=colorbar; 393 co=colorbar; 381 394 set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 382 395 end; 383 hold on; cartemonde1; 396 hold on; 397 cartemonde1; 384 398 set (gca,'tickDir','out'); 385 399 axis equal; … … 390 404 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 391 405 pos_vert=e/10; 392 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 406 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 393 407 % *************************** 394 figure(2); subplot(7,1,8-e); palette 408 figure(2); 409 subplot(7,1,8-e); 410 palette 395 411 aa=contourf(lon,lat,pluie_max,[0:0.5:10],'LineStyle','none'); 396 412 if e==1; … … 398 414 else 399 415 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 400 end; 416 end; 401 417 set (gca,'YTick',[-10:10:40],'YTickLabel',[' ';' 0';'10N';'20N';'30N';' '],'fontname','Arial','fontsize',6); 402 418 if e==4; 403 co=colorbar; 419 co=colorbar; 404 420 set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 405 421 end; 406 hold on; cartemonde1; 422 hold on; 423 cartemonde1; 407 424 set (gca,'tickDir','out'); 408 425 axis equal; … … 413 430 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 414 431 pos_vert=e/10; 415 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 432 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 416 433 %******************************************** 417 434 418 figure(3); subplot(7,1,8-e); palette 435 figure(3); 436 subplot(7,1,8-e); 437 palette 419 438 diff=pluie_min-pluie_max; 420 439 diff(1,1)=-5.01; … … 425 444 else 426 445 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 427 end; 446 end; 428 447 set (gca,'YTick',[-10:10:40],'YTickLabel',[' ';' 0';'10N';'20N';'30N';' '],'fontname','Arial','fontsize',6); 429 448 if e==4; 430 co=colorbar; 449 co=colorbar; 431 450 set (co,'xtick',[-20:10:20],'xticklabel',[-20:10:20],'fontname','Arial','fontsize',6); 432 451 end; 433 hold on; cartemonde1; 452 hold on; 453 cartemonde1; 434 454 set (gca,'tickDir','out'); 435 455 axis equal; … … 440 460 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 441 461 pos_vert=e/10; 442 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 443 444 445 446 end; 447 figure(1); print -depsc2 composite_pluie_min_eof2a.eps; 448 figure(2); print -depsc2 composite_pluie_max_eof2a.eps; 449 figure(3); print -depsc2 composite_pluie_diff_eof2a.eps; 450 close all 451 452 %******************************* 453 454 455 figure(1); orient('landscape'); 456 figure(2); orient('landscape'); 457 figure(3); orient('landscape'); 462 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 463 464 465 466 end; 467 figure(1); 468 print -depsc2 composite_pluie_min_eof2a.eps; 469 figure(2); 470 print -depsc2 composite_pluie_max_eof2a.eps; 471 figure(3); 472 print -depsc2 composite_pluie_diff_eof2a.eps; 473 close all; 474 475 figure(1); 476 orient('landscape'); 477 figure(2); 478 orient('landscape'); 479 figure(3); 480 orient('landscape'); 458 481 459 482 for e=1:7; … … 484 507 pluie_max(1,1)=-0.0001; 485 508 pluie_max(1,2)=10.0001; 486 lat=[-10:2.5:30]; lon=[-70:2.5:30]'; 487 figure(1); subplot(7,1,8-e); palette 509 lat=[-10:2.5:30]; 510 lon=[-70:2.5:30]'; 511 figure(1); 512 subplot(7,1,8-e); 513 palette 488 514 aa=contourf(lon,lat,pluie_min,[0:0.5:10],'LineStyle','none'); 489 515 if e==1; … … 491 517 else 492 518 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 493 end; 519 end; 494 520 set (gca,'YTick',[-10:10:40],'YTickLabel',[' ';' 0';'10N';'20N';'30N';' '],'fontname','Arial','fontsize',6); 495 521 if e==4; 496 co=colorbar; 522 co=colorbar; 497 523 set (co,'xtick',[0:2:10],'xticklabel',[0:2:10],'fontname','Arial','fontsize',6); 498 524 end; 499 hold on; cartemonde1; 525 hold on; 526 cartemonde1; 500 527 set (gca,'tickDir','out'); 501 528 axis equal; … … 506 533 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 507 534 pos_vert=e/10; 508 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 535 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 509 536 % *************************** 510 figure(2); subplot(7,1,8-e); palette 537 figure(2); 538 subplot(7,1,8-e); 539 palette 511 540 aa=contourf(lon,lat,pluie_max,[0:0.5:10],'LineStyle','none'); 512 541 if e==1; … … 514 543 else 515 544 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 516 end; 545 end; 517 546 set (gca,'YTick',[-10:10:40],'YTickLabel',[' ';' 0';'10N';'20N';'30N';' '],'fontname','Arial','fontsize',6); 518 547 if e==4; 519 co=colorbar; 548 co=colorbar; 520 549 set (co,'xtick',[0:2:10],'xticklabel',[0:2:10],'fontname','Arial','fontsize',6); 521 550 end; 522 hold on; cartemonde1; 551 hold on; 552 cartemonde1; 523 553 set (gca,'tickDir','out'); 524 554 axis equal; … … 529 559 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 530 560 pos_vert=e/10; 531 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 561 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 532 562 %******************************************** 533 563 534 figure(3); subplot(7,1,8-e); palette 564 figure(3); 565 subplot(7,1,8-e); 566 palette 535 567 diff=pluie_min-pluie_max; 536 568 diff(1,1)=-5.01; … … 541 573 else 542 574 set (gca,'XTick',[-180:60:180],'XTickLabel',[' ';' ';' ';' ';' ';' '],'fontname','Arial','fontsize',6); 543 end; 575 end; 544 576 set (gca,'YTick',[-10:10:40],'YTickLabel',[' ';' 0';'10N';'20N';'30N';' '],'fontname','Arial','fontsize',6); 545 577 if e==4; 546 co=colorbar; 578 co=colorbar; 547 579 set (co,'xtick',[-5:1:5],'xticklabel',[-5:1:5],'fontname','Arial','fontsize',6); 548 580 end; 549 hold on; cartemonde1; 581 hold on; 582 cartemonde1; 550 583 set (gca,'tickDir','out'); 551 584 axis equal; … … 556 589 text(-270,10,['day = ',num2str(f-21)],'fontname','Arial','fontsize',10); 557 590 pos_vert=e/10; 558 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 559 560 561 562 end; 563 figure(1); print -depsc2 composite_pluie_min_eof2b.eps; 564 figure(2); print -depsc2 composite_pluie_max_eof2b.eps; 565 figure(3); print -depsc2 composite_pluie_diff_eof2b.eps; 566 567 568 %******************************* 569 591 set (gca,'position',[0.2 pos_vert 0.5 0.1]); 592 end; 593 figure(1); 594 print -depsc2 composite_pluie_min_eof2b.eps; 595 figure(2); 596 print -depsc2 composite_pluie_max_eof2b.eps; 597 figure(3); 598 print -depsc2 composite_pluie_diff_eof2b.eps;
Note: See TracChangeset
for help on using the changeset viewer.