diff --git a/src/MNH/lima_adjust_split.f90 b/src/MNH/lima_adjust_split.f90
index 8baf17668657c028818b1bc75665b6d712b53f15..19b6b3778d1b2307dbc608d1f3125e1f5ccf694c 100644
--- a/src/MNH/lima_adjust_split.f90
+++ b/src/MNH/lima_adjust_split.f90
@@ -279,21 +279,10 @@ REAL, DIMENSION(SIZE(PRHODJ,1),SIZE(PRHODJ,2),SIZE(PRHODJ,3)) &
                             ZRC, ZRC2,  &
                             ZRI,  &
                             Z_SIGS, Z_SRCS, &
-                            ZW_MF
-LOGICAL, DIMENSION(SIZE(PRHODJ,1),SIZE(PRHODJ,2),SIZE(PRHODJ,3)) &
-                         :: GMICRO ! Test where to compute cond/dep proc.
-INTEGER                  :: IMICRO
-REAL, DIMENSION(:), ALLOCATABLE &
-                         :: ZRVT, ZRCT, ZRIT, ZRVS, ZRCS, ZRIS, ZTHS,        &
-                            ZCCT, ZCIT, ZCCS, ZCIS,                          &
-                            ZRHODREF, ZZT, ZPRES, ZEXNREF, ZZCPH,            &
-                            ZZW, ZLVFACT, ZLSFACT,                           &
-                            ZRVSATW, ZRVSATI, ZRVSATW_PRIME, ZRVSATI_PRIME,  &
-                            ZAW, ZAI, ZCJ, ZKA, ZDV, ZITW, ZITI, ZAWW, ZAIW, &
-                            ZAWI, ZAII, ZFACT, ZDELTW,                       &
-                            ZDELTI, ZDELT1, ZDELT2, ZCND, ZDEP, ZS, ZVEC1, ZZW2
-!
-INTEGER, DIMENSION(:), ALLOCATABLE :: IVEC1
+                            ZW_MF, &
+                            ZCND, ZS, ZVEC1
+!
+INTEGER, DIMENSION(SIZE(PRHODJ,1),SIZE(PRHODJ,2),SIZE(PRHODJ,3)) :: IVEC1
 !
 INTEGER                  :: IRESP      ! Return code of FM routines
 INTEGER                  :: IIU,IJU,IKU! dimensions of dummy arrays
@@ -309,11 +298,9 @@ REAL, DIMENSION(:), ALLOCATABLE   :: ZRTMIN
 REAL, DIMENSION(:), ALLOCATABLE   :: ZCTMIN
 !
 integer :: idx
-INTEGER , DIMENSION(SIZE(GMICRO)) :: I1,I2,I3 ! Used to replace the COUNT
-INTEGER                           :: JL       ! and PACK intrinsics
+integer :: JI, JJ, JK, jl
 INTEGER                           :: JMOD, JMOD_IFN, JMOD_IMM
 !
-INTEGER , DIMENSION(3) :: BV
 TYPE(TFIELDDATA)  :: TZFIELD
 LOGICAL :: G_SIGMAS, GUSERI
 REAL :: Z_SIGQSAT
@@ -525,12 +512,13 @@ DO JITER =1,ITERMAX
       Z_SIGQSAT=0.
    END IF
 
-   CALL CONDENSATION(IIU, IJU, IKU, IIB, IIE, IJB, IJE, IKB, IKE, 1, 'S',   &
-        HCONDENS, HLAMBDA3,                                                 &
-        PPABST, PZZ, PRHODREF, ZT, ZRV, ZRC, ZRI, PRSS*PTSTEP, PRGS*PTSTEP, &
-        Z_SIGS, PMFCONV, PCLDFR, Z_SRCS, GUSERI, G_SIGMAS,                  &
-        Z_SIGQSAT, PLV=ZLV, PLS=ZLS, PCPH=ZCPH )
-
+   IF (LADJ) THEN
+      CALL CONDENSATION(IIU, IJU, IKU, IIB, IIE, IJB, IJE, IKB, IKE, 1, 'S',   &
+           HCONDENS, HLAMBDA3,                                                 &
+           PPABST, PZZ, PRHODREF, ZT, ZRV, ZRC, ZRI, PRSS*PTSTEP, PRGS*PTSTEP, &
+           Z_SIGS, PMFCONV, PCLDFR, Z_SRCS, GUSERI, G_SIGMAS,                  &
+           Z_SIGQSAT, PLV=ZLV, PLS=ZLS, PCPH=ZCPH )
+   END IF
    IF (OSUBG_COND) THEN
       PSRCS=Z_SRCS
       ZW_MF=0.
@@ -544,18 +532,46 @@ END DO
 !
 !*       5.1    compute the sources
 !
