Index: LMDZ6/trunk/libf/phylmd/ener_conserv.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/ener_conserv.F90	(revision 4231)
+++ LMDZ6/trunk/libf/phylmd/ener_conserv.F90	(revision 4232)
@@ -1,4 +1,4 @@
 subroutine ener_conserv(klon,klev,pdtphys, &
- &                      puo,pvo,pto,pqo,pql0,pqs0, &
+ &                      puo,pvo,pto,qx,ivap,iliq,isol, &
  &                      pun,pvn,ptn,pqn,pqln,pqsn,dtke,masse,exner,d_t_ec)
 
@@ -28,4 +28,5 @@
 USE phys_output_var_mod, ONLY : bils_ec,bils_ech,bils_tke,bils_kinetic,bils_enthalp,bils_latent,bils_diss
 USE add_phys_tend_mod, ONLY : fl_cor_ebil 
+USE infotrac_phy, ONLY: nqtot
 
 
@@ -39,5 +40,7 @@
 INTEGER, INTENT(IN) :: klon,klev
 REAL, INTENT(IN) :: pdtphys
-REAL, DIMENSION(klon,klev), INTENT(IN)      :: puo,pvo,pto,pqo,pql0,pqs0
+REAL, DIMENSION(klon,klev), INTENT(IN)      :: puo,pvo,pto
+REAL, DIMENSION(klon,klev,nqtot), INTENT(IN):: qx
+INTEGER, INTENT(IN)                         :: ivap, iliq, isol
 REAL, DIMENSION(klon,klev), INTENT(IN)      :: pun,pvn,ptn,pqn,pqln,pqsn
 REAL, DIMENSION(klon,klev), INTENT(IN)      :: masse,exner
@@ -50,5 +53,5 @@
 REAL, DIMENSION(klon,klev+1) :: fluxu,fluxv,fluxt
 REAL, DIMENSION(klon,klev+1) :: dddu,dddv,dddt
-REAL, DIMENSION(klon,klev) :: d_u,d_v,d_t,zv,zu,d_t_ech
+REAL, DIMENSION(klon,klev) :: d_u,d_v,d_t,zv,zu,d_t_ech, pqo, pql0, pqs0
 REAL ZRCPD
 
@@ -59,4 +62,10 @@
 modname='ener_conser'
 d_t_ec(:,:)=0.
+
+IF(ivap == 0) CALL abort_physic (modname,'can''t run without water vapour',1)
+IF(iliq == 0) CALL abort_physic (modname,'can''t run without liquid water',1)
+pqo  = qx(:,:,ivap)
+pql0 = qx(:,:,iliq)
+IF(isol /= 0) pqs0 = qx(:,:,isol)
 
 IF (iflag_ener_conserv==-1) THEN
Index: LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4231)
+++ LMDZ6/trunk/libf/phylmd/infotrac_phy.F90	(revision 4232)
@@ -193,5 +193,5 @@
       tnames = PACK(tracers(:)%name, MASK=tracers(:)%isInPhysics)
       id_BIN01_strat = strIdx(tnames, 'BIN01'   )
-      id_OCS_strat   = strIdx(tnames, 'GASOSC'  )
+      id_OCS_strat   = strIdx(tnames, 'GASOCS'  )
       id_SO2_strat   = strIdx(tnames, 'GASSO2'  )
       id_H2SO4_strat = strIdx(tnames, 'GASH2SO4')
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4231)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4232)
@@ -5065,5 +5065,5 @@
     d_t_ec(:,:)=0.
     forall (k=1: nbp_lev) exner(:, k) = (pplay(:, k)/paprs(:,1))**RKAPPA
-    CALL ener_conserv(klon,klev,pdtphys,u,v,t,qx(:,:,ivap),qx(:,:,iliq),qx(:,:,isol), &
+    CALL ener_conserv(klon,klev,pdtphys,u,v,t,qx,ivap,iliq,isol, &
          u_seri,v_seri,t_seri,q_seri,ql_seri,qs_seri,pbl_tke(:,:,is_ave)-tke0(:,:), &
          zmasse,exner,d_t_ec)
