%concaten_ficros_pigmentsphyto_p1l2.m

%objectif: prog de concatenation des fichiers "ficrosdficcoordpxly_modif" (fichier trame)
                                 %avec "Pigments_PxLy" (fichier pigments phytoplanctoniques) 
%FICHIERS LUS:
%fichiers "ficrosdficcoordpxly_modif"  : 
                      %legende + données (8 colonnes)
                      %fichier excel, suppression de la legende et enregistrement en .txt
%fichiers "Pigments_PXLY": 
                  %legende + données 
                  %fichier excel, suppression légende et enregistrement en .txt

%concatene les deux fichiers par mise en correspondance du n° de station et du n° de btl
               %n° de station = col n°2 pour fichier ficros
               %n° de station = col n°9 (leg1 et leg2) pour fichier pigmentsphyto
               %n° de btl = col n°3 pour fichier ficros
               %n° de btl = col n°11 (leg1), col n°10 (leg2) pour fichier pigmentsphyto
%differences entre les leg 1 et les leg2 pour fichier pigmentsphyto:
    %nbre de col au total: leg1:36 col, leg2:35 col
    %nstation et nbtl ont des positions différentes (col 9 et 11 pour les leg1, col 9 et 10 pour les leg2)
    %leg1: réunion en col 20 du violaxanthin+neoxanthin alors que pour leg2 les col sont séparées: col20=violaxanthin et col21=neoxanthin
    %pour les leg 1 : présence des col "Chlorophyll c-like1 @ 2.6 min" et col "Chlorophyllid a" (ces deux col sont absentes pour les leg2)           
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
%trame
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficros_coord\concaten_ficrosdcoord
load ficrosdficcoordp1l2_modif.txt
%Detail des colonnes:
%col 1=n ligne
%col 2=n station
%col 3=n position btl
%col 4=prof dbars
%col 5=station
%col 6=juldeb
%col 7=latcent
%col 8=longcent
%choix du parametre au sein de la liste du fichier trame rosette
%liste fichier rosette (=trame rosette)=listros
listros={'nligne','nstation','posbtl','prof','station','juldeb','latcent','longcent'};

%fichier donnees pomme web
cd D:\pomme\ctdraw\donnees_pomme_web_NOV_2003\pigments_phytoplanctoniques
load Pigments_P1L2.txt
%choix du n° de la colonne (pour le fichier dosage uniquement)
%pour dossier "PIGMENTS"
%dosligcol=1;  %PIGMligcol= n° de la colonne 'n° de ligne' du fichier dosage
%dosshipcol=2;  %PIGMshipcol= n° de la colonne 'ship' du fichier dosage
%etc.
%choix du parametre au sein de la liste du fichier dosage
%liste fichier dosage=listdos
listdos={'NLIG','SHIP','CAMP','LEG','LATIT','LONGIT','DATE','TIME','STATION','BTL','SITE','DEPTH','CHLAC3','CHLAC1C2','PERID','BUTANO','FUCOX','HEXANOY','PRASINO','VIOL','NEOX','DIADINO','ALLOX','DIAT','ZEAX','LUTEIN','LUTEIN5','CHLANP','TCHLB','DIVCHLA','CHLA','TCHLA','CHLANP2','CAROT','FLAGS'};
%NLIG=n ligne (en col 1)
%SHIP=ship (en col 2)
%CAMP=campagne (en col 3)
%LEG (en col 4)
%LATIT (en col 5)
%LONGIT (en col 6)
%DATE (en col 7)
%TIME (en col 8)
%STATION=N° station (en col 9)
%BTL=bouteille(en col 10)
%SITE=site (en col 11)
%DEPTH=depth (en col 12)
%CHLAC3= Chlorophyll c3 (en col 13)
%CHLAC1C2=Chlorophyll c1+c2 (en col 14)
%PERID=Peridinin (en col 15)
%BUTANO=19'-Butanoyloxyfucoxanthin (en col 16)
%FUCOX=Fucoxanthin (en col 17)
%HEXANOY=19'-Hexanoyloxyfucoxanthin (en col 18)
%PRASINO=prasinoxanthin (en col 19)
%VIOL=Violaxanthin  (en col 20) 
%NEOX=Neoxanthin (en col 21)
%DIADINO=Diadinoxanthin (en col 22)
%ALLOX=Alloxanthin (en col 23)
%DIAT=Diatoxanthin (en col 24)
%ZEAX=Zeaxanthin (en col 25)
%LUTEIN=Lutein (en col 26)
%LUTEIN5=Lutein 5 8-epoxide (en col 27)
%CHLANP=Chlorophyll c-like non polaire 1 (en col 28)
%TCHLB=TChlb (en col 29)
%DIVCHLA=Divinyl Chlorophyll a (en col 30)
%CHLA=Chl a (en col 31)
%TCHLA=Total Chl a (en col 32)
%CHLANP2=Chlorophyll c-like non polaire 2 (en col 33)
%CAROT=Carotenes (en col 34)
%FLAGS (en col 35)
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficros_coord\concaten_ficrosdcoord
load ficrosdficcoordp1l2_modif.txt
rostm=ficrosdficcoordp1l2_modif (:,1:8)

textbtl='nligne,nstation,posbtl,prof,station,juldeb,latcent,longcent';
%  affichage des variables par colonne pour controle
nstaros=rostm(:,2);%nstaros= n° station trame rosette  
nbtlros=rostm(:,3);%nbtlros= n° btl trame rosette  
ntros=length(rostm); %ntros= nbre de lignes trame rosette

