Index: /LMDZ.3.3/branches/rel-LF/libf/phylmd/stdlevvar.F90
===================================================================
--- /LMDZ.3.3/branches/rel-LF/libf/phylmd/stdlevvar.F90	(revision 508)
+++ /LMDZ.3.3/branches/rel-LF/libf/phylmd/stdlevvar.F90	(revision 509)
@@ -1,6 +1,6 @@
       SUBROUTINE stdlevvar(klon, knon, nsrf, zxli, &
-                           u1, v1, t1, q1, z1, &
-                           ts1, qsurf, rugos, psol, pat1, &
-                           t_2m, q_2m, u_10m) 
+ &                         u1, v1, t1, q1, z1, &
+ &                         ts1, qsurf, rugos, psol, pat1, &
+ &                         t_2m, q_2m, u_10m) 
       IMPLICIT NONE
 !-------------------------------------------------------------------------
@@ -87,7 +87,7 @@
       okri=.FALSE.
       CALL coefcdrag(klon, knon, nsrf, zxli, &
-                     speed, t1, q1, z1, psol, &
-                     ts1, qsurf, rugos, okri, ri1,  &         
-                     cdram, cdrah, cdran, zri1, pref)            
+ &                   speed, t1, q1, z1, psol, &
+ &                   ts1, qsurf, rugos, okri, ri1,  &         
+ &                   cdram, cdrah, cdran, zri1, pref)            
 !
 !---------Star variables----------------------------------------------------
@@ -98,4 +98,6 @@
         ustar(i) = sqrt(cdram(i) * speed(i) * speed(i))
         zdte(i) = tpot(i) - ts1(i)
+!IM cf FH : on prend le max : pour eviter le plantage sur SUN
+        zdte(i) = max(zdte(i),1.e-10)
         zdq(i) = max(q1(i),0.0) - max(qsurf(i),0.0)
 !
@@ -103,5 +105,5 @@
         qstar(i) = (cdrah(i) * zdq(i) * speed(i))/ustar(i)
         lmon(i) = (ustar(i) * ustar(i) * tpot(i))/ &
-                  (RKAR * RG * testar(i))
+ &                (RKAR * RG * testar(i))
       ENDDO
 !
@@ -109,7 +111,7 @@
       zref = 2.0
       CALL screenp(klon, knon, nsrf, speed, tpot, q1, &
-                   ts1, qsurf, rugos, lmon, &
-                   ustar, testar, qstar, zref, &
-                   delu, delte, delq)
+ &                 ts1, qsurf, rugos, lmon, &
+ &                 ustar, testar, qstar, zref, &
+ &                 delu, delte, delq)
 !
       DO i = 1, knon
@@ -129,8 +131,8 @@
         okri=.TRUE.
         CALL screenc(klon, knon, nsrf, zxli, &
-                     u_zref, temp, q_zref, zref, &
-                     ts1, qsurf, rugos, psol, &           
-                     ustar, testar, qstar, okri, ri1, &
-                     pref, delu, delte, delq) 
+ &                   u_zref, temp, q_zref, zref, &
+ &                   ts1, qsurf, rugos, psol, &           
+ &                   ustar, testar, qstar, okri, ri1, &
+ &                   pref, delu, delte, delq) 
 !
         DO i = 1, knon
@@ -211,7 +213,7 @@
       zref = 10.0
       CALL screenp(klon, knon, nsrf, speed, tpot, q1, &
-                   ts1, qsurf, rugos, lmon, &
-                   ustar, testar, qstar, zref, &
-                   delu, delte, delq)
+ &                 ts1, qsurf, rugos, lmon, &
+ &                 ustar, testar, qstar, zref, &
+ &                 delu, delte, delq)
 !
       DO i = 1, knon
@@ -231,8 +233,8 @@
         okri=.TRUE.
         CALL screenc(klon, knon, nsrf, zxli, &
-                     u_zref, temp, q_zref, zref, &
-                     ts1, qsurf, rugos, psol, &
-                     ustar, testar, qstar, okri, ri1, &
-                     pref, delu, delte, delq)
+ &                   u_zref, temp, q_zref, zref, &
+ &                   ts1, qsurf, rugos, psol, &
+ &                   ustar, testar, qstar, okri, ri1, &
+ &                   pref, delu, delte, delq)
 !
         DO i = 1, knon
