Index: trunk/LMDZ.PLUTO/libf/muphypluto/mp2m_clouds.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/muphypluto/mp2m_clouds.F90	(revision 4130)
+++ trunk/LMDZ.PLUTO/libf/muphypluto/mp2m_clouds.F90	(revision 4131)
@@ -581,5 +581,9 @@
         ! Equilibrium saturation near the drop:
         !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        S_eq = exp(min((2._mm_wp*sig*xESP%masmol) / (mm_rgas*mm_temp*xESP%rho_s*drad),30._mm_wp))
+        where(drad .gt. mm_drad_min)
+          S_eq = exp(min((2._mm_wp*sig*xESP%masmol) / (mm_rgas*mm_temp*xESP%rho_s*drad),30._mm_wp))
+        elsewhere
+          S_eq = exp(min((2._mm_wp*sig*xESP%masmol) / (mm_rgas*mm_temp*xESP%rho_s*mm_drad_min),30._mm_wp))
+        endwhere
 
         ! Gets growth rate:
@@ -765,6 +769,10 @@
 
         ! The knudsen number of the drop:
-        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        knu(:) = L(:) / drad(:)
+        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        
+        where(drad .gt. mm_drad_min)
+          knu = L / drad
+        elsewhere
+          knu = L / mm_drad_min
+        endwhere
 
         ! Slip flow correction:
@@ -1095,4 +1103,5 @@
 
         nz = SIZE(rad)
+        alpha = 0._mm_wp
 
         ! Linear extrapolation of velocity:
@@ -1132,5 +1141,5 @@
           wi = wsettle(mm_play(idx),mm_temp(idx),zi,rhoair_mid,rho(idx),rad(idx))
           ! ws & wi must be different !
-          IF(dabs(wi-ws)/wi <= 1.e-3_mm_wp)  wi=ws/1.001_mm_wp
+          IF(wi/=0._mm_wp.AND.dabs(wi-ws)/wi <= 1.e-3_mm_wp)  wi=ws/1.001_mm_wp
           IF (wi/=0._mm_wp.AND.(ws/wi)>0._mm_wp.AND.(zs-zi)/=0._mm_wp) alpha = dlog(ws/wi)/(zs-zi) ! Alpha < 0 if wi > ws
           !   -es < argexp < es
@@ -1160,6 +1169,11 @@
             ENDIF
           ENDIF
-          zni = mm_zlev(idx)-dlog(arg1)/alpha
-          zns = mm_zlev(idx)-mm_dzlev(idx)-dlog(arg2)/alpha
+          IF (alpha /= 0._mm_wp) THEN
+            zni = mm_zlev(idx)-dlog(arg1)/alpha
+            zns = mm_zlev(idx)-mm_dzlev(idx)-dlog(arg2)/alpha
+          ELSE
+            zni = mm_zlev(idx)
+            zns = mm_zlev(idx)-mm_dzlev(idx)
+          ENDIF
           RETURN
         ENDIF ! end of ichx
