diff --git a/src/MNH/lima_nucleation_procs.f90 b/src/MNH/lima_nucleation_procs.f90 index 6d4af712daf4d934169002088b374588f480091a..8997e94a576872f464478a1013da350185b33db8 100644 --- a/src/MNH/lima_nucleation_procs.f90 +++ b/src/MNH/lima_nucleation_procs.f90 @@ -79,8 +79,8 @@ USE MODD_PARAM_LIMA, ONLY : LCOLD, LNUCL, LMEYERS, LSNOW, LWARM, LACTI, LRAIN, L NMOD_CCN, NMOD_IFN, NMOD_IMM USE MODD_BUDGET, ONLY : LBU_ENABLE, LBUDGET_TH, LBUDGET_RV, LBUDGET_RC, LBUDGET_RR,& LBUDGET_RI, LBUDGET_RS, LBUDGET_RG, LBUDGET_RH, LBUDGET_SV -USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_CCN_FREE, & - NSV_LIMA_NI, NSV_LIMA_IFN_FREE +USE MODD_NSV, ONLY : NSV_LIMA_NC, NSV_LIMA_NR, NSV_LIMA_CCN_FREE, NSV_LIMA_CCN_ACTI, & + NSV_LIMA_NI, NSV_LIMA_IFN_FREE, NSV_LIMA_IFN_NUCL, NSV_LIMA_IMM_NUCL, NSV_LIMA_HOM_HAZE ! USE MODD_IO_ll, ONLY: TFILEDATA USE MODI_BUDGET @@ -178,7 +178,8 @@ IF (LWARM .AND. LACTI .AND. NMOD_CCN.GE.1) THEN IF (LBUDGET_SV) THEN CALL BUDGET (PCCT(:,:,:)*PRHODJ(:,:,:)/PTSTEP, 12+NSV_LIMA_NC, 'HENU_BU_RSV') DO JL=1, NMOD_CCN - CALL BUDGET (PNFT(:,:,:,JL)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_CCN_FREE+JL-1,'HENU_BU_RSV') + CALL BUDGET (PNFT(:,:,:,JL)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_CCN_FREE+JL-1,'HENU_BU_RSV') + CALL BUDGET (PNAT(:,:,:,JL)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_CCN_ACTI+JL-1,'HENU_BU_RSV') END DO END IF END IF @@ -202,11 +203,10 @@ IF (LCOLD .AND. LNUCL .AND. .NOT.LMEYERS .AND. NMOD_IFN.GE.1) THEN IF (LBUDGET_RI) CALL BUDGET ((PRIT(:,:,:)+Z_RI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,9, 'HIND_BU_RRI') IF (LBUDGET_SV) THEN CALL BUDGET ((PCIT(:,:,:)+Z_CI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NI, 'HIND_BU_RSV') - IF (NMOD_IFN.GE.1) THEN DO JL=1, NMOD_IFN - CALL BUDGET ((ZIFT(:,:,:,JL))*PRHODJ(:,:,:)/PTSTEP, 12+NSV_LIMA_IFN_FREE+JL-1,'HIND_BU_RSV') + CALL BUDGET ((ZIFT(:,:,:,JL))*PRHODJ(:,:,:)/PTSTEP, 12+NSV_LIMA_IFN_FREE+JL-1,'HIND_BU_RSV') + CALL BUDGET ((ZINT(:,:,:,JL))*PRHODJ(:,:,:)/PTSTEP, 12+NSV_LIMA_IFN_NUCL+JL-1,'HIND_BU_RSV') END DO - END IF END IF ! IF (LBUDGET_TH) CALL BUDGET (ZTHT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,4,'HINC_BU_RTH') @@ -215,6 +215,12 @@ IF (LCOLD .AND. LNUCL .AND. .NOT.LMEYERS .AND. NMOD_IFN.GE.1) THEN IF (LBUDGET_SV) THEN CALL BUDGET (ZCCT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NC,'HINC_BU_RSV') CALL BUDGET (ZCIT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NI,'HINC_BU_RSV') + DO JL=1, NMOD_CCN + CALL BUDGET ((ZNAT(:,:,:,JL))*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_CCN_ACTI+JL-1,'HINC_BU_RSV') + END DO + DO JL=1, NMOD_IMM + CALL BUDGET ((ZNIT(:,:,:,JL))*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_IMM_NUCL+JL-1,'HINC_BU_RSV') + END DO END IF END IF ! @@ -246,7 +252,11 @@ IF (LCOLD .AND. LNUCL .AND. LMEYERS) THEN IF (LBUDGET_TH) CALL BUDGET ((PTHT(:,:,:)+Z_TH_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,4, 'HIND_BU_RTH') IF (LBUDGET_RV) CALL BUDGET ((PRVT(:,:,:)-Z_RI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,6, 'HIND_BU_RRV') IF (LBUDGET_RI) CALL BUDGET ((PRIT(:,:,:)+Z_RI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,9, 'HIND_BU_RRI') - IF (LBUDGET_SV) CALL BUDGET ((PCIT(:,:,:)+Z_CI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NI,'HIND_BU_RSV') + IF (LBUDGET_SV) THEN + CALL BUDGET ((PCIT(:,:,:)+Z_CI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NI,'HIND_BU_RSV') + IF ( NMOD_IFN > 0 ) & + CALL BUDGET ((PINT(:,:,:,1)+Z_CI_HIND(:,:,:))*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_IFN_NUCL,'HIND_BU_RSV') + END IF ! IF (LBUDGET_TH) CALL BUDGET (ZTHT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,4,'HINC_BU_RTH') IF (LBUDGET_RC) CALL BUDGET (ZRCT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,7,'HINC_BU_RRC') @@ -254,6 +264,8 @@ IF (LCOLD .AND. LNUCL .AND. LMEYERS) THEN IF (LBUDGET_SV) THEN CALL BUDGET (ZCCT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NC,'HINC_BU_RSV') CALL BUDGET (ZCIT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_NI,'HINC_BU_RSV') + IF ( NMOD_IFN > 0 ) & + CALL BUDGET (ZINT(:,:,:,1)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_IFN_NUCL,'HINC_BU_RSV') END IF END IF ! @@ -284,6 +296,7 @@ IF (LCOLD .AND. LNUCL .AND. LHHONI .AND. NMOD_CCN.GE.1) THEN DO JL=1, NMOD_CCN CALL BUDGET (ZNFT(:,:,:,JL)*PRHODJ(:,:,:)/PTSTEP,12+NSV_LIMA_CCN_FREE+JL-1,'HONH_BU_RSV') END DO + CALL BUDGET (ZNHT(:,:,:)*PRHODJ(:,:,:)/PTSTEP, 12+NSV_LIMA_HOM_HAZE, 'HONH_BU_RSV') END IF END IF !