diff --git a/src/MNH/default_desfmn.f90 b/src/MNH/default_desfmn.f90
index c656a19af214c8c32027fdd699cc8e3d6842b52a..a3127f4a77ef52055227111821d045360404b8c2 100644
--- a/src/MNH/default_desfmn.f90
+++ b/src/MNH/default_desfmn.f90
@@ -279,7 +279,7 @@ USE MODD_PARAM_LIMA, ONLY : LCOLD, LNUCL, LSEDI, LHHONI, LSNOW, LHAIL, LMEYERS,
                             CPRISTINE_ICE_LIMA, CHEVRIMED_ICE_LIMA,                   &
                             XFACTNUC_DEP, XFACTNUC_CON,                               &
                             OWARM=>LWARM, LACTI, ORAIN=>LRAIN, OSEDC=>LSEDC,          &
-                            OACTIT=>LACTIT, LBOUND, LSPRO, LADJ,                      &
+                            OACTIT=>LACTIT, LBOUND, LSPRO, LADJ, LKHKO,               &
                             NMOD_CCN, XCCN_CONC,                                      &
                             LCCN_HOM, CCCN_MODES,                                     &
                             YALPHAR=>XALPHAR, YNUR=>XNUR,                             &
@@ -991,6 +991,7 @@ IF (KMI == 1) THEN
   OACTIT = .FALSE.
   LADJ   = .TRUE.
   LSPRO  = .FALSE.
+  LKHKO  = .FALSE.
   ODEPOC = .FALSE.
   LBOUND = .FALSE.
   OACTTKE = .TRUE.
