Index: trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F	(revision 4095)
+++ trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F	(revision 4098)
@@ -61,5 +61,5 @@
       integer, dimension(nlon,nlev) :: iter                 ! chemical iterations
       real, dimension(nlon,nlev,nqmax) :: d_tr_chem         ! chemical tendency for each tracer
-      real, dimension(nlon,nlev,nqmax) :: d_tr_micro        !microphysical tendencies
+      real, dimension(nlon,nlev,nqmax) :: d_tr_micro        ! microphysical tendencies
       real, dimension(nlon,nlev,nqmax) :: prod_tr, loss_tr  ! production and loss terms (for info)
       real, dimension(nlon,nlev)    :: no_emi               ! no emission
@@ -75,6 +75,7 @@
       real :: t_elec(nlev)  ! electron temperature [K]
       
-      integer, parameter :: t_elec_origin=2
-      !Electronic temperature. Index 1 -> Theis et al. 1980 - model data ; Index 2-> Theis et al. 1984 - model data
+      integer, parameter :: t_elec_origin = 2   ! electronic temperature. 
+                                                ! 1 -> Theis et al. 1980 - model data 
+                                                ! 2 -> Theis et al. 1984 - model data
       
       integer :: i, iq
@@ -100,10 +101,10 @@
       integer, save :: nphotion              ! number of photoionizations
       integer, save :: nb_reaction_4_ion     ! quadratic reactions for ionosphere
-!      integer, save :: nb_reaction_4_deut    ! quadratic reactions for deuterium chem
+!     integer, save :: nb_reaction_4_deut    ! quadratic reactions for deuterium chem
       integer, save :: nb_phot_max           ! total number of photolysis+photoionizations+quenching reactions
 
       ! tracer indexes for the EUV heating:
-!!! ATTENTION. These values have to be identical to those in euvheat.F90
-!!! If the values are changed there, the same has to be done here  !!!
+      !!! ATTENTION. These values have to be identical to those in euvheat.F90
+      !!! If the values are changed there, the same has to be done here  !!!
 
       integer,parameter :: ix_co2  =  1
@@ -126,4 +127,5 @@
 
       ! NEED TO BE THE SAME AS IN EUVHEAT.F90
+
       integer,parameter :: nespeuv = 17    ! Number of species considered (11, 12 or 17 (with nitrogen))
 
@@ -166,5 +168,5 @@
               nb_reaction_4_max = nb_reaction_4_max + nb_reaction_4_ion
               nphotion       = 18     ! set number of photoionizations
-           endif
+           end if
 
            !if(deutchem) then
@@ -183,42 +185,35 @@
            if (reinit_trac .and. ok_chem) then
   
-  !!! in this reinitialisation, trac is VOLUME mixing ratio
-  ! ONLY SO2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !           convert mass to volume mixing ratio
+!             convert mass to volume mixing ratio
+
               do iq = 1,nqmax - nmicro
                  trac(:,:,iq) = trac(:,:,iq)*mmean(:,:)/m_tr(iq)
               end do
 
+              print*, "Chemical species are reinitialised"
+
               if (i_so2 /= 0) then 
