Index: /LMDZ5/trunk/libf/phylmd/fisrtilp.F90
===================================================================
--- /LMDZ5/trunk/libf/phylmd/fisrtilp.F90	(revision 2813)
+++ /LMDZ5/trunk/libf/phylmd/fisrtilp.F90	(revision 2814)
@@ -53,51 +53,51 @@
   ! Principaux inputs:
   !
-  REAL dtime ! intervalle du temps (s)
-  REAL paprs(klon,klev+1) ! pression a inter-couche
-  REAL pplay(klon,klev) ! pression au milieu de couche
-  REAL t(klon,klev) ! temperature (K)
-  REAL q(klon,klev) ! humidite specifique (kg/kg)
+  REAL, INTENT(IN)                              :: dtime  ! intervalle du temps (s)
+  REAL, DIMENSION(klon,klev+1),    INTENT(IN)   :: paprs  ! pression a inter-couche
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: pplay  ! pression au milieu de couche
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: t      ! temperature (K)
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: q      ! humidite specifique (kg/kg)
+  LOGICAL, DIMENSION(klon,klev),   INTENT(IN)   :: ptconv ! points ou le schema de conv. prof. est actif
+  INTEGER,                         INTENT(IN)   :: iflag_cld_th
+  INTEGER,                         INTENT(IN)   :: iflag_ice_thermo
+  !
+  ! Inputs lies aux thermiques
+  ! 
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: ztv
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: zqta, fraca 
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: zpspsk, ztla
+  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: zthl
+  !
+  !  Input/output
+  REAL, DIMENSION(klon,klev),      INTENT(INOUT):: ratqs  ! determine la largeur de distribution de vapeur
   !
   ! Principaux outputs:
   !
-  REAL d_t(klon,klev) ! incrementation de la temperature (K)
-  REAL d_q(klon,klev) ! incrementation de la vapeur d'eau
-  REAL d_ql(klon,klev) ! incrementation de l'eau liquide
-  REAL d_qi(klon,klev) ! incrementation de l'eau glace
-  REAL rneb(klon,klev) ! fraction nuageuse
-  REAL radliq(klon,klev) ! eau liquide utilisee dans rayonnements
-  REAL rhcl(klon,klev) ! humidite relative en ciel clair
-  REAL rain(klon) ! pluies (mm/s)
-  REAL snow(klon) ! neige (mm/s)
-  REAL prfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
-  REAL psfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s) 
-  !
-  ! Autres arguments
-  ! 
-  REAL ztv(klon,klev)
-  REAL zqta(klon,klev),fraca(klon,klev) 
-  REAL sigma1(klon,klev),sigma2(klon,klev)
-  REAL qltot(klon,klev),ctot(klon,klev)
-  REAL zpspsk(klon,klev),ztla(klon,klev)
-  REAL zthl(klon,klev)
-  REAL ztfondue, qsl, qsi
-
-  logical lognormale(klon)
-  logical ice_thermo
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: d_t  ! incrementation de la temperature (K)
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: d_q  ! incrementation de la vapeur d'eau
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: d_ql ! incrementation de l'eau liquide
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: d_qi ! incrementation de l'eau glace
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: rneb ! fraction nuageuse
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: radliq ! eau liquide utilisee dans rayonnements
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: rhcl ! humidite relative en ciel clair
+  REAL, DIMENSION(klon),           INTENT(OUT)  :: rain
+  REAL, DIMENSION(klon),           INTENT(OUT)  :: snow
+  REAL, DIMENSION(klon,klev+1),    INTENT(OUT)  :: prfl
+  REAL, DIMENSION(klon,klev+1),    INTENT(OUT)  :: psfl 
 
   !AA
   ! Coeffients de fraction lessivee : pour OFF-LINE
   !
-  REAL pfrac_nucl(klon,klev)
-  REAL pfrac_1nucl(klon,klev)
-  REAL pfrac_impa(klon,klev)
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: pfrac_nucl
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: pfrac_1nucl
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: pfrac_impa
   !
   ! Fraction d'aerosols lessivee par impaction et par nucleation
   ! POur ON-LINE
   !
