- Timestamp:
- 01/06/09 10:53:18 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mode_sahelien/composite_vwnd700_EOF12_ER30100_dat.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 vwnd700=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('vwnd700.1979.nc'); vwnd700(:,:,:,1)=vwnd(siz:sizbis,1,:,:); clear vwnd; 12 15 ncload('vwnd700.1980.nc'); vwnd700(:,:,:,2)=vwnd(siz+1:sizbis+1,1,:,:); clear vwnd; … … 48 51 49 52 %%%%%%%%%%%%%%% FICHIER OLR 50 % ouverture / lecture du fichier 53 % ouverture / lecture du fichier 51 54 load eof12_rossby_30100.txt 52 55 ind_olr=reshape(eof12_rossby_30100,122,28); … … 55 58 % on calcule l ecart type sur la serie entiere de l OLR 56 59 ind_olr1=reshape(ind_olr, k,1); 57 ind_olr2=std(ind_olr1); clear ind_olr1;58 59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 60 ind_olr2=std(ind_olr1); 61 clear ind_olr1; 62 60 63 % GEOPOTENTIEL 61 64 % intialisation des tableaux 62 vwnd700_filtre_compomax=NaN*ones(60,31,49,144); 65 vwnd700_filtre_compomax=NaN*ones(60,31,49,144); 63 66 vwnd700_filtre_compomin=NaN*ones(60,31,49,144); 64 67 65 compteurmax=0; 68 compteurmax=0; 66 69 compteurmin=0; 67 70 68 for a=1:28; % boucle sur les annees 69 clear delta; 71 % boucle sur les annees 72 for a=1:28; 73 clear delta; 70 74 delta=zeros(122,1); 71 for b=1:122; % boucle sur les jours : on prepare avant 75 % boucle sur les jours : on prepare avant 76 for b=1:122; 72 77 if b>1; 73 78 delta(b)=ind_olr(b,a)-ind_olr(b-1,a); 74 79 end; 75 80 end; 76 for b=1:122; % boucle sur les jours 77 if (b>22 && b<112); % 1ere condition (laisser une marge de 10) 78 % cas 1 : max deltas apres negetifs et deltas avant postifs 79 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>22 && 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); 80 87 compteurmax=compteurmax+1; 81 88 vwnd700_filtre_compomax(compteurmax,1,:,:)=vwnd(b-21,a,:,:); … … 113 120 vwnd700_filtre_compomax(compteurmax,31,:,:)=vwnd(b+9,a,:,:); 114 121 115 % cas 2 : min deltas apres positifs et deltas avant negatifs 122 % cas 2 : min deltas apres positifs et deltas avant negatifs 116 123 elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && ind_olr(b,a)<(-ind_olr2)); 117 124 compteurmin=compteurmin+1; … … 149 156 vwnd700_filtre_compomin(compteurmin,30,:,:)=vwnd(b+8,a,:,:); 150 157 vwnd700_filtre_compomin(compteurmin,31,:,:)=vwnd(b+9,a,:,:); 151 158 152 159 end; 153 160 end; 154 end; 161 end; 155 162 end; 156 163 … … 158 165 % on fait la somme des valeurs de vwnd700_filtreentiel sur le nbre d occurences 159 166 % on obtent un tableau de la forme (jours-avant-apres,lon,lat) 160 vwnd700_filtre_compomin1(:,:,:)=nanmean(vwnd700_filtre_compomin); clear vwnd700_filtre_compomin; 161 vwnd700_filtre_compomax1(:,:,:)=nanmean(vwnd700_filtre_compomax); clear vwnd700_filtre_compomax; 162 163 x=[-10:1:10]'; %' 164 165 figure(1); 167 vwnd700_filtre_compomin1(:,:,:)=nanmean(vwnd700_filtre_compomin); 168 clear vwnd700_filtre_compomin; 169 vwnd700_filtre_compomax1(:,:,:)=nanmean(vwnd700_filtre_compomax); 170 clear vwnd700_filtre_compomax; 171 172 x=[-10:1:10]'; 173 174 figure(1); 166 175 orient('landscape'); 167 176 lat=lat';
Note: See TracChangeset
for help on using the changeset viewer.