Index: trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F	(revision 3597)
+++ trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F	(revision 3615)
@@ -135,35 +135,35 @@
 c Variables argument:
 c
-      INTEGER nlon
-      INTEGER nlev
-      INTEGER nqmax
-      REAL rjourvrai
-      REAL gmtime
-      REAL pdtphys
-      LOGICAL debut, lafin
-      REAL paprs(klon,klev+1)
-      REAL pplay(klon,klev)
-      REAL pphi(klon,klev)
-      REAL pphis(klon)
-      REAL presnivs(klev)
+      INTEGER,INTENT(IN) :: nlon
+      INTEGER,INTENT(IN) :: nlev
+      INTEGER,INTENT(IN) :: nqmax
+      REAL,INTENT(IN) :: rjourvrai
+      REAL,INTENT(IN) :: gmtime
+      REAL,INTENT(IN) :: pdtphys
+      LOGICAL,INTENT(IN) :: debut, lafin
+      REAL,INTENT(IN) :: paprs(klon,klev+1)
+      REAL,INTENT(IN) :: pplay(klon,klev)
+      REAL,INTENT(IN) :: pphi(klon,klev)
+      REAL,INTENT(IN) :: pphis(klon)
+      REAL,INTENT(IN) :: presnivs(klev)
 
 ! ADAPTATION GCM POUR CP(T)
       REAL ppk(klon,klev)
 
-      REAL u(klon,klev)
-      REAL v(klon,klev)
-      REAL t(klon,klev)
-      REAL qx(klon,klev,nqmax)
+      REAL,INTENT(IN) :: u(klon,klev)
+      REAL,INTENT(IN) :: v(klon,klev)
+      REAL,INTENT(IN) :: t(klon,klev)
+      REAL,INTENT(IN) :: qx(klon,klev,nqmax)
 
       REAL d_u_dyn(klon,klev)
       REAL d_t_dyn(klon,klev)
 
-      REAL flxmw(klon,klev)
-
-      REAL d_u(klon,klev)
-      REAL d_v(klon,klev)
-      REAL d_t(klon,klev)
-      REAL d_qx(klon,klev,nqmax)
-      REAL d_ps(klon)
+      REAL,INTENT(IN) :: flxmw(klon,klev)
+
+      REAL,INTENT(OUT) :: d_u(klon,klev)
+      REAL,INTENT(OUT) :: d_v(klon,klev)
+      REAL,INTENT(OUT) :: d_t(klon,klev)
+      REAL,INTENT(OUT) :: d_qx(klon,klev,nqmax)
+      REAL,INTENT(OUT) :: d_ps(klon)
 
       logical ok_hf
@@ -1036,4 +1036,13 @@
       if(callthermos) then
          call concentrations2(pplay,t_seri,tr_seri, nqmax)
+      else
+        ! one still needs to recompute cp and rho which depend on temperature
+        ! (rnew, mmean and akknew remain already initialized constants) 
+        do ig=1,klon
+          do j=1,klev
+            cpnew(ig,j)=cpdet(t(ig,j))
+            rho(ig,j)=pplay(ig,j)/(rnew(ig,j)*t(ig,j))
+          enddo
+        enddo
       endif
 
@@ -2145,4 +2154,5 @@
       CALL send_xios_field("Kz",ycoefh)
       CALL send_xios_field("mmean",mmean)
+      CALL send_xios_field("Cp",cpnew)
       CALL send_xios_field("rho",rho)
       CALL send_xios_field("BV2",zn2)
