anchor.diff:        ZALVDCP=ALV/CPD
         ZQALV=1./ALV
         DO 420 JK=KLEVM1,3,-1
  -      DO 420 JL=1,KLON
  -      ZHSAT=CPD*ZTENH(JL,JK)+ZGEOH(JL,JK)+ALV*ZQSENH(JL,JK)
  -      ZGAM=C5LES*ZALVDCP*ZQSENH(JL,JK)/  &
  -          ((1.-VTMPC1*ZQSENH(JL,JK))*(ZTENH(JL,JK)-C4LES)**2)
  -      ZZZ=CPD*ZTENH(JL,JK)*0.608
  -      ZHHAT=ZHSAT-(ZZZ+ZGAM*ZZZ)/(1.+ZGAM*ZZZ*ZQALV)* &
  -                 MAX(ZQSENH(JL,JK)-ZQENH(JL,JK),0.)
  -      ZHHATT(JL,JK)=ZHHAT
  -      IF(JK.LT.ICTOP0(JL).AND.ZHCBASE(JL).GT.ZHHAT) ICTOP0(JL)=JK
  +          DO JL=1,KLON
  +              ZHSAT=CPD*ZTENH(JL,JK)+ZGEOH(JL,JK)+ALV*ZQSENH(JL,JK)
  +              ZGAM=C5LES*ZALVDCP*ZQSENH(JL,JK)/  &
  +                  ((1.-VTMPC1*ZQSENH(JL,JK))*(ZTENH(JL,JK)-C4LES)**2)
  +              ZZZ=CPD*ZTENH(JL,JK)*0.608
  +              ZHHAT=ZHSAT-(ZZZ+ZGAM*ZZZ)/(1.+ZGAM*ZZZ*ZQALV)* &
  +                         MAX(ZQSENH(JL,JK)-ZQENH(JL,JK),0.)
  +              ZHHATT(JL,JK)=ZHHAT
  +              IF(JK.LT.ICTOP0(JL).AND.ZHCBASE(JL).GT.ZHHAT) ICTOP0(JL)=JK
  +          enddo
     420 CONTINUE
         DO 430 JL=1,KLON
         JK=KCBOT(JL)
  
positive.code:         pqi(j,k)=pqi(j,k)+fice*PCTE(j,k)*ZTMST
          PTTE(j,k)=PTTE(j,k)-ZALF*RCPD*fliq*PCTE(j,k)
        Endif
     20 CONTINUE
        ENDIF
  !
        DO 75 k=1,km
          DO 75 j=1,lq
            pt(j,k)=ZTP1(j,k)+PTTE(j,k)*ZTMST
            ZQP1(j,k)=ZQP1(j,k)+(PQTE(j,k)-ZQQ(j,k))*ZTMST
            pqv(j,k)=ZQP1(j,k)/(1.0-ZQP1(j,k))
     75 CONTINUE
        DO 85 j=1,lq
          zprecc(j)=amax1(0.0,(PRSFC(j)+PSSFC(j))*ZTMST)
     85 CONTINUE
        IF (LMFDUDV) THEN
          DO 100 k=1,km
            DO 100 j=1,lq
              pu(j,k)=pu(j,k)+PVOM(j,k)*ZTMST
              pv(j,k)=pv(j,k)+PVOL(j,k)*ZTMST
    100   CONTINUE
        ENDIF
  !
  
negative.code: !     CONVERT MODEL VARIABLES FOR MFLUX SCHEME
  
        DO 10 k=1,km
          DO j=1,lq
            PTTE(j,k)=0.0
            PCTE(j,k)=0.0
            PVOM(j,k)=0.0
  