Index: trunk/LMDZ.VENUS/libf/phyvenus/interface_surf.F90
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/interface_surf.F90	(revision 953)
+++ trunk/LMDZ.VENUS/libf/phyvenus/interface_surf.F90	(revision 973)
@@ -45,4 +45,7 @@
       & tsol_rad, tsurf_new, alb_new)
 
+      use write_field_phy
+
+      IMPLICIT none
 
 ! Cette routine sert d'aiguillage entre l'atmosphere et la surface en general 
@@ -141,5 +144,5 @@
 
   if (check) write(*,*) 'Entree ', modname
-  
+
 ! Initialisations diverses
 !
@@ -149,9 +152,15 @@
 
 ! ADAPTATION GCM POUR CP(T)
-       zcp(1:klon) = cpdet(tsurf(1:klon))
+       do ii=1,klon
+         zcp(ii)=cpdet(tsurf(ii))
+       enddo
 
        IF (soil_model) THEN 
            CALL soil(dtime, knon, tsurf, tsoil,soilcap, soilflux)
            cal(1:knon) = zcp(1:knon) / soilcap(1:knon)
+! for tests:
+!  call writefield_phy('interfsurf_hq_zcp',zcp,1)
+!  call writefield_phy('interfsurf_hq_cal',cal,1)
+!  call writefield_phy('interfsurf_hq_soilcap',soilcap,1)
 !       print*,"DIAGNOSTIC SOIL"
 !       print*,"soilcap=",soilcap
@@ -186,4 +195,8 @@
      & tsurf_new, fluxsens, dflux_s)
 
+  use write_field_phy
+
+  IMPLICIT none
+
 ! Cette routine calcule les fluxs en h a l'interface et eventuellement
 ! une temperature de surface (au cas ou ok_veget = false)
@@ -317,4 +330,9 @@
   ENDDO
 
+! for tests: write output fields...
+!  call writefield_phy('calcul_fluxs_d_ts',d_ts,1)
+!  call writefield_phy('calcul_fluxs_fluxsens',fluxsens,1)
+!  call writefield_phy('calcul_fluxs_dflux_s',dflux_s,1)
+
   END SUBROUTINE calcul_fluxs
 !
Index: trunk/LMDZ.VENUS/libf/phyvenus/phyetat0.F90
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/phyetat0.F90	(revision 953)
+++ trunk/LMDZ.VENUS/libf/phyvenus/phyetat0.F90	(revision 973)
@@ -152,5 +152,5 @@
       PRINT*,'Rayonnement solaire au sol solsw:', xmin, xmax
 
-! Lecture rayonnement IF au sol:
+! Lecture rayonnement IR au sol:
 
       CALL get_field("sollw",sollw,found)
@@ -166,5 +166,5 @@
          xmax = MAX(sollw(i),xmax)
       ENDDO
-      PRINT*,'Rayonnement IF au sol sollw:', xmin, xmax
+      PRINT*,'Rayonnement IR au sol sollw:', xmin, xmax
 
 ! Lecture derive des flux:
@@ -183,4 +183,36 @@
       ENDDO
       PRINT*,'Derive des flux fder:', xmin, xmax
+
+! Lecture derive flux IR:
+
+      CALL get_field("dlw",dlw,found)
+      IF (.not.found) THEN
+         PRINT*, 'phyetat0: Le champ <dlw> est absent'
+         PRINT*, 'mis a zero'
+         dlw = 0.
+      ENDIF
+      xmin = 1.0E+20
+      xmax = -1.0E+20
+      DO i = 1, klon
+         xmin = MIN(dlw(i),xmin)
+         xmax = MAX(dlw(i),xmax)
+      ENDDO
+      PRINT*,'Derive flux IR dlw:', xmin, xmax
+
+! Lecture rayonnement IR vers le bas au sol:
+
+      CALL get_field("sollwdown",sollwdown,found)
+      IF (.not.found) THEN
+         PRINT*, 'phyetat0: Le champ <sollwdown> est absent'
+         PRINT*, 'mis a zero'
+         sollwdown = 0.
+      ENDIF
+      xmin = 1.0E+20
+      xmax = -1.0E+20
+      DO i = 1, klon
+         xmin = MIN(sollwdown(i),xmin)
+         xmax = MAX(sollwdown(i),xmax)
+      ENDDO
+      PRINT*,'Flux IR vers le bas au sol sollwdown:', xmin, xmax
 
 ! Lecture du rayonnement net au sol:
Index: trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90	(revision 953)
+++ trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90	(revision 973)
@@ -87,4 +87,6 @@
       CALL put_field("sollw","Rayonnement IR a la surface",sollw)
       CALL put_field("fder","Derive de flux",fder)
+      CALL put_field("dlw","Derivee flux IR",dlw)
+      CALL put_field("sollwdown","Flux IR vers le bas a la surface",sollwdown)
       CALL put_field("RADS","Rayonnement net a la surface",radsol)
       CALL put_field("ZMEA","zmea Orographie sous-maille",zmea)
Index: trunk/LMDZ.VENUS/libf/phyvenus/phys_state_var_mod.F90
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/phys_state_var_mod.F90	(revision 953)
+++ trunk/LMDZ.VENUS/libf/phyvenus/phys_state_var_mod.F90	(revision 973)
@@ -117,5 +117,5 @@
       ALLOCATE(zuthe(klon),zvthe(klon))
 !
