%

%%%%%%%%%%%%%%% FICHIER OLR
% ouverture / lecture du fichier
clear;

fid=fopen('olr_filtre1030_bis.dat','r');
siz=144*25*3416;
v=fread(fid,siz,'float');
fclose(fid);
olr=reshape(v,144,25,122,28);
clear v;
olr1=permute(olr,[3 4 2 1]);
clear olr

ncload('olr.day.mean.nc','lon','lat');

lat=lat(21:45);
lon=lon-180;

status=load('eof24_1030.txt');
eof24_1030=status;
clear status;

% on met sous la forme annee mois
olr_eof=reshape(eof24_1030,122,28);
clear eof24_1030;

% on calcule l ecart type sur la serie temporelle de l OLR
k=122*28;
olrbis=reshape(olr_eof,k,1);
olrbis=std(olrbis);

% intialisation des tableaux
olr_filtre_compomax=NaN*ones(50,25,144);
olr_filtre_compomin=NaN*ones(50,25,144);

compteurmax=0;
compteurmin=0;

% boucle sur les annees
for a=1:28;
   clear delta;
   delta=zeros(122,1);
   % boucle sur les jours : on prepare avant
   for b=1:122;
        if b>1;
            delta(b)=olr_eof(b,a)-olr_eof(b-1,a);
        end;
   end;
   % boucle sur les jours
   for b=1:122;
      % 1ere condition (laisser une marge de 10)
      if (b>20 && b<112);
% cas 1 : max deltas apres negetifs et deltas avant postifs
         if (delta(b+1)<0 && delta(b)<0 && delta(b-1)>0 && delta(b-2)>0 && olr_eof(b,a)>olrbis);
            compteurmax=compteurmax+1;
            olr_filtre_compomax(compteurmax,:,:)=olr1(b,a,:,:);
% cas 2 : min deltas apres positifs et deltas avant negatifs
         elseif (delta(b+1)>0 && delta(b)>0 && delta(b-1)<0 && delta(b-2)<0 && olr_eof(b,a)<(-olrbis));
            compteurmin=compteurmin+1;
            olr_filtre_compomin(compteurmin,:,:)=olr1(b,a,:,:);
         end;
      end;
   end;
end;
compteurmax_eof234_1030=compteurmax;
compteurmin_eof234_1030=compteurmin;

% on fait la somme des valeurs de olr_filtreentiel sur le nbre d occurences
% on obtent un tableau de la forme (jours-avant-apres,lon,lat)
olr_filtre_compomin1(:,:)=nanmean(olr_filtre_compomin);
clear olr_filtre_compomin;
olr_filtre_compomax1(:,:)=nanmean(olr_filtre_compomax);
clear olr_filtre_compomax;

x=[-10:1:10]';

delta_olr_filtre_min=zeros(25,144);
for b=1:25;
    for c=1:144;
        delta_olr_filtre_min(b,c)=olr_filtre_compomin1(b,c)-olr_filtre_compomax1(b,c);
        if delta_olr_filtre_min(b,c)<-25;
            delta_olr_filtre_min(b,c)=-25;
        elseif delta_olr_filtre_min(b,c)>25;
            delta_olr_filtre_min(b,c)=25;
        end;
    end;
end;
delta_olr_filtre_min=flipud(delta_olr_filtre_min);
sauvegrads('composite_olr_EOF234_1030',delta_olr_filtre_min,[-180 2.5 -20 2.5]);
delta_olr_filtre_min=flipud(delta_olr_filtre_min);
delta_olr_filtre_min(1,1)=-25.0001;
delta_olr_filtre_min(1,2)=25.0001;
fin=-30+24*2.5;

clear fin;
fin=-10+16*2.5;
[cs,h]=contour(lon,lat,delta_olr_filtre_min,[5:5:25],'k');
clabel(cs,h,[10 20 30],'color','k','rotation',0,'fontsize',5);
hold on;

clear cs h;
hold on;
[cs,h]=contour(lon,lat,delta_olr_filtre_min,[-25:5:-5],'k:','Linewidth',0.3);
clabel(cs,h,[-30 -20 -10],'color','k','rotation',0,'fontsize',5);

cartemonde1;

axis equal;
axis([-80 100 -10 30]);

set (gca,'XTick',[-180:60:180],'XTickLabel',[' 180';'120W';' 60W';'  0 ';' 60E';'120E';'180 '],'fontname','Arial','fontsize',6);
set (gca,'YTick',[-10:10:40],'YTickLabel',['10S';' 0 ';'10N';'20N';'30N'],'fontname','Arial','fontsize',6);
set (gca,'tickDir','out');
title('Composite t=0 OLR et Pluies IRD indice ITCZ reconstruit EOF234','fontsize',6);