-                                                        !         Rc - Rc*
-ZW1(:,:,:) = (ZRC(:,:,:) - PRCS(:,:,:)*PTSTEP) / PTSTEP ! Pcon = ----------
-                                                        !         2 Delta t
-WHERE( ZW1(:,:,:) < 0.0 )
-   ZW1(:,:,:) = MAX ( ZW1(:,:,:), -PRCS(:,:,:) )
-ELSEWHERE
-   ZW1(:,:,:) = MIN ( ZW1(:,:,:),  PRVS(:,:,:) )
-END WHERE
-PRVS(:,:,:) = PRVS(:,:,:) - ZW1(:,:,:)
-PRCS(:,:,:) = PRCS(:,:,:) + ZW1(:,:,:)
-PTHS(:,:,:) = PTHS(:,:,:) +        &
+IF (LADJ) THEN
+                                                           !         Rc - Rc*
+   ZW1(:,:,:) = (ZRC(:,:,:) - PRCS(:,:,:)*PTSTEP) / PTSTEP ! Pcon = ----------
+                                                           !         2 Delta t
+   WHERE( ZW1(:,:,:) < 0.0 )
+      ZW1(:,:,:) = MAX ( ZW1(:,:,:), -PRCS(:,:,:) )
+   ELSEWHERE
+      ZW1(:,:,:) = MIN ( ZW1(:,:,:),  PRVS(:,:,:) )
+   END WHERE
+   PRVS(:,:,:) = PRVS(:,:,:) - ZW1(:,:,:)
+   PRCS(:,:,:) = PRCS(:,:,:) + ZW1(:,:,:)
+   PTHS(:,:,:) = PTHS(:,:,:) +        &
               ZW1(:,:,:) * ZLV(:,:,:) / (ZCPH(:,:,:) * PEXNREF(:,:,:))
+ELSE
+   DO JI=1,SIZE(PRCS,1)
+      DO JJ=1,SIZE(PRCS,2)
+         DO JK=1,SIZE(PRCS,3)
+            IF (PRCS(JI,JJ,JK).GE.XRTMIN(2) .AND. PCCS(JI,JJ,JK).GE.XCTMIN(2)) THEN
+               ZVEC1(JI,JJ,JK) = MAX( 1.0001, MIN( FLOAT(NAHEN)-0.0001, XAHENINTP1 * ZT(JI,JJ,JK) + XAHENINTP2 ) )
+               IVEC1(JI,JJ,JK) = INT( ZVEC1(JI,JJ,JK) )
+               ZVEC1(JI,JJ,JK) = ZVEC1(JI,JJ,JK) - FLOAT( IVEC1(JI,JJ,JK) )
+               ZW(JI,JJ,JK)=EXP( XALPW - XBETAW/ZT(JI,JJ,JK) - XGAMW*ALOG(ZT(JI,JJ,JK) ) ) ! es_w
+               ZW(JI,JJ,JK)=ZEPS*ZW(JI,JJ,JK) / ( PPABST(JI,JJ,JK)-ZW(JI,JJ,JK) ) 
+               ZS(JI,JJ,JK) = PRVS(JI,JJ,JK)*PTSTEP / ZW(JI,JJ,JK) - 1.
+               ZW(JI,JJ,JK) = PCCS(JI,JJ,JK)*PTSTEP/(XLBC*PCCS(JI,JJ,JK)/PRCS(JI,JJ,JK))**XLBEXC
+               ZW2(JI,JJ,JK) = XAHENG3(IVEC1(JI,JJ,JK)+1)*ZVEC1(JI,JJ,JK)-XAHENG3(IVEC1(JI,JJ,JK))*(ZVEC1(JI,JJ,JK)-1.)
+               ZCND(JI,JJ,JK) = 2.*3.14*1000.*ZW2(JI,JJ,JK)*ZS(JI,JJ,JK)*ZW(JI,JJ,JK)
+               IF(ZCND(JI,JJ,JK).LE.0.) THEN
+                  ZCND(JI,JJ,JK) = MAX ( ZCND(JI,JJ,JK), -PRCS(JI,JJ,JK) )
+               ELSE
+                  ZCND(JI,JJ,JK) = MIN ( ZCND(JI,JJ,JK),  PRVS(JI,JJ,JK) )
+               END IF
+               PRVS(JI,JJ,JK) = PRVS(JI,JJ,JK) - ZCND(JI,JJ,JK)
+               PRCS(JI,JJ,JK) = PRCS(JI,JJ,JK) + ZCND(JI,JJ,JK)
+               PTHS(JI,JJ,JK) = PTHS(JI,JJ,JK) + ZCND(JI,JJ,JK) * ZLV(JI,JJ,JK) / (ZCPH(JI,JJ,JK) * PEXNREF(JI,JJ,JK))
+            END IF
+         END DO
+      END DO
+   END DO
+END IF
 !
 IF (NMOM_I.EQ.1) THEN
    ZW2(:,:,:) = (ZRI(:,:,:) - PRIS(:,:,:)*PTSTEP) / PTSTEP ! idem ZW1 but for Ri