Index: /trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F
===================================================================
--- /trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F	(revision 1664)
+++ /trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F	(revision 1665)
@@ -143,4 +143,6 @@
 
       REAL flxmw(klon,klev)
+
+! A VIRER POUR DYNAMICO
       REAL,INTENT(IN) :: plevmoy(klev+1) ! planet-averaged mean pressure (Pa) at interfaces
       REAL,INTENT(IN) :: tmoy(klev) ! planet-averaged mean temperature (Pa) at mid-layers
@@ -180,8 +182,6 @@
 
 c Pour calcul GW drag oro et nonoro: CALCUL de N2:
-      real zdzlev(klon,klev)
-      real ztlev(klon,klev),zpklev(klon,klev)
-      real ztetalay(klon,klev),ztetalev(klon,klev)
-      real zdtetalev(klon,klev)
+      real zdtlev(klon,klev),zdzlev(klon,klev)
+      real ztlev(klon,klev)
       real zn2(klon,klev) ! BV^2 at plev
 
@@ -540,7 +540,8 @@
          do j=1,klev
             rnew(ig,j)=R
-            cpnew(ig,j)=cpdet(tmoy(j))
+            cpnew(ig,j)=cpdet(t(ig,j))
             mmean(ig,j)=RMD
             akknew(ig,j)=1.e-4
+            rho(ig,j)=pplay(ig,j)*mmean(ig,j)*1e-3/(rnew(ig,j)*t(ig,j))
           enddo
 c        stop
@@ -664,5 +665,5 @@
       nmicro=0
       if (ok_cloud .AND. (cl_scheme.eq.1)) nmicro=2
-      if (ok_cloud .AND. (cl_scheme.eq.2)) nmicro=8
+      if (ok_cloud .AND. (cl_scheme.eq.2)) nmicro=12
  
 c CAS 1D POUR MICROPHYS Aurelien
@@ -1479,18 +1480,22 @@
 c
       if (ok_orodr.or.ok_gw_nonoro) then
-c  CALCUL DE N2
+
+c  CALCUL DE N2    
+c   UTILISE LA RELATION ENTRE N2 ET STABILITE
+c   N2 = RG/T (dT/dz+RG/cp(T))
+c   ET DONC EN N'UTILISE QUE LA TEMPERATURE, PAS teta.
+
        do i=1,klon
         do k=2,klev
           ztlev(i,k)  = (t_seri(i,k)+t_seri(i,k-1))/2.
-          zpklev(i,k) = sqrt(ppk(i,k)*ppk(i,k-1))
         enddo
        enddo
-       call t2tpot(klon*klev,ztlev, ztetalev,zpklev)
-       call t2tpot(klon*klev,t_seri,ztetalay,ppk)
        do i=1,klon
         do k=2,klev
-          zdtetalev(i,k) = ztetalay(i,k)-ztetalay(i,k-1)
-          zdzlev(i,k)    = (zphi(i,k)-zphi(i,k-1))/RG
-          zn2(i,k) = RG*zdtetalev(i,k)/(ztetalev(i,k)*zdzlev(i,k))
+          ztlev(i,k)  = (t_seri(i,k)+t_seri(i,k-1))/2.
+          zdtlev(i,k) =  t_seri(i,k)-t_seri(i,k-1)
+          zdzlev(i,k) = (zphi(i,k)-zphi(i,k-1))/RG
+          zn2(i,k) = RG/ztlev(i,k) * ( zdtlev(i,k)/zdzlev(i,k)
+     .                                  + RG/cpdet(ztlev(i,k)) )
           zn2(i,k) = max(zn2(i,k),1.e-12)  ! securite
         enddo
@@ -1796,5 +1801,7 @@
 ! <field id="..." /> in context_lmdz_physics.xml to be correctly used)
       
-      CALL send_xios_field("phis",phis)
+! 2D fields
+
+      CALL send_xios_field("phis",pphis)
       cell_area_out(:)=cell_area(:)
       if (is_north_pole_phy) cell_area_out(1)=cell_area(1)/nbp_lon
@@ -1803,12 +1810,68 @@
       CALL send_xios_field("tsol",ftsol)
       CALL send_xios_field("psol",paprs(:,1))
-      CALL send_xios_field("ue",ue)
-c VENUS: regardee a l envers!!!!!!!!!!!!!!!
-      CALL send_xios_field("ve",-1.*ve)
+      CALL send_xios_field("cdragh",cdragh)
+      CALL send_xios_field("cdragm",cdragm)
+
+      CALL send_xios_field("tops",topsw)
+      CALL send_xios_field("topl",toplw)
+      CALL send_xios_field("sols",solsw)
+      CALL send_xios_field("soll",sollw)
+
+! 3D fields
 
       CALL send_xios_field("temp",t_seri)
+      CALL send_xios_field("pres",pplay)
+      CALL send_xios_field("geop",zphi)
       CALL send_xios_field("vitu",u_seri)
 c VENUS: regardee a l envers!!!!!!!!!!!!!!!
       CALL send_xios_field("vitv",-1.*v_seri)