%lecture du fichier dosage
cd D:\pomme\ctdraw\donnees_pomme_web_NOV_2003\pigments_phytoplanctoniques
load Pigments_P1L2.txt
ydos=Pigments_P1L2; %pour commodité
nstados= ydos(:,9); %nstados=n° station dosage pour leg1 et leg2
nbtldos=ydos(:,10); %nbtldos=n° btl dosage pour leg 1 (col 10 pour leg2)
ntdos= length(ydos); %ntdos= nbre de lignes dosage
%j'ajoute donc 35 colonnes au fichier rostm de départ, mais je les copie d'abord
%Rq: leg1 : 35 col au total, leg2 :35 col au total
roscomb=rostm; %roscomb pour rosette combiné
bidon11= ones(ntros,35)*NaN  ; %je dois donc remplir bidon avec les lignes de ydos.
%bidon11= ones(ntros,36)*NaN  ; %je dois donc remplir bidon avec les lignes de ydos.
%RQ: le fait de rajouter 36 colonnes alors qu'il n'y a que 35 colonnes de données à insérer permet de créer une col présence/absence de données (cf aussi ligne 116 du prog:  bidon11(ntr,:)=[ydos(indntd,:) 1];  )
%cette col supplémentaire sera supprimée par la suite au sein du fichier résultat excel
%autre solution: on passe deux fois le prog: une fois avec, une fois sans

%Mise en correspondance des fichiers rosette (trame rosette) et dosage. Les deux fichiers doivent avoir le meme nbre de lignes. 
%Postulat: le nbre de lignes du fichier rosette est sup à celui du fichier dosage, par consequent on met en correspondance le fichier dosage 
%Reperage des n° de col du n° de station de ydos et reperage des n° de belle de ydos. Puis les indiquer dans le programme.
disp (' nombre de lignes rosette     nombre de ligne fic dosage ')
disp (   [ntros , ntdos])
nbid=0;

%bl=[ NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ];
%tabfinal=[];

for ntr=1:ntros;
    %jul1=nstaros(ntr);
    %meilleurdiff=999999;
    %idx=0;
    %for ntr2=2:ntdos;
      %  jul2=nstados(ntr2);
       % if fix(jul1)==fix(jul2);
       %    diff=abs(jul1-jul2);
       %    if diff<meilleurdiff ;
      %          meilleurdiff=diff;
      %          idx=ntr2;
      %      end
      %   end
      %  end
  %  if not(idx==0) ;
  %     tabfinal(ntr,:)=[rostm(ntr,1:12) ydos(idx,1:12)];
  %  else
  %      tabfinal(ntr,:)=[rostm(ntr,1:12) bl];
  %   end
  %end
    
   
%if 1==0    
    
  % indntd=find((nstados)==(nstaros(ntr)));
indntd=find((nstados==nstaros(ntr))&(nbtldos==nbtlros(ntr)));
    if size(indntd,1)==1;
        bidon11(ntr,:)=ydos(indntd,:) ;
        %bidon11(ntr,:)=[ydos(indntd,:) 1]; %cf lignes 76 à 78
        nbid =nbid+1; %mise en place d'un compteur (pour verification)
    end
    if size (indntd,1)>1; disp('plus qu une ligne avc meme btl et meme station');
        disp('ligne fichier dosage  station'); disp([nstados(indntd(1,1)),ntr]);disp([indntd ]);   
    end
    % si indntd est vide je laisse les Nan dans bidon1
 end
 
% if 1==0
 nbid
%bidon11= fichier de mise en correspondance (des fichiers rosette et dosage)
rosdos=bidon11 ;
textdos='NLIG,SHIP,CAMP,LEG,LATIT,LONGIT,DATE,TIME,STATION,BTL,SITE,DEPTH,CHLAC3,CHLAC1C2,PERID,BUTANO,FUCOX,HEXANOY,PRASINO,VIOL,NEOX,DIADINO,ALLOX,DIAT,ZEAX,LUTEIN,LUTEIN5,CHLANP,TCHLB,DIVCHLA,CHLA,TCHLA,CHLANP2,CAROT,FLAGS';

%A EXECUTER SI CORRECT POUR SAUVEGARDE:
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficrosdcoord_donpomweb
textrosimp='nligne,nstation,posbtl,prof,station,juldeb,latcent,longcent (trame), NLIG (dos) ,SHIP,CAMP,LEG,LATIT,LONGIT,DATE,TIME,STATION,BTL,SITE,DEPTH,CHLAC3,CHLAC1C2,PERID,BUTANO,FUCOX,HEXANOY,PRASINO,VIOL,NEOX,DIADINO,ALLOX,DIAT,ZEAX,LUTEIN,LUTEIN5,CHLANP,TCHLB,DIVCHLA,CHLA,TCHLA,CHLANP2,CAROT,FLAGS';


save  ficros_pigmentsphyto_p1l2    rostm rosdos textdos textbtl textrosimp
%rosimp=[rostm(:,1), rostm(:,2), rostm(:,3), rostm(:,4), rosdos(:,1), rosdos(:,2), rosdos(:,3), rosdos(:,4), rosdos(:,5), rosdos(:,6), rosdos(:,7), rosdos(:,8), rosdos(:,9), rosdos(:,10), rosdos(:,11), rosdos(:,12)];
rosimp=[rostm, rosdos];
save ficros_pigmentsphyto_p1l2.txt rosimp  -ascii
end