diff --git a/src/MNH/ini_lima_warm.f90 b/src/MNH/ini_lima_warm.f90
index 3fac15aaefe54e303ddb025473017407a5a60b6d..842552d8131dbe99f954f8c1aeaae70b8ea8f353 100644
--- a/src/MNH/ini_lima_warm.f90
+++ b/src/MNH/ini_lima_warm.f90
@@ -334,6 +334,7 @@ XLAUTR_THRESHOLD  = 0.4
 XITAUTR= 0.27 ! (Notice that T2 of BR74 is uncorrect and that 0.27=1./3.7
 XITAUTR_THRESHOLD = 7.5
 XCAUTR = 3.5E9
+XR0 = 25.0E-6
 !
 ! Cst for the accretion process
 !
@@ -405,6 +406,7 @@ X0EVAR = (12.0)*XF0R*GAMMA_X0D(XNUR+1./XALPHAR)/GAMMA_X0D(XNUR+3./XALPHAR)
 X1EVAR = (12.0)*XF1R*((ZRHO00)**(XCEXVT)*(XCR/0.15E-4))**0.5*    &
            GAMMA_X0D(XNUR+(XDR+3.0)/(2.0*XALPHAR))/GAMMA_X0D(XNUR+3./XALPHAR)
 !
+XCEVAP = 0.86
 !
 !------------------------------------------------------------------------------
 !
diff --git a/src/MNH/lima.f90 b/src/MNH/lima.f90
index d5d566e84e266ea480cdee4a6b2a6975c067525d..02b7a5b9c5af4a998838d9852595262b12454272 100644
--- a/src/MNH/lima.f90
+++ b/src/MNH/lima.f90
@@ -233,7 +233,7 @@ REAL, DIMENSION(:), ALLOCATABLE ::                          &
      Z_RC_ACCR, Z_CC_ACCR,                                  & ! accretion of droplets by rain drops (ACCR) : rc, Nc, rr=-rr
      Z_CR_SCBU,                                             & ! self collectio break up of drops (SCBU) : Nr
 !      Z_TH_EVAP, Z_RC_EVAP, Z_CC_EVAP, Z_RR_EVAP, Z_CR_EVAP, & ! evaporation of rain drops (EVAP) : rv=-rr-rc, rc, Nc, rr, Nr, th
-     Z_TH_EVAP, Z_RR_EVAP, & ! evaporation of rain drops (EVAP) : rv=-rr-rc, rc, Nc, rr, Nr, th
+     Z_TH_EVAP, Z_RR_EVAP, Z_CR_EVAP,                       & ! evaporation of rain drops (EVAP) : rv=-rr-rc, rc, Nc, rr, Nr, th
      Z_RI_CNVI, Z_CI_CNVI,                                  & ! conversion snow -> ice (CNVI) : ri, Ni, rs=-ri
      Z_TH_DEPS, Z_RS_DEPS,                                  & ! deposition of vapor on snow (DEPS) : rv=-rs, rs, th
      Z_TH_DEPI, Z_RI_DEPI,                                  & ! deposition of vapor on ice (DEPI) : rv=-ri, ri, th
@@ -284,7 +284,7 @@ REAL, DIMENSION(:,:,:), ALLOCATABLE ::                                     &
      ZTOT_RC_ACCR, ZTOT_CC_ACCR,                                           & ! accretion of droplets by rain drops (ACCR)
      ZTOT_CR_SCBU,                                                         & ! self collectio break up of drops (SCBU)
 !      ZTOT_TH_EVAP, ZTOT_RC_EVAP, ZTOT_CC_EVAP, ZTOT_RR_EVAP, ZTOT_CR_EVAP, & ! evaporation of rain drops (EVAP)
-     ZTOT_TH_EVAP, ZTOT_RR_EVAP, & ! evaporation of rain drops (EVAP)
+     ZTOT_TH_EVAP, ZTOT_RR_EVAP, ZTOT_CR_EVAP,                             & ! evaporation of rain drops (EVAP)
      ZTOT_RI_CNVI, ZTOT_CI_CNVI,                                           & ! conversion snow -> ice (CNVI)
      ZTOT_TH_DEPS, ZTOT_RS_DEPS,                                           & ! deposition of vapor on snow (DEPS)
      ZTOT_TH_DEPI, ZTOT_RI_DEPI,                                           & ! deposition of vapor on ice (DEPI)
@@ -428,7 +428,7 @@ if ( lbu_enable ) then
 !   allocate( ZTOT_RC_EVAP (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RC_EVAP(:,:,:) = 0.
 !   allocate( ZTOT_CC_EVAP (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CC_EVAP(:,:,:) = 0.
   allocate( ZTOT_RR_EVAP (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RR_EVAP(:,:,:) = 0.
-!   allocate( ZTOT_CR_EVAP (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CR_EVAP(:,:,:) = 0.
+  allocate( ZTOT_CR_EVAP (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CR_EVAP(:,:,:) = 0.
   allocate( ZTOT_RI_CNVI (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_RI_CNVI(:,:,:) = 0.
   allocate( ZTOT_CI_CNVI (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_CI_CNVI(:,:,:) = 0.
   allocate( ZTOT_TH_DEPS (size( ptht, 1), size( ptht, 2), size( ptht, 3) ) ); ZTOT_TH_DEPS(:,:,:) = 0.
@@ -988,6 +988,7 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKTB:IKTE)<PTSTEP))
       ALLOCATE(Z_CR_SCBU(IPACK))          ; Z_CR_SCBU(:) = 0.
       ALLOCATE(Z_TH_EVAP(IPACK))          ; Z_TH_EVAP(:) = 0.
       ALLOCATE(Z_RR_EVAP(IPACK))          ; Z_RR_EVAP(:) = 0.
+      ALLOCATE(Z_CR_EVAP(IPACK))          ; Z_CR_EVAP(:) = 0.
       ALLOCATE(Z_RI_CNVI(IPACK))          ; Z_RI_CNVI(:) = 0.
       ALLOCATE(Z_CI_CNVI(IPACK))          ; Z_CI_CNVI(:) = 0.
       ALLOCATE(Z_TH_DEPS(IPACK))          ; Z_TH_DEPS(:) = 0.
@@ -1080,7 +1081,7 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKTB:IKTE)<PTSTEP))
                             Z_RC_AUTO, Z_CC_AUTO, Z_CR_AUTO,                       & 
                             Z_RC_ACCR, Z_CC_ACCR,                                  & 
                             Z_CR_SCBU,                                             & 
-                            Z_TH_EVAP, Z_RR_EVAP,                                  & 
+                            Z_TH_EVAP, Z_RR_EVAP, Z_CR_EVAP,                       & 
                             Z_RI_CNVI, Z_CI_CNVI,                                  & 
                             Z_TH_DEPS, Z_RS_DEPS,                                  & 
                             Z_TH_DEPI, Z_RI_DEPI,                                  & 
@@ -1364,7 +1365,7 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKTB:IKTE)<PTSTEP))
 !!$            ZTOT_RC_EVAP(I1(II),I2(II),I3(II)) =   ZTOT_RC_EVAP(I1(II),I2(II),I3(II))   + Z_RC_EVAP(II)  * ZMAXTIME(II)
 !!$            ZTOT_CC_EVAP(I1(II),I2(II),I3(II)) =   ZTOT_CC_EVAP(I1(II),I2(II),I3(II))   + Z_CC_EVAP(II)  * ZMAXTIME(II)
             ZTOT_RR_EVAP(I1(II),I2(II),I3(II)) =   ZTOT_RR_EVAP(I1(II),I2(II),I3(II))   + Z_RR_EVAP(II)  * ZMAXTIME(II)
-!!$            ZTOT_CR_EVAP(I1(II),I2(II),I3(II)) =   ZTOT_CR_EVAP(I1(II),I2(II),I3(II))   + Z_CR_EVAP(II)  * ZMAXTIME(II)
+            ZTOT_CR_EVAP(I1(II),I2(II),I3(II)) =   ZTOT_CR_EVAP(I1(II),I2(II),I3(II))   + Z_CR_EVAP(II)  * ZMAXTIME(II)
             ZTOT_RI_CNVI(I1(II),I2(II),I3(II)) =   ZTOT_RI_CNVI(I1(II),I2(II),I3(II))   + Z_RI_CNVI(II)  * ZMAXTIME(II)
             ZTOT_CI_CNVI(I1(II),I2(II),I3(II)) =   ZTOT_CI_CNVI(I1(II),I2(II),I3(II))   + Z_CI_CNVI(II)  * ZMAXTIME(II)
             ZTOT_TH_DEPS(I1(II),I2(II),I3(II)) =   ZTOT_TH_DEPS(I1(II),I2(II),I3(II))   + Z_TH_DEPS(II)  * ZMAXTIME(II)
@@ -1531,6 +1532,7 @@ DO WHILE(ANY(ZTIME(IIB:IIE,IJB:IJE,IKTB:IKTE)<PTSTEP))
       DEALLOCATE(Z_CR_SCBU)
       DEALLOCATE(Z_TH_EVAP) 
       DEALLOCATE(Z_RR_EVAP) 
+      DEALLOCATE(Z_CR_EVAP) 
       DEALLOCATE(Z_RI_CNVI)
       DEALLOCATE(Z_CI_CNVI)
       DEALLOCATE(Z_TH_DEPS)
@@ -1759,7 +1761,7 @@ if ( lbu_enable ) then
     idx = NBUDGET_SV1 - 1 + nsv_lima_nr
     call Budget_store_add( tbudgets(idx), 'AUTO',  ztot_cr_auto(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'SCBU',  ztot_cr_scbu(:, :, :) * zrhodjontstep(:, :, :) )
-    !call Budget_store_add( tbudgets(idx), 'REVA',  0. )
+    call Budget_store_add( tbudgets(idx), 'REVA',  ztot_cr_evap(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'BRKU',  ztot_cr_brku(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'HONR',  ztot_cr_honr(:, :, :) * zrhodjontstep(:, :, :) )
     call Budget_store_add( tbudgets(idx), 'ACC',   ztot_cr_acc (:, :, :) * zrhodjontstep(:, :, :) )
diff --git a/src/MNH/lima_droplets_accretion.f90 b/src/MNH/lima_droplets_accretion.f90
index 8996b5425b8282ae43f1676dd6b09e55661b8787..d65aba66e01ef00f2a436f1108a032e8ccdf6b06 100644
--- a/src/MNH/lima_droplets_accretion.f90
+++ b/src/MNH/lima_droplets_accretion.f90
@@ -63,7 +63,7 @@ END MODULE MODI_LIMA_DROPLETS_ACCRETION
 !*       0.    DECLARATIONS
 !              ------------
 !
-USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN
+USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN, LKHKO
 USE MODD_PARAM_LIMA_WARM, ONLY : XLAUTR, XAUTO1, XLAUTR_THRESHOLD, &
                                  XACCR4, XACCR5, XACCR3, XACCR2, XACCR1, &
                                  XACCR_CLARGE1, XACCR_CLARGE2, XACCR_RLARGE1, XACCR_RLARGE2, &
@@ -109,50 +109,71 @@ ZW2(:) = 0.0
 ZW3(:) = 0.0
 ZW4(:) = 0.0
 !
-WHERE( PRCT(:)>XRTMIN(2) .AND. PCCT(:)>XCTMIN(2) .AND. PRRT(:)>XRTMIN(3) .AND. PCRT(:)>XCTMIN(3) .AND. LDCOMPUTE(:) )
-   ZW2(:) = MAX( 0.0,XLAUTR*PRHODREF(:)*PRCT(:)*(XAUTO1/PLBDC(:)**4-XLAUTR_THRESHOLD) ) ! L 
-   ZW4(:) = XACCR1/PLBDR(:)
-END WHERE
-!
-GACCR(:) = LDCOMPUTE(:)      .AND. &
-               PRRT(:)>XRTMIN(3) .AND. &
-               PCRT(:)>XCTMIN(3) .AND. &
-               PRCT(:)>XRTMIN(2) .AND. &
-               PCCT(:)>XCTMIN(2) .AND. &
-               (PRRT(:)>1.2*ZW2(:)/PRHODREF(:) .OR. &
+!
+!
+IF ( LKHKO ) THEN
+!
+   GACCR(:) = PRRT(:)>XRTMIN(3) .AND. &
+              PRCT(:)>XRTMIN(2) .AND. &
+              PCCT(:)>XCTMIN(2)
+!
+   WHERE ( GACCR(:) )
+!
+      ZW1(:) = 67.0 * ( PRCT(:) * PRRT(:) )**1.15
+      P_RC_ACCR(:) = - ZW1(:)
+!
+      ZW2(:) = ZW1(:) * PCCT(:) / PRCT(:)
+      P_CC_ACCR(:) = - ZW2(:)
+!
+   END WHERE
+!
+ELSE
+!
+   WHERE( PRCT(:)>XRTMIN(2) .AND. PCCT(:)>XCTMIN(2) .AND. PRRT(:)>XRTMIN(3) .AND. PCRT(:)>XCTMIN(3) .AND. LDCOMPUTE(:) )
+      ZW2(:) = MAX( 0.0,XLAUTR*PRHODREF(:)*PRCT(:)*(XAUTO1/PLBDC(:)**4-XLAUTR_THRESHOLD) ) ! L 
+      ZW4(:) = XACCR1/PLBDR(:)
+   END WHERE
+!
+   GACCR(:) = LDCOMPUTE(:)      .AND. &
+              PRRT(:)>XRTMIN(3) .AND. &
+              PCRT(:)>XCTMIN(3) .AND. &
+              PRCT(:)>XRTMIN(2) .AND. &
+              PCCT(:)>XCTMIN(2) .AND. &
+              (PRRT(:)>1.2*ZW2(:)/PRHODREF(:) .OR. &
                 ZW4(:)>=MAX(XACCR2,XACCR3/(XACCR4/PLBDC(:)-XACCR5)) )
 !
 ! Accretion for D>100 10-6 m
-WHERE( GACCR(:).AND.(ZW4(:)>1.E-4) )
-   ZW3(:) = MIN(PLBDC3(:) / PLBDR3(:),1.E15)
-   ZW1(:) = ( PCCT(:)*PCRT(:) / PLBDC3(:) )*PRHODREF(:)
-   ZW2(:) = ZW1(:)*(XACCR_CLARGE1+XACCR_CLARGE2*ZW3(:))
+   WHERE( GACCR(:).AND.(ZW4(:)>1.E-4) )
+      ZW3(:) = MIN(PLBDC3(:) / PLBDR3(:),1.E15)
+      ZW1(:) = ( PCCT(:)*PCRT(:) / PLBDC3(:) )*PRHODREF(:)
+      ZW2(:) = ZW1(:)*(XACCR_CLARGE1+XACCR_CLARGE2*ZW3(:))
 !
-   P_CC_ACCR(:) = - ZW2(:)
+      P_CC_ACCR(:) = - ZW2(:)
 !
-   ZW1(:) = ( ZW1(:) / PLBDC3(:) )
-   ZW2(:) = ZW1(:)*(XACCR_RLARGE1+XACCR_RLARGE2*ZW3(:))
+      ZW1(:) = ( ZW1(:) / PLBDC3(:) )
+      ZW2(:) = ZW1(:)*(XACCR_RLARGE1+XACCR_RLARGE2*ZW3(:))
 !
-   P_RC_ACCR(:) = - ZW2(:)
-END WHERE
+      P_RC_ACCR(:) = - ZW2(:)
+   END WHERE
 !
 ! Accretion for D<100 10-6 m
-WHERE( GACCR(:).AND.(ZW4(:)<=1.E-4) )
-   ZW3(:) = MIN(PLBDC3(:) / PLBDR3(:), 1.E8)
-   ZW1(:) = ( PCCT(:)*PCRT(:) / PLBDC3(:) )*PRHODREF(:)
-   ZW1(:) =  ZW1(:)/PLBDC3(:)
+   WHERE( GACCR(:).AND.(ZW4(:)<=1.E-4) )
+      ZW3(:) = MIN(PLBDC3(:) / PLBDR3(:), 1.E8)
+      ZW1(:) = ( PCCT(:)*PCRT(:) / PLBDC3(:) )*PRHODREF(:)
+      ZW1(:) =  ZW1(:)/PLBDC3(:)
    
-   ZW3(:) = ZW3(:)**2
-   ZW2(:) = ZW1(:)*(XACCR_CSMALL1+XACCR_CSMALL2*ZW3(:))
+      ZW3(:) = ZW3(:)**2
+      ZW2(:) = ZW1(:)*(XACCR_CSMALL1+XACCR_CSMALL2*ZW3(:))
 !
-   P_CC_ACCR(:) = - ZW2(:)
+      P_CC_ACCR(:) = - ZW2(:)
 !
-   ZW1(:) = ZW1(:) / PLBDC3(:)
-   ZW2(:) = ZW1(:)*(XACCR_RSMALL1+XACCR_RSMALL2*ZW3(:))
+      ZW1(:) = ZW1(:) / PLBDC3(:)
+      ZW2(:) = ZW1(:)*(XACCR_RSMALL1+XACCR_RSMALL2*ZW3(:))
 !
-   P_RC_ACCR(:) = - ZW2(:)
-END WHERE
+      P_RC_ACCR(:) = - ZW2(:)
+   END WHERE
 !
+END IF
 !
 !
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/lima_droplets_autoconversion.f90 b/src/MNH/lima_droplets_autoconversion.f90
index 044030f792dd2b64affa03bd8407470d8486691b..93d9227ce343bd29fd6b9793ec045b66dfc8ae99 100644
--- a/src/MNH/lima_droplets_autoconversion.f90
+++ b/src/MNH/lima_droplets_autoconversion.f90
@@ -58,10 +58,11 @@ END MODULE MODI_LIMA_DROPLETS_AUTOCONVERSION
 !*       0.    DECLARATIONS
 !              ------------
 !
-USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN
+USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN, LKHKO
 USE MODD_PARAM_LIMA_WARM, ONLY : XLAUTR, XAUTO1, XLAUTR_THRESHOLD, &
                                  XITAUTR, XAUTO2, XITAUTR_THRESHOLD, &
-                                 XACCR4, XACCR5, XACCR3, XACCR1, XAC
+                                 XACCR4, XACCR5, XACCR3, XACCR1, XAC, XR0
+USE MODD_CST,             ONLY : XPI, XRHOLW
 !
 IMPLICIT NONE
 !
@@ -86,13 +87,6 @@ REAL, DIMENSION(SIZE(PRCT)) :: ZW1, ZW2, ZW3 ! work arrays
 !
 !-------------------------------------------------------------------------------
 !
-!
-!
-!*       1. Autoconversion of cloud droplets (Berry-Reinhardt parameterization)
-!   	 ----------------------------------------------------------------------
-!
-!
-!
 P_RC_AUTO(:) = 0.0
 P_CC_AUTO(:) = 0.0
 P_CR_AUTO(:) = 0.0
@@ -100,27 +94,53 @@ P_CR_AUTO(:) = 0.0
 ZW3(:) = 0.0
 ZW2(:) = 0.0
 ZW1(:) = 0.0
-WHERE( PRCT(:)>XRTMIN(2) .AND. PCCT(:)>XCTMIN(2) .AND. PLBDC(:)>0. .AND. LDCOMPUTE(:) )
-   ZW2(:) = MAX( 0.0, &
+!
+IF (LKHKO) THEN
+!
+!        1. Autoconversion of cloud droplets (Berry-Reinhardt parameterization)
+!   	 ----------------------------------------------------------------------
+!
+   WHERE ( PRCT(:)>XRTMIN(2) .AND. PCCT(:)>XCTMIN(2) .AND. LDCOMPUTE(:) )
+!
+      ZW1(:)= 1350.0 * PRCT(:)**(2.47) * (PCCT(:)* PRHODREF(:)/1.0E6)**(-1.79) ! ZCCT in cm-3         
+!
+      P_RC_AUTO(:) = - ZW1(:)
+!
+      ZW2(:) = ZW1(:) * 3./(4.*XPI*XRHOLW*(XR0)**(3.))
+      P_CR_AUTO(:) = ZW2(:)
+!
+      ZW3(:) = - ZW1(:) * PCCT(:) / PRCT(:)
+      P_CC_AUTO(:) = ZW3(:)
+!
+   END WHERE
+!
+ELSE
+!
+!        2. Autoconversion of cloud droplets (Berry-Reinhardt parameterization)
+!   	 ----------------------------------------------------------------------
+!
+   WHERE( PRCT(:)>XRTMIN(2) .AND. PCCT(:)>XCTMIN(2) .AND. PLBDC(:)>0. .AND. LDCOMPUTE(:) )
+      ZW2(:) = MAX( 0.0, &
                      XLAUTR*PRHODREF(:)*PRCT(:)*(XAUTO1/min(PLBDC(:),1.e9)**4-XLAUTR_THRESHOLD) ) ! L 
 !
-   ZW3(:) = MAX( 0.0, &
+      ZW3(:) = MAX( 0.0, &
                      XITAUTR*ZW2(:)*PRCT(:)*(XAUTO2/PLBDC(:)-XITAUTR_THRESHOLD) ) ! L/tau
 !
-   P_RC_AUTO(:) = - ZW3(:)
+      P_RC_AUTO(:) = - ZW3(:)
 !
-   ZW1(:) = MIN( MIN( 1.2E4, &
-                      (XACCR4/PLBDC(:)-XACCR5)/XACCR3 ), &
-                      PLBDR(:)/XACCR1 )         ! D**-1 threshold diameter for 
-                                                ! switching the autoconversion regimes
-                                                ! min (80 microns, D_h, D_r)
-   ZW3(:) = ZW3(:) * MAX( 0.0,ZW1(:) )**3 / XAC 
+      ZW1(:) = MIN( MIN( 1.2E4, &
+                         (XACCR4/PLBDC(:)-XACCR5)/XACCR3 ), &
+                         PLBDR(:)/XACCR1 )         ! D**-1 threshold diameter for 
+                                                   ! switching the autoconversion regimes
+                                                   ! min (80 microns, D_h, D_r)
+      ZW3(:) = ZW3(:) * MAX( 0.0,ZW1(:) )**3 / XAC 
 !
-   P_CC_AUTO(:) = -ZW3(:)
-   P_CR_AUTO(:) = ZW3(:)
+      P_CC_AUTO(:) = -ZW3(:)
+      P_CR_AUTO(:) = ZW3(:)
 !
-END WHERE
+   END WHERE
 !
+END IF
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/lima_rain_evaporation.f90 b/src/MNH/lima_rain_evaporation.f90
index 2970e027d0ae5d8b380a0c9348ddc7de249fe049..babadcf4bb8887520fd90ee1eb49ae396c8ce67f 100644
--- a/src/MNH/lima_rain_evaporation.f90
+++ b/src/MNH/lima_rain_evaporation.f90
@@ -10,8 +10,8 @@
 INTERFACE
       SUBROUTINE LIMA_RAIN_EVAPORATION (PTSTEP, LDCOMPUTE,                          &
                                         PRHODREF, PT, PLV, PLVFACT, PEVSAT, PRVSAT, &
-                                        PRVT, PRCT, PRRT, PLBDR,                    &
-                                        P_TH_EVAP, P_RR_EVAP,                       &
+                                        PRVT, PRCT, PRRT, PCRT, PLBDR,              &
+                                        P_TH_EVAP, P_RR_EVAP, P_CR_EVAP,            &
                                         PEVAP3D                                     )
 !
 REAL,                 INTENT(IN)    :: PTSTEP     ! Time step
@@ -27,10 +27,12 @@ REAL, DIMENSION(:),   INTENT(IN)    :: PRVSAT     !
 REAL, DIMENSION(:),   INTENT(IN)    :: PRVT       ! Water vapor m.r. at t 
 REAL, DIMENSION(:),   INTENT(IN)    :: PRCT       ! Cloud water m.r. at t 
 REAL, DIMENSION(:),   INTENT(IN)    :: PRRT       ! Rain water m.r. at t 
+REAL, DIMENSION(:),   INTENT(IN)    :: PCRT       ! Rain water conc at t 
 REAL, DIMENSION(:),   INTENT(IN)    :: PLBDR     ! Lambda(rain)
 !
 REAL, DIMENSION(:),   INTENT(OUT)   :: P_TH_EVAP
 REAL, DIMENSION(:),   INTENT(OUT)   :: P_RR_EVAP
+REAL, DIMENSION(:),   INTENT(OUT)   :: P_CR_EVAP
 !
 REAL, DIMENSION(:),   INTENT(INOUT) :: PEVAP3D    ! Rain evap profile
 !
@@ -40,8 +42,8 @@ END MODULE MODI_LIMA_RAIN_EVAPORATION
 !     ###############################################################################
       SUBROUTINE LIMA_RAIN_EVAPORATION (PTSTEP, LDCOMPUTE,                          &
                                         PRHODREF, PT, PLV, PLVFACT, PEVSAT, PRVSAT, &
-                                        PRVT, PRCT, PRRT, PLBDR,                    &
-                                        P_TH_EVAP, P_RR_EVAP,                       &
+                                        PRVT, PRCT, PRRT, PCRT, PLBDR,              &
+                                        P_TH_EVAP, P_RR_EVAP, P_CR_EVAP,            &
                                         PEVAP3D                                     )
 !     ###############################################################################
 !
@@ -68,9 +70,9 @@ END MODULE MODI_LIMA_RAIN_EVAPORATION
 !*       0.    DECLARATIONS
 !              ------------
 !
-USE MODD_CST,             ONLY : XRHOLW, XRV
-USE MODD_PARAM_LIMA,      ONLY : XRTMIN
-USE MODD_PARAM_LIMA_WARM, ONLY : X0EVAR, XEX0EVAR, X1EVAR, XEX2EVAR, XEX1EVAR, XTHCO, XDIVA
+USE MODD_CST,             ONLY : XRHOLW, XRV, XPI
+USE MODD_PARAM_LIMA,      ONLY : XRTMIN, XCTMIN, LKHKO
+USE MODD_PARAM_LIMA_WARM, ONLY : X0EVAR, XEX0EVAR, X1EVAR, XEX2EVAR, XEX1EVAR, XTHCO, XDIVA, XCEVAP
 !
 IMPLICIT NONE
 !
@@ -89,10 +91,12 @@ REAL, DIMENSION(:),   INTENT(IN)    :: PRVSAT     !
 REAL, DIMENSION(:),   INTENT(IN)    :: PRVT       ! Water vapor m.r. at t 
 REAL, DIMENSION(:),   INTENT(IN)    :: PRCT       ! Cloud water m.r. at t 
 REAL, DIMENSION(:),   INTENT(IN)    :: PRRT       ! Rain water m.r. at t 
-REAL, DIMENSION(:),   INTENT(IN)    :: PLBDR     ! Lambda(rain)
+REAL, DIMENSION(:),   INTENT(IN)    :: PCRT       ! Rain water conc at t 
+REAL, DIMENSION(:),   INTENT(IN)    :: PLBDR      ! Lambda(rain)
 !
 REAL, DIMENSION(:),   INTENT(OUT)   :: P_TH_EVAP
 REAL, DIMENSION(:),   INTENT(OUT)   :: P_RR_EVAP
+REAL, DIMENSION(:),   INTENT(OUT)   :: P_CR_EVAP
 !
 REAL, DIMENSION(:),   INTENT(INOUT) :: PEVAP3D    ! Rain evap profile
 !
@@ -110,40 +114,57 @@ REAL, DIMENSION(SIZE(PRHODREF))    :: ZZW1, ZZW2
 !
 P_TH_EVAP(:) = 0.
 P_RR_EVAP(:) = 0.
+P_CR_EVAP(:) = 0.
+!
+ZZW1(:) = 0.
+ZZW2(:) = 0.
 !
 GEVAP(:) = .FALSE.
 GEVAP(:) = LDCOMPUTE(:)      .AND. &
            PRRT(:)>XRTMIN(3) .AND. &
-           PRVT(:)<PRVSAT(:)
-!
-WHERE ( GEVAP )
-!
-!-------------------------------------------------------------------------------
+           PRVT(:)<PRVSAT(:) .AND. &
+           PCRT(:)>XCTMIN(3)
 !
 !
-!*       2. compute the evaporation of rain drops    
-!   	 ----------------------------------------
 !
+IF (LKHKO) THEN
+
+   ZZW1(:) = MAX((1.0 - PRVT(:)/ZZW1(:)),0.0)  ! Subsaturation
+    
+   ZZW2(:) = 1. / ( XRHOLW*((((PLV(:)/PT(:))**2)/(XTHCO*XRV)) +          & ! G
+        (XRV*PT(:))/(XDIVA*PEVSAT(:))))
+
+   ZZW2(:) = 3.0 * XCEVAP * ZZW2(:) * (4.*XPI*XRHOLW/(3.))**(2./3.) *    &
+        (PRRT(:))**(1./3.) * (PCRT(:))**(2./3.) * ZZW1(:)                            
+   P_RR_EVAP(:) = - ZZW2(:)
+
+   ZZW2(:) = ZZW2(:) * PCRT(:)/PRRT(:)
+   P_CR_EVAP = - ZZW2(:)
+
+ELSE
+
+   WHERE ( GEVAP )
 !
-   ZZW1(:) = MAX((1.0 - PRVT(:)/PRVSAT(:)),0.0)  ! Subsaturation
+      ZZW1(:) = MAX((1.0 - PRVT(:)/PRVSAT(:)),0.0)  ! Subsaturation
 !
 ! Compute the function G(T)
 !
-   ZZW2(:) = 1. / ( XRHOLW*((((PLV(:)/PT(:))**2)/(XTHCO*XRV)) +          & ! G
-          (XRV*PT(:))/(XDIVA*PEVSAT(:))))
+      ZZW2(:) = 1. / ( XRHOLW*((((PLV(:)/PT(:))**2)/(XTHCO*XRV)) +          & ! G
+           (XRV*PT(:))/(XDIVA*PEVSAT(:))))
 !
 ! Compute the evaporation tendency
 !
-   ZZW2(:) = ZZW2(:) * ZZW1(:) * PRRT(:) *        &
-        (X0EVAR * PLBDR(:)**XEX0EVAR + X1EVAR * PRHODREF(:)**XEX2EVAR * PLBDR(:)**XEX1EVAR)
-   ZZW2(:) = MAX(ZZW2(:),0.0)
+      ZZW2(:) = ZZW2(:) * ZZW1(:) * PRRT(:) *        &
+           (X0EVAR * PLBDR(:)**XEX0EVAR + X1EVAR * PRHODREF(:)**XEX2EVAR * PLBDR(:)**XEX1EVAR)
+      ZZW2(:) = MAX(ZZW2(:),0.0)
 !
-   P_RR_EVAP(:) = - ZZW2(:)
+      P_RR_EVAP(:) = - ZZW2(:)
 !   P_TH_EVAP(:) = P_RR_EVAP(:) * PLVFACT(:)
 !   PEVAP3D(:) = - P_RR_EVAP(:)
 !
-END WHERE
+   END WHERE
 !
+END IF
 !-----------------------------------------------------------------------------
 !
 END SUBROUTINE LIMA_RAIN_EVAPORATION
diff --git a/src/MNH/lima_tendencies.f90 b/src/MNH/lima_tendencies.f90
index bd98d503c551fc74862ea85aeb1a80795beea2ce..e916a1a333ca5c103275dc8c9dae09263307fd67 100644
--- a/src/MNH/lima_tendencies.f90
+++ b/src/MNH/lima_tendencies.f90
@@ -16,7 +16,7 @@ MODULE MODI_LIMA_TENDENCIES
                                  P_RC_AUTO, P_CC_AUTO, P_CR_AUTO,                       & 
                                  P_RC_ACCR, P_CC_ACCR,                                  & 
                                  P_CR_SCBU,                                             & 
-                                 P_TH_EVAP, P_RR_EVAP,                                  & 
+                                 P_TH_EVAP, P_RR_EVAP, P_CR_EVAP,                       & 
                                  P_RI_CNVI, P_CI_CNVI,                                  & 
                                  P_TH_DEPS, P_RS_DEPS,                                  & 
                                  P_TH_DEPI, P_RI_DEPI,                                  & 
@@ -80,7 +80,8 @@ REAL, DIMENSION(:),   INTENT(INOUT) :: P_CC_ACCR ! accretion of droplets by rain
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_CR_SCBU ! self collectio break up of drops (SCBU) : Nr
 !
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_TH_EVAP
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RR_EVAP ! evaporation of rain drops (EVAP) : rr, rv=-rr
+REAL, DIMENSION(:),   INTENT(INOUT) :: P_RR_EVAP
+REAL, DIMENSION(:),   INTENT(INOUT) :: P_CR_EVAP ! evaporation of rain drops (EVAP) : rr, Nr, rv=-rr
 !
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_RI_CNVI
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_CI_CNVI  ! conversion snow -> ice (CNVI) : ri, Ni, rs=-ri
@@ -189,7 +190,7 @@ SUBROUTINE LIMA_TENDENCIES (PTSTEP, LDCOMPUTE,
                             P_RC_AUTO, P_CC_AUTO, P_CR_AUTO,                       & 
                             P_RC_ACCR, P_CC_ACCR,                                  & 
                             P_CR_SCBU,                                             & 
-                            P_TH_EVAP, P_RR_EVAP,                                  & 
+                            P_TH_EVAP, P_RR_EVAP, P_CR_EVAP,                       & 
                             P_RI_CNVI, P_CI_CNVI,                                  & 
                             P_TH_DEPS, P_RS_DEPS,                                  & 
                             P_TH_DEPI, P_RI_DEPI,                                  & 
@@ -239,7 +240,7 @@ SUBROUTINE LIMA_TENDENCIES (PTSTEP, LDCOMPUTE,
 USE MODD_CST,              ONLY : XP00, XRD, XRV, XMD, XMV, XCPD, XCPV, XCL, XCI, XLVTT, XLSTT, XTT, &
                                   XALPW, XBETAW, XGAMW, XALPI, XBETAI, XGAMI
 USE MODD_PARAM_LIMA,       ONLY : XRTMIN, XCTMIN,                                                    &
-                                  LCOLD, LNUCL, LSNOW, LHAIL, LWARM, LACTI, LRAIN
+                                  LCOLD, LNUCL, LSNOW, LHAIL, LWARM, LACTI, LRAIN, LKHKO
 USE MODD_PARAM_LIMA_WARM,  ONLY : XLBC, XLBEXC, XLBR, XLBEXR
 USE MODD_PARAM_LIMA_MIXED, ONLY : XLBG, XLBEXG, XLBH, XLBEXH, XLBDAG_MAX
 USE MODD_PARAM_LIMA_COLD,  ONLY : XSCFAC, XLBI, XLBEXI, XLBS, XLBEXS, XLBDAS_MAX
@@ -300,7 +301,8 @@ REAL, DIMENSION(:),   INTENT(INOUT) :: P_CC_ACCR ! accretion of droplets by rain
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_CR_SCBU ! self collectio break up of drops (SCBU) : Nr
 !
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_TH_EVAP
-REAL, DIMENSION(:),   INTENT(INOUT) :: P_RR_EVAP ! evaporation of rain drops (EVAP) : rr, rv=-rr
+REAL, DIMENSION(:),   INTENT(INOUT) :: P_RR_EVAP
+REAL, DIMENSION(:),   INTENT(INOUT) :: P_CR_EVAP ! evaporation of rain drops (EVAP) : rr, Nr, rv=-rr
 !
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_RI_CNVI
 REAL, DIMENSION(:),   INTENT(INOUT) :: P_CI_CNVI  ! conversion snow -> ice (CNVI) : ri, Ni, rs=-ri
@@ -525,7 +527,7 @@ IF (LCOLD .AND. LWARM) THEN
                                     PA_TH, PA_RC, PA_CC, PA_RI, PA_CI  )
 END IF
 !
-IF (LWARM .AND. LRAIN) THEN
+IF (LWARM .AND. LRAIN .AND. (.NOT. LKHKO)) THEN
    CALL LIMA_DROPLETS_SELF_COLLECTION (LDCOMPUTE,          & ! depends on CF
                                        PRHODREF,           &
                                        PCCT/ZCF1D, ZLBDC3, &
@@ -564,7 +566,7 @@ IF (LWARM .AND. LRAIN) THEN
    PA_RR(:) = PA_RR(:) - P_RC_ACCR(:)
 END IF
 !
-IF (LWARM .AND. LRAIN) THEN 
+IF (LWARM .AND. LRAIN .AND. (.NOT. LKHKO)) THEN 
    CALL LIMA_DROPS_SELF_COLLECTION (LDCOMPUTE,           & ! depends on PF
                                     PRHODREF,            &
                                     PCRT/ZPF1D(:), ZLBDR, ZLBDR3, &
@@ -576,18 +578,20 @@ IF (LWARM .AND. LRAIN) THEN
 END IF
 !
 IF (LWARM .AND. LRAIN) THEN
-   CALL LIMA_RAIN_EVAPORATION (PTSTEP, LDCOMPUTE,                          & ! depends on PF > CF 
-                               PRHODREF, ZT, ZLV, ZLVFACT, ZEVSAT, ZRVSAT, &
-                               PRVT, PRCT/ZPF1D, PRRT/ZPF1D, ZLBDR,        &
-                               P_TH_EVAP, P_RR_EVAP,                       &
-                               PEVAP3D                                     )
+   CALL LIMA_RAIN_EVAPORATION (PTSTEP, LDCOMPUTE,                               & ! depends on PF > CF 
+                               PRHODREF, ZT, ZLV, ZLVFACT, ZEVSAT, ZRVSAT,      &
+                               PRVT, PRCT/ZPF1D, PRRT/ZPF1D, PCRT/ZPF1D, ZLBDR, &
+                               P_TH_EVAP, P_RR_EVAP, P_CR_EVAP,                 &
+                               PEVAP3D                                          )
    P_RR_EVAP(:) = P_RR_EVAP(:) * MAX((ZPF1D(:) - ZCF1D(:)),0.)
+   P_CR_EVAP(:) = P_RR_EVAP(:) * MAX((ZPF1D(:) - ZCF1D(:)),0.)
    P_TH_EVAP(:) = P_RR_EVAP(:) * ZLVFACT(:)
    PEVAP3D(:) = - P_RR_EVAP(:)
    !
    PA_TH(:) = PA_TH(:) + P_TH_EVAP(:)
    PA_RV(:) = PA_RV(:) - P_RR_EVAP(:)
    PA_RR(:) = PA_RR(:) + P_RR_EVAP(:)
+   PA_CR(:) = PA_CR(:) + P_CR_EVAP(:)
 END IF
 !
 IF (LCOLD) THEN
diff --git a/src/MNH/modd_param_lima.f90 b/src/MNH/modd_param_lima.f90
index 66156a05620e98e2662a314f7338b2453cdb5e51..e12d84506bdaf4fbd820e161580996c8efe30087 100644
--- a/src/MNH/modd_param_lima.f90
+++ b/src/MNH/modd_param_lima.f90
@@ -133,6 +133,7 @@ LOGICAL, SAVE :: LDEPOC        ! Deposition of rc at 1st level above ground
 LOGICAL, SAVE :: LACTTKE       ! TRUE to take into account TKE in W for activation
 LOGICAL, SAVE :: LADJ          ! TRUE for adjustment procedure + Smax (false for diagnostic supersaturation)
 LOGICAL, SAVE :: LSPRO         ! TRUE for prognostic supersaturation                     
+LOGICAL, SAVE :: LKHKO         ! TRUE for Scu simulation (replicates the previous KHKO scheme)                     
 !
 ! 2.2 CCN initialisation
 !
diff --git a/src/MNH/modd_param_lima_warm.f90 b/src/MNH/modd_param_lima_warm.f90
index 65a3d10279364cb382048f19ed657c7eca2d2c39..2c182b6e986a346fb9d61594316501cba7577cd9 100644
--- a/src/MNH/modd_param_lima_warm.f90
+++ b/src/MNH/modd_param_lima_warm.f90
@@ -90,8 +90,8 @@ REAL,SAVE :: XSELFC                              ! Constants for cloud droplet
                                                  ! selfcollection : SELF
 !
 REAL,SAVE :: XAUTO1, XAUTO2, XCAUTR,           & ! Constants for cloud droplet
-    	     XLAUTR,   XLAUTR_THRESHOLD,       & ! autoconversion : AUT
-    	     XITAUTR, XITAUTR_THRESHOLD
+    	     XLAUTR, XLAUTR_THRESHOLD,         & ! autoconversion : AUT
+    	     XITAUTR, XITAUTR_THRESHOLD, XR0     ! XR0 for KHKO autoconversion
 !
 REAL,SAVE :: XACCR1, XACCR2, XACCR3,           & ! Constants for the accretion
 	     XACCR4, XACCR5, XACCR6,           & ! process
@@ -105,7 +105,8 @@ REAL,SAVE :: XSPONBUD1,XSPONBUD2,XSPONBUD3,    & ! Spontaneous Break-up
              XSPONCOEF2                          ! (drop size limiter)
 !
 REAL,SAVE :: X0EVAR, X1EVAR,                   & ! Constants for raindrop
-	     XEX0EVAR, XEX1EVAR, XEX2EVAR        ! evaporation: EVA 
+	     XEX0EVAR, XEX1EVAR, XEX2EVAR,     & ! evaporation: EVA 
+             XCEVAP                              ! for KHKO
 !
 REAL,DIMENSION(:,:,:,:), SAVE, ALLOCATABLE :: XCONCC_INI
 REAL,SAVE                                  :: XCONCR_PARAM_INI        
diff --git a/src/MNH/modn_param_lima.f90 b/src/MNH/modn_param_lima.f90
index f86b1add06cd8ac04da64b6bac6556d924bbc223..b319bd9f4ed3e4701aeda3e0e9612b210b871b00 100644
--- a/src/MNH/modn_param_lima.f90
+++ b/src/MNH/modn_param_lima.f90
@@ -25,7 +25,7 @@ NAMELIST/NAM_PARAM_LIMA/LCOLD, LNUCL, LSEDI, LSNOW, LHAIL, LHHONI, LMEYERS,&
                         XFACTNUC_DEP, XFACTNUC_CON, NPHILLIPS,             &
 !
                         LWARM, LACTI, LRAIN, LSEDC, LACTIT, LBOUND, LSPRO, &
-                        LADJ,                                              &
+                        LADJ, LKHKO,                                       &
                         NMOD_CCN, XCCN_CONC,                               &
                         LCCN_HOM, CCCN_MODES, HINI_CCN, HTYPE_CCN,         &
                         XALPHAC, XNUC, XALPHAR, XNUR,                      &