+      CALL send_xios_field("vitw",omega)
+      CALL send_xios_field("Kz",ycoefh)
+      CALL send_xios_field("mmean",mmean)
+      CALL send_xios_field("rho",rho)
+
+      CALL send_xios_field("dudyn",d_u_dyn)
+      CALL send_xios_field("duvdf",d_u_vdf)
+c VENUS: regardee a l envers!!!!!!!!!!!!!!!
+      CALL send_xios_field("dvvdf",-1.*d_v_vdf)
+      CALL send_xios_field("duajs",d_u_ajs)
+      CALL send_xios_field("dugwo",d_u_oro)
+      CALL send_xios_field("dugwno",d_u_hin)
+      CALL send_xios_field("dumolvis",d_u_molvis)
+c VENUS: regardee a l envers!!!!!!!!!!!!!!!
+      CALL send_xios_field("dvmolvis",-1.*d_v_molvis)
+      CALL send_xios_field("dtdyn",d_t_dyn)
+      CALL send_xios_field("dtphy",d_t)
+      CALL send_xios_field("dtvdf",d_t_vdf)
+      CALL send_xios_field("dtajs",d_t_ajs)
+      CALL send_xios_field("dtswr",dtsw)
+      CALL send_xios_field("dtswrNLTE",d_t_nirco2)
+      CALL send_xios_field("dtswrLTE",heat)
+      CALL send_xios_field("dtlwr",dtlw)
+      CALL send_xios_field("dtlwrNLTE",d_t_nlte)
+      CALL send_xios_field("dtlwrLTE",-1.*cool)
+      CALL send_xios_field("dteuv",d_t_euv)
+      CALL send_xios_field("dtcond",d_t_conduc)
+      CALL send_xios_field("dtec",d_t_ec)
+
+      CALL send_xios_field("SWnet",swnet)
+      CALL send_xios_field("LWnet",lwnet)
+      CALL send_xios_field("fluxvdf",fluxt)
+      CALL send_xios_field("fluxdyn",flux_dyn)
+      CALL send_xios_field("fluxajs",flux_ajs)
+      CALL send_xios_field("fluxec",flux_ec)
+
+c plusieurs traceurs  !!!outputs in [vmr]
+      IF (iflag_trac.eq.1) THEN
+         DO iq=1,nqmax
+       CALL send_xios_field(tname(iq),qx(:,:,iq)*mmean(:,:)/M_tr(iq))
+         ENDDO
+      ENDIF
+
+      IF (callthermos .and. ok_chem) THEN
+       CALL send_xios_field("d_qmoldifCO2",d_q_moldif(:,:,i_co2))
+       CALL send_xios_field("d_qmoldifO3p",d_q_moldif(:,:,i_o))
+       CALL send_xios_field("d_qmoldifN2",d_q_moldif(:,:,i_n2))
+      ENDIF
       
 #endif
Index: /trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F
===================================================================
--- /trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F	(revision 1664)
+++ /trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F	(revision 1665)
@@ -95,5 +95,5 @@
 c=============================================================
                              
-       IF (reinit_trac) THEN
+       IF (reinit_trac.and.ok_chem) THEN
        PRINT*,'REINIT MIXING RATIO TRACEURS'
 
@@ -119,9 +119,13 @@
       trac(:,:,:)=1.0E-30
 
-c     !!! AVEC NUAGE !!!
-      trac(:,1:22,i_ocs)=3.E-6
-      trac(:,:,i_hcl)=0.4E-6
-      trac(:,1:22,i_so2)=10.E-6
-      trac(:,1:22,i_h2o)=30.0E-6
+c     !!! Verif traceurs !!!
+      if (   (i_ocs.ne.0).and.(i_co.ne.0).and.(i_hcl.ne.0) 
+     &  .and.(i_so2.ne.0).and.(i_h2o.ne.0).and.(i_n2.ne.0)
+     &  .and.(i_co2.ne.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)=9.E-6
+       trac(:,1:22,i_h2o)=30.0E-6
 
 c     remettre tous les traceurs du start => trac(:,:,:)=trac_sav(:,:,:)
@@ -129,10 +133,10 @@
 c     N2 n est pas encore une espece chimique du modele chimique
 c     traceur passif pour la chimie-transport
-      trac(:,:,i_n2)=0.35d-1
+       trac(:,:,i_n2)=0.35d-1
    
 !!!! GG:   Initialization CO2 = 1 - qtot 
 !!    It assures that vmr_tot = 1
 c     On a donc le CO2 qui est le restant d atmosphere Venus  
-         trac_sum(:,:)=0.0
+        trac_sum(:,:)=0.0
 c SEULEMENT LES GAZ
         DO iq=2,nqmax-nmicro
@@ -141,4 +145,9 @@
 
         trac(:,:,i_co2)= 1-trac_sum(:,:)
+      else
+        write(*,*) "Réinitialisation des traceurs avec chimie "
+        write(*,*) "IL manque un traceur pour les options choisies"
+        stop
+      endif ! verif traceurs
         
 c=============================================================
