diff --git a/src/MNH/lima.f90 b/src/MNH/lima.f90 index c248f1acf5366d8bea72fab2055770f2562e5cc4..d5d566e84e266ea480cdee4a6b2a6975c067525d 100644 --- a/src/MNH/lima.f90 +++ b/src/MNH/lima.f90 @@ -768,18 +768,12 @@ IF ( LCOLD ) ZCIT(:,:,:) = ZCIS(:,:,:) * PTSTEP !* 2. Compute cloud, ice and precipitation fractions ! ---------------------------------------------- ! -IF (LSUBG_COND) THEN - CALL LIMA_COMPUTE_CLOUD_FRACTIONS (IIB, IIE, IJB, IJE, IKB, IKE, KKL, & - ZCCT, ZRCT, & - ZCRT, ZRRT, & - ZCIT, ZRIT, & - ZRST, ZRGT, ZRHT, & - PCLDFR, PICEFR, PPRCFR ) -ELSE - PCLDFR(:,:,:)=1. - PICEFR(:,:,:)=1. - PPRCFR(:,:,:)=1. -END IF +CALL LIMA_COMPUTE_CLOUD_FRACTIONS (IIB, IIE, IJB, IJE, IKB, IKE, KKL, & + ZCCT, ZRCT, & + ZCRT, ZRRT, & + ZCIT, ZRIT, & + ZRST, ZRGT, ZRHT, & + PCLDFR, PICEFR, PPRCFR ) ! !------------------------------------------------------------------------------- ! diff --git a/src/MNH/lima_ccn_activation.f90 b/src/MNH/lima_ccn_activation.f90 index b7786ea4f056c16c1f632f33e51df67f572c71d1..78d9e7c1430316ffad866e1830efb81bfc2e5304 100644 --- a/src/MNH/lima_ccn_activation.f90 +++ b/src/MNH/lima_ccn_activation.f90 @@ -167,7 +167,7 @@ REAL, DIMENSION(:), ALLOCATABLE :: ZZW1, ZZW2, ZZW3, ZZW4, ZZW5, ZZW6, & REAL, DIMENSION(:,:), ALLOCATABLE :: ZTMP, ZCHEN_MULTI ! REAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) & - :: ZTDT, ZDRC, ZRVSAT, ZW, ZW2 + :: ZTDT, ZDRC, ZRVSAT, ZW, ZW2, ZCLDFR REAL, DIMENSION(SIZE(PNFT,1),SIZE(PNFT,2),SIZE(PNFT,3)) & :: ZCONC_TOT ! total CCN C. available ! @@ -230,6 +230,11 @@ IF (.NOT. LSUBG_COND) GNUCT(IIB:IIE,IJB:IJE,IKB:IKE) = GNUCT(IIB:IIE,IJB:IJE,IKB .AND. PRVT(IIB:IIE,IJB:IJE,IKB:IKE).GE.ZRVSAT(IIB:IIE,IJB:IJE,IKB:IKE) ! +IF (.NOT. LSUBG_COND) THEN + ZCLDFR(:,:,:) = 1. +ELSE + ZCLDFR(:,:,:) = PCLDFR(:,:,:) +END IF INUCT = COUNTJV( GNUCT(:,:,:),I1(:),I2(:),I3(:)) ! @@ -255,8 +260,8 @@ IF( INUCT >= 1 ) THEN ALLOCATE(ZRHODREF(INUCT)) ALLOCATE(ZEXNREF(INUCT)) DO JL=1,INUCT - ZRCT(JL) = PRCT(I1(JL),I2(JL),I3(JL))/PCLDFR(I1(JL),I2(JL),I3(JL)) - ZCCT(JL) = PCCT(I1(JL),I2(JL),I3(JL))/PCLDFR(I1(JL),I2(JL),I3(JL)) + ZRCT(JL) = PRCT(I1(JL),I2(JL),I3(JL))/ZCLDFR(I1(JL),I2(JL),I3(JL)) + ZCCT(JL) = PCCT(I1(JL),I2(JL),I3(JL))/ZCLDFR(I1(JL),I2(JL),I3(JL)) ZZT(JL) = PT(I1(JL),I2(JL),I3(JL)) ZZW1(JL) = ZRVSAT(I1(JL),I2(JL),I3(JL)) ZZW2(JL) = PW_NU(I1(JL),I2(JL),I3(JL))