-              print*, "H2SO4 is re-initialised"
-                  trac(:,19:23,i_h2so4) = 15.e-6
-!              print*, "SO2 is re-initialised"
-
-!              if (i_so2 /= 0) then 
-!                 trac(:,25:,i_so2)  = 100.e-9
-!                 trac(:,1:24,i_so2) = 15.e-6
-!                 trac(:,25:,i_h2o)  = 1.e-6
-!                 trac(:,1:24,i_h2o) = 30.e-6
-
-!                 trac(:,:,i_osso_cis)   = 0.
-!                 trac(:,:,i_osso_trans) = 0.
-!                 trac(:,:,i_s2o2_cyc)   = 0.
-!                 trac(:,:,i_cl2so2)     = 0.
-  
-  ! AL TRACERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !           print*, "Tracers are re-initialised"
-  !           trac(:,:,:) = 1.0e-30
-  
-  !           if ((i_ocs /= 0) .and. (i_co /= 0) .and. (i_hcl /= 0) 
-  !   $          .and. (i_so2 /= 0) .and. (i_h2o /= 0) 
-  !   $          .and. (i_n2 /= 0)  .and. (i_co2 /= 0)) then
-  !              trac(:,1:22,i_ocs) = 3.e-6
-  !              trac(:,1:22,i_co)  = 25.e-6
-  !              trac(:,:,i_hcl)    = 0.4e-6
-  !              trac(:,1:22,i_so2) = 7.e-6
-  !              trac(:,1:22,i_h2o) = 30.e-6
-  !              trac(:,:,i_n2)     = 0.35e-1
-  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-  !          ensure that sum of mixing ratios = 1
+                 trac(:,25:,i_so2)  = 100.e-9
+                 trac(:,1:24,i_so2) = 15.e-6
+                 trac(:,25:,i_h2o)  = 1.e-6
+                 trac(:,1:24,i_h2o) = 30.e-6
+
+                 if (cl_scheme == 2) then
+                    trac(:,19:23,i_h2so4) = 15.e-6
+                 end if
+
+                 trac(:,:,i_osso_cis)   = 0.
+                 trac(:,:,i_osso_trans) = 0.
+                 trac(:,:,i_s2o2_cyc)   = 0.
+                 trac(:,:,i_cl2so2)     = 0.
+  
+!                trac(:,1:22,i_ocs) = 3.e-6
+!                trac(:,1:22,i_co)  = 25.e-6
+!                trac(:,:,i_hcl)    = 0.4e-6
+!                trac(:,1:22,i_so2) = 7.e-6
+!                trac(:,1:22,i_h2o) = 30.e-6
+!                trac(:,:,i_n2)     = 0.35e-1
+
+!                ensure that sum of mixing ratios = 1
   
                  trac_sum(:,:) = 0.
@@ -230,5 +225,5 @@
                  end do
   
-  !          initialise co2
+!                initialise co2
   
                  trac(:,:,i_co2) = 1. - trac_sum(:,:)
@@ -239,5 +234,5 @@
               end if
           
-  !           update mmean
+!             update mmean
   
               mmean(:,:) = 0.
@@ -247,5 +242,5 @@
               rnew(:,:) = 8.314/mmean(:,:)*1.e3     ! J/kg K 
   
-  !           convert volume to mass mixing ratio
+!             convert volume to mass mixing ratio
   
               do iq = 1,nqmax - nmicro
@@ -255,34 +250,37 @@
            end if  ! reinit_trac
 
-   !    initilise moments for detailed microphysics
-
-       if (ok_cloud .and. (cl_scheme ==2)) then
-         if ((sum(trac(:,:,i_m0_mode2drop))+
-     $    sum(trac(:,:,i_m0_mode1drop))) .lt. 1.D0) then
-
-         DO ilon = 1, nlon
-         call init_moment(ilon,nlev,pplay(ilon,:),temp(ilon,:),
-     $                    trac(ilon,:,:))
-         ENDDO
-
-       ! Convert moment/volune to moment/mass
-
-         do iq = nqmax-nmoment+1,nqmax
-          trac(:,:,iq) = trac(:,:,iq)/rho(:,:)
-         enddo
-        endif
-        endif
-         end if  ! ok_chem
-      end if ! debutphy
+!          initialise moments for detailed microphysics
+
+           if (ok_cloud .and. (cl_scheme == 2)) then
+              if ((sum(trac(:,:,i_m0_mode2drop))
+     $           + sum(trac(:,:,i_m0_mode1drop))) < 1.D0) then
+
+                 do ilon = 1, nlon
+                    call init_moment(ilon,nlev,pplay(ilon,:),
+     $                               temp(ilon,:),trac(ilon,:,:))
+                 end do
+
+!         convert moment/volune to moment/mass
+
+                 do iq = nqmax - nmoment + 1,nqmax
+                    trac(:,:,iq) = trac(:,:,iq)/rho(:,:)
+                 end do
+              end if ! sum < 1
+           end if    ! cl_scheme = 2
+         end if      ! ok_chem
+      end if         ! debutphy
+
 !===================================================================
 !     convert mass to volume mixing ratio : gas phase
 !===================================================================
