diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90 index 33615bd9992bc06c876dc0eb1537275be080d11b..d16443626cb67a93351f0ba18be1f269e33db194 100644 --- a/src/MNH/ini_budget.f90 +++ b/src/MNH/ini_budget.f90 @@ -166,6 +166,7 @@ END MODULE MODI_INI_BUDGET ! P. Wautelet 30/06/2020: use NADVSV when possible ! P. Wautelet 30/06/2020: add NNETURSV, NNEADVSV and NNECONSV variables ! P. Wautelet 06/07/2020: bugfix: add condition on HTURB for NETUR sources for SV budgets +! P. Wautelet 01/02/2021: bugfix: manage correctly MAFL and ADV source for SV budgets !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -2977,6 +2978,12 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM ! IF (JSV <= NSV_USER) THEN ! NSV_USER Case + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_' + IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV ! SELECT CASE(JSV) ! CASE (1) ! ILAST_PROC_NBR = ILAST_PROC_NBR + 1 @@ -3614,6 +3621,13 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_' + IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV + SELECT CASE(JSV-NSV_ELECBEG+1) CASE(1) ! volumetric charge of water vapor ILAST_PROC_NBR = ILAST_PROC_NBR + 1 @@ -3827,27 +3841,39 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN ! ELSE IF (JSV >= NSV_CHEMBEG .AND. JSV <= NSV_CHEMEND) THEN ! Chemical Case - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CHEM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCHEMSV ! other processes + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_' + IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'CHEM_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = NCHEMSV + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV ! ELSE IF (JSV >= NSV_AERBEG .AND. JSV <= NSV_AEREND) THEN + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_' + IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV ! ELSE - ! other processes - ! ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - ! YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' - ! IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV + ! other processes + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_' + IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV END IF ! END SUBROUTINE BUDGET_OTHERPROC_SV