diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90 index 3bae859efc425e6a7332405e167b80a7e0da6f5d..dc56711828dc9f406627c4ad3334d65fba56f2e9 100644 --- a/src/MNH/ini_budget.f90 +++ b/src/MNH/ini_budget.f90 @@ -3498,12 +3498,12 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV - IF (OWARM .AND. OACTI .AND. OPTSPLIT) THEN + IF (OWARM .AND. OACTI) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 END IF - IF (OCOLD .AND. ONUCL .AND. .NOT. OMEYERS .AND. OPTSPLIT) THEN + IF (OCOLD .AND. ONUCL .AND. .NOT. OMEYERS) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 @@ -3720,17 +3720,14 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV - IF (OCOLD .AND. ONUCL .AND. OMEYERS .AND. JSV == NSV_LIMA_IFN_NUCL .AND. OPTSPLIT) THEN + IF (OCOLD .AND. ONUCL .AND. ( .NOT.OMEYERS .OR. (OMEYERS .AND. JSV == NSV_LIMA_IFN_NUCL) ) ) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'HIND_' IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 - ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 END IF - IF (OCOLD .AND. ONUCL .AND. .NOT. OMEYERS .AND. OPTSPLIT) THEN + IF (OCOLD .AND. ONUCL .AND. OMEYERS .AND. JSV == NSV_LIMA_IFN_NUCL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HIND_' + YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (.NOT.OPTSPLIT .AND. OCOLD .AND. OWARM)) THEN @@ -3767,7 +3764,7 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV - IF (OCOLD .AND. ONUCL .AND. .NOT. OMEYERS .AND. OPTSPLIT) THEN + IF (OCOLD .AND. ONUCL .AND. .NOT. OMEYERS) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 @@ -3803,7 +3800,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV - IF (.NOT.OPTSPLIT .AND. OCOLD .AND. ONUCL .AND. OWARM .AND. OHHONI) THEN + IF ( OCOLD .AND. ONUCL .AND. & + ( ( OPTSPLIT .AND. (OHHONI .AND. NMOD_CCN.GE.1) ) & + .OR. (.NOT.OPTSPLIT .AND. ((OHHONI .AND. NMOD_CCN.GE.1) .OR. LWARM) ) ) ) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONH_' IPROACTV(12+JSV,ILAST_PROC_NBR) = 1