-        ztrac(:,:,:) = 0.D0
+
       do iq = 1,nqmax - nmicro
          ztrac(:,:,iq) = max(trac(:,:,iq)*mmean(:,:)/m_tr(iq), 1.e-30)
       end do
+
 !===================================================================
 !     microphysics: simplified scheme (phd aurelien stolzenbach)
 !===================================================================
+
       if (ok_cloud .and. cl_scheme == 1) then
 
@@ -320,18 +318,18 @@
 
 !===================================================================
-!     microphysics: detailed scheme (phd sabrina guilbon)
-!     !!! to be confirmed whether mad_muphy expects mmr or vmr for h2o and h2so4
+!     microphysics: detailed scheme (phd sabrina guilbon and nicolas
+!     streel)
 !===================================================================
 
       if (ok_cloud .and. cl_scheme == 2) then
 
-!     Initiating d_tr_micro with 0
-
-        d_tr_micro(:,:,:)=0.D0
-        momtrac(:,:,:) = 0.D0
+!       initialisations
+
+        d_tr_micro(:,:,:) = 0.D0
+        momtrac(:,:,:)    = 0.D0
         r1 = 0.D0
         r2 = 0.D0
         
-!    Setting up the values
+!       mixing ratios
 
         mitrac(:,:,1) = ztrac(:,:,i_h2o)
@@ -339,111 +337,124 @@
        
         do iq = nqmax-nmoment+1,nqmax
-          momtrac(:,:,iq) = trac(:,:,iq)*rho(:,:)
-          ztrac(:,:,iq) = momtrac(:,:,iq)
-        enddo
-
-!    Compute WSAV and RHOSA
+           momtrac(:,:,iq) = trac(:,:,iq)*rho(:,:)
+           ztrac(:,:,iq) = momtrac(:,:,iq)
+        end do
+
+!       compute WSAV and RHOSA
 
         do ilon = 1,nlon       
