Index: trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/comchem_newstart_h.F90
===================================================================
--- trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/comchem_newstart_h.F90	(revision 1898)
+++ trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/comchem_newstart_h.F90	(revision 1899)
@@ -17,11 +17,11 @@
   
   ! Nouvelle grille physique, ancienne grille verticale
-  REAL,ALLOCATABLE :: ykim_up_oldv(:,:,:)  
+  REAL,ALLOCATABLE :: ykim_up_oldv(:,:,:) ! (mol/mol)
 
   ! Nouvelle grille scalaire, ancienne grille verticale  
-  REAL,ALLOCATABLE :: ykim_upS(:,:,:,:)  
+  REAL,ALLOCATABLE :: ykim_upS(:,:,:,:)  ! (mol/mol)
 
   ! Ancienne grille scalaire, ancienne grille verticale  
-  REAL,ALLOCATABLE :: ykim_upoldS(:,:,:,:)
+  REAL,ALLOCATABLE :: ykim_upoldS(:,:,:,:) ! (mol/mol)
   
 END MODULE comchem_newstart_h
Index: trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/start2archive.F
===================================================================
--- trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/start2archive.F	(revision 1898)
+++ trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/start2archive.F	(revision 1899)
@@ -531,5 +531,5 @@
           call write_archive(nid,ntime,trim(cnames(iq))//'_up',
      .                trim(cnames(iq))//' in upper atmosphere',
-     .                'kg/kg',4,ykim_upS(iq,:,:))
+     .                'mol/mol',4,ykim_upS(iq,:,:))
         ENDDO
       ENDIF
Index: trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/vert_regrid_kim.F90
===================================================================
--- trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/vert_regrid_kim.F90	(revision 1898)
+++ trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/vert_regrid_kim.F90	(revision 1899)
@@ -16,5 +16,5 @@
   ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-  USE comchem_h, ONLY: cnames, nlaykim_up, preskim, ykim_up
+  USE comchem_h, ONLY: cnames, rat_mmol, nlaykim_up, preskim, ykim_up
   USE comchem_newstart_h
   USE tracer_h
@@ -34,5 +34,5 @@
   REAL,DIMENSION(iim+1,jjm+1,llm,nq), INTENT(INOUT) :: q   ! Advected fields (kg/kg) on 3D dyn. grid
 
-  REAL, DIMENSION(:,:), ALLOCATABLE   :: avg_qtop  ! Zonally averaged q on top layer
+  REAL, DIMENSION(:,:), ALLOCATABLE   :: avg_qtop  ! Zonally averaged q (mol/mol) on top layer
 
   REAL :: coef, ykimlon
@@ -52,8 +52,9 @@
   ngridmx = size(ykim_up,DIM=2)
 
-  ! -----------------------------------------------------------------------------------------
-  ! 1. Compute zonal mean of last layer for every chem and lat and convert to physics grid 
+  ! ------------------------------------------------------------
+  ! 1. Compute zonal mean of last layer for every chem and lat
+  ! and convert it to molar mixing fraction and to physics grid 
   ! Preliminary, only in case ceiling has been lowered
-  ! -----------------------------------------------------------------------------------------
+  ! ------------------------------------------------------------
 
   lowered = .FALSE.
@@ -75,4 +76,6 @@
         ENDDO
       ENDDO
+      ! mass -> molar mixing ratio to be comparable to ykim_up later
+      avg_qtop(ichem,:)=avg_qtop(ichem,:)*rat_mmol(chimi_indx(ichem)) 
     ENDDO
 
@@ -125,4 +128,5 @@
   ! 3. Correct the 3D advected chem. tracer fields if model ceiling is highered
   ! In this case we interpolate between tracers below and upper_chemistry values
+  ! Doing this we convert via rat_mmol ykim_up from molar to mass mixing ratio
   ! ----------------------------------------------------------------------------
  
@@ -146,6 +150,8 @@
         ! so we deal with mono-gridpoints for North and South Poles   
 
-        q(:,1,ilay,chimi_indx(ichem)) = (1.0-coef)*ykim_up(ichem,1,1) + coef*q(:,1,isup,chimi_indx(ichem))
-        q(:,jjm+1,ilay,chimi_indx(ichem)) = (1.0-coef)*ykim_up(ichem,ngridmx,1) + coef*q(:,jjm+1,isup,chimi_indx(ichem))
+        q(:,1,ilay,chimi_indx(ichem)) = (1.0-coef)*ykim_up(ichem,1,1)/rat_mmol(chimi_indx(ichem)) &
+                                      + coef*q(:,1,isup,chimi_indx(ichem))
+        q(:,jjm+1,ilay,chimi_indx(ichem)) = (1.0-coef)*ykim_up(ichem,ngridmx,1)/rat_mmol(chimi_indx(ichem)) &
+                                          + coef*q(:,jjm+1,isup,chimi_indx(ichem))
 
           DO ilat=2,jjm
@@ -155,5 +161,5 @@
             DO ilon=2,iim
               ! ykim_up and q are shifted one to the other on longitudinal grid
-              ykimlon = 0.5*(ykim_up(ichem,ng0+ilon-1,1)+ykim_up(ichem,ng0+ilon,1)) 
+              ykimlon = 0.5*(ykim_up(ichem,ng0+ilon-1,1)+ykim_up(ichem,ng0+ilon,1)) / rat_mmol(chimi_indx(ichem))
 
               q(ilon,ilat,ilay,chimi_indx(ichem)) = (1.0-coef)*ykimlon + coef*q(ilon,ilat,isup,chimi_indx(ichem))
@@ -162,5 +168,5 @@
             ! Periodicity on longitude at 180 and -180
 
-            ykimlon = 0.5*(ykim_up(ichem,ng0+1,1)+ykim_up(ichem,ng0+iim,1)) 
+            ykimlon = 0.5*(ykim_up(ichem,ng0+1,1)+ykim_up(ichem,ng0+iim,1)) / rat_mmol(chimi_indx(ichem))
 
             q(1,ilat,ilay,chimi_indx(ichem)) = (1.0-coef)*ykimlon + coef*q(1,ilat,isup,chimi_indx(ichem))
