%concaten_ficros_HIAC_rosette_N2_p2l2.m         %on traite ici les fichiers de niveau 2 rosette

%objectif: prog de concatenation des fichiers "ficrosdficcoordpxly_modif" (fichier trame)
                                 %avec "pxly_rosette_N2_nbre_diam_vol" et "pxly_rosette_N2_nbre_diam_vol" (fichiers HIAC rosette de niveau 1 et 2)) 
%FICHIERS LUS:
%fichiers "ficrosdficcoordpxly_modif"  : 
                      %legende + données (8 colonnes)
                     %fichier excel, suppression de la legende et enregistrement en .txt
%fichiers "pxly_rosette_N2_nbre_diam_vol": 
                  %legende + données (17 colonnes)
                  %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°4 pour fichier HIAC N2 ros
               %n° de btl = col n°3 pour fichier ficros
               %n° de btl = col n°9 pour fichier HIAC N2 ros
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
%trame
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficros_coord\concaten_ficrosdcoord
load ficrosdficcoordp2l2_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\compteur_de_particules_HIAC\HIAC_N2_rosette
load p2l2_rosette_N2_nbre_diam_vol.txt
%Detail des colonnes:
%col 1=pommerosettebouteille
%col 2=pomme
%col 3=leg
%col 4=pommerosette (=n°station)
%col 5=W
%col 6=N
%col 7=rosettebouteille
%col 8=rosette
%col 9=bouteille
%col 10=vol(ml)
%col 11=prof
%col 12=date HIAC
%col 13=heure HIAC
%col 14=nbre/L
%col 15=diamètre
%col 16=surface
%col 17=biovol

%choix du n° de la colonne (pour le fichier dosage uniquement) 
%dosstacol=1;  %DOSstacol= n° de la colonne 'station' du fichier dosage
%dos...col=2;
%etc.
%choix du parametre au sein de la liste du fichier dosage
%liste fichier dosage=listdos
listdos={'pomrosbtl','pom','leg','pomros','W','N','rosbtl','rosette','btl','vol','prof','date','heure','nbrL','diam','surf','biovol'};
%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
cd D:\pomme\ctdraw\etaloxlp\refdesc\oxygdefexpl\fichiers_rosette_complets\ficros_coord\concaten_ficrosdcoord
load ficrosdficcoordp2l2_modif.txt
rostm=ficrosdficcoordp2l2_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\compteur_de_particules_HIAC\HIAC_N2_rosette
load p2l2_rosette_N2_nbre_diam_vol.txt
ydos=p2l2_rosette_N2_nbre_diam_vol; %pour commodité
nstados= ydos(:,4); %nstados=n° station dosage 
nbtldos=ydos(:,9); %nbtldos=n° btl dosage
ntdos= length(ydos); %ntdos= nbre de lignes dosage
%j'ajoute donc 18 colonnes au fichier rostm de départ, mais je les copie d'abord
roscomb=rostm; %roscomb pour rosette combiné
%bidon11= ones(ntros,18)*NaN  ; %je dois donc remplir bidon avec les lignes de ydos.
bidon11= ones(ntros,17)*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)),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='pomrosbtl,pom,leg,pomros,W,N,rosbtl,rosette,btl,vol,prof,date,heure,nbrL,diam,surf,biovol';

%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), pomrosbtl (dosage),pom,leg,pomros,W,N,rosbtl,rosette,btl,vol,prof,date,heure,nbrL,diam,surf,biovol';

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