-           do ilev = 1, nlev
-               if (((ztrac(ilon,ilev,i_m3_mode1sa)+
-     $               ztrac(ilon,ilev,i_m3_mode2sa))+
-     $              (ztrac(ilon,ilev,i_m3_mode1wv)+
-     $               ztrac(ilon,ilev,i_m3_mode2wv))) .gt.
-     $              1e-30) then
-
-                   WSAV  = (ztrac(ilon,ilev,i_m3_mode1sa) +
-     $                      ztrac(ilon,ilev,i_m3_mode2sa))/
-     $                    ((ztrac(ilon,ilev,i_m3_mode1sa) +
-     $                      ztrac(ilon,ilev,i_m3_mode2sa))+
-     $                     (ztrac(ilon,ilev,i_m3_mode1wv) +
-     $                      ztrac(ilon,ilev,i_m3_mode2wv)))
-
-                    RHOSA = ROSAS(temp, (WSAV*RHOas * 1/(WSAV*RHOas +
+           do ilev = 1,nlev
+              if (ztrac(ilon,ilev,i_m3_mode1sa)
+     $          + ztrac(ilon,ilev,i_m3_mode2sa)
+     $          + ztrac(ilon,ilev,i_m3_mode1wv)
+     $          + ztrac(ilon,ilev,i_m3_mode2wv) > 1.e-30) then
+
+                 WSAV = (ztrac(ilon,ilev,i_m3_mode1sa)
+     $                 + ztrac(ilon,ilev,i_m3_mode2sa))
+     $                  /(ztrac(ilon,ilev,i_m3_mode1sa)
+     $                  + ztrac(ilon,ilev,i_m3_mode2sa)
+     $                  + ztrac(ilon,ilev,i_m3_mode1wv)
+     $                  + ztrac(ilon,ilev,i_m3_mode2wv))
+
+                 RHOSA = ROSAS(temp, (WSAV*RHOas*1./(WSAV*RHOas +
      $                   (1.D0-WSAV)*RHOwv)))
-               else
-                  WSAV   = WSAVtab(ilon,ilev)
-                  RHOSA = RHOtab(ilon,ilev)
-               endif        
-
-!    Compute liquids mmr before microphysics and saving them
+              else
+                 WSAV  = WSAVtab(ilon,ilev)
+                 RHOSA = RHOtab(ilon,ilev)
+              end if        
+
+!    compute liquids mmr before microphysics and saving them
 
               trac(ilon,ilev,i_h2so4liq) =  
-     $      ((trac(ilon,ilev,i_m3_mode1sa)+trac(ilon,ilev,i_m3_mode2sa))
-     $     *(4.D0*PI/3.D0) *RHOas/rho(ilon,ilev) * mmean(ilon,ilev)/MSA)
-
-             trac(ilon,ilev,i_h2oliq) = 
-     $      ((trac(ilon,ilev,i_m3_mode1wv)+trac(ilon,ilev,i_m3_mode2wv))
-     $      *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev) * mmean(ilon,ilev)*MWV)
+     $                       ((trac(ilon,ilev,i_m3_mode1sa)
+     $                       + trac(ilon,ilev,i_m3_mode2sa))
+     $                       *(4.D0*PI/3.D0)*RHOas/rho(ilon,ilev)
+     $                       *mmean(ilon,ilev)/MSA)
+
+              trac(ilon,ilev,i_h2oliq) = 
+     $                       ((trac(ilon,ilev,i_m3_mode1wv)
+     $                       + trac(ilon,ilev,i_m3_mode2wv))
+     $                       *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev)
+     $                       *mmean(ilon,ilev)*MWV)
 
              ztrac(ilon,ilev,i_h2so4liq) = trac(ilon,ilev,i_h2so4liq)
              ztrac(ilon,ilev,i_h2oliq) = trac(ilon,ilev,i_h2oliq)
 
-!    Microphysical scheme
-
-             if (temp(ilon,ilev) .lt. 400) then
-                  call mad_muphy(pdtphys,ilon,ilev,                     ! timestep
-     $                           temp(ilon,ilev),pplay(ilon,ilev),      ! temperature and pressure
-     $                           mitrac(ilon,ilev,1),                   ! H2O vapor    
-     $                           mitrac(ilon,ilev,2),                   ! H2SO4 vapor
-     $                           ztrac(ilon,ilev,i_h2oliq),             ! H2O liquid
-     $                           ztrac(ilon,ilev,i_h2so4liq),           ! H2SO4 liquid
-     $                           rho(ilon,ilev),mmean(ilon,ilev),       ! density and mean molecular mass
-     $                           ztrac(ilon,ilev,i_m0_aer),
-     $                           ztrac(ilon,ilev,i_m3_aer),   
-     $                           ztrac(ilon,ilev,i_m0_mode1drop),
-     $                           ztrac(ilon,ilev,i_m0_mode1ccn), 
-     $                           ztrac(ilon,ilev,i_m3_mode1sa),
-     $                           ztrac(ilon,ilev,i_m3_mode1wv),    
-     $                           ztrac(ilon,ilev,i_m3_mode1ccn),   
-     $                           ztrac(ilon,ilev,i_m0_mode2drop),
-     $                           ztrac(ilon,ilev,i_m0_mode2ccn),
-     $                           ztrac(ilon,ilev,i_m3_mode2sa),
-     $                           ztrac(ilon,ilev,i_m3_mode2wv), 
-     $                           ztrac(ilon,ilev,i_m3_mode2ccn))
-                  satm1(ilon,ilev) = sat1
-                  satm2(ilon,ilev) = sat2
-
-!    Compute liquids mmr after microphysics
-
-                 ztrac(ilon,ilev,i_h2so4liq) =  
-     $   ((ztrac(ilon,ilev,i_m3_mode1sa)+ztrac(ilon,ilev,i_m3_mode2sa))
-     $     *(4.D0*PI/3.D0) *RHOas/rho(ilon,ilev) * mmean(ilon,ilev)/MSA)
-                 ztrac(ilon,ilev,i_h2oliq) = 
-     $   ((ztrac(ilon,ilev,i_m3_mode1wv)+ztrac(ilon,ilev,i_m3_mode2wv))
-     $     *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev) * mmean(ilon,ilev)/MWV)
-
-!    Compute tendencides of the vapors
-
-         d_tr_micro(:,:,i_h2so4) = MSA/mmean(:,:)*(mitrac(:,:,2) 
-     $                            - ztrac(:,:,i_h2so4))/pdtphys
-         d_tr_micro(:,:,i_h2o) = MWV/mmean(:,:)*(mitrac(:,:,1) 
-     $                            - ztrac(:,:,i_h2o))/pdtphys
-
-!    Saving the radius, WSA and rho of the droplets
-
-      r2tab(ilon,ilev)=r2
-      r1tab(ilon,ilev)=r1
-
-       if (((ztrac(ilon,ilev,i_m3_mode1sa)+
-     $       ztrac(ilon,ilev,i_m3_mode2sa))+
-     $ (ztrac(ilon,ilev,i_m3_mode1wv)
-     $ +ztrac(ilon,ilev,i_m3_mode2wv))).gt.
-     $    1e-30) then
-
-         WSAVtab(ilon,ilev)  =
-     $ (ztrac(ilon,ilev,i_m3_mode1sa)+ztrac(ilon,ilev,i_m3_mode2sa))/
-     $  ((ztrac(ilon,ilev,i_m3_mode1sa)+ztrac(ilon,ilev,i_m3_mode2sa))+
-     $   (ztrac(ilon,ilev,i_m3_mode1wv)+ztrac(ilon,ilev,i_m3_mode2wv)))
-        else
-      WSAVtab(ilon,ilev)=WSAV
-       endif
-         RHOtab(ilon,ilev) = RHOSA
-         RHtab(ilon,ilev) = SH2SO4*100.D0
-
-      end if    
-            end do
-         end do
+!    microphysical scheme
+
+             if (temp(ilon,ilev) < 400.) then
+                call mad_muphy(pdtphys,ilon,ilev,                     ! timestep
+     $                         temp(ilon,ilev),pplay(ilon,ilev),      ! temperature and pressure
+     $                         mitrac(ilon,ilev,1),                   ! H2O vapor    
+     $                         mitrac(ilon,ilev,2),                   ! H2SO4 vapor
+     $                         ztrac(ilon,ilev,i_h2oliq),             ! H2O liquid
+     $                         ztrac(ilon,ilev,i_h2so4liq),           ! H2SO4 liquid
+     $                         rho(ilon,ilev),mmean(ilon,ilev),       ! density and mean molecular mass
+     $                         ztrac(ilon,ilev,i_m0_aer),
+     $                         ztrac(ilon,ilev,i_m3_aer),   
+     $                         ztrac(ilon,ilev,i_m0_mode1drop),
+     $                         ztrac(ilon,ilev,i_m0_mode1ccn), 
+     $                         ztrac(ilon,ilev,i_m3_mode1sa),
+     $                         ztrac(ilon,ilev,i_m3_mode1wv),    
+     $                         ztrac(ilon,ilev,i_m3_mode1ccn),   
+     $                         ztrac(ilon,ilev,i_m0_mode2drop),
+     $                         ztrac(ilon,ilev,i_m0_mode2ccn),
+     $                         ztrac(ilon,ilev,i_m3_mode2sa),
+     $                         ztrac(ilon,ilev,i_m3_mode2wv), 
+     $                         ztrac(ilon,ilev,i_m3_mode2ccn))
+
+                satm1(ilon,ilev) = sat1
+                satm2(ilon,ilev) = sat2
+
+!    compute liquid mmr of h2so4 and h2o after microphysics
+
+                ztrac(ilon,ilev,i_h2so4liq) =  
+     $                        ((ztrac(ilon,ilev,i_m3_mode1sa)
+     $                        + ztrac(ilon,ilev,i_m3_mode2sa))
+     $                        *(4.D0*PI/3.D0)*RHOas/rho(ilon,ilev)
+     $                        *mmean(ilon,ilev)/MSA)
+
+                ztrac(ilon,ilev,i_h2oliq) = 
+     $                        ((ztrac(ilon,ilev,i_m3_mode1wv)
+     $                        + ztrac(ilon,ilev,i_m3_mode2wv))
+     $                        *(4.D0*PI/3.D0)*RHOwv/rho(ilon,ilev)
+     $                        *mmean(ilon,ilev)/MWV)
+
+!    compute tendencies of gas-phase h2so4 and h2o
+
+                d_tr_micro(:,:,i_h2so4) = MSA/mmean(:,:)*(mitrac(:,:,2) 
+     $                                  - ztrac(:,:,i_h2so4))/pdtphys
+                d_tr_micro(:,:,i_h2o) = MWV/mmean(:,:)*(mitrac(:,:,1) 
+     $                                  - ztrac(:,:,i_h2o))/pdtphys
+
+!    saving the radius, WSA and rho of the droplets
+
+               r2tab(ilon,ilev) = r2
+               r1tab(ilon,ilev) = r1
+
+               if (ztrac(ilon,ilev,i_m3_mode1sa) 
+     $           + ztrac(ilon,ilev,i_m3_mode2sa)
+     $           + ztrac(ilon,ilev,i_m3_mode1wv)
+     $           + ztrac(ilon,ilev,i_m3_mode2wv) > 1.e-30) then
+
+                 WSAVtab(ilon,ilev) =
+     $              (ztrac(ilon,ilev,i_m3_mode1sa)
+     $             + ztrac(ilon,ilev,i_m3_mode2sa))
+     $             /(ztrac(ilon,ilev,i_m3_mode1sa)
+     $             + ztrac(ilon,ilev,i_m3_mode2sa)
+     $             + ztrac(ilon,ilev,i_m3_mode1wv)
+     $             + ztrac(ilon,ilev,i_m3_mode2wv))
+               else
+                  WSAVtab(ilon,ilev) = WSAV
+               end if
+
+               RHOtab(ilon,ilev) = RHOSA
+               RHtab(ilon,ilev) = SH2SO4*100.D0
+
+            end if   ! t < 400 k   
+            end do   ! ilev
+         end do      ! ilon
       end if  ! detailed scheme
+
 !===================================================================
 !     photochemistry
@@ -457,23 +468,21 @@
          
          if (ok_ionchem) then
-        
-           vmr_dens_euv(:,:,ix_co2) = ztrac(:,:,i_co2)  ! CO2
-           vmr_dens_euv(:,:,ix_co)  = ztrac(:,:,i_co)   ! CO
-           vmr_dens_euv(:,:,ix_o)   = ztrac(:,:,i_o)    ! O
-           vmr_dens_euv(:,:,ix_o1d) = ztrac(:,:,i_o1d)  ! O(1D)
-           vmr_dens_euv(:,:,ix_o2)  = ztrac(:,:,i_o2)   ! O2
-           vmr_dens_euv(:,:,ix_o3)  = ztrac(:,:,i_o3)   ! O3
-           vmr_dens_euv(:,:,ix_h)   = ztrac(:,:,i_h)    ! H
-           vmr_dens_euv(:,:,ix_h2)  = ztrac(:,:,i_h2)   ! H2
-           vmr_dens_euv(:,:,ix_oh)  = ztrac(:,:,i_oh)   ! OH
-           vmr_dens_euv(:,:,ix_ho2) = ztrac(:,:,i_ho2)  ! HO2
-           vmr_dens_euv(:,:,ix_h2o2)= ztrac(:,:,i_h2o2) ! H2O2
-           vmr_dens_euv(:,:,ix_h2o) = ztrac(:,:,i_h2o)  ! H2O
-           vmr_dens_euv(:,:,ix_n)   = ztrac(:,:,i_n)    ! N
-           vmr_dens_euv(:,:,ix_n2d) = ztrac(:,:,i_n2d)  ! N(2D)
-           vmr_dens_euv(:,:,ix_no)  = ztrac(:,:,i_no)   ! NO
-           vmr_dens_euv(:,:,ix_no2) = ztrac(:,:,i_no2)  ! NO2
-           vmr_dens_euv(:,:,ix_n2)  = ztrac(:,:,i_n2)   ! N2
-           
+            vmr_dens_euv(:,:,ix_co2) = ztrac(:,:,i_co2)  ! CO2
+            vmr_dens_euv(:,:,ix_co)  = ztrac(:,:,i_co)   ! CO
+            vmr_dens_euv(:,:,ix_o)   = ztrac(:,:,i_o)    ! O
+            vmr_dens_euv(:,:,ix_o1d) = ztrac(:,:,i_o1d)  ! O(1D)
+            vmr_dens_euv(:,:,ix_o2)  = ztrac(:,:,i_o2)   ! O2
+            vmr_dens_euv(:,:,ix_o3)  = ztrac(:,:,i_o3)   ! O3
+            vmr_dens_euv(:,:,ix_h)   = ztrac(:,:,i_h)    ! H
+            vmr_dens_euv(:,:,ix_h2)  = ztrac(:,:,i_h2)   ! H2
+            vmr_dens_euv(:,:,ix_oh)  = ztrac(:,:,i_oh)   ! OH
+            vmr_dens_euv(:,:,ix_ho2) = ztrac(:,:,i_ho2)  ! HO2
+            vmr_dens_euv(:,:,ix_h2o2)= ztrac(:,:,i_h2o2) ! H2O2
+            vmr_dens_euv(:,:,ix_h2o) = ztrac(:,:,i_h2o)  ! H2O
+            vmr_dens_euv(:,:,ix_n)   = ztrac(:,:,i_n)    ! N
+            vmr_dens_euv(:,:,ix_n2d) = ztrac(:,:,i_n2d)  ! N(2D)
+            vmr_dens_euv(:,:,ix_no)  = ztrac(:,:,i_no)   ! NO
+            vmr_dens_euv(:,:,ix_no2) = ztrac(:,:,i_no2)  ! NO2
+            vmr_dens_euv(:,:,ix_n2)  = ztrac(:,:,i_n2)   ! N2
          end if
          