-  REAL frac_impa(klon,klev)
-  REAL frac_nucl(klon,klev)
-  real zct      ,zcl
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: frac_impa
+  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: frac_nucl
   !AA
+  ! --------------------------------------------------------------------------------
   !
   ! Options du programme:
@@ -107,12 +107,34 @@
 
   INTEGER ninter ! sous-intervals pour la precipitation
-  INTEGER ncoreczq  
-  INTEGER iflag_cld_th
-  INTEGER iflag_ice_thermo
   PARAMETER (ninter=5)
   LOGICAL evap_prec ! evaporation de la pluie
   PARAMETER (evap_prec=.TRUE.)
-  REAL ratqs(klon,klev) ! determine la largeur de distribution de vapeur
-  logical ptconv(klon,klev) ! determine la largeur de distribution de vapeur
+  !
+  LOGICAL cpartiel ! condensation partielle
+  PARAMETER (cpartiel=.TRUE.)
+  REAL t_coup
+  PARAMETER (t_coup=234.0)
+  REAL DDT0
+  PARAMETER (DDT0=.01)
+  REAL ztfondue
+  PARAMETER (ztfondue=278.15)
+  ! --------------------------------------------------------------------------------
+  !
+  ! Variables locales:
+  !
+  INTEGER i, k, n, kk
+  REAL qsl, qsi
+  real zct      ,zcl
+  INTEGER ncoreczq  
+  REAL ctot(klon,klev)
+  REAL zqs(klon), zdqs(klon), zdelta, zcor, zcvm5  
+  REAL zdqsdT_raw(klon)
+  REAL Tbef(klon),qlbef(klon),DT(klon),num,denom
+
+  logical lognormale(klon)
+  logical ice_thermo
+  LOGICAL convergence(klon)
+  INTEGER n_i(klon), iter
+  REAL cste
 
   real zpdf_sig(klon),zpdf_k(klon),zpdf_delta(klon)
@@ -120,21 +142,4 @@
   real erf   
   REAL qcloud(klon)
-  !
-  LOGICAL cpartiel ! condensation partielle
-  PARAMETER (cpartiel=.TRUE.)
-  REAL t_coup
-  PARAMETER (t_coup=234.0)
-  !
-  ! Variables locales:
-  !
-  INTEGER i, k, n, kk
-  REAL zqs(klon), zdqs(klon), zdelta, zcor, zcvm5  
-  REAL zdqsdT_raw(klon)
-  REAL Tbef(klon),qlbef(klon),DT(klon),num,denom
-  LOGICAL convergence(klon)
-  REAL DDT0
-  PARAMETER (DDT0=.01)
-  INTEGER n_i(klon), iter
-  REAL cste
  
   REAL zrfl(klon), zrfln(klon), zqev, zqevt 
@@ -150,6 +155,5 @@
   REAL zdz(klon),zrho(klon),ztot      , zrhol(klon)
   REAL zchau      ,zfroi      ,zfice(klon),zneb(klon)
-  REAL zmelt, zpluie, zice, zcondold
-  PARAMETER (ztfondue=278.15)
+  REAL zmelt, zpluie, zice
   REAL dzfice(klon)
   REAL zsolid
@@ -434,5 +438,5 @@
                 zt(i) = zt(i) - zqev &
                      * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)))
-!!JLD debut de partie a supprimer a therme
+!!JLD debut de partie a supprimer a terme
             else ! if  (fl_cor_ebil .GT. 0)
                 ! Calcul de l'evaporation du flux de precip herite
@@ -457,5 +461,5 @@
                      * RLVTT/RCPD/(1.0+RVTMP2*zq(i))
               end if ! if  (fl_cor_ebil .GT. 0)
-!!JLD fin de partie a supprimer a therme
+!!JLD fin de partie a supprimer a terme
                 zrfl(i) = zrfln(i)
                 zifl(i) = 0.
