diff --git a/src/mesonh/micro/lima_cold_sedimentation.f90 b/src/mesonh/micro/lima_cold_sedimentation.f90
index 13e80b57c456b0e61d9a3146a8f3c9fe1b75609e..ce1e7141cb834219582687c600d947c1714ecb4d 100644
--- a/src/mesonh/micro/lima_cold_sedimentation.f90
+++ b/src/mesonh/micro/lima_cold_sedimentation.f90
@@ -233,7 +233,7 @@ END IF
    END IF
 !
    ISEDIM = COUNTJV( GSEDIM(:,:,:),I1(:),I2(:),I3(:))
-   IF( ISEDIM >= 1 ) THEN
+   IF( ISEDIM >= 0 ) THEN
 !
       IF( JN==1 ) THEN
          IF( OSEDI ) THEN
@@ -477,7 +477,7 @@ END IF
          IF(NMOM_G.GE.2) PCGS(:,:,:) = PCGS(:,:,:) / PTSTEP
          IF(NMOM_H.GE.2) PCHS(:,:,:) = PCHS(:,:,:) / PTSTEP 
       END IF
-   END IF
+   END IF ! ISEDIM
 END DO
 !++cb++
 DEALLOCATE(ZRTMIN)
diff --git a/src/mesonh/micro/lima_warm_coal.f90 b/src/mesonh/micro/lima_warm_coal.f90
index 66c83de670a5fe35ad95e050c64363f9d6dff4c1..1c264a8fd844abd9c9e484ab25f60fdd5cbc938f 100644
--- a/src/mesonh/micro/lima_warm_coal.f90
+++ b/src/mesonh/micro/lima_warm_coal.f90
@@ -201,7 +201,7 @@ GMICRO(IIB:IIE,IJB:IJE,IKB:IKE) =                  &
 !
 IMICRO = COUNTJV( GMICRO(:,:,:),I1(:),I2(:),I3(:))
 !
-IF( IMICRO >= 1 ) THEN
+IF( IMICRO >= 0 ) THEN
    ALLOCATE(ZRCT(IMICRO))
    ALLOCATE(ZRRT(IMICRO))
    ALLOCATE(ZCCT(IMICRO))
@@ -254,7 +254,7 @@ IF (LRAIN) THEN
 
    GSELF(:) = ZCCT(:)>XCTMIN(2)
    ISELF = COUNT(GSELF(:))
-   IF( ISELF>0 .AND. .NOT.LKHKO) THEN
+   IF( ISELF>=0 .AND. .NOT.LKHKO) THEN
       ZZW1(:) = XSELFC*(ZCCT(:)/ZLBDC3(:))**2 * ZRHODREF(:) ! analytical integration
       WHERE( GSELF(:) )
          ZCCS(:) = ZCCS(:) - MIN( ZCCS(:),ZZW1(:) )
@@ -336,7 +336,7 @@ IF (LRAIN) THEN
 !
    GACCR(:) = ZRRT(:)>XRTMIN(3) .AND. ZCRT(:)>XCTMIN(3)
    IACCR = COUNT(GACCR(:))
-   IF( IACCR>0 ) THEN
+   IF( IACCR >= 0 ) THEN
       ALLOCATE(ZZW4(IMICRO)); ZZW4(:) = XACCR1/ZLBDR(:)
       ALLOCATE(GENABLE_ACCR_SCBU(IMICRO))
       GENABLE_ACCR_SCBU(:) = ZRRT(:)>1.2*ZZW2(:)/ZRHODREF(:) .OR.           &
@@ -345,7 +345,7 @@ IF (LRAIN) THEN
    END IF
 !
    IACCR = COUNT(GACCR(:))
-   IF( IACCR>0 ) THEN
+   IF( IACCR >= 0 ) THEN
     if ( lbudget_rc ) call Budget_store_init( tbudgets(NBUDGET_RC), 'ACCR', &
                                               Unpack( zrcs(:), mask = gmicro(:, :, :), field = prcs(:, :, :) ) * prhodj(:, :, :) )
     if ( lbudget_rr ) call Budget_store_init( tbudgets(NBUDGET_RR), 'ACCR', &
@@ -406,7 +406,7 @@ IF (LRAIN) THEN
 !   	 -----------------------------------------
 !
 !
-   IF( IACCR>0 ) THEN
+   IF( IACCR >= 0 ) THEN
       GSCBU(:) = ZCRT(:)>XCTMIN(3) .AND. GENABLE_ACCR_SCBU(:)
       ISCBU = COUNT(GSCBU(:))
    ELSE
diff --git a/src/mesonh/micro/lima_warm_evap.f90 b/src/mesonh/micro/lima_warm_evap.f90
index e62660ecdb41c18ec7da4ac2c8d9110384f7bbbb..ac7ff4da9c14532290969bb9d6006e0fc39b3840 100644
--- a/src/mesonh/micro/lima_warm_evap.f90
+++ b/src/mesonh/micro/lima_warm_evap.f90
@@ -193,7 +193,7 @@ GEVAP(IIB:IIE,IJB:IJE,IKB:IKE) =                              &
 !
 IEVAP = COUNTJV( GEVAP(:,:,:),I1(:),I2(:),I3(:))
 !
-IF( IEVAP >= 1 ) THEN
+IF( IEVAP >= 0 ) THEN
    ALLOCATE(ZRVT(IEVAP))
    ALLOCATE(ZRCT(IEVAP))
    ALLOCATE(ZRRT(IEVAP))