@@ -482,7 +491,8 @@
                         
 !           solar zenith angle
-!            sza_local = acos(cos(lat_local(ilon))*cos(lon_local(ilon))
-!     $                 *cos(lon_sun) + cos(lat_local(ilon))
-!     $                 *sin(lon_local(ilon))*sin(lon_sun))*180./rpi
+
+!           sza_local = acos(cos(lat_local(ilon))*cos(lon_local(ilon))
+!     $                *cos(lon_sun) + cos(lat_local(ilon))
+!     $                *sin(lon_local(ilon))*sin(lon_sun))*180./rpi
 
             sza_local = cos(lat_local(ilon))*cos(lon_local(ilon))
@@ -490,5 +500,6 @@
      $                 *sin(lon_local(ilon))*sin(lon_sun)
 
-            ! Security - Handle rare cases where |sza_local| > 1
+!           handle rare cases where |sza_local| > 1
+
             sza_local = min(sza_local,1.)
             sza_local = max(-1.,sza_local)
@@ -569,5 +580,4 @@
      $       (ztrac(:,:,i_h2oliq) - momtrac(:,:,i_h2oliq)))/pdtphys
 
-
          d_tr_micro(:,:,i_m0_aer) = (ztrac(:,:,i_m0_aer)
      $            - momtrac(:,:,i_m0_aer))/(rho(:,:)*pdtphys)
@@ -598,5 +608,5 @@
          d_tr_micro(:,:,i_m3_mode2ccn) = (ztrac(:,:,i_m3_mode2ccn)
      $            - momtrac(:,:,i_m3_mode2ccn))/(rho(:,:)*pdtphys)
-        endif
+      end if
 
       end subroutine phytrac_chimie
