%concaten_ficrosparamfluovar_p2l1.m

%programme réalisé en novembre 2004
%objectif: prog de concatenation des fichiers "ficrosdficcoordpxly_modif" (fichier trame)
                                        %avec "paramfluovariable_180204_PxLy" (fichier parametre fluo variable) 
%les fichiers "parametres fluo variable" sont issus de la mise à jour au mois d'octobre 2004 des données pomme du site web. Il s'agit d'un nouveau parametre (par rapport à ceux disponibles lors du telechargement de novembre 2003)

%FICHIERS LUS:
%fichiers "ficrosdficcoordpxly_modif"  : 
                      %legende + données (8 colonnes)
                      %fichier excel, suppression de la legende et enregistrement en .txt
%fichiers "paramfluovariable_180204_PxLy": 
                  %legende + données (attention : 17 colonnes pour p2l1)
                  %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°3 pour fichier param fluo variable
               %n° de btl = col n°3 pour fichier ficros
               %n° de btl = col n°9 pour fichier param fluo variable
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
%trame
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficros_coord\concaten_ficrosdcoord
load ficrosdficcoordp2l1_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\donpomweb_mise_a_jour_oct2004\parametres_fluo_variable_180204
load paramfluovariable_180204_P2L1.txt
%choix du n° de la colonne (pour le fichier dosage uniquement)
dosligcol=1;  %n° de la colonne 'n° de ligne' du fichier dosage
doscampagnecol=2;  % n° de la colonne 'campagne' du fichier dosage
dosstacol=3;  % n° de la colonne 'station' du fichier dosage
dosdatecol=4;  % n° de la colonne 'date' du fichier dosage
dostimecol=5; % n° de la colonne 'time' du fichier dosage
doslongcol=6; % n° de la colonne 'longitude'  du fichier dosage
doslatcol=7; % n° de la colonne 'latitude' du fichier dosage
dosintegralcol=8; % n° de la colonne 'integral' du fichier dosage
dosniskincol=9; % n° de la colonne 'niskin' du fichier dosage
dosdepthcol=10;  %n° de la colonne 'depth' du fichier dosage
dosFocol=11;  % n° de la colonne 'Fo' du fichier dosage
dosFmSTscol=12;  % n° de la colonne 'FmST' du fichier dosage
dosFmMTcol=13;  % n° de la colonne 'FmMT' du fichier dosage
dosFvFmSTcol=14; % n° de la colonne 'Fv/Fm ST' du fichier dosage
dosFvFmMTcol=15; % n° de la colonne 'Fv/Fm MT' du fichier dosage
dosFvMTSTcol=16; % n° de la colonne 'Fv MT/ST' du fichier dosage
dosFmMTSTcol=17; % n° de la colonne 'Fm MT/ST' du fichier dosage


%choix du parametre au sein de la liste du fichier dosage
%liste fichier dosage=listdos
listdos={'LIG','CAMP','STA','DATE','TIME','LONG','LAT','INTEGRAL','NISKIN','DEPTH','FO','FMST','FMMT','FVFMST','FVFMMT','FVMTST','FMMTST'};
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
%fichier trame
rostm=ficrosdficcoordp2l1_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
ydos=paramfluovariable_180204_P2L1; %pour commodité
nstados=ydos(:,3); %nstados=n° station dosage 
nbtldos=ydos(:,9); %nbtldos=n° btl dosage
ntdos= length(ydos); %ntdos= nbre de lignes dosage
%j'ajoute donc 17 colonnes au fichier rostm de départ, mais je les copie d'abord
roscomb=rostm; %roscomb pour rosette combiné
bidon11= ones(ntros,17)*NaN  ; %je dois donc remplir bidon avec les lignes de ydos.
%bidon11= ones(ntros,18)*NaN  ; %je dois donc remplir bidon avec les lignes de ydos.
%RQ: le fait de rajouter 18 colonnes alors qu'il n'y a que 17 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)));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='LIG,CAMP,STA,DATE,TIME,LONG,LAT,INTEGRAL,NISKIN,DEPTH,FO,FMST,FMMT,FVFMST,FVFMMT,FVMTST,FMMTST';

%A EXECUTER SI CORRECT POUR SAUVEGARDE:
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficrosdcoord_donpomweb\mise_a_jour_oct2004
%creation d'un dossier "mise_a_jour_oct2004" au sein duquel on insere les fichiers resultats
textrosimp='nligne,nstation,posbtl,prof,station,juldeb,latcent,longcent (trame), LIG,CAMP,STA,DATE,TIME,LONG,LAT,INTEGRAL,NISKIN,DEPTH,FO,FMST,FMMT,FVFMST,FVFMMT,FVMTST,FMMTST';

save  ficrosparamfluovar_p2l1    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 ficrosparamfluovar_p2l1.txt rosimp  -ascii
end