-      ALLOCATE(swnet(klon,klev), lwnet(klon,klev)) 
+      ALLOCATE(swnet(klon,klev+1), lwnet(klon,klev+1)) 
       ALLOCATE(heat(klon,klev), heat0(klon,klev)) 
       ALLOCATE(cool(klon,klev), cool0(klon,klev))
Index: trunk/LMDZ.VENUS/libf/phyvenus/physiq.F
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/physiq.F	(revision 953)
+++ trunk/LMDZ.VENUS/libf/phyvenus/physiq.F	(revision 973)
@@ -62,4 +62,5 @@
       USE mod_phys_lmdz_para, only : is_parallel,jj_nb
       USE phys_state_var_mod ! Variables sauvegardees de la physique
+      USE write_field_phy
       USE iophy
       IMPLICIT none
@@ -810,4 +811,10 @@
       endif  ! fin du VENUS TEST
 
+      ! tests: output tendencies
+!      call writefield_phy('physiq_d_t_vdf',d_t_vdf,klev)
+!      call writefield_phy('physiq_d_u_vdf',d_u_vdf,klev)
+!      call writefield_phy('physiq_d_v_vdf',d_v_vdf,klev)
+!      call writefield_phy('physiq_d_ts',d_ts,1)
+
 c
 c Appeler l'ajustement sec
@@ -869,4 +876,9 @@
 
       endif
+
+      ! tests: output tendencies
+!      call writefield_phy('physiq_d_t_ajs',d_t_ajs,klev)
+!      call writefield_phy('physiq_d_u_ajs',d_u_ajs,klev)
+!      call writefield_phy('physiq_d_v_ajs',d_v_ajs,klev)
 c
       IF (if_ebil.ge.2) THEN 
@@ -932,4 +944,7 @@
       ENDDO
       ENDDO
+
+      ! tests: output tendencies
+!      call writefield_phy('physiq_dtrad',dtrad,klev)
  
       IF (if_ebil.ge.2) THEN 
@@ -1014,4 +1029,9 @@
       ENDIF ! fin de test sur ok_orodr
 c
+      ! tests: output tendencies
+!      call writefield_phy('physiq_d_t_oro',d_t_oro,klev)
+!      call writefield_phy('physiq_d_u_oro',d_u_oro,klev)
+!      call writefield_phy('physiq_d_v_oro',d_v_oro,klev)
+
 c ----------------------------OROLIFT
       IF (ok_orolf) THEN
@@ -1082,4 +1102,9 @@
 
       ENDIF ! fin de test sur ok_gw_nonoro
+
+      ! tests: output tendencies
+!      call writefield_phy('physiq_d_t_hin',d_t_hin,klev)
+!      call writefield_phy('physiq_d_u_hin',d_u_hin,klev)
+!      call writefield_phy('physiq_d_v_hin',d_v_hin,klev)
 
 c====================================================================
Index: trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F
===================================================================
--- trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F	(revision 953)
+++ trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F	(revision 973)
@@ -40,4 +40,5 @@
       use dimphy
       USE comgeomphy
+      use write_field_phy
       IMPLICIT none
 #include "dimensions.h"
@@ -64,4 +65,5 @@
 c
       REAL   zheat(klev), zcool(klev)
+      real  temp(klev)
       REAL   ZFSNET(klev+1),ZFLNET(klev+1)
       REAL   ztopsw, ztoplw
@@ -128,5 +130,5 @@
 
 c+++++++ BOUCLE SUR LA GRILLE +++++++++++++++++++++++++
-      DO 99999 j = 1, klon
+      DO j = 1, klon
 
 c======================================================================
@@ -229,6 +231,7 @@
 c LW call
 c---------
+      temp(1:klev)=t(j,1:klev)
       CALL LW_venus_ve(
-     .        PPB,t(j,:),psi,deltapsi,
+     .        PPB,temp,psi,deltapsi,
      .        zcool,
      .        ztoplw,zsollw,
@@ -239,5 +242,5 @@
 c---------
       CALL SW_venus_dc(zrmu0, zfract,
-     S        PPB,t(j,:), 
+     S        PPB,temp, 
      S        zheat, 
      S        ztopsw,zsolsw,ZFSNET)
@@ -261,6 +264,17 @@
       ENDDO
 c
-99999 CONTINUE
+      ENDDO ! of DO j = 1, klon
 c+++++++ FIN BOUCLE SUR LA GRILLE +++++++++++++++++++++++++
+! for tests: write output fields...
+!      call writefield_phy('radlwsw_heat',heat,klev)
+!      call writefield_phy('radlwsw_cool',cool,klev)
+!      call writefield_phy('radlwsw_radsol',radsol,1)
+!      call writefield_phy('radlwsw_topsw',topsw,1)
+!      call writefield_phy('radlwsw_toplw',toplw,1)
+!      call writefield_phy('radlwsw_solsw',solsw,1)
+!      call writefield_phy('radlwsw_sollw',sollw,1)
+!      call writefield_phy('radlwsw_sollwdown',sollwdown,1)
+!      call writefield_phy('radlwsw_swnet',swnet,klev+1)
+!      call writefield_phy('radlwsw_lwnet',lwnet,klev+1)
 
 c tests
