Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_land_bucket_mod.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_land_bucket_mod.F90	(revision 1079)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_land_bucket_mod.F90	(revision 1080)
@@ -153,5 +153,5 @@
 !
     DO i = 1, knon
-       z0_new(i) = SQRT(z0_new(i)**2+rugoro(i)**2)
+       z0_new(i) = MAX(1.5e-05,SQRT(z0_new(i)**2 + rugoro(i)**2))
     END DO
 
Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_land_mod.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_land_mod.F90	(revision 1079)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_land_mod.F90	(revision 1080)
@@ -133,5 +133,5 @@
 !  
        DO i=1,knon
-          z0_new(i) = SQRT(z0_new(i)**2 + rugoro(i)**2)
+          z0_new(i) = MAX(1.5e-05,SQRT(z0_new(i)**2 + rugoro(i)**2))
        ENDDO
 
Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_landice_mod.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_landice_mod.F90	(revision 1079)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_landice_mod.F90	(revision 1080)
@@ -164,5 +164,5 @@
 !
 !****************************************************************************************
-    z0_new(:) = rugoro(:)
+    z0_new(:) = MAX(1.E-3,rugoro(:))
 
 !****************************************************************************************
Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_ocean_mod.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_ocean_mod.F90	(revision 1079)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/surf_ocean_mod.F90	(revision 1080)
@@ -79,4 +79,6 @@
 !****************************************************************************************
     INTEGER               :: i
+    REAL                  :: tmp
+    REAL, PARAMETER       :: cepdu2=(0.1)**2
     REAL, DIMENSION(klon) :: alb_eau
     REAL, DIMENSION(klon) :: radsol
@@ -153,14 +155,10 @@
 !
 !****************************************************************************************
-    z0_new = SQRT(rugos**2 + rugoro**2)
-
-    ! The rugosity is recalculated with another method
-    z0_new(:) = 0.0
     DO i = 1, knon
+       tmp = MAX(cepdu2,u1(i)**2+v1(i)**2)
        z0_new(i) = 0.018*cdragm(i) * (u1(i)**2+v1(i)**2)/RG  &
-            +  0.11*14e-6 / SQRT(cdragm(i) * (u1(i)**2+v1(i)**2))
+            +  0.11*14e-6 / SQRT(cdragm(i) * tmp)
        z0_new(i) = MAX(1.5e-05,z0_new(i))
-    ENDDO
-    
+    ENDDO   
 !
 !****************************************************************************************
