diff --git a/src/MNH/budget.f90 b/src/MNH/budget.f90 index bead348bf8baaeb46487fee30d58dfbd41f65c4e..c68bd5fb72e976d919350ea0730ba75993b0773f 100644 --- a/src/MNH/budget.f90 +++ b/src/MNH/budget.f90 @@ -139,31 +139,31 @@ IF (LLES_CALL) CALL LES_BUDGET(PVARS,KBUDN,HBUVAR) IF (.NOT. LBU_ENABLE) RETURN ! SELECT CASE (KBUDN) - CASE (1) + CASE ( NBUDGET_U ) IF (.NOT. LBU_RU) RETURN - CASE (2) + CASE ( NBUDGET_V ) IF (.NOT. LBU_RV) RETURN - CASE (3) - IF (.NOT. LBU_RW) RETURN - CASE (4) + CASE ( NBUDGET_W ) + IF (.NOT. LBU_RW) RETURN + CASE (NBUDGET_TH) IF (.NOT. LBU_RTH) RETURN - CASE (5) + CASE ( NBUDGET_TKE ) IF (.NOT. LBU_RTKE) RETURN - CASE (6) + CASE ( NBUDGET_RV ) IF (.NOT. LBU_RRV) RETURN - CASE (7) + CASE ( NBUDGET_RC ) IF (.NOT. LBU_RRC) RETURN - CASE (8) + CASE (NBUDGET_RR ) IF (.NOT. LBU_RRR) RETURN - CASE (9) + CASE ( NBUDGET_RI ) IF (.NOT. LBU_RRI) RETURN - CASE (10) + CASE ( NBUDGET_RS ) IF (.NOT. LBU_RRS) RETURN - CASE (11) + CASE ( NBUDGET_RG ) IF (.NOT. LBU_RRG) RETURN - CASE (12) + CASE ( NBUDGET_RH ) IF (.NOT. LBU_RRH) RETURN - CASE (13:) + CASE ( NBUDGET_SV1 : ) IF (.NOT. LBU_RSV) RETURN END SELECT ! @@ -173,44 +173,44 @@ CALL SECOND_MNH(ZTIME1) ! SELECT CASE (KBUDN) ! - CASE (1) ! ==> RU BUDGET + CASE ( NBUDGET_U ) ! ==> RU BUDGET CALL BUDGET_CASE(XBURU) ! - CASE (2) ! ==> RV BUDGET + CASE ( NBUDGET_V ) ! ==> RV BUDGET CALL BUDGET_CASE(XBURV) ! - CASE (3) ! ==> RW BUDGET + CASE ( NBUDGET_W ) ! ==> RW BUDGET CALL BUDGET_CASE(XBURW) ! - CASE (4) ! ==> RTH BUDGET + CASE ( NBUDGET_TH ) ! ==> RTH BUDGET CALL BUDGET_CASE(XBURTH) ! - CASE (5) ! ==> RTKE BUDGET + CASE ( NBUDGET_TKE ) ! ==> RTKE BUDGET CALL BUDGET_CASE(XBURTKE) ! - CASE (6) ! ==> RRV BUDGET + CASE ( NBUDGET_RV ) ! ==> RRV BUDGET CALL BUDGET_CASE(XBURRV) ! - CASE (7) ! ==> RRC BUDGET + CASE ( NBUDGET_RC ) ! ==> RRC BUDGET CALL BUDGET_CASE(XBURRC) ! - CASE (8) ! ==> RRR BUDGET + CASE ( NBUDGET_RR ) ! ==> RRR BUDGET CALL BUDGET_CASE(XBURRR) ! - CASE (9) ! ==> RRI BUDGET + CASE ( NBUDGET_RI ) ! ==> RRI BUDGET CALL BUDGET_CASE(XBURRI) ! - CASE (10) ! ==> RRS BUDGET + CASE ( NBUDGET_RS ) ! ==> RRS BUDGET CALL BUDGET_CASE(XBURRS) ! - CASE (11) ! ==> RRG BUDGET + CASE ( NBUDGET_RG ) ! ==> RRG BUDGET CALL BUDGET_CASE(XBURRG) ! - CASE (12) ! ==> RRH BUDGET + CASE ( NBUDGET_RH ) ! ==> RRH BUDGET CALL BUDGET_CASE(XBURRH) ! - CASE (13:)! ==> RSVx BUDGET - IBUSV = KBUDN - 12 + CASE ( NBUDGET_SV1 : ) ! ==> RSVx BUDGET + IBUSV = KBUDN - ( NBUDGET_SV1 - 1 ) IF( IBUSV <= NSV ) THEN CALL BUDGET_CASE(XBURSV(:,:,:,:,IBUSV)) ELSE diff --git a/src/MNH/endstep.f90 b/src/MNH/endstep.f90 index 9a3da2c5443fb7d07a7e43c62891df3b1d1e7ea9..f5b1244bfb2cb2c1b97ffbbab9e7a00a34cadab6 100644 --- a/src/MNH/endstep.f90 +++ b/src/MNH/endstep.f90 @@ -1,12 +1,8 @@ -!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/endstep.f90,v $ $Revision: 1.2.2.2.2.2.16.1.2.5 $ $Date: 2014/04/22 14:31:38 $ -!----------------------------------------------------------------- ! ################### MODULE MODI_ENDSTEP ! ################### @@ -521,42 +517,42 @@ IF (LBU_ENABLE) THEN NBUPROCCTR(1:12+KSV)=3 NBUCTR_ACTV(1:12+KSV)=3 ! - IF (LBUDGET_U) CALL BUDGET (PUT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,1,'AVEF_BU_RU') - IF (LBUDGET_V) CALL BUDGET (PVT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,2,'AVEF_BU_RV') - IF (LBUDGET_W) CALL BUDGET (PWT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,3,'AVEF_BU_RW') - IF (LBUDGET_TH) CALL BUDGET (PTHT(:,:,:)*PRHODJ(:,:,:)/PTSTEP,4,'AVEF_BU_RTH') - IF (LBUDGET_TKE) CALL BUDGET (PTKET(:,:,:)*PRHODJ(:,:,:)/PTSTEP,5,'AVEF_BU_RTKE') - IF (LBUDGET_RV) CALL BUDGET (PRT(:,:,:,1)*PRHODJ(:,:,:)/PTSTEP,6,'AVEF_BU_RRV') - IF (LBUDGET_RC) CALL BUDGET (PRT(:,:,:,2)*PRHODJ(:,:,:)/PTSTEP,7,'AVEF_BU_RRC') - IF (LBUDGET_RR) CALL BUDGET (PRT(:,:,:,3)*PRHODJ(:,:,:)/PTSTEP,8,'AVEF_BU_RRR') - IF (LBUDGET_RI) CALL BUDGET (PRT(:,:,:,4)*PRHODJ(:,:,:)/PTSTEP,9,'AVEF_BU_RRI') - IF (LBUDGET_RS) CALL BUDGET (PRT(:,:,:,5)*PRHODJ(:,:,:)/PTSTEP,10,'AVEF_BU_RRS') - IF (LBUDGET_RG) CALL BUDGET (PRT(:,:,:,6)*PRHODJ(:,:,:)/PTSTEP,11,'AVEF_BU_RRG') - IF (LBUDGET_RH) CALL BUDGET (PRT(:,:,:,7)*PRHODJ(:,:,:)/PTSTEP,12,'AVEF_BU_RRH') + IF (LBUDGET_U) CALL BUDGET( PUT(:,:,:) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_U, 'AVEF_BU_RU' ) + IF (LBUDGET_V) CALL BUDGET( PVT(:,:,:) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_V, 'AVEF_BU_RV' ) + IF (LBUDGET_W) CALL BUDGET( PWT(:,:,:) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_W, 'AVEF_BU_RW' ) + IF (LBUDGET_TH) CALL BUDGET( PTHT(:,:,:) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_TH, 'AVEF_BU_RTH' ) + IF (LBUDGET_TKE) CALL BUDGET( PTKET(:,:,:) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_TKE, 'AVEF_BU_RTKE' ) + IF (LBUDGET_RV) CALL BUDGET( PRT(:,:,:,1) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RV, 'AVEF_BU_RRV' ) + IF (LBUDGET_RC) CALL BUDGET( PRT(:,:,:,2) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RC, 'AVEF_BU_RRC' ) + IF (LBUDGET_RR) CALL BUDGET( PRT(:,:,:,3) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RR, 'AVEF_BU_RRR' ) + IF (LBUDGET_RI) CALL BUDGET( PRT(:,:,:,4) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RI, 'AVEF_BU_RRI' ) + IF (LBUDGET_RS) CALL BUDGET( PRT(:,:,:,5) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RS, 'AVEF_BU_RRS' ) + IF (LBUDGET_RG) CALL BUDGET( PRT(:,:,:,6) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RG, 'AVEF_BU_RRG' ) + IF (LBUDGET_RH) CALL BUDGET( PRT(:,:,:,7) * PRHODJ(:,:,:) / PTSTEP, NBUDGET_RH, 'AVEF_BU_RRH' ) IF (LBUDGET_SV) THEN DO JSV=1,KSV - CALL BUDGET (PSVT(:,:,:,JSV)*PRHODJ(:,:,:)/PTSTEP,12+JSV,'AVEF_BU_RSV') + CALL BUDGET( PSVT(:,:,:,JSV) * PRHODJ(:,:,:) / PTSTEP, JSV + NBUDGET_SV1 - 1, 'AVEF_BU_RSV' ) END DO END IF ! NBUPROCCTR(1:12+KSV)=2 NBUCTR_ACTV(1:12+KSV)=2 ! - IF (LBUDGET_U) CALL BUDGET (PUS*MXM(PRHODJ)/PTSTEP,1,'ENDF_BU_RU') - IF (LBUDGET_V) CALL BUDGET (PVS*MYM(PRHODJ)/PTSTEP,2,'ENDF_BU_RV') - IF (LBUDGET_W) CALL BUDGET (PWS*MZM(1,IKU,1,PRHODJ)/PTSTEP,3,'ENDF_BU_RW') - IF (LBUDGET_TH) CALL BUDGET (PTHS*PRHODJ/PTSTEP,4,'ENDF_BU_RTH') - IF (LBUDGET_TKE) CALL BUDGET (PTKES*PRHODJ/PTSTEP,5,'ENDF_BU_RTKE') - IF (LBUDGET_RV) CALL BUDGET (PRS(:,:,:,1)*PRHODJ/PTSTEP,6,'ENDF_BU_RRV') - IF (LBUDGET_RC) CALL BUDGET (PRS(:,:,:,2)*PRHODJ/PTSTEP,7,'ENDF_BU_RRC') - IF (LBUDGET_RR) CALL BUDGET (PRS(:,:,:,3)*PRHODJ/PTSTEP,8,'ENDF_BU_RRR') - IF (LBUDGET_RI) CALL BUDGET (PRS(:,:,:,4)*PRHODJ/PTSTEP,9,'ENDF_BU_RRI') - IF (LBUDGET_RS) CALL BUDGET (PRS(:,:,:,5)*PRHODJ/PTSTEP,10,'ENDF_BU_RRS') - IF (LBUDGET_RG) CALL BUDGET (PRS(:,:,:,6)*PRHODJ/PTSTEP,11,'ENDF_BU_RRG') - IF (LBUDGET_RH) CALL BUDGET (PRS(:,:,:,7)*PRHODJ/PTSTEP,12,'ENDF_BU_RRH') + IF (LBUDGET_U) CALL BUDGET( PUS * MXM(PRHODJ) / PTSTEP, NBUDGET_U, 'ENDF_BU_RU' ) + IF (LBUDGET_V) CALL BUDGET( PVS * MYM(PRHODJ) / PTSTEP, NBUDGET_V, 'ENDF_BU_RV' ) + IF (LBUDGET_W) CALL BUDGET( PWS * MZM(1,IKU,1,PRHODJ) / PTSTEP, NBUDGET_W, 'ENDF_BU_RW' ) + IF (LBUDGET_TH) CALL BUDGET( PTHS * PRHODJ / PTSTEP, NBUDGET_TH, 'ENDF_BU_RTH' ) + IF (LBUDGET_TKE) CALL BUDGET( PTKES * PRHODJ / PTSTEP, NBUDGET_TKE, 'ENDF_BU_RTKE' ) + IF (LBUDGET_RV) CALL BUDGET( PRS(:,:,:,1) * PRHODJ / PTSTEP, NBUDGET_RV, 'ENDF_BU_RRV' ) + IF (LBUDGET_RC) CALL BUDGET( PRS(:,:,:,2) * PRHODJ / PTSTEP, NBUDGET_RC, 'ENDF_BU_RRC' ) + IF (LBUDGET_RR) CALL BUDGET( PRS(:,:,:,3) * PRHODJ / PTSTEP, NBUDGET_RR, 'ENDF_BU_RRR' ) + IF (LBUDGET_RI) CALL BUDGET( PRS(:,:,:,4) * PRHODJ / PTSTEP, NBUDGET_RI, 'ENDF_BU_RRI' ) + IF (LBUDGET_RS) CALL BUDGET( PRS(:,:,:,5) * PRHODJ / PTSTEP, NBUDGET_RS, 'ENDF_BU_RRS' ) + IF (LBUDGET_RG) CALL BUDGET( PRS(:,:,:,6) * PRHODJ / PTSTEP, NBUDGET_RG, 'ENDF_BU_RRG' ) + IF (LBUDGET_RH) CALL BUDGET( PRS(:,:,:,7) * PRHODJ / PTSTEP, NBUDGET_RH, 'ENDF_BU_RRH' ) IF (LBUDGET_SV) THEN DO JSV=1,KSV - CALL BUDGET (PSVS(:,:,:,JSV)*PRHODJ/PTSTEP,JSV+12,'ENDF_BU_RSV') + CALL BUDGET( PSVS(:,:,:,JSV) * PRHODJ / PTSTEP, JSV + NBUDGET_SV1 - 1, 'ENDF_BU_RSV' ) END DO END IF END IF diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90 index f0707d44a4f05f3929ac26bf41a1504d98f88bce..6f188f7ef4e1530aa3e5e690a00d9510a5b5b917 100644 --- a/src/MNH/ini_budget.f90 +++ b/src/MNH/ini_budget.f90 @@ -419,102 +419,102 @@ YEND_COMMENT(:) = ' ' ! Budget of RU IF (LBU_RU) THEN IPROC=4 - IPROACTV(1,IPROC) = NASSEU + IPROACTV(NBUDGET_U, IPROC) = NASSEU IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(1,IPROC) = NNESTU + IF( NMODEL>1 ) IPROACTV(NBUDGET_U, IPROC) = NNESTU IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(1,IPROC) = NFRCU + IF( LFORCING ) IPROACTV(NBUDGET_U, IPROC) = NFRCU IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(1,IPROC) = NNUDU + IF( ONUDGING ) IPROACTV(NBUDGET_U, IPROC) = NNUDU IPROC=IPROC+1 IF ( .NOT. LCARTESIAN ) THEN - IPROACTV(1,IPROC) = NCURVU + IPROACTV(NBUDGET_U, IPROC) = NCURVU ELSE - IPROACTV(1,IPROC) = 4 + IPROACTV(NBUDGET_U, IPROC) = 4 END IF IPROC=IPROC+1 IF ( LCORIO ) THEN - IPROACTV(1,IPROC) = NCORU + IPROACTV(NBUDGET_U, IPROC) = NCORU ELSE - IPROACTV(1,IPROC) = 4 + IPROACTV(NBUDGET_U, IPROC) = 4 END IF IPROC=IPROC+1 - IF ( ONUMDIFU ) IPROACTV(1,IPROC) = NDIFU + IF ( ONUMDIFU ) IPROACTV(NBUDGET_U, IPROC) = NDIFU IPROC=IPROC+1 IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(1,IPROC) = NRELU + IPROACTV(NBUDGET_U, IPROC) = NRELU ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(1,IPROC) = 4 + IPROACTV(NBUDGET_U, IPROC) = 4 ELSE - IPROACTV(1,IPROC) = 3 + IPROACTV(NBUDGET_U, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(1,IPROC) = NDRAGU + IF( ODRAGTREE ) IPROACTV(NBUDGET_U, IPROC) = NDRAGU IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(1,IPROC) = NVTURBU + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_U, IPROC) = NVTURBU IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(1,IPROC) = NHTURBU + IPROACTV(NBUDGET_U, IPROC) = NHTURBU ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(1,IPROC) = 4 + IPROACTV(NBUDGET_U, IPROC) = 4 ELSE - IPROACTV(1,IPROC) = 3 + IPROACTV(NBUDGET_U, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(1,IPROC) = NMAFLU + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_U, IPROC) = NMAFLU IPROC=IPROC+1 - IPROACTV(1,IPROC) = NADVU + IPROACTV(NBUDGET_U, IPROC) = NADVU IPROC=IPROC+1 - IPROACTV(1,IPROC) = NPRESU + IPROACTV(NBUDGET_U, IPROC) = NPRESU ! - YWORK2(1,1) = 'INIF_' - YWORK2(1,2) = 'ENDF_' - YWORK2(1,3) = 'AVEF_' + YWORK2(NBUDGET_U, 1) = 'INIF_' + YWORK2(NBUDGET_U, 2) = 'ENDF_' + YWORK2(NBUDGET_U, 3) = 'AVEF_' IPROC=4 - YWORK2(1,IPROC) = 'ASSE_' + YWORK2(NBUDGET_U, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'NEST_' + YWORK2(NBUDGET_U, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'FRC_' + YWORK2(NBUDGET_U, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'NUD_' + YWORK2(NBUDGET_U, IPROC) = 'NUD_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'CURV_' + YWORK2(NBUDGET_U, IPROC) = 'CURV_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'COR_' + YWORK2(NBUDGET_U, IPROC) = 'COR_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'DIF_' + YWORK2(NBUDGET_U, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'REL_' + YWORK2(NBUDGET_U, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'DRAG_' + YWORK2(NBUDGET_U, IPROC) = 'DRAG_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'VTURB_' + YWORK2(NBUDGET_U, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'HTURB_' + YWORK2(NBUDGET_U, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'MAFL_' + YWORK2(NBUDGET_U, IPROC) = 'MAFL_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'ADV_' + YWORK2(NBUDGET_U, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(1,IPROC) = 'PRES_' + YWORK2(NBUDGET_U, IPROC) = 'PRES_' ! - YEND_COMMENT(1) = 'BU_RU' - NBUPROCNBR(1) = 3 + YEND_COMMENT(NBUDGET_U) = 'BU_RU' + NBUPROCNBR(NBUDGET_U) = 3 +! + CBUACTION(NBUDGET_U, 1) = 'IG' + CBUACTION(NBUDGET_U, 2) = 'CC' + CBUACTION(NBUDGET_U, 3) = 'ES' ! - CBUACTION(1,1) = 'IG' - CBUACTION(1,2) = 'CC' - CBUACTION(1,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(1,JJ) = ADJUSTL( ADJUSTR( YWORK2(1,JJ) ) // & - ADJUSTL( YEND_COMMENT(1) ) ) + CBUCOMMENT(NBUDGET_U, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_U, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_U) ) ) END DO ! END IF @@ -522,102 +522,102 @@ END IF ! Budget of RV IF (LBU_RV) THEN IPROC=4 - IPROACTV(2,IPROC) = NASSEV + IPROACTV(NBUDGET_V, IPROC) = NASSEV IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(2,IPROC) = NNESTV + IF( NMODEL>1 ) IPROACTV(NBUDGET_V, IPROC) = NNESTV IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(2,IPROC) = NFRCV + IF( LFORCING ) IPROACTV(NBUDGET_V, IPROC) = NFRCV IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(2,IPROC) = NNUDV + IF( ONUDGING ) IPROACTV(NBUDGET_V, IPROC) = NNUDV IPROC=IPROC+1 IF ( .NOT. LCARTESIAN ) THEN - IPROACTV(2,IPROC) = NCURVV + IPROACTV(NBUDGET_V, IPROC) = NCURVV ELSE - IPROACTV(2,IPROC) = 4 + IPROACTV(NBUDGET_V, IPROC) = 4 END IF IPROC=IPROC+1 IF ( LCORIO ) THEN - IPROACTV(2,IPROC) = NCORV + IPROACTV(NBUDGET_V, IPROC) = NCORV ELSE - IPROACTV(2,IPROC) = 4 + IPROACTV(NBUDGET_V, IPROC) = 4 END IF IPROC=IPROC+1 - IF ( ONUMDIFU ) IPROACTV(2,IPROC) = NDIFV + IF ( ONUMDIFU ) IPROACTV(NBUDGET_V, IPROC) = NDIFV IPROC=IPROC+1 IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(2,IPROC) = NRELV + IPROACTV(NBUDGET_V, IPROC) = NRELV ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(2,IPROC) = 4 + IPROACTV(NBUDGET_V, IPROC) = 4 ELSE - IPROACTV(2,IPROC) = 3 + IPROACTV(NBUDGET_V, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(2,IPROC) = NDRAGV + IF( ODRAGTREE ) IPROACTV(NBUDGET_V, IPROC) = NDRAGV IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(2,IPROC) = NVTURBV + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_V, IPROC) = NVTURBV IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(2,IPROC) = NHTURBV + IPROACTV(NBUDGET_V, IPROC) = NHTURBV ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(2,IPROC) = 4 + IPROACTV(NBUDGET_V, IPROC) = 4 ELSE - IPROACTV(2,IPROC) = 3 + IPROACTV(NBUDGET_V, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(2,IPROC) = NMAFLV + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_V, IPROC) = NMAFLV IPROC=IPROC+1 - IPROACTV(2,IPROC) = NADVV + IPROACTV(NBUDGET_V, IPROC) = NADVV IPROC=IPROC+1 - IPROACTV(2,IPROC) = NPRESV + IPROACTV(NBUDGET_V, IPROC) = NPRESV ! - YWORK2(2,1) = 'INIF_' - YWORK2(2,2) = 'ENDF_' - YWORK2(2,3) = 'AVEF_' + YWORK2(NBUDGET_V, 1) = 'INIF_' + YWORK2(NBUDGET_V, 2) = 'ENDF_' + YWORK2(NBUDGET_V, 3) = 'AVEF_' IPROC=4 - YWORK2(2,IPROC) = 'ASSE_' + YWORK2(NBUDGET_V, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'NEST_' + YWORK2(NBUDGET_V, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'FRC_' + YWORK2(NBUDGET_V, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'NUD_' + YWORK2(NBUDGET_V, IPROC) = 'NUD_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'CURV_' + YWORK2(NBUDGET_V, IPROC) = 'CURV_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'COR_' + YWORK2(NBUDGET_V, IPROC) = 'COR_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'DIF_' + YWORK2(NBUDGET_V, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'REL_' + YWORK2(NBUDGET_V, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'DRAG_' + YWORK2(NBUDGET_V, IPROC) = 'DRAG_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'VTURB_' + YWORK2(NBUDGET_V, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'HTURB_' + YWORK2(NBUDGET_V, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'MAFL_' + YWORK2(NBUDGET_V, IPROC) = 'MAFL_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'ADV_' + YWORK2(NBUDGET_V, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(2,IPROC) = 'PRES_' + YWORK2(NBUDGET_V, IPROC) = 'PRES_' ! - YEND_COMMENT(2) = 'BU_RV' - NBUPROCNBR(2) = 3 + YEND_COMMENT(NBUDGET_V) = 'BU_RV' + NBUPROCNBR(NBUDGET_V) = 3 +! + CBUACTION(NBUDGET_V, 1) = 'IG' + CBUACTION(NBUDGET_V, 2) = 'CC' + CBUACTION(NBUDGET_V, 3) = 'ES' ! - CBUACTION(2,1) = 'IG' - CBUACTION(2,2) = 'CC' - CBUACTION(2,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(2,JJ) = ADJUSTL( ADJUSTR( YWORK2(2,JJ) ) // & - ADJUSTL( YEND_COMMENT(2) ) ) + CBUCOMMENT(NBUDGET_V, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_V, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_V) ) ) END DO ! END IF @@ -625,98 +625,98 @@ END IF ! Budget of RW IF (LBU_RW) THEN IPROC=4 - IPROACTV(3,IPROC) = NASSEW + IPROACTV(NBUDGET_W, IPROC) = NASSEW IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(3,IPROC) = NNESTW + IF( NMODEL>1 ) IPROACTV(NBUDGET_W, IPROC) = NNESTW IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(3,IPROC) = NFRCW + IF( LFORCING ) IPROACTV(NBUDGET_W, IPROC) = NFRCW IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(3,IPROC) = NNUDW + IF( ONUDGING ) IPROACTV(NBUDGET_W, IPROC) = NNUDW IPROC=IPROC+1 IF ( .NOT. LCARTESIAN ) THEN - IPROACTV(3,IPROC) = NCURVW + IPROACTV(NBUDGET_W, IPROC) = NCURVW ELSE - IPROACTV(3,IPROC) = 4 + IPROACTV(NBUDGET_W, IPROC) = 4 END IF IPROC=IPROC+1 IF ( LCORIO ) THEN - IPROACTV(3,IPROC) = NCORW + IPROACTV(NBUDGET_W, IPROC) = NCORW ELSE - IPROACTV(3,IPROC) = 4 + IPROACTV(NBUDGET_W, IPROC) = 4 END IF IPROC=IPROC+1 - IF ( ONUMDIFU ) IPROACTV(3,IPROC) = NDIFW + IF ( ONUMDIFU ) IPROACTV(NBUDGET_W, IPROC) = NDIFW IPROC=IPROC+1 IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(3,IPROC) = NRELW + IPROACTV(NBUDGET_W, IPROC) = NRELW ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(3,IPROC) = 4 + IPROACTV(NBUDGET_W, IPROC) = 4 ELSE - IPROACTV(3,IPROC) = 3 + IPROACTV(NBUDGET_W, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(3,IPROC) = NVTURBW + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_W, IPROC) = NVTURBW IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(3,IPROC) = NHTURBW + IPROACTV(NBUDGET_W, IPROC) = NHTURBW ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(3,IPROC) = 4 + IPROACTV(NBUDGET_W, IPROC) = 4 ELSE - IPROACTV(3,IPROC) = 3 + IPROACTV(NBUDGET_W, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IPROACTV(3,IPROC) = NGRAVW + IPROACTV(NBUDGET_W, IPROC) = NGRAVW IPROC=IPROC+1 - IPROACTV(3,IPROC) = NADVW + IPROACTV(NBUDGET_W, IPROC) = NADVW IPROC=IPROC+1 - IPROACTV(3,IPROC) = NPRESW + IPROACTV(NBUDGET_W, IPROC) = NPRESW ! - YWORK2(3,1) = 'INIF_' - YWORK2(3,2) = 'ENDF_' - YWORK2(3,3) = 'AVEF_' + YWORK2(NBUDGET_W, 1) = 'INIF_' + YWORK2(NBUDGET_W, 2) = 'ENDF_' + YWORK2(NBUDGET_W, 3) = 'AVEF_' IPROC=4 - YWORK2(3,IPROC) = 'ASSE_' + YWORK2(NBUDGET_W, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'NEST_' + YWORK2(NBUDGET_W, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'FRC_' + YWORK2(NBUDGET_W, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'NUD_' + YWORK2(NBUDGET_W, IPROC) = 'NUD_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'CURV_' + YWORK2(NBUDGET_W, IPROC) = 'CURV_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'COR_' + YWORK2(NBUDGET_W, IPROC) = 'COR_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'DIF_' + YWORK2(NBUDGET_W, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'REL_' + YWORK2(NBUDGET_W, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'VTURB_' + YWORK2(NBUDGET_W, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'HTURB_' + YWORK2(NBUDGET_W, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'GRAV_' + YWORK2(NBUDGET_W, IPROC) = 'GRAV_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'ADV_' + YWORK2(NBUDGET_W, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(3,IPROC) = 'PRES_' + YWORK2(NBUDGET_W, IPROC) = 'PRES_' ! - YEND_COMMENT(3) = 'BU_RW' - NBUPROCNBR(3) = 3 + YEND_COMMENT(NBUDGET_W) = 'BU_RW' + NBUPROCNBR(NBUDGET_W) = 3 +! + CBUACTION(NBUDGET_W, 1) = 'IG' + CBUACTION(NBUDGET_W, 2) = 'CC' + CBUACTION(NBUDGET_W, 3) = 'ES' ! - CBUACTION(3,1) = 'IG' - CBUACTION(3,2) = 'CC' - CBUACTION(3,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(3,JJ) = ADJUSTL( ADJUSTR( YWORK2(3,JJ) ) // & - ADJUSTL( YEND_COMMENT(3) ) ) + CBUCOMMENT(NBUDGET_W, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_W, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_W) ) ) END DO ! END IF @@ -724,318 +724,318 @@ END IF ! Budget of RTH IF (LBU_RTH) THEN IPROC=4 - IPROACTV(4,IPROC) = NASSETH + IPROACTV(NBUDGET_TH, IPROC) = NASSETH IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(4,IPROC) = NNESTTH + IF( NMODEL>1 ) IPROACTV(NBUDGET_TH, IPROC) = NNESTTH IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(4,IPROC) = NFRCTH + IF( LFORCING ) IPROACTV(NBUDGET_TH, IPROC) = NFRCTH IPROC=IPROC+1 - IF( L2D_ADV_FRC ) IPROACTV(4,IPROC) = N2DADVTH + IF( L2D_ADV_FRC ) IPROACTV(NBUDGET_TH, IPROC) = N2DADVTH IPROC=IPROC+1 - IF( L2D_REL_FRC ) IPROACTV(4,IPROC) = N2DRELTH + IF( L2D_REL_FRC ) IPROACTV(NBUDGET_TH, IPROC) = N2DRELTH IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(4,IPROC) = NNUDTH + IF( ONUDGING ) IPROACTV(NBUDGET_TH, IPROC) = NNUDTH IPROC=IPROC+1 IF ( KRR > 0 ) THEN - IF(.NOT.L1D) IPROACTV(4,IPROC) = NPREFTH + IF(.NOT.L1D) IPROACTV(NBUDGET_TH, IPROC) = NPREFTH ELSE - IPROACTV(4,IPROC) = 4 + IPROACTV(NBUDGET_TH, IPROC) = 4 END IF IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(4,IPROC) = NDIFTH + IF ( ONUMDIFTH ) IPROACTV(NBUDGET_TH, IPROC) = NDIFTH IPROC=IPROC+1 IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN - IPROACTV(4,IPROC) = NRELTH + IPROACTV(NBUDGET_TH, IPROC) = NRELTH ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(4,IPROC) = 4 + IPROACTV(NBUDGET_TH, IPROC) = 4 ELSE - IPROACTV(4,IPROC) = 3 + IPROACTV(NBUDGET_TH, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF ( HRAD /= 'NONE' ) IPROACTV(4,IPROC) = NRADTH + IF ( HRAD /= 'NONE' ) IPROACTV(NBUDGET_TH, IPROC) = NRADTH IPROC=IPROC+1 - IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(4,IPROC) = NDCONVTH + IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_TH, IPROC) = NDCONVTH IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(4,IPROC) = NVTURBTH + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_TH, IPROC) = NVTURBTH IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(4,IPROC) = NHTURBTH + IPROACTV(NBUDGET_TH, IPROC) = NHTURBTH ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(4,IPROC) = 4 + IPROACTV(NBUDGET_TH, IPROC) = 4 ELSE - IPROACTV(4,IPROC) = 3 + IPROACTV(NBUDGET_TH, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF (HTURB /= 'NONE') IPROACTV(4,IPROC) = NDISSHTH + IF (HTURB /= 'NONE') IPROACTV(NBUDGET_TH, IPROC) = NDISSHTH IPROC=IPROC+1 IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))) & - IPROACTV(4,IPROC) = NNETURTH + IPROACTV(NBUDGET_TH, IPROC) = NNETURTH IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(4,IPROC) = NMAFLTH + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_TH, IPROC) = NMAFLTH IPROC=IPROC+1 - IPROACTV(4,IPROC) = NADVTH + IPROACTV(NBUDGET_TH, IPROC) = NADVTH IPROC=IPROC+1 - IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) IPROACTV(4,IPROC) = NNEADVTH + IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) IPROACTV(NBUDGET_TH, IPROC) = NNEADVTH IPROC=IPROC+1 IF (HCLOUD /= 'NONE' .AND. HCLOUD /= 'KHKO' .AND. HCLOUD /= 'C2R2') & - IPROACTV(4,IPROC) = NNEGATH + IPROACTV(NBUDGET_TH, IPROC) = NNEGATH IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - IF (OPTSPLIT) IPROACTV(4,IPROC) = NSEDITH + IF (OPTSPLIT) IPROACTV(NBUDGET_TH, IPROC) = NSEDITH IPROC=IPROC+1 - IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(4,IPROC) = NHENUTH + IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_TH, IPROC) = NHENUTH IPROC=IPROC+1 IF (.NOT.OPTSPLIT) THEN - IF (OWARM .AND. ORAIN) IPROACTV(4,IPROC) = NREVATH + IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_TH, IPROC) = NREVATH IPROC=IPROC+1 END IF - IF (OCOLD .AND. ONUCL) IPROACTV(4,IPROC) = NHINDTH + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHINDTH IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL) IPROACTV(4,IPROC) = NHINCTH + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHINCTH IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(4,IPROC) = NHONHTH + IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_TH, IPROC) = NHONHTH IPROC=IPROC+1 IF (OPTSPLIT) THEN - IPROACTV(4,IPROC) = NREVATH + IPROACTV(NBUDGET_TH, IPROC) = NREVATH IPROC=IPROC+1 END IF - IF (OCOLD .AND. OWARM .AND. ONUCL) IPROACTV(4,IPROC) = NHONCTH + IF (OCOLD .AND. OWARM .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHONCTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(4,IPROC) = NHONRTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(NBUDGET_TH, IPROC) = NHONRTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(4,IPROC) = NDEPSTH + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDEPSTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(4,IPROC) = NDEPGTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDEPGTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(4,IPROC) = NIMLTTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_TH, IPROC) = NIMLTTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(4,IPROC) = NBERFITH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_TH, IPROC) = NBERFITH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(4,IPROC) = NRIMTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NRIMTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(4,IPROC) = NACCTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(NBUDGET_TH, IPROC) = NACCTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(4,IPROC) = NCFRZTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NCFRZTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(4,IPROC) = NWETGTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NWETGTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(4,IPROC) = NDRYGTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDRYGTH IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(4,IPROC) = NGMLTTH + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NGMLTTH IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(4,IPROC) = NWETHTH + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_TH, IPROC) = NWETHTH IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(4,IPROC) = NHMLTTH + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_TH, IPROC) = NHMLTTH IPROC=IPROC+1 - IPROACTV(4,IPROC) = NCEDSTH + IPROACTV(NBUDGET_TH, IPROC) = NCEDSTH IPROC=IPROC+1 ELSE - IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) IPROACTV(4,IPROC) = NADJUTH + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) IPROACTV(NBUDGET_TH, IPROC) = NADJUTH IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .OR. (HCLOUD == 'C2R2' .AND. (.NOT. LSUPSAT)) & .OR. ( HCLOUD == 'KHKO' .AND. (.NOT. LSUPSAT)) ) & - IPROACTV(4,IPROC) = NHENUTH + IPROACTV(NBUDGET_TH, IPROC) = NHENUTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NHONTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NHONTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NSFRTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NSFRTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NDEPSTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDEPSTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NDEPGTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDEPGTH IPROC=IPROC+1 IF (((HCLOUD(1:3) == 'ICE') .AND. LWARM) .OR. ((HCLOUD == 'C2R2' & .OR. HCLOUD == 'KHKO') .AND. LRAIN) .OR. HCLOUD(1:3) == 'KES') & - IPROACTV(4,IPROC) = NREVATH + IPROACTV(NBUDGET_TH, IPROC) = NREVATH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NRIMTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NRIMTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NACCTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NACCTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NCFRZTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NCFRZTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NWETGTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NWETGTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NDRYGTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDRYGTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NGMLTTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NGMLTTH IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(4,IPROC) = NWETHTH + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_TH, IPROC) = NWETHTH IPROC=IPROC+1 - IF (HCLOUD == 'ICE4'.AND. LRED) IPROACTV(4,IPROC) = NDRYHTH + IF (HCLOUD == 'ICE4'.AND. LRED) IPROACTV(NBUDGET_TH, IPROC) = NDRYHTH IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(4,IPROC) = NHMLTTH + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_TH, IPROC) = NHMLTTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NIMLTTH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NIMLTTH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(4,IPROC) = NBERFITH + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NBERFITH IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(4,IPROC) = NCORRTH + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_TH, IPROC) = NCORRTH IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED .OR. (LRED .AND. LADJ_AFTER)) & - IPROACTV(4,IPROC) = NCDEPITH + IPROACTV(NBUDGET_TH, IPROC) = NCDEPITH IPROC=IPROC+1 IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. HCLOUD(1:3) == 'KES' .OR. & - HCLOUD == 'REVE') IPROACTV(4,IPROC) = NCONDTH + HCLOUD == 'REVE') IPROACTV(NBUDGET_TH, IPROC) = NCONDTH IPROC=IPROC+1 IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))& - IPROACTV(4,IPROC) = NNECONTH + IPROACTV(NBUDGET_TH, IPROC) = NNECONTH END IF ! - YWORK2(4,1) = 'INIF_' - YWORK2(4,2) = 'ENDF_' - YWORK2(4,3) = 'AVEF_' + YWORK2(NBUDGET_TH, 1) = 'INIF_' + YWORK2(NBUDGET_TH, 2) = 'ENDF_' + YWORK2(NBUDGET_TH, 3) = 'AVEF_' IPROC=4 - YWORK2(4,IPROC) = 'ASSE_' + YWORK2(NBUDGET_TH, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NEST_' + YWORK2(NBUDGET_TH, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'FRC_' + YWORK2(NBUDGET_TH, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(4,IPROC) = '2DADV_' + YWORK2(NBUDGET_TH, IPROC) = '2DADV_' IPROC=IPROC+1 - YWORK2(4,IPROC) = '2DREL_' + YWORK2(NBUDGET_TH, IPROC) = '2DREL_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NUD_' + YWORK2(NBUDGET_TH, IPROC) = 'NUD_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'PREF_' + YWORK2(NBUDGET_TH, IPROC) = 'PREF_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DIF_' + YWORK2(NBUDGET_TH, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'REL_' + YWORK2(NBUDGET_TH, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'RAD_' + YWORK2(NBUDGET_TH, IPROC) = 'RAD_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DCONV_' + YWORK2(NBUDGET_TH, IPROC) = 'DCONV_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'VTURB_' + YWORK2(NBUDGET_TH, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HTURB_' + YWORK2(NBUDGET_TH, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DISSH_' + YWORK2(NBUDGET_TH, IPROC) = 'DISSH_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NETUR_' + YWORK2(NBUDGET_TH, IPROC) = 'NETUR_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'MAFL_' + YWORK2(NBUDGET_TH, IPROC) = 'MAFL_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ADV_' + YWORK2(NBUDGET_TH, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NEADV_' + YWORK2(NBUDGET_TH, IPROC) = 'NEADV_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NEGA_' + YWORK2(NBUDGET_TH, IPROC) = 'NEGA_' IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - YWORK2(4,IPROC) = 'SEDI_' + YWORK2(NBUDGET_TH, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HENU_' + YWORK2(NBUDGET_TH, IPROC) = 'HENU_' IPROC=IPROC+1 IF (.NOT.OPTSPLIT) THEN - YWORK2(4,IPROC) = 'REVA_' + YWORK2(NBUDGET_TH, IPROC) = 'REVA_' IPROC=IPROC+1 END IF - YWORK2(4,IPROC) = 'HIND_' + YWORK2(NBUDGET_TH, IPROC) = 'HIND_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HINC_' + YWORK2(NBUDGET_TH, IPROC) = 'HINC_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HONH_' + YWORK2(NBUDGET_TH, IPROC) = 'HONH_' IPROC=IPROC+1 IF (OPTSPLIT) THEN - YWORK2(4,IPROC) = 'REVA_' + YWORK2(NBUDGET_TH, IPROC) = 'REVA_' IPROC=IPROC+1 END IF - YWORK2(4,IPROC) = 'HONC_' + YWORK2(NBUDGET_TH, IPROC) = 'HONC_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HONR_' + YWORK2(NBUDGET_TH, IPROC) = 'HONR_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DEPS_' + YWORK2(NBUDGET_TH, IPROC) = 'DEPS_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DEPG_' + YWORK2(NBUDGET_TH, IPROC) = 'DEPG_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'IMLT_' + YWORK2(NBUDGET_TH, IPROC) = 'IMLT_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'BERFI_' + YWORK2(NBUDGET_TH, IPROC) = 'BERFI_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'RIM_' + YWORK2(NBUDGET_TH, IPROC) = 'RIM_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ACC_' + YWORK2(NBUDGET_TH, IPROC) = 'ACC_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_TH, IPROC) = 'CFRZ_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'WETG_' + YWORK2(NBUDGET_TH, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DRYG_' + YWORK2(NBUDGET_TH, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'GMLT_' + YWORK2(NBUDGET_TH, IPROC) = 'GMLT_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'WETH_' + YWORK2(NBUDGET_TH, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HMLT_' + YWORK2(NBUDGET_TH, IPROC) = 'HMLT_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CEDS_' + YWORK2(NBUDGET_TH, IPROC) = 'CEDS_' IPROC=IPROC+1 ELSE - YWORK2(4,IPROC) = 'ADJU_' + YWORK2(NBUDGET_TH, IPROC) = 'ADJU_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HENU_' + YWORK2(NBUDGET_TH, IPROC) = 'HENU_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HON_' + YWORK2(NBUDGET_TH, IPROC) = 'HON_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'SFR_' + YWORK2(NBUDGET_TH, IPROC) = 'SFR_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DEPS_' + YWORK2(NBUDGET_TH, IPROC) = 'DEPS_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DEPG_' + YWORK2(NBUDGET_TH, IPROC) = 'DEPG_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'REVA_' + YWORK2(NBUDGET_TH, IPROC) = 'REVA_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'RIM_' + YWORK2(NBUDGET_TH, IPROC) = 'RIM_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'ACC_' + YWORK2(NBUDGET_TH, IPROC) = 'ACC_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_TH, IPROC) = 'CFRZ_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'WETG_' + YWORK2(NBUDGET_TH, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DRYG_' + YWORK2(NBUDGET_TH, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'GMLT_' + YWORK2(NBUDGET_TH, IPROC) = 'GMLT_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'WETH_' + YWORK2(NBUDGET_TH, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'DRYH_' + YWORK2(NBUDGET_TH, IPROC) = 'DRYH_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'HMLT_' + YWORK2(NBUDGET_TH, IPROC) = 'HMLT_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'IMLT_' + YWORK2(NBUDGET_TH, IPROC) = 'IMLT_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'BERFI_' + YWORK2(NBUDGET_TH, IPROC) = 'BERFI_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CORR_' + YWORK2(NBUDGET_TH, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'CDEPI_' + YWORK2(NBUDGET_TH, IPROC) = 'CDEPI_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'COND_' + YWORK2(NBUDGET_TH, IPROC) = 'COND_' IPROC=IPROC+1 - YWORK2(4,IPROC) = 'NECON_' + YWORK2(NBUDGET_TH, IPROC) = 'NECON_' END IF ! - YEND_COMMENT(4) = 'BU_RTH' - NBUPROCNBR(4) = 3 + YEND_COMMENT(NBUDGET_TH) = 'BU_RTH' + NBUPROCNBR(NBUDGET_TH) = 3 +! + CBUACTION(NBUDGET_TH, 1) = 'IG' + CBUACTION(NBUDGET_TH, 2) = 'CC' + CBUACTION(NBUDGET_TH, 3) = 'ES' ! - CBUACTION(4,1) = 'IG' - CBUACTION(4,2) = 'CC' - CBUACTION(4,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(4,JJ) = ADJUSTL( ADJUSTR( YWORK2(4,JJ) ) // & - ADJUSTL( YEND_COMMENT(4) ) ) + CBUCOMMENT(NBUDGET_TH, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_TH, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_TH) ) ) END DO ! END IF @@ -1043,70 +1043,70 @@ END IF ! Budget of RTKE IF (LBU_RTKE) THEN IPROC=4 - IPROACTV(5,IPROC) = NASSETKE + IPROACTV(NBUDGET_TKE, IPROC) = NASSETKE IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(5,IPROC) = NFRCTKE + IF( LFORCING ) IPROACTV(NBUDGET_TKE, IPROC) = NFRCTKE IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(5,IPROC) = NDIFTKE + IF ( ONUMDIFTH ) IPROACTV(NBUDGET_TKE, IPROC) = NDIFTKE IPROC=IPROC+1 IF ( OHORELAX_TKE ) THEN - IPROACTV(5,IPROC) = NRELTKE + IPROACTV(NBUDGET_TKE, IPROC) = NRELTKE ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(5,IPROC) = 4 + IPROACTV(NBUDGET_TKE, IPROC) = 4 ELSE - IPROACTV(5,IPROC) = 3 + IPROACTV(NBUDGET_TKE, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(5,IPROC) = NDRAGTKE + IF( ODRAGTREE ) IPROACTV(NBUDGET_TKE, IPROC) = NDRAGTKE IPROC=IPROC+1 - IPROACTV(5,IPROC) = NDPTKE + IPROACTV(NBUDGET_TKE, IPROC) = NDPTKE IPROC=IPROC+1 - IPROACTV(5,IPROC) = NTPTKE + IPROACTV(NBUDGET_TKE, IPROC) = NTPTKE IPROC=IPROC+1 - IPROACTV(5,IPROC) = NDISSTKE + IPROACTV(NBUDGET_TKE, IPROC) = NDISSTKE IPROC=IPROC+1 - IPROACTV(5,IPROC) = NTRTKE + IPROACTV(NBUDGET_TKE, IPROC) = NTRTKE IPROC=IPROC+1 - IPROACTV(5,IPROC) = NADVTKE + IPROACTV(NBUDGET_TKE, IPROC) = NADVTKE ! - YWORK2(5,1) = 'INIF_' - YWORK2(5,2) = 'ENDF_' - YWORK2(5,3) = 'AVEF_' + YWORK2(NBUDGET_TKE, 1) = 'INIF_' + YWORK2(NBUDGET_TKE, 2) = 'ENDF_' + YWORK2(NBUDGET_TKE, 3) = 'AVEF_' IPROC=4 - YWORK2(5,IPROC) = 'ASSE_' + YWORK2(NBUDGET_TKE, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'FRC_' + YWORK2(NBUDGET_TKE, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DIF_' + YWORK2(NBUDGET_TKE, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'REL_' + YWORK2(NBUDGET_TKE, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DRAG_' + YWORK2(NBUDGET_TKE, IPROC) = 'DRAG_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DP_' + YWORK2(NBUDGET_TKE, IPROC) = 'DP_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'TP_' + YWORK2(NBUDGET_TKE, IPROC) = 'TP_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'DISS_' + YWORK2(NBUDGET_TKE, IPROC) = 'DISS_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'TR_' + YWORK2(NBUDGET_TKE, IPROC) = 'TR_' IPROC=IPROC+1 - YWORK2(5,IPROC) = 'ADV_' + YWORK2(NBUDGET_TKE, IPROC) = 'ADV_' ! - YEND_COMMENT(5) = 'BU_RTKE' - NBUPROCNBR(5) = 3 + YEND_COMMENT(NBUDGET_TKE) = 'BU_RTKE' + NBUPROCNBR(NBUDGET_TKE) = 3 +! + CBUACTION(NBUDGET_TKE, 1) = 'IG' + CBUACTION(NBUDGET_TKE, 2) = 'CC' + CBUACTION(NBUDGET_TKE, 3) = 'ES' ! - CBUACTION(5,1) = 'IG' - CBUACTION(5,2) = 'CC' - CBUACTION(5,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(5,JJ) = ADJUSTL( ADJUSTR( YWORK2(5,JJ) ) // & - ADJUSTL( YEND_COMMENT(5) ) ) + CBUCOMMENT(NBUDGET_TKE, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_TKE, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_TKE) ) ) END DO ! END IF @@ -1114,197 +1114,197 @@ END IF ! Budget of RRV IF (LBU_RRV) THEN IPROC=4 - IPROACTV(6,IPROC) = NASSERV + IPROACTV(NBUDGET_RV, IPROC) = NASSERV IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(6,IPROC) = NNESTRV + IF( NMODEL>1 ) IPROACTV(NBUDGET_RV, IPROC) = NNESTRV IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(6,IPROC) = NFRCRV + IF( LFORCING ) IPROACTV(NBUDGET_RV, IPROC) = NFRCRV IPROC=IPROC+1 - IF( L2D_ADV_FRC ) IPROACTV(6,IPROC) = N2DADVRV + IF( L2D_ADV_FRC ) IPROACTV(NBUDGET_RV, IPROC) = N2DADVRV IPROC=IPROC+1 - IF( L2D_REL_FRC ) IPROACTV(6,IPROC) = N2DRELRV + IF( L2D_REL_FRC ) IPROACTV(NBUDGET_RV, IPROC) = N2DRELRV IPROC=IPROC+1 - IF( ONUDGING ) IPROACTV(6,IPROC) = NNUDRV + IF( ONUDGING ) IPROACTV(NBUDGET_RV, IPROC) = NNUDRV IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(6,IPROC) = NDIFRV + IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RV, IPROC) = NDIFRV IPROC=IPROC+1 IF ( OHORELAX_RV .OR. OVE_RELAX ) THEN - IPROACTV(6,IPROC) = NRELRV + IPROACTV(NBUDGET_RV, IPROC) = NRELRV ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(6,IPROC) = 4 + IPROACTV(NBUDGET_RV, IPROC) = 4 ELSE - IPROACTV(6,IPROC) = 3 + IPROACTV(NBUDGET_RV, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(6,IPROC) = NDCONVRV + IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_RV, IPROC) = NDCONVRV IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(6,IPROC) = NVTURBRV + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RV, IPROC) = NVTURBRV IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(6,IPROC) = NHTURBRV + IPROACTV(NBUDGET_RV, IPROC) = NHTURBRV ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(6,IPROC) = 4 + IPROACTV(NBUDGET_RV, IPROC) = 4 ELSE - IPROACTV(6,IPROC) = 3 + IPROACTV(NBUDGET_RV, IPROC) = 3 END IF END IF IPROC=IPROC+1 IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))) & - IPROACTV(6,IPROC) = NNETURRV + IPROACTV(NBUDGET_RV, IPROC) = NNETURRV IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(6,IPROC) = NMAFLRV + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_RV, IPROC) = NMAFLRV IPROC=IPROC+1 - IPROACTV(6,IPROC) = NADVRV + IPROACTV(NBUDGET_RV, IPROC) = NADVRV IPROC=IPROC+1 - IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) IPROACTV(6,IPROC) = NNEADVRV + IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) IPROACTV(NBUDGET_RV, IPROC) = NNEADVRV IPROC=IPROC+1 IF (HCLOUD /= 'NONE' .AND. HCLOUD /= 'KHKO' .AND. HCLOUD /= 'C2R2') & - IPROACTV(6,IPROC) = NNEGARV + IPROACTV(NBUDGET_RV, IPROC) = NNEGARV IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(6,IPROC) = NHENURV + IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RV, IPROC) = NHENURV IPROC=IPROC+1 IF (.NOT.OPTSPLIT) THEN - IF (OWARM .AND. ORAIN) IPROACTV(6,IPROC) = NREVARV + IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_RV, IPROC) = NREVARV IPROC=IPROC+1 END IF - IF (OCOLD .AND. ONUCL) IPROACTV(6,IPROC) = NHINDRV + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RV, IPROC) = NHINDRV IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(6,IPROC) = NHONHRV + IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RV, IPROC) = NHONHRV IPROC=IPROC+1 IF (OPTSPLIT) THEN - IPROACTV(6,IPROC) = NREVARV + IPROACTV(NBUDGET_RV, IPROC) = NREVARV IPROC=IPROC+1 END IF - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(6,IPROC) = NDEPSRV + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RV, IPROC) = NDEPSRV IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(6,IPROC) = NDEPGRV + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RV, IPROC) = NDEPGRV IPROC=IPROC+1 - IPROACTV(6,IPROC) = NCEDSRV + IPROACTV(NBUDGET_RV, IPROC) = NCEDSRV IPROC=IPROC+1 ELSE IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) & - IPROACTV(6,IPROC) = NADJURV + IPROACTV(NBUDGET_RV, IPROC) = NADJURV IPROC=IPROC+1 IF ((HCLOUD == 'C2R2' .AND. (.NOT. LSUPSAT)) & .OR. ( HCLOUD == 'KHKO' .AND. (.NOT. LSUPSAT)) & .OR. HCLOUD(1:3) == 'ICE') & - IPROACTV(6,IPROC) = NHENURV + IPROACTV(NBUDGET_RV, IPROC) = NHENURV IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(6,IPROC) = NDEPSRV + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RV, IPROC) = NDEPSRV IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(6,IPROC) = NDEPGRV + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RV, IPROC) = NDEPGRV IPROC=IPROC+1 IF (HCLOUD(1:3) == 'KES' .OR. ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) .OR. & - ((HCLOUD(1:3) == 'ICE') .AND. LWARM)) IPROACTV(6,IPROC) = NREVARV + ((HCLOUD(1:3) == 'ICE') .AND. LWARM)) IPROACTV(NBUDGET_RV, IPROC) = NREVARV IPROC=IPROC+1 IF (HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE' .OR. & - HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' ) IPROACTV(6,IPROC) = NCONDRV + HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' ) IPROACTV(NBUDGET_RV, IPROC) = NCONDRV IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(6,IPROC) = NCORRRV + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RV, IPROC) = NCORRRV IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & - IPROACTV(6,IPROC) = NCDEPIRV + IPROACTV(NBUDGET_RV, IPROC) = NCDEPIRV IPROC=IPROC+1 IF ( (HCLOUD == 'KHKO' ) .OR. (HCLOUD == 'C2R2')) & - IPROACTV(6,IPROC) = NNECONRV - IPROC=IPROC+1 + IPROACTV(NBUDGET_RV, IPROC) = NNECONRV + IPROC=IPROC+1 END IF ! - YWORK2(6,1) = 'INIF_' - YWORK2(6,2) = 'ENDF_' - YWORK2(6,3) = 'AVEF_' + YWORK2(NBUDGET_RV, 1) = 'INIF_' + YWORK2(NBUDGET_RV, 2) = 'ENDF_' + YWORK2(NBUDGET_RV, 3) = 'AVEF_' IPROC=4 - YWORK2(6,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RV, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NEST_' + YWORK2(NBUDGET_RV, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'FRC_' + YWORK2(NBUDGET_RV, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(6,IPROC) = '2DADV_' + YWORK2(NBUDGET_RV, IPROC) = '2DADV_' IPROC=IPROC+1 - YWORK2(6,IPROC) = '2DREL_' + YWORK2(NBUDGET_RV, IPROC) = '2DREL_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NUD_' + YWORK2(NBUDGET_RV, IPROC) = 'NUD_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DIF_' + YWORK2(NBUDGET_RV, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'REL_' + YWORK2(NBUDGET_RV, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DCONV_' + YWORK2(NBUDGET_RV, IPROC) = 'DCONV_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'VTURB_' + YWORK2(NBUDGET_RV, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'HTURB_' + YWORK2(NBUDGET_RV, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NETUR_' + YWORK2(NBUDGET_RV, IPROC) = 'NETUR_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'MAFL_' + YWORK2(NBUDGET_RV, IPROC) = 'MAFL_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'ADV_' + YWORK2(NBUDGET_RV, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NEADV_' + YWORK2(NBUDGET_RV, IPROC) = 'NEADV_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RV, IPROC) = 'NEGA_' IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - YWORK2(6,IPROC) = 'HENU_' + YWORK2(NBUDGET_RV, IPROC) = 'HENU_' IPROC=IPROC+1 IF (.NOT.OPTSPLIT) THEN - YWORK2(6,IPROC) = 'REVA_' + YWORK2(NBUDGET_RV, IPROC) = 'REVA_' IPROC=IPROC+1 END IF - YWORK2(6,IPROC) = 'HIND_' + YWORK2(NBUDGET_RV, IPROC) = 'HIND_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'HONH_' + YWORK2(NBUDGET_RV, IPROC) = 'HONH_' IPROC=IPROC+1 IF (OPTSPLIT) THEN - YWORK2(6,IPROC) = 'REVA_' + YWORK2(NBUDGET_RV, IPROC) = 'REVA_' IPROC=IPROC+1 END IF - YWORK2(6,IPROC) = 'DEPS_' + YWORK2(NBUDGET_RV, IPROC) = 'DEPS_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DEPG_' + YWORK2(NBUDGET_RV, IPROC) = 'DEPG_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'CEDS_' + YWORK2(NBUDGET_RV, IPROC) = 'CEDS_' ELSE - YWORK2(6,IPROC) = 'ADJU_' + YWORK2(NBUDGET_RV, IPROC) = 'ADJU_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'HENU_' + YWORK2(NBUDGET_RV, IPROC) = 'HENU_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DEPS_' + YWORK2(NBUDGET_RV, IPROC) = 'DEPS_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'DEPG_' + YWORK2(NBUDGET_RV, IPROC) = 'DEPG_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'REVA_' + YWORK2(NBUDGET_RV, IPROC) = 'REVA_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'COND_' + YWORK2(NBUDGET_RV, IPROC) = 'COND_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'CORR_' + YWORK2(NBUDGET_RV, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'CDEPI_' + YWORK2(NBUDGET_RV, IPROC) = 'CDEPI_' IPROC=IPROC+1 - YWORK2(6,IPROC) = 'NECON_' + YWORK2(NBUDGET_RV, IPROC) = 'NECON_' END IF ! - YEND_COMMENT(6) = 'BU_RRV' - NBUPROCNBR(6) = 3 + YEND_COMMENT(NBUDGET_RV) = 'BU_RRV' + NBUPROCNBR(NBUDGET_RV) = 3 +! + CBUACTION(NBUDGET_RV, 1) = 'IG' + CBUACTION(NBUDGET_RV, 2) = 'CC' + CBUACTION(NBUDGET_RV, 3) = 'ES' ! - CBUACTION(6,1) = 'IG' - CBUACTION(6,2) = 'CC' - CBUACTION(6,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(6,JJ) = ADJUSTL( ADJUSTR( YWORK2(6,JJ) ) // & - ADJUSTL( YEND_COMMENT(6) ) ) + CBUCOMMENT(NBUDGET_RV, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RV, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RV) ) ) END DO ! END IF @@ -1312,289 +1312,289 @@ END IF ! Budget of RRC IF (LBU_RRC) THEN IPROC=4 - IPROACTV(7,IPROC) = NASSERC + IPROACTV(NBUDGET_RC, IPROC) = NASSERC IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(7,IPROC) = NNESTRC + IF( NMODEL>1 ) IPROACTV(NBUDGET_RC, IPROC) = NNESTRC IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(7,IPROC) = NFRCRC + IF( LFORCING ) IPROACTV(NBUDGET_RC, IPROC) = NFRCRC IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(7,IPROC) = NDIFRC + IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RC, IPROC) = NDIFRC IPROC=IPROC+1 IF ( OHORELAX_RC ) THEN - IPROACTV(7,IPROC) = NRELRC + IPROACTV(NBUDGET_RC, IPROC) = NRELRC ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(7,IPROC) = 4 + IPROACTV(NBUDGET_RC, IPROC) = 4 ELSE - IPROACTV(7,IPROC) = 3 + IPROACTV(NBUDGET_RC, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(7,IPROC) = NDCONVRC + IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_RC, IPROC) = NDCONVRC IPROC=IPROC+1 - IF( ODRAGTREE .AND. ODEPOTREE ) IPROACTV(7,IPROC) = NDEPOTRRC + IF( ODRAGTREE .AND. ODEPOTREE ) IPROACTV(NBUDGET_RC, IPROC) = NDEPOTRRC IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(7,IPROC) = NVTURBRC + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RC, IPROC) = NVTURBRC IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(7,IPROC) = NHTURBRC + IPROACTV(NBUDGET_RC, IPROC) = NHTURBRC ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(7,IPROC) = 4 + IPROACTV(NBUDGET_RC, IPROC) = 4 ELSE - IPROACTV(7,IPROC) = 3 + IPROACTV(NBUDGET_RC, IPROC) = 3 END IF END IF IPROC=IPROC+1 IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))) & - IPROACTV(7,IPROC) = NNETURRC + IPROACTV(NBUDGET_RC, IPROC) = NNETURRC IPROC=IPROC+1 - IPROACTV(7,IPROC) = NADVRC + IPROACTV(NBUDGET_RC, IPROC) = NADVRC IPROC=IPROC+1 IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) & - IPROACTV(7,IPROC) = NNEADVRC + IPROACTV(NBUDGET_RC, IPROC) = NNEADVRC IPROC=IPROC+1 IF (HCLOUD /= 'NONE' .AND. HCLOUD /= 'KHKO' .AND. HCLOUD /= 'C2R2') & - IPROACTV(7,IPROC) = NNEGARC + IPROACTV(NBUDGET_RC, IPROC) = NNEGARC IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(7,IPROC) = NCORRRC + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RC, IPROC) = NCORRRC IPROC=IPROC+1 - IF (OWARM .AND. OSEDC) IPROACTV(7,IPROC) = NSEDIRC + IF (OWARM .AND. OSEDC) IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC IPROC=IPROC+1 - IF (OWARM .AND. ODEPOC) IPROACTV(7,IPROC) = NDEPORC + IF (OWARM .AND. ODEPOC) IPROACTV(NBUDGET_RC, IPROC) = NDEPORC IPROC=IPROC+1 - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(7,IPROC) = NR2C1RC + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RC, IPROC) = NR2C1RC IPROC=IPROC+1 - IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(7,IPROC) = NHENURC + IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RC, IPROC) = NHENURC IPROC=IPROC+1 IF (OPTSPLIT) THEN - IF (OCOLD .AND. ONUCL) IPROACTV(7,IPROC) = NHINCRC + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RC, IPROC) = NHINCRC IPROC=IPROC+1 END IF - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(7,IPROC) = NAUTORC + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(7,IPROC) = NACCRRC + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NACCRRC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(7,IPROC) = NREVARC + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NREVARC IPROC=IPROC+1 IF (.NOT.OPTSPLIT) THEN - IF (OCOLD .AND. ONUCL) IPROACTV(7,IPROC) = NHINCRC + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RC, IPROC) = NHINCRC IPROC=IPROC+1 END IF - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(7,IPROC) = NHONCRC + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(NBUDGET_RC, IPROC) = NHONCRC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(7,IPROC) = NIMLTRC + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RC, IPROC) = NIMLTRC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(7,IPROC) = NBERFIRC + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RC, IPROC) = NBERFIRC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(7,IPROC) = NRIMRC + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NRIMRC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(7,IPROC) = NWETGRC + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NWETGRC IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(7,IPROC) = NDRYGRC + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NDRYGRC IPROC=IPROC+1 - IF (OPTSPLIT) IPROACTV(7,IPROC) = NCVRCRC + IF (OPTSPLIT) IPROACTV(NBUDGET_RC, IPROC) = NCVRCRC IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(7,IPROC) = NWETHRC + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RC, IPROC) = NWETHRC IPROC=IPROC+1 - IPROACTV(7,IPROC) = NCEDSRC + IPROACTV(NBUDGET_RC, IPROC) = NCEDSRC IPROC=IPROC+1 ELSE - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(7,IPROC ) = NACCRRC + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RC, IPROC ) = NACCRRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(7,IPROC) = NAUTORC + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC IPROC=IPROC+1 IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. (.NOT. LSUPSAT)) & - IPROACTV(7,IPROC) = NHENURC + IPROACTV(NBUDGET_RC, IPROC) = NHENURC IPROC=IPROC+1 ! IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) & - IPROACTV(7,IPROC) = NADJURC + IPROACTV(NBUDGET_RC, IPROC) = NADJURC IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .AND. LSEDIC .AND. & LRED .AND. (.NOT. LSEDIM_AFTER)) & - IPROACTV(7,IPROC) = NSEDIRC + IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(7,IPROC) = NHONRC + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RC, IPROC) = NHONRC IPROC=IPROC+1 IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & - HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(7,IPROC) = NAUTORC + HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC IPROC=IPROC+1 !modif IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & - HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(7,IPROC) = NACCRRC + HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(NBUDGET_RC, IPROC) = NACCRRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NRIMRC + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NRIMRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(7,IPROC) = NCMELRC + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NCMELRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NWETGRC + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NWETGRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NDRYGRC + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NDRYGRC IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(7,IPROC) = NWETHRC + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RC, IPROC) = NWETHRC IPROC=IPROC+1 - IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(7,IPROC) = NDRYHRC + IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NDRYHRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(7,IPROC) = NIMLTRC + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RC, IPROC) = NIMLTRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(7,IPROC) = NBERFIRC + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NBERFIRC IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(7,IPROC) = NCORRRC + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NCORRRC IPROC=IPROC+1 IF (((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO').AND. LSEDC) .OR. & (HCLOUD(1:3) == 'ICE' .AND. LSEDIC .AND. .NOT. LRED) .OR. & (HCLOUD(1:3) == 'ICE' .AND. LSEDIC .AND. LRED .AND. LSEDIM_AFTER)) & - IPROACTV(7,IPROC) = NSEDIRC + IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC IPROC=IPROC+1 IF (((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO').AND. LDEPOC) .OR. & - (HCLOUD(1:3) == 'ICE' .AND. LDEPOSC)) IPROACTV(7,IPROC) = NDEPORC + (HCLOUD(1:3) == 'ICE' .AND. LDEPOSC)) IPROACTV(NBUDGET_RC, IPROC) = NDEPORC IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & - IPROACTV(7,IPROC) = NCDEPIRC + IPROACTV(NBUDGET_RC, IPROC) = NCDEPIRC IPROC=IPROC+1 IF (HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO' .OR. & - HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE') IPROACTV(7,IPROC) = NCONDRC + HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE') IPROACTV(NBUDGET_RC, IPROC) = NCONDRC IPROC=IPROC+1 IF ( (HCLOUD == 'KHKO' ) .OR. (HCLOUD == 'C2R2')) & - IPROACTV(7,IPROC) = NNECONRC + IPROACTV(NBUDGET_RC, IPROC) = NNECONRC IPROC=IPROC+1 END IF ! - YWORK2(7,1) = 'INIF_' - YWORK2(7,2) = 'ENDF_' - YWORK2(7,3) = 'AVEF_' + YWORK2(NBUDGET_RC, 1) = 'INIF_' + YWORK2(NBUDGET_RC, 2) = 'ENDF_' + YWORK2(NBUDGET_RC, 3) = 'AVEF_' IPROC=4 - YWORK2(7,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RC, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NEST_' + YWORK2(NBUDGET_RC, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'FRC_' + YWORK2(NBUDGET_RC, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DIF_' + YWORK2(NBUDGET_RC, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'REL_' + YWORK2(NBUDGET_RC, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DCONV_' + YWORK2(NBUDGET_RC, IPROC) = 'DCONV_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DEPOTR' + YWORK2(NBUDGET_RC, IPROC) = 'DEPOTR' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'VTURB_' + YWORK2(NBUDGET_RC, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HTURB_' + YWORK2(NBUDGET_RC, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NETUR_' + YWORK2(NBUDGET_RC, IPROC) = 'NETUR_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ADV_' + YWORK2(NBUDGET_RC, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NEADV_' + YWORK2(NBUDGET_RC, IPROC) = 'NEADV_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RC, IPROC) = 'NEGA_' IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - YWORK2(7,IPROC) = 'CORR_' + YWORK2(NBUDGET_RC, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DEPO_' + YWORK2(NBUDGET_RC, IPROC) = 'DEPO_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'R2C1_' + YWORK2(NBUDGET_RC, IPROC) = 'R2C1_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HENU_' + YWORK2(NBUDGET_RC, IPROC) = 'HENU_' IPROC=IPROC+1 IF (OPTSPLIT) THEN - YWORK2(7,IPROC) = 'HINC_' + YWORK2(NBUDGET_RC, IPROC) = 'HINC_' IPROC=IPROC+1 END IF - YWORK2(7,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'REVA_' + YWORK2(NBUDGET_RC, IPROC) = 'REVA_' IPROC=IPROC+1 IF (.NOT.OPTSPLIT) THEN - YWORK2(7,IPROC) = 'HINC_' + YWORK2(NBUDGET_RC, IPROC) = 'HINC_' IPROC=IPROC+1 END IF - YWORK2(7,IPROC) = 'HONC_' + YWORK2(NBUDGET_RC, IPROC) = 'HONC_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'IMLT_' + YWORK2(NBUDGET_RC, IPROC) = 'IMLT_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'BERFI_' + YWORK2(NBUDGET_RC, IPROC) = 'BERFI_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'RIM_' + YWORK2(NBUDGET_RC, IPROC) = 'RIM_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'WETG_' + YWORK2(NBUDGET_RC, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RC, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'CVRC_' + YWORK2(NBUDGET_RC, IPROC) = 'CVRC_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'WETH_' + YWORK2(NBUDGET_RC, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'CEDS_' + YWORK2(NBUDGET_RC, IPROC) = 'CEDS_' ELSE - YWORK2(7,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HENU_' + YWORK2(NBUDGET_RC, IPROC) = 'HENU_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ADJU_' + YWORK2(NBUDGET_RC, IPROC) = 'ADJU_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'HON_' + YWORK2(NBUDGET_RC, IPROC) = 'HON_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'RIM_' + YWORK2(NBUDGET_RC, IPROC) = 'RIM_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'CMEL_' + YWORK2(NBUDGET_RC, IPROC) = 'CMEL_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'WETG_' + YWORK2(NBUDGET_RC, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RC, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'WETH_' + YWORK2(NBUDGET_RC, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DRYH_' + YWORK2(NBUDGET_RC, IPROC) = 'DRYH_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'IMLT_' + YWORK2(NBUDGET_RC, IPROC) = 'IMLT_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'BERFI_' + YWORK2(NBUDGET_RC, IPROC) = 'BERFI_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'CORR_' + YWORK2(NBUDGET_RC, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'DEPO_' + YWORK2(NBUDGET_RC, IPROC) = 'DEPO_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'CDEPI_' + YWORK2(NBUDGET_RC, IPROC) = 'CDEPI_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'COND_' + YWORK2(NBUDGET_RC, IPROC) = 'COND_' IPROC=IPROC+1 - YWORK2(7,IPROC) = 'NECON_' + YWORK2(NBUDGET_RC, IPROC) = 'NECON_' END IF ! - YEND_COMMENT(7) = 'BU_RRC' - NBUPROCNBR(7) = 3 + YEND_COMMENT(NBUDGET_RC) = 'BU_RRC' + NBUPROCNBR(NBUDGET_RC) = 3 +! + CBUACTION(NBUDGET_RC, 1) = 'IG' + CBUACTION(NBUDGET_RC, 2) = 'CC' + CBUACTION(NBUDGET_RC, 3) = 'ES' ! - CBUACTION(7,1) = 'IG' - CBUACTION(7,2) = 'CC' - CBUACTION(7,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(7,JJ) = ADJUSTL( ADJUSTR( YWORK2(7,JJ) ) // & - ADJUSTL( YEND_COMMENT(7) ) ) + CBUCOMMENT(NBUDGET_RC, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RC, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RC) ) ) END DO ! END IF @@ -1602,226 +1602,226 @@ END IF ! Budget of RRR IF (LBU_RRR) THEN IPROC=4 - IPROACTV(8,IPROC) = NASSERR + IPROACTV(NBUDGET_RR, IPROC) = NASSERR IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(8,IPROC) = NNESTRR + IF( NMODEL>1 ) IPROACTV(NBUDGET_RR, IPROC) = NNESTRR IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(8,IPROC) = NFRCRR + IF( LFORCING ) IPROACTV(NBUDGET_RR, IPROC) = NFRCRR IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(8,IPROC) = NDIFRR + IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RR, IPROC) = NDIFRR IPROC=IPROC+1 IF ( OHORELAX_RR ) THEN - IPROACTV(8,IPROC) = NRELRR + IPROACTV(NBUDGET_RR, IPROC) = NRELRR ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(8,IPROC) = 4 + IPROACTV(NBUDGET_RR, IPROC) = 4 ELSE - IPROACTV(8,IPROC) = 3 + IPROACTV(NBUDGET_RR, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IPROACTV(8,IPROC) = NADVRR + IPROACTV(NBUDGET_RR, IPROC) = NADVRR IPROC=IPROC+1 - IF ( HCLOUD /= 'NONE' ) IPROACTV(8,IPROC) = NNEGARR + IF ( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RR, IPROC) = NNEGARR IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(8,IPROC) = NCORRRR + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NCORRRR IPROC=IPROC+1 - IF (OWARM .AND. ORAIN) IPROACTV(8,IPROC) = NSEDIRR + IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR IPROC=IPROC+1 - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(8,IPROC) = NR2C1RR + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NR2C1RR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(8,IPROC) = NAUTORR + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(8,IPROC) = NACCRRR + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(8,IPROC) = NREVARR + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NREVARR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(8,IPROC) = NHONRRR + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NHONRRR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(8,IPROC) = NACCRR + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NACCRR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(8,IPROC) = NCFRZRR + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NCFRZRR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(8,IPROC) = NWETGRR + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NWETGRR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(8,IPROC) = NDRYGRR + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NDRYGRR IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(8,IPROC) = NGMLTRR + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NGMLTRR IPROC=IPROC+1 - IF (OPTSPLIT) IPROACTV(8,IPROC) = NCVRCRR + IF (OPTSPLIT) IPROACTV(NBUDGET_RR, IPROC) = NCVRCRR IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(8,IPROC) = NWETHRR + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RR, IPROC) = NWETHRR IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(8,IPROC) = NHMLTRR + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RR, IPROC) = NHMLTRR ELSE - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NSEDIRR + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NACCRRR + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NAUTORR + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(8,IPROC) = NREVARR + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NREVARR IPROC=IPROC+1 ! IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & - IPROACTV(8,IPROC) = NSEDIRR + IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(8,IPROC) = NSFRRR + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NSFRRR IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(8,IPROC) = NAUTORR + IPROACTV(NBUDGET_RR, IPROC) = NAUTORR IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(8,IPROC) = NACCRRR + IPROACTV(NBUDGET_RR, IPROC) = NACCRRR IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(8,IPROC) = NREVARR + IPROACTV(NBUDGET_RR, IPROC) = NREVARR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NACCRR + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NACCRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(8,IPROC) = NCMELRR + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NCMELRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(8,IPROC) = NCFRZRR + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NCFRZRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(8,IPROC) = NWETGRR + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NWETGRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NDRYGRR + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NDRYGRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(8,IPROC) = NGMLTRR + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NGMLTRR IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(8,IPROC) = NWETHRR + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RR, IPROC) = NWETHRR IPROC=IPROC+1 - IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(8,IPROC) = NDRYHRR + IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NDRYHRR IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(8,IPROC) = NHMLTRR + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RR, IPROC) = NHMLTRR IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(8,IPROC) = NCORRRR + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NCORRRR IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(8,IPROC) = NAUTORR + IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(8,IPROC) = NACCRRR + IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(8,IPROC) = NREVARR + IF ((HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(NBUDGET_RR, IPROC) = NREVARR IPROC=IPROC+1 IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. & (HCLOUD(1:3) == 'ICE' .AND. .NOT. (LRED)) .OR. & (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & - IPROACTV(8,IPROC) = NSEDIRR + IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR IPROC=IPROC+1 END IF ! - YWORK2(8,1) = 'INIF_' - YWORK2(8,2) = 'ENDF_' - YWORK2(8,3) = 'AVEF_' + YWORK2(NBUDGET_RR, 1) = 'INIF_' + YWORK2(NBUDGET_RR, 2) = 'ENDF_' + YWORK2(NBUDGET_RR, 3) = 'AVEF_' IPROC=4 - YWORK2(8,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RR, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'NEST_' + YWORK2(NBUDGET_RR, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'FRC_' + YWORK2(NBUDGET_RR, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'DIF_' + YWORK2(NBUDGET_RR, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REL_' + YWORK2(NBUDGET_RR, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ADV_' + YWORK2(NBUDGET_RR, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RR, IPROC) = 'NEGA_' IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - YWORK2(8,IPROC) = 'CORR_' + YWORK2(NBUDGET_RR, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'R2C1_' + YWORK2(NBUDGET_RR, IPROC) = 'R2C1_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'HONR_' + YWORK2(NBUDGET_RR, IPROC) = 'HONR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACC_' + YWORK2(NBUDGET_RR, IPROC) = 'ACC_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_RR, IPROC) = 'CFRZ_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'WETG_' + YWORK2(NBUDGET_RR, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RR, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'GMLT_' + YWORK2(NBUDGET_RR, IPROC) = 'GMLT_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'CVRC_' + YWORK2(NBUDGET_RR, IPROC) = 'CVRC_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'WETH_' + YWORK2(NBUDGET_RR, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'HMLT_' + YWORK2(NBUDGET_RR, IPROC) = 'HMLT_' IPROC=IPROC+1 ELSE - YWORK2(8,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SFR_' + YWORK2(NBUDGET_RR, IPROC) = 'SFR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACC_' + YWORK2(NBUDGET_RR, IPROC) = 'ACC_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'CMEL_' + YWORK2(NBUDGET_RR, IPROC) = 'CMEL_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_RR, IPROC) = 'CFRZ_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'WETG_' + YWORK2(NBUDGET_RR, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RR, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'GMLT_' + YWORK2(NBUDGET_RR, IPROC) = 'GMLT_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'WETH_' + YWORK2(NBUDGET_RR, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'DRYH_' + YWORK2(NBUDGET_RR, IPROC) = 'DRYH_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'HMLT_' + YWORK2(NBUDGET_RR, IPROC) = 'HMLT_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'CORR_' + YWORK2(NBUDGET_RR, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'AUTO_' + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'ACCR_' + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'REVA_' + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' IPROC=IPROC+1 - YWORK2(8,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' END IF ! - YEND_COMMENT(8) = 'BU_RRR' - NBUPROCNBR(8) = 3 + YEND_COMMENT(NBUDGET_RR) = 'BU_RRR' + NBUPROCNBR(NBUDGET_RR) = 3 +! + CBUACTION(NBUDGET_RR, 1) = 'IG' + CBUACTION(NBUDGET_RR, 2) = 'CC' + CBUACTION(NBUDGET_RR, 3) = 'ES' ! - CBUACTION(8,1) = 'IG' - CBUACTION(8,2) = 'CC' - CBUACTION(8,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(8,JJ) = ADJUSTL( ADJUSTR( YWORK2(8,JJ) ) // & - ADJUSTL( YEND_COMMENT(8) ) ) + CBUCOMMENT(NBUDGET_RR, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RR, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RR) ) ) END DO ! END IF @@ -1829,224 +1829,224 @@ END IF ! Budget of RRI IF (LBU_RRI) THEN IPROC=4 - IPROACTV(9,IPROC) = NASSERI + IPROACTV(NBUDGET_RI, IPROC) = NASSERI IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(9,IPROC) = NNESTRI + IF( NMODEL>1 ) IPROACTV(NBUDGET_RI, IPROC) = NNESTRI IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(9,IPROC) = NFRCRI + IF( LFORCING ) IPROACTV(NBUDGET_RI, IPROC) = NFRCRI IPROC=IPROC+1 - IF( ONUMDIFTH ) IPROACTV(9,IPROC) = NDIFRI + IF( ONUMDIFTH ) IPROACTV(NBUDGET_RI, IPROC) = NDIFRI IPROC=IPROC+1 IF ( OHORELAX_RI ) THEN - IPROACTV(9,IPROC) = NRELRI + IPROACTV(NBUDGET_RI, IPROC) = NRELRI ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(9,IPROC) = 4 + IPROACTV(NBUDGET_RI, IPROC) = 4 ELSE - IPROACTV(9,IPROC) = 3 + IPROACTV(NBUDGET_RI, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(9,IPROC) = NDCONVRI + IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_RI, IPROC) = NDCONVRI IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(9,IPROC) = NVTURBRI + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RI, IPROC) = NVTURBRI IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(9,IPROC) = NHTURBRI + IPROACTV(NBUDGET_RI, IPROC) = NHTURBRI ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(9,IPROC) = 4 + IPROACTV(NBUDGET_RI, IPROC) = 4 ELSE - IPROACTV(9,IPROC) = 3 + IPROACTV(NBUDGET_RI, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IPROACTV(9,IPROC) = NADVRI + IPROACTV(NBUDGET_RI, IPROC) = NADVRI IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(9,IPROC) = NNEGARI + IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RI, IPROC) = NNEGARI IPROC=IPROC+1 IF (HCLOUD=='LIMA') THEN - IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(9,IPROC) = NCORRRI + IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RI, IPROC) = NCORRRI IPROC=IPROC+1 - IF (OCOLD .AND. OSEDI) IPROACTV(9,IPROC) = NSEDIRI + IF (OCOLD .AND. OSEDI) IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL) IPROACTV(9,IPROC) = NHINDRI + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RI, IPROC) = NHINDRI IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL) IPROACTV(9,IPROC) = NHINCRI + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RI, IPROC) = NHINCRI IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(9,IPROC) = NHONHRI + IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RI, IPROC) = NHONHRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(9,IPROC) = NHONCRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(NBUDGET_RI, IPROC) = NHONCRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(9,IPROC) = NCNVIRI + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCNVIRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(9,IPROC) = NCNVSRI + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCNVSRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(9,IPROC) = NAGGSRI + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NAGGSRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(9,IPROC) = NIMLTRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RI, IPROC) = NIMLTRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(9,IPROC) = NBERFIRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RI, IPROC) = NBERFIRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(9,IPROC) = NHMSRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NHMSRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(9,IPROC) = NCFRZRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCFRZRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(9,IPROC) = NWETGRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NWETGRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(9,IPROC) = NDRYGRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NDRYGRI IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(9,IPROC) = NHMGRI + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NHMGRI IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(9,IPROC) = NWETHRI + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RI, IPROC) = NWETHRI IPROC=IPROC+1 - IPROACTV(9,IPROC) = NCEDSRI + IPROACTV(NBUDGET_RI, IPROC) = NCEDSRI ELSE - IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) IPROACTV(9,IPROC) = NADJURI + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) IPROACTV(NBUDGET_RI, IPROC) = NADJURI IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & - IPROACTV(9,IPROC) = NSEDIRI + IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NHENURI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NHENURI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NHONRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NHONRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NAGGSRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NAGGSRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NAUTSRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NAUTSRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NCFRZRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NCFRZRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NWETGRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NWETGRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NDRYGRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NDRYGRI IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' ) IPROACTV(9,IPROC) = NWETHRI + IF( HCLOUD == 'ICE4' ) IPROACTV(NBUDGET_RI, IPROC) = NWETHRI IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(9,IPROC) = NDRYHRI + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RI, IPROC) = NDRYHRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NIMLTRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NIMLTRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(9,IPROC) = NBERFIRI + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NBERFIRI IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(9,IPROC) = NCORRRI + IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RI, IPROC) = NCORRRI IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & - IPROACTV(9,IPROC) = NSEDIRI + IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI IPROC=IPROC+1 IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & - IPROACTV(9,IPROC) = NCDEPIRI + IPROACTV(NBUDGET_RI, IPROC) = NCDEPIRI IPROC=IPROC+1 END IF ! - YWORK2(9,1) = 'INIF_' - YWORK2(9,2) = 'ENDF_' - YWORK2(9,3) = 'AVEF_' + YWORK2(NBUDGET_RI, 1) = 'INIF_' + YWORK2(NBUDGET_RI, 2) = 'ENDF_' + YWORK2(NBUDGET_RI, 3) = 'AVEF_' IPROC=4 - YWORK2(9,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RI, IPROC) = 'ASSE_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'NEST_' + YWORK2(NBUDGET_RI, IPROC) = 'NEST_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'FRC_' + YWORK2(NBUDGET_RI, IPROC) = 'FRC_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'DIF_' + YWORK2(NBUDGET_RI, IPROC) = 'DIF_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'REL_' + YWORK2(NBUDGET_RI, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(9,IPROC) = 'DCONV_' + YWORK2(NBUDGET_RI, IPROC) = 'DCONV_' IPROC=IPROC+1 - YWORK2(9,IPROC) = 'VTURB_' + YWORK2(NBUDGET_RI, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(9,IPROC) = 'HTURB_' + YWORK2(NBUDGET_RI, IPROC) = 'HTURB_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'ADV_' + YWORK2(NBUDGET_RI, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(9,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RI, IPROC) = 'NEGA_' IPROC= IPROC+1 IF (HCLOUD=='LIMA') THEN - YWORK2(9,IPROC) = 'CORR_' + YWORK2(NBUDGET_RI, IPROC) = 'CORR_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HIND_' + YWORK2(NBUDGET_RI, IPROC) = 'HIND_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HINC_' + YWORK2(NBUDGET_RI, IPROC) = 'HINC_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HONH_' + YWORK2(NBUDGET_RI, IPROC) = 'HONH_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HONC_' + YWORK2(NBUDGET_RI, IPROC) = 'HONC_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CNVI_' + YWORK2(NBUDGET_RI, IPROC) = 'CNVI_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CNVS_' + YWORK2(NBUDGET_RI, IPROC) = 'CNVS_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'AGGS_' + YWORK2(NBUDGET_RI, IPROC) = 'AGGS_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'IMLT_' + YWORK2(NBUDGET_RI, IPROC) = 'IMLT_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'BERFI_' + YWORK2(NBUDGET_RI, IPROC) = 'BERFI_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HMS_' + YWORK2(NBUDGET_RI, IPROC) = 'HMS_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_RI, IPROC) = 'CFRZ_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'WETG_' + YWORK2(NBUDGET_RI, IPROC) = 'WETG_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RI, IPROC) = 'DRYG_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HMG_' + YWORK2(NBUDGET_RI, IPROC) = 'HMG_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'WETH_' + YWORK2(NBUDGET_RI, IPROC) = 'WETH_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CEDS_' + YWORK2(NBUDGET_RI, IPROC) = 'CEDS_' ELSE - YWORK2(9,IPROC) = 'ADJU_' + YWORK2(NBUDGET_RI, IPROC) = 'ADJU_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HENU_' + YWORK2(NBUDGET_RI, IPROC) = 'HENU_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'HON_' + YWORK2(NBUDGET_RI, IPROC) = 'HON_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'AGGS_' + YWORK2(NBUDGET_RI, IPROC) = 'AGGS_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'AUTS_' + YWORK2(NBUDGET_RI, IPROC) = 'AUTS_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_RI, IPROC) = 'CFRZ_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'WETG_' + YWORK2(NBUDGET_RI, IPROC) = 'WETG_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RI, IPROC) = 'DRYG_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'WETH_' + YWORK2(NBUDGET_RI, IPROC) = 'WETH_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'DRYH_' + YWORK2(NBUDGET_RI, IPROC) = 'DRYH_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'IMLT_' + YWORK2(NBUDGET_RI, IPROC) = 'IMLT_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'BERFI_' + YWORK2(NBUDGET_RI, IPROC) = 'BERFI_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CORR_' + YWORK2(NBUDGET_RI, IPROC) = 'CORR_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' IPROC= IPROC+1 - YWORK2(9,IPROC) = 'CDEPI_' + YWORK2(NBUDGET_RI, IPROC) = 'CDEPI_' END IF ! - YEND_COMMENT(9) = 'BU_RRI' - NBUPROCNBR(9) = 3 + YEND_COMMENT(NBUDGET_RI) = 'BU_RRI' + NBUPROCNBR(NBUDGET_RI) = 3 +! + CBUACTION(NBUDGET_RI, 1) = 'IG' + CBUACTION(NBUDGET_RI, 2) = 'CC' + CBUACTION(NBUDGET_RI, 3) = 'ES' ! - CBUACTION(9,1) = 'IG' - CBUACTION(9,2) = 'CC' - CBUACTION(9,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(9,JJ) = ADJUSTL( ADJUSTR( YWORK2(9,JJ) ) // & - ADJUSTL( YEND_COMMENT(9) ) ) + CBUCOMMENT(NBUDGET_RI, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RI, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RI) ) ) END DO ! END IF @@ -2054,173 +2054,173 @@ END IF ! Budget of RRS IF (LBU_RRS) THEN IPROC=4 - IPROACTV(10,IPROC) = NASSERS + IPROACTV(NBUDGET_RS, IPROC) = NASSERS IPROC= IPROC+1 - IF( NMODEL>1 ) IPROACTV(10,IPROC) = NNESTRS + IF( NMODEL>1 ) IPROACTV(NBUDGET_RS, IPROC) = NNESTRS IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(10,IPROC) = NFRCRS + IF( LFORCING ) IPROACTV(NBUDGET_RS, IPROC) = NFRCRS IPROC= IPROC+1 - IF( ONUMDIFTH ) IPROACTV(10,IPROC) = NDIFRS + IF( ONUMDIFTH ) IPROACTV(NBUDGET_RS, IPROC) = NDIFRS IPROC=IPROC+1 IF ( OHORELAX_RS ) THEN - IPROACTV(10,IPROC) = NRELRS + IPROACTV(NBUDGET_RS, IPROC) = NRELRS ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(10,IPROC) = 4 + IPROACTV(NBUDGET_RS, IPROC) = 4 ELSE - IPROACTV(10,IPROC) = 3 + IPROACTV(NBUDGET_RS, IPROC) = 3 END IF END IF IPROC= IPROC+1 - IPROACTV(10,IPROC) = NADVRS + IPROACTV(NBUDGET_RS, IPROC) = NADVRS IPROC= IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(10,IPROC) = NNEGARS + IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RS, IPROC) = NNEGARS IPROC=IPROC+1 IF (HCLOUD=='LIMA') THEN - IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(10,IPROC) = NCORRRS + IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RS, IPROC) = NCORRRS IPROC=IPROC+1 - IF (OCOLD .AND. OSNOW) IPROACTV(10,IPROC) = NSEDIRS + IF (OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(10,IPROC) = NCNVIRS + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCNVIRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(10,IPROC) = NDEPSRS + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NDEPSRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(10,IPROC) = NCNVSRS + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCNVSRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(10,IPROC) = NAGGSRS + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NAGGSRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(10,IPROC) = NRIMRS + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NRIMRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(10,IPROC) = NHMSRS + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NHMSRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(10,IPROC) = NACCRS + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(NBUDGET_RS, IPROC) = NACCRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(10,IPROC) = NCMELRS + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCMELRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(10,IPROC) = NWETGRS + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NWETGRS IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(10,IPROC) = NDRYGRS + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NDRYGRS IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(10,IPROC) = NWETHRS + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RS, IPROC) = NWETHRS IPROC=IPROC+1 ELSE IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & - IPROACTV(10,IPROC) = NSEDIRS + IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NDEPSRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NDEPSRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NAGGSRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NAGGSRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NAUTSRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NAUTSRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NRIMRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NRIMRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NACCRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NACCRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NCMELRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NCMELRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NWETGRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NWETGRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(10,IPROC) = NDRYGRS + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NDRYGRS IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(10,IPROC) = NWETHRS + IF( HCLOUD == 'ICE4') IPROACTV(NBUDGET_RS, IPROC) = NWETHRS IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(10,IPROC) = NDRYHRS + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RS, IPROC) = NDRYHRS IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(10,IPROC) = NCORRRS + IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RS, IPROC) = NCORRRS IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & - IPROACTV(10,IPROC) = NSEDIRS + IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS IPROC=IPROC+1 END IF ! - YWORK2(10,1) = 'INIF_' - YWORK2(10,2) = 'ENDF_' - YWORK2(10,3) = 'AVEF_' + YWORK2(NBUDGET_RS, 1) = 'INIF_' + YWORK2(NBUDGET_RS, 2) = 'ENDF_' + YWORK2(NBUDGET_RS, 3) = 'AVEF_' IPROC= 4 - YWORK2(10,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RS, IPROC) = 'ASSE_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'NEST_' + YWORK2(NBUDGET_RS, IPROC) = 'NEST_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'FRC_' + YWORK2(NBUDGET_RS, IPROC) = 'FRC_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DIF_' + YWORK2(NBUDGET_RS, IPROC) = 'DIF_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'REL_' + YWORK2(NBUDGET_RS, IPROC) = 'REL_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ADV_' + YWORK2(NBUDGET_RS, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(10,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RS, IPROC) = 'NEGA_' IPROC= IPROC+1 IF (HCLOUD=='LIMA') THEN - YWORK2(10,IPROC) = 'CORR_' + YWORK2(NBUDGET_RS, IPROC) = 'CORR_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'CNVI_' + YWORK2(NBUDGET_RS, IPROC) = 'CNVI_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DEPS_' + YWORK2(NBUDGET_RS, IPROC) = 'DEPS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'CNVS_' + YWORK2(NBUDGET_RS, IPROC) = 'CNVS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'AGGS_' + YWORK2(NBUDGET_RS, IPROC) = 'AGGS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'RIM_' + YWORK2(NBUDGET_RS, IPROC) = 'RIM_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'HMS_' + YWORK2(NBUDGET_RS, IPROC) = 'HMS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ACC_' + YWORK2(NBUDGET_RS, IPROC) = 'ACC_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'CMEL_' + YWORK2(NBUDGET_RS, IPROC) = 'CMEL_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'WETG_' + YWORK2(NBUDGET_RS, IPROC) = 'WETG_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RS, IPROC) = 'DRYG_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'WETH_' + YWORK2(NBUDGET_RS, IPROC) = 'WETH_' IPROC= IPROC+1 ELSE - YWORK2(10,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DEPS_' + YWORK2(NBUDGET_RS, IPROC) = 'DEPS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'AGGS_' + YWORK2(NBUDGET_RS, IPROC) = 'AGGS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'AUTS_' + YWORK2(NBUDGET_RS, IPROC) = 'AUTS_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'RIM_' + YWORK2(NBUDGET_RS, IPROC) = 'RIM_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'ACC_' + YWORK2(NBUDGET_RS, IPROC) = 'ACC_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'CMEL_' + YWORK2(NBUDGET_RS, IPROC) = 'CMEL_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'WETG_' + YWORK2(NBUDGET_RS, IPROC) = 'WETG_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RS, IPROC) = 'DRYG_' IPROC= IPROC+1 - YWORK2(10,IPROC) = 'WETH_' + YWORK2(NBUDGET_RS, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(10,IPROC) = 'DRYH_' + YWORK2(NBUDGET_RS, IPROC) = 'DRYH_' IPROC=IPROC+1 - YWORK2(10,IPROC) = 'CORR_' + YWORK2(NBUDGET_RS, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(10,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' END IF ! - YEND_COMMENT(10) = 'BU_RRS' - NBUPROCNBR(10) = 3 + YEND_COMMENT(NBUDGET_RS) = 'BU_RRS' + NBUPROCNBR(NBUDGET_RS) = 3 +! + CBUACTION(NBUDGET_RS, 1) = 'IG' + CBUACTION(NBUDGET_RS, 2) = 'CC' + CBUACTION(NBUDGET_RS, 3) = 'ES' ! - CBUACTION(10,1) = 'IG' - CBUACTION(10,2) = 'CC' - CBUACTION(10,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(10,JJ) = ADJUSTL( ADJUSTR( YWORK2(10,JJ) ) // & - ADJUSTL( YEND_COMMENT(10) ) ) + CBUCOMMENT(NBUDGET_RS, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RS, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RS) ) ) END DO ! END IF @@ -2228,183 +2228,183 @@ END IF ! Budget of RRG IF (LBU_RRG) THEN IPROC=4 - IPROACTV(11,IPROC) = NASSERG + IPROACTV(NBUDGET_RG, IPROC) = NASSERG IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(11,IPROC) = NNESTRG + IF( NMODEL>1 ) IPROACTV(NBUDGET_RG, IPROC) = NNESTRG IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(11,IPROC) = NFRCRG + IF( LFORCING ) IPROACTV(NBUDGET_RG, IPROC) = NFRCRG IPROC=IPROC+1 - IF( ONUMDIFTH ) IPROACTV(11,IPROC) = NDIFRG + IF( ONUMDIFTH ) IPROACTV(NBUDGET_RG, IPROC) = NDIFRG IPROC=IPROC+1 IF ( OHORELAX_RG ) THEN - IPROACTV(11,IPROC) = NRELRG + IPROACTV(NBUDGET_RG, IPROC) = NRELRG ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(11,IPROC) = 4 + IPROACTV(NBUDGET_RG, IPROC) = 4 ELSE - IPROACTV(11,IPROC) = 3 + IPROACTV(NBUDGET_RG, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IPROACTV(11,IPROC) = NADVRG + IPROACTV(NBUDGET_RG, IPROC) = NADVRG IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(11,IPROC) = NNEGARG + IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RG, IPROC) = NNEGARG IPROC=IPROC+1 IF (HCLOUD=='LIMA') THEN - IF (OCOLD .AND. OSNOW) IPROACTV(11,IPROC) = NSEDIRG + IF (OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(11,IPROC) = NHONRRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(NBUDGET_RG, IPROC) = NHONRRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NDEPGRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NDEPGRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NRIMRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NRIMRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ORAIN .AND. OSNOW)) IPROACTV(11,IPROC) = NACCRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ORAIN .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NACCRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NCMELRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NCMELRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NCFRZRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NCFRZRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NWETGRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NWETGRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NDRYGRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NDRYGRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NHMGRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NHMGRG IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(11,IPROC) = NGMLTRG + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NGMLTRG IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(11,IPROC) = NWETHRG + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RG, IPROC) = NWETHRG IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(11,IPROC) = NCOHGRG + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RG, IPROC) = NCOHGRG IPROC=IPROC+1 ELSE IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & - IPROACTV(11,IPROC) = NSEDIRG + IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NSFRRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NSFRRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NDEPGRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NDEPGRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NRIMRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NRIMRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NACCRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NACCRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NCMELRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NCMELRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NCFRZRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NCFRZRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NWETGRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NWETGRG IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(11,IPROC) = NGHCVRG + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NGHCVRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NDRYGRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NDRYGRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(11,IPROC) = NGMLTRG + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NGMLTRG IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. .NOT. LRED ) IPROACTV(11,IPROC) = NWETHRG + IF( HCLOUD == 'ICE4' .AND. .NOT. LRED ) IPROACTV(NBUDGET_RG, IPROC) = NWETHRG IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED ) IPROACTV(11,IPROC) = NHGCVRG + IF( HCLOUD == 'ICE4' .AND. LRED ) IPROACTV(NBUDGET_RG, IPROC) = NHGCVRG IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(11,IPROC) = NDRYHRG + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NDRYHRG IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(11,IPROC) = NCORRRG + IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NCORRRG IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & - IPROACTV(11,IPROC) = NSEDIRG + IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG IPROC=IPROC+1 END IF ! - YWORK2(11,1) = 'INIF_' - YWORK2(11,2) = 'ENDF_' - YWORK2(11,3) = 'AVEF_' + YWORK2(NBUDGET_RG, 1) = 'INIF_' + YWORK2(NBUDGET_RG, 2) = 'ENDF_' + YWORK2(NBUDGET_RG, 3) = 'AVEF_' IPROC=4 - YWORK2(11,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RG, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'NEST_' + YWORK2(NBUDGET_RG, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'FRC_' + YWORK2(NBUDGET_RG, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DIF_' + YWORK2(NBUDGET_RG, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'REL_' + YWORK2(NBUDGET_RG, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ADV_' + YWORK2(NBUDGET_RG, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RG, IPROC) = 'NEGA_' IPROC=IPROC+1 IF (HCLOUD=='LIMA') THEN - YWORK2(11,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'HONR_' + YWORK2(NBUDGET_RG, IPROC) = 'HONR_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DEPG_' + YWORK2(NBUDGET_RG, IPROC) = 'DEPG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'RIM_' + YWORK2(NBUDGET_RG, IPROC) = 'RIM_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ACC_' + YWORK2(NBUDGET_RG, IPROC) = 'ACC_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CMEL_' + YWORK2(NBUDGET_RG, IPROC) = 'CMEL_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_RG, IPROC) = 'CFRZ_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'WETG_' + YWORK2(NBUDGET_RG, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RG, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'HMG_' + YWORK2(NBUDGET_RG, IPROC) = 'HMG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'GMLT_' + YWORK2(NBUDGET_RG, IPROC) = 'GMLT_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'WETH_' + YWORK2(NBUDGET_RG, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'COHG_' + YWORK2(NBUDGET_RG, IPROC) = 'COHG_' ELSE - YWORK2(11,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(11,IPROC)= 'SFR_' + YWORK2(NBUDGET_RG, IPROC)= 'SFR_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DEPG_' + YWORK2(NBUDGET_RG, IPROC) = 'DEPG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'RIM_' + YWORK2(NBUDGET_RG, IPROC) = 'RIM_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'ACC_' + YWORK2(NBUDGET_RG, IPROC) = 'ACC_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CMEL_' + YWORK2(NBUDGET_RG, IPROC) = 'CMEL_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CFRZ_' + YWORK2(NBUDGET_RG, IPROC) = 'CFRZ_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'WETG_' + YWORK2(NBUDGET_RG, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'GHCV_' + YWORK2(NBUDGET_RG, IPROC) = 'GHCV_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DRYG_' + YWORK2(NBUDGET_RG, IPROC) = 'DRYG_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'GMLT_' + YWORK2(NBUDGET_RG, IPROC) = 'GMLT_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'WETH_' + YWORK2(NBUDGET_RG, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'HGCV_' + YWORK2(NBUDGET_RG, IPROC) = 'HGCV_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'DRYH_' + YWORK2(NBUDGET_RG, IPROC) = 'DRYH_' IPROC=IPROC+1 - YWORK2(11,IPROC) = 'CORR_' + YWORK2(NBUDGET_RG, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(11,IPROC)= 'SEDI_' + YWORK2(NBUDGET_RG, IPROC)= 'SEDI_' END IF ! - YEND_COMMENT(11) = 'BU_RRG' - NBUPROCNBR(11) = 3 + YEND_COMMENT(NBUDGET_RG) = 'BU_RRG' + NBUPROCNBR(NBUDGET_RG) = 3 +! + CBUACTION(NBUDGET_RG, 1) = 'IG' + CBUACTION(NBUDGET_RG, 2) = 'CC' + CBUACTION(NBUDGET_RG, 3) = 'ES' ! - CBUACTION(11,1) = 'IG' - CBUACTION(11,2) = 'CC' - CBUACTION(11,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(11,JJ) = ADJUSTL( ADJUSTR( YWORK2(11,JJ) ) // & - ADJUSTL( YEND_COMMENT(11) ) ) + CBUCOMMENT(NBUDGET_RG, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RG, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RG) ) ) END DO ! END IF @@ -2412,139 +2412,139 @@ END IF ! Budget of RRH IF (LBU_RRH) THEN IPROC=4 - IPROACTV(12,IPROC) = NASSERH + IPROACTV(NBUDGET_RH, IPROC) = NASSERH IPROC=IPROC+1 IF( NMODEL>1 ) THEN - IPROACTV(12,IPROC) = NNESTRH + IPROACTV(NBUDGET_RH, IPROC) = NNESTRH ELSE - IPROACTV(12,IPROC) = 3 + IPROACTV(NBUDGET_RH, IPROC) = 3 END IF IPROC=IPROC+1 IF( LFORCING ) THEN - IPROACTV(12,IPROC) = NFRCRH + IPROACTV(NBUDGET_RH, IPROC) = NFRCRH ELSE - IPROACTV(12,IPROC) = 3 + IPROACTV(NBUDGET_RH, IPROC) = 3 END IF IPROC=IPROC+1 IF( ONUMDIFTH ) THEN - IPROACTV(12,IPROC) = NDIFRH + IPROACTV(NBUDGET_RH, IPROC) = NDIFRH ELSE - IPROACTV(12,IPROC) = 3 + IPROACTV(NBUDGET_RH, IPROC) = 3 END IF IPROC=IPROC+1 IF ( OHORELAX_RH ) THEN - IPROACTV(12,IPROC) = NRELRH + IPROACTV(NBUDGET_RH, IPROC) = NRELRH ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(12,IPROC) = 4 + IPROACTV(NBUDGET_RH, IPROC) = 4 ELSE - IPROACTV(12,IPROC) = 3 + IPROACTV(NBUDGET_RH, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IPROACTV(12,IPROC) = NADVRH + IPROACTV(NBUDGET_RH, IPROC) = NADVRH IPROC=IPROC+1 IF( HCLOUD /= 'NONE' ) THEN - IPROACTV(12,IPROC) = NNEGARH + IPROACTV(NBUDGET_RH, IPROC) = NNEGARH ELSE - IPROACTV(12,IPROC) = 3 + IPROACTV(NBUDGET_RH, IPROC) = 3 END IF IPROC=IPROC+1 ! IF (HCLOUD=='LIMA' .AND. OHAIL) THEN - IPROACTV(12,IPROC) = NSEDIRH + IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH IPROC=IPROC+1 - IPROACTV(12,IPROC) = NWETGRH + IPROACTV(NBUDGET_RH, IPROC) = NWETGRH IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) IPROACTV(12,IPROC) = NWETHRH + IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NWETHRH IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) IPROACTV(12,IPROC) = NCOHGRH + IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NCOHGRH IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) IPROACTV(12,IPROC) = NHMLTRH + IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NHMLTRH ELSE IF( HCLOUD == 'ICE4' .AND. LRED .AND. .NOT. LSEDIM_AFTER) & - IPROACTV(12,IPROC) = NSEDIRH + IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(12,IPROC) = NGHCVRH + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NGHCVRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. .NOT. LRED) IPROACTV(12,IPROC) = NWETGRH + IF( HCLOUD == 'ICE4' .AND. .NOT. LRED) IPROACTV(NBUDGET_RH, IPROC) = NWETGRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(12,IPROC) = NWETHRH + IF( HCLOUD == 'ICE4') IPROACTV(NBUDGET_RH, IPROC) = NWETHRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(12,IPROC) = NHGCVRH + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NHGCVRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(12,IPROC) = NDRYHRH + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NDRYHRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' ) IPROACTV(12,IPROC) = NHMLTRH + IF( HCLOUD == 'ICE4' ) IPROACTV(NBUDGET_RH, IPROC) = NHMLTRH IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(12,IPROC) = NCORRRH + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NCORRRH IPROC=IPROC+1 IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & - IPROACTV(12,IPROC) = NSEDIRH + IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH END IF ! - YWORK2(12,1) = 'INIF_' - YWORK2(12,2) = 'ENDF_' - YWORK2(12,3) = 'AVEF_' + YWORK2(NBUDGET_RH, 1) = 'INIF_' + YWORK2(NBUDGET_RH, 2) = 'ENDF_' + YWORK2(NBUDGET_RH, 3) = 'AVEF_' IPROC=4 - YWORK2(12,IPROC) = 'ASSE_' + YWORK2(NBUDGET_RH, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'NEST_' + YWORK2(NBUDGET_RH, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'FRC_' + YWORK2(NBUDGET_RH, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'DIF_' + YWORK2(NBUDGET_RH, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'REL_' + YWORK2(NBUDGET_RH, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'ADV_' + YWORK2(NBUDGET_RH, IPROC) = 'ADV_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'NEGA_' + YWORK2(NBUDGET_RH, IPROC) = 'NEGA_' IPROC=IPROC+1 IF (HCLOUD=='LIMA' .AND. OHAIL) THEN - YWORK2(12,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'WETG_' + YWORK2(NBUDGET_RH, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'WETH_' + YWORK2(NBUDGET_RH, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'COHG_' + YWORK2(NBUDGET_RH, IPROC) = 'COHG_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'HMLT_' + YWORK2(NBUDGET_RH, IPROC) = 'HMLT_' IPROC=IPROC+1 ELSE - YWORK2(12,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'GHCV_' + YWORK2(NBUDGET_RH, IPROC) = 'GHCV_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'WETG_' + YWORK2(NBUDGET_RH, IPROC) = 'WETG_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'WETH_' + YWORK2(NBUDGET_RH, IPROC) = 'WETH_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'HGCV_' + YWORK2(NBUDGET_RH, IPROC) = 'HGCV_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'DRYH_' + YWORK2(NBUDGET_RH, IPROC) = 'DRYH_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'HMLT_' + YWORK2(NBUDGET_RH, IPROC) = 'HMLT_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'CORR_' + YWORK2(NBUDGET_RH, IPROC) = 'CORR_' IPROC=IPROC+1 - YWORK2(12,IPROC) = 'SEDI_' + YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' END IF ! - YEND_COMMENT(12) = 'BU_RRH' - NBUPROCNBR(12) = 3 + YEND_COMMENT(NBUDGET_RH) = 'BU_RRH' + NBUPROCNBR(NBUDGET_RH) = 3 ! - CBUACTION(12,1) = 'IG' - CBUACTION(12,2) = 'CC' - CBUACTION(12,3) = 'ES' + CBUACTION(NBUDGET_RH, 1) = 'IG' + CBUACTION(NBUDGET_RH, 2) = 'CC' + CBUACTION(NBUDGET_RH, 3) = 'ES' ! DO JJ=1,3 - CBUCOMMENT(12,JJ) = ADJUSTL( ADJUSTR( YWORK2(12,JJ) ) // & - ADJUSTL( YEND_COMMENT(12) ) ) + CBUCOMMENT(NBUDGET_RH, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RH, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RH) ) ) END DO ! @@ -2555,91 +2555,91 @@ IF (LBU_RSV) THEN IBUPROCNBR_SV_MAX = 0 ! initialize the Max nunmber of processes for the SVs DO JSV = 1,KSV IPROC=4 - IPROACTV(12+JSV,IPROC) = NASSESV + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NASSESV IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(12+JSV,IPROC) = NNESTSV + IF( NMODEL>1 ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NNESTSV IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(12+JSV,IPROC) = NFRCSV + IF( LFORCING ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NFRCSV IPROC=IPROC+1 - IF ( ONUMDIFSV ) IPROACTV(12+JSV,IPROC) = NDIFSV + IF ( ONUMDIFSV ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NDIFSV IPROC=IPROC+1 IF ( OHORELAX_SV(JSV) ) THEN - IPROACTV(12+JSV,IPROC) = NRELSV + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NRELSV ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & OHORELAX_RC .OR. OHORELAX_RR .OR. OHORELAX_RI .OR. OHORELAX_RS .OR. & OHORELAX_RG .OR. OHORELAX_RH .OR. OHORELAX_TKE .OR. ANY(OHORELAX_SV)) THEN - IPROACTV(12+JSV,IPROC) = 4 + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = 4 ELSE - IPROACTV(12+JSV,IPROC) = 3 + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = 3 END IF END IF IPROC=IPROC+1 IF ( (HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') .AND. OCHTRANS ) & - IPROACTV(12+JSV,IPROC) = NDCONVSV + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NDCONVSV IPROC=IPROC+1 IF ( ODRAGTREE .AND. ODEPOTREE ) & - IPROACTV(12+JSV,IPROC) = NDEPOTRSV + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NDEPOTRSV IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(12+JSV,IPROC) = NVTURBSV + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NVTURBSV IPROC=IPROC+1 IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN - IPROACTV(12+JSV,IPROC) = NHTURBSV + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NHTURBSV ELSE IF ( HTURB /= 'NONE' ) THEN - IPROACTV(12+JSV,IPROC) = 4 + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = 4 ELSE - IPROACTV(12+JSV,IPROC) = 3 + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = 3 END IF END IF IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,IPROC)= NMAFLSV + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC)= NMAFLSV IPROC=IPROC+1 - IPROACTV(12+JSV,IPROC)= NADVSV + IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC)= NADVSV IPROC=IPROC+1 ! - YWORK2(12+JSV,1) = 'INIF_' - YWORK2(12+JSV,2) = 'ENDF_' - YWORK2(12+JSV,3) = 'AVEF_' + YWORK2(NBUDGET_SV1 - 1 + JSV, 1) = 'INIF_' + YWORK2(NBUDGET_SV1 - 1 + JSV, 2) = 'ENDF_' + YWORK2(NBUDGET_SV1 - 1 + JSV, 3) = 'AVEF_' IPROC=4 - YWORK2(12+JSV,IPROC) = 'ASSE_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'ASSE_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'NEST_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'NEST_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'FRC_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'FRC_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'DIF_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DIF_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'REL_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'REL_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'DCONV_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DCONV_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'DEPOTR' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DEPOTR' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'VTURB_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'VTURB_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'HTURB_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'HTURB_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'MAFL_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'MAFL_' IPROC=IPROC+1 - YWORK2(12+JSV,IPROC) = 'ADV_' + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'ADV_' ! ! complete with the budget of other processes ! ILAST_PROC_NBR = IPROC CALL BUDGET_OTHERPROC_SV ! - YEND_COMMENT(12+JSV) = 'BU_RSV' + YEND_COMMENT(NBUDGET_SV1 - 1 + JSV) = 'BU_RSV' IBUPROCNBR_SV_MAX = MAX( IBUPROCNBR_SV_MAX, ILAST_PROC_NBR ) - NBUPROCNBR(12+JSV) = 3 + NBUPROCNBR(NBUDGET_SV1 - 1 + JSV) = 3 +! + CBUACTION(NBUDGET_SV1 - 1 + JSV, 1) = 'IG' + CBUACTION(NBUDGET_SV1 - 1 + JSV, 2) = 'CC' + CBUACTION(NBUDGET_SV1 - 1 + JSV, 3) = 'ES' ! - CBUACTION(12+JSV,1) = 'IG' - CBUACTION(12+JSV,2) = 'CC' - CBUACTION(12+JSV,3) = 'ES' -! DO JJ=1,3 - CBUCOMMENT(12+JSV,JJ) = ADJUSTL( ADJUSTR( YWORK2(12+JSV,JJ) ) // & - ADJUSTL( YEND_COMMENT(12+JSV) ) ) + CBUCOMMENT(NBUDGET_SV1 - 1 + JSV, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_SV1 - 1 + JSV, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_SV1 - 1 + JSV) ) ) END DO END DO ! @@ -2892,18 +2892,18 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM ! SELECT CASE(JSV) ! CASE (1) ! ILAST_PROC_NBR = ILAST_PROC_NBR + 1 -! YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC1_' -! IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 +! YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'PROC1_' +! IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ! ILAST_PROC_NBR = ILAST_PROC_NBR + 1 -! YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC2_' -! IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 +! YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'PROC2_' +! IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ! CASE (2) ! ILAST_PROC_NBR = ILAST_PROC_NBR + 1 -! YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC3_' -! IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 +! YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'PROC3_' +! IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ! ILAST_PROC_NBR = ILAST_PROC_NBR + 1 -! YWORK2(12+JSV,ILAST_PROC_NBR)= 'PROC4_' -! IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 +! YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'PROC4_' +! IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ! END SELECT ! ELSEIF (JSV >= NSV_C2R2BEG .AND. JSV <= NSV_C2R2END) THEN @@ -2912,55 +2912,55 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM CASE (1) ! Concentration of activated nuclei IF (.NOT. LSUPSAT) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HENU_' END IF - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 CASE (2) ! Concentration of cloud droplets IF (.NOT. LSUPSAT) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HENU_' END IF - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SELF_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SELF_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'ACCR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (LSEDC) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (LDEPOC) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'DEPO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'DEPO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 CASE (3) ! Concentration of raindrops ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'AUTO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (HCLOUD /= 'KHKO') THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SCBU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SCBU_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'BRKU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'BRKU_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END SELECT ! ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN @@ -2968,210 +2968,210 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN IF (JSV == NSV_LIMA_NC) THEN ! Cloud droplets conc. ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'NEGA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OPTSPLIT .AND. OWARM .AND. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CORR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CORR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OSEDC) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (ODEPOC) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'DEPO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'DEPO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .AND. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'R2C1_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'R2C1_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HENU_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OCOLD .AND. ONUCL .AND. OPTSPLIT) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HINC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SELF_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SELF_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'AUTO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'ACCR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'REVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'REVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OCOLD .AND. ONUCL .AND. .NOT.OPTSPLIT) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HINC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HONC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'IMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'IMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'RIM_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CVRC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CVRC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (.NOT.OPTSPLIT .AND. OHAIL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'WETH_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'WETH_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ! ELSE IF (JSV == NSV_LIMA_NR) THEN ! Rain drops conc. ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'NEGA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OPTSPLIT .AND. OWARM .AND. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CORR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CORR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OWARM .AND. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .AND. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'R2C1_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'R2C1_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'AUTO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SCBU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SCBU_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'REVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'REVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. ORAIN) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'BRKU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'BRKU_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ORAIN .AND. ONUCL)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HONR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'ACC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CFRZ_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'GMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'GMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CVRC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CVRC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (.NOT.OPTSPLIT .AND. OHAIL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'WETH_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'WETH_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (.NOT.OPTSPLIT .AND. OHAIL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ! ELSE IF (JSV.GE.NSV_LIMA_CCN_FREE .AND. JSV.LT.(NSV_LIMA_CCN_FREE+NMOD_CCN)) THEN ! Free CCN conc. ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'NEGA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HENU_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HENU_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONH_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HONH_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OSCAV) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SCAV_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SCAV_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ! ELSE IF (JSV.GE.NSV_LIMA_CCN_ACTI .AND. JSV.LT.(NSV_LIMA_CCN_ACTI+NMOD_CCN)) THEN @@ -3180,109 +3180,109 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ELSE IF (JSV == NSV_LIMA_NI) THEN ! Pristine ice crystals conc. ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'NEGA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CORR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CORR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OSEDI) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OCOLD .AND. ONUCL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HIND_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HIND_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OCOLD .AND. ONUCL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HINC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HINC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONH_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HONH_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HONC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CNVI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CNVI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CNVS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CNVS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'AGGS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'AGGS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'IMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'IMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HMS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HMS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CFRZ_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HMG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HMG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF IF (.NOT.OPTSPLIT .AND. OHAIL) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'WETH_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'WETH_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 ! ELSE IF (JSV.GE.NSV_LIMA_IFN_FREE .AND. JSV.LT.(NSV_LIMA_IFN_FREE+NMOD_IFN)) THEN ! Free IFN conc. ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'NEGA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OCOLD .AND. ONUCL .AND. (.NOT.OMEYERS)) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HIND_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HIND_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 IF (OSCAV) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'SCAV_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'SCAV_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF ! ELSE IF (JSV.GE.NSV_LIMA_IFN_NUCL .AND. JSV.LT.(NSV_LIMA_IFN_NUCL+NMOD_IFN)) THEN @@ -3295,8 +3295,8 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ! Homogeneous freezing of CCN IF (OCOLD .AND. ONUCL .AND. OWARM .AND. OHHONI) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'HONH_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'HONH_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 1 END IF END IF @@ -3308,198 +3308,198 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN SELECT CASE(JSV-NSV_ELECBEG+1) CASE(1) ! volumetric charge of water vapor ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSQV + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPSQV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPGQV + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPGQV IF (LWARM) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'REVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NREVAQV + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'REVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NREVAQV END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPIQV + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPIQV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQV + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NEUT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNEUTQV CASE(2) ! volumetric charge of cloud droplets IF (LWARM) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTOQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'AUTO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NAUTOQC ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCRQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'ACCR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NACCRQC END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NRIMQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'RIM_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NRIMQC ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NWETGQC ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDRYGQC ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NIMLTQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'IMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NIMLTQC ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'BERFI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NBERFIQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'BERFI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NBERFIQC ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPIQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPIQC IF (LINDUCTIVE) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IND_' + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'IND_' END IF - IPROACTV(12+JSV,ILAST_PROC_NBR) = NINDQC + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NINDQC IF (LSEDIC) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NSEDIQC END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQC + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NEUT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNEUTQC CASE(3) ! volumetric charge of rain drops IF (LWARM) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTO_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTOQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'AUTO_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NAUTOQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACCR_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCRQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'ACCR_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NACCRQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'REVA_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NREVAQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'REVA_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NREVAQR END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'ACC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NACCQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCFRZQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'CFRZ_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NCFRZQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NWETGQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDRYGQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'GMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NGMLTQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'GMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NGMLTQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NSEDIQR ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQR + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NEUT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNEUTQR CASE(4) ! volumetric charge of ice crystals ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AGGS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAGGSQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'AGGS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NAGGSQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTSQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'AUTS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NAUTSQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCFRZQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'CFRZ_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NCFRZQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NWETGQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDRYGQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NIMLTQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'IMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NIMLTQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'BERFI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NBERFIQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'BERFI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NBERFIQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPIQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPIQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NIIS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNIISQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NIIS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNIISQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NSEDIQI ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQI + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NEUT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNEUTQI CASE(5) ! volumetric charge of snow ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPSQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AGGS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAGGSQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'AGGS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NAGGSQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'AUTS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NAUTSQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'AUTS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NAUTSQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NRIMQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'RIM_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NRIMQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'ACC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NACCQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CMEL_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCMELQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'CMEL_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NCMELQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NWETGQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDRYGQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NIIS_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNIISQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NIIS_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNIISQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQS + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NSEDIQS ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NEUT_' CASE(6) ! volumetric charge of graupel ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPGQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DEPG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDEPGQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'RIM_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NRIMQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'RIM_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NRIMQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'ACC_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NACCQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'ACC_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NACCQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CMEL_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCMELQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'CMEL_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NCMELQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'CFRZ_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NCFRZQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'CFRZ_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NCFRZQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'WETG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NWETGQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'WETG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NWETGQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'DRYG_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRYGQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'DRYG_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NDRYGQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'GMLT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NGMLTQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'GMLT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NGMLTQG IF (LINDUCTIVE) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'IND_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NINDQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'IND_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NINDQG END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'SEDI_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NSEDIQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'SEDI_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NSEDIQG ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR) = 'NEUT_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEUTQG + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = 'NEUT_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NNEUTQG CASE(7) ! volumetric charge of hail ! add budget for hail volumetric charge END SELECT @@ -3507,21 +3507,21 @@ 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 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'CHEM_' + IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NCHEMSV ! other processes ILAST_PROC_NBR = ILAST_PROC_NBR + 1 - YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_' - IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'ADV_' + IPROACTV(NBUDGET_SV1 - 1 + 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 + YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'NEGA_' + IPROACTV(NBUDGET_SV1 - 1 + 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 + ! YWORK2(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR)= 'ADV_' + ! IPROACTV(NBUDGET_SV1 - 1 + JSV, ILAST_PROC_NBR) = NADVSV END IF ! END SUBROUTINE BUDGET_OTHERPROC_SV @@ -3529,4 +3529,3 @@ ELSE IF (JSV >= NSV_CHEMBEG .AND. JSV <= NSV_CHEMEND) THEN !------------------------------------------------------------------------------- ! END SUBROUTINE INI_BUDGET - diff --git a/src/MNH/initial_guess.f90 b/src/MNH/initial_guess.f90 index f7d74b6474576d655d59f7a7d6a9d30d128a749a..fe169bfcd27e9c339e4d36952cb1104ffeda269d 100644 --- a/src/MNH/initial_guess.f90 +++ b/src/MNH/initial_guess.f90 @@ -240,63 +240,63 @@ IF (LBU_ENABLE) THEN NBUPROCCTR(:)=1 NBUCTR_ACTV(:)=1 ! - IF (LBUDGET_U) CALL BUDGET (PRUS,1,'INIF_BU_RU') - IF (LBUDGET_V) CALL BUDGET (PRVS,2,'INIF_BU_RV') - IF (LBUDGET_W) CALL BUDGET (PRWS,3,'INIF_BU_RW') - IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'INIF_BU_RTH') - IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'INIF_BU_RTKE') - IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6,'INIF_BU_RRV') - IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7,'INIF_BU_RRC') - IF (LBUDGET_RR) CALL BUDGET (PRRS(:,:,:,3),8,'INIF_BU_RRR') - IF (LBUDGET_RI) CALL BUDGET (PRRS(:,:,:,4),9,'INIF_BU_RRI') - IF (LBUDGET_RS) CALL BUDGET (PRRS(:,:,:,5),10,'INIF_BU_RRS') - IF (LBUDGET_RG) CALL BUDGET (PRRS(:,:,:,6),11,'INIF_BU_RRG') - IF (LBUDGET_RH) CALL BUDGET (PRRS(:,:,:,7),12,'INIF_BU_RRH') + IF (LBUDGET_U) CALL BUDGET( PRUS, NBUDGET_U, 'INIF_BU_RU' ) + IF (LBUDGET_V) CALL BUDGET( PRVS, NBUDGET_V, 'INIF_BU_RV' ) + IF (LBUDGET_W) CALL BUDGET( PRWS, NBUDGET_W, 'INIF_BU_RW' ) + IF (LBUDGET_TH) CALL BUDGET( PRTHS, NBUDGET_TH, 'INIF_BU_RTH' ) + IF (LBUDGET_TKE) CALL BUDGET( PRTKES, NBUDGET_TKE, 'INIF_BU_RTKE' ) + IF (LBUDGET_RV) CALL BUDGET( PRRS(:,:,:,1), NBUDGET_RV, 'INIF_BU_RRV' ) + IF (LBUDGET_RC) CALL BUDGET( PRRS(:,:,:,2), NBUDGET_RC, 'INIF_BU_RRC' ) + IF (LBUDGET_RR) CALL BUDGET( PRRS(:,:,:,3), NBUDGET_RR, 'INIF_BU_RRR' ) + IF (LBUDGET_RI) CALL BUDGET( PRRS(:,:,:,4), NBUDGET_RI, 'INIF_BU_RRI' ) + IF (LBUDGET_RS) CALL BUDGET( PRRS(:,:,:,5), NBUDGET_RS, 'INIF_BU_RRS' ) + IF (LBUDGET_RG) CALL BUDGET( PRRS(:,:,:,6), NBUDGET_RG, 'INIF_BU_RRG' ) + IF (LBUDGET_RH) CALL BUDGET( PRRS(:,:,:,7), NBUDGET_RH, 'INIF_BU_RRH' ) DO JSV=1,KSV - IF (LBUDGET_SV) CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'INIF_BU_RSV') + IF (LBUDGET_SV) CALL BUDGET( PRSVS(:,:,:,JSV), JSV + NBUDGET_SV1 - 1, 'INIF_BU_RSV' ) END DO ! NBUPROCCTR(:)=2 NBUCTR_ACTV(:)=2 ! - IF (LBUDGET_U) CALL BUDGET (PRUS,1,'ENDF_BU_RU') - IF (LBUDGET_V) CALL BUDGET (PRVS,2,'ENDF_BU_RV') - IF (LBUDGET_W) CALL BUDGET (PRWS,3,'ENDF_BU_RW') - IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ENDF_BU_RTH') - IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ENDF_BU_RTKE') - IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6,'ENDF_BU_RRV') - IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7,'ENDF_BU_RRC') - IF (LBUDGET_RR) CALL BUDGET (PRRS(:,:,:,3),8,'ENDF_BU_RRR') - IF (LBUDGET_RI) CALL BUDGET (PRRS(:,:,:,4),9,'ENDF_BU_RRI') - IF (LBUDGET_RS) CALL BUDGET (PRRS(:,:,:,5),10,'ENDF_BU_RRS') - IF (LBUDGET_RG) CALL BUDGET (PRRS(:,:,:,6),11,'ENDF_BU_RRG') - IF (LBUDGET_RH) CALL BUDGET (PRRS(:,:,:,7),12,'ENDF_BU_RRH') + IF (LBUDGET_U) CALL BUDGET( PRUS, NBUDGET_U, 'ENDF_BU_RU' ) + IF (LBUDGET_V) CALL BUDGET( PRVS, NBUDGET_V, 'ENDF_BU_RV' ) + IF (LBUDGET_W) CALL BUDGET( PRWS, NBUDGET_W, 'ENDF_BU_RW' ) + IF (LBUDGET_TH) CALL BUDGET( PRTHS, NBUDGET_TH, 'ENDF_BU_RTH' ) + IF (LBUDGET_TKE) CALL BUDGET( PRTKES, NBUDGET_TKE, 'ENDF_BU_RTKE' ) + IF (LBUDGET_RV) CALL BUDGET( PRRS(:,:,:,1), NBUDGET_RV, 'ENDF_BU_RRV' ) + IF (LBUDGET_RC) CALL BUDGET( PRRS(:,:,:,2), NBUDGET_RC, 'ENDF_BU_RRC' ) + IF (LBUDGET_RR) CALL BUDGET( PRRS(:,:,:,3), NBUDGET_RR, 'ENDF_BU_RRR' ) + IF (LBUDGET_RI) CALL BUDGET( PRRS(:,:,:,4), NBUDGET_RI, 'ENDF_BU_RRI' ) + IF (LBUDGET_RS) CALL BUDGET( PRRS(:,:,:,5), NBUDGET_RS, 'ENDF_BU_RRS' ) + IF (LBUDGET_RG) CALL BUDGET( PRRS(:,:,:,6), NBUDGET_RG, 'ENDF_BU_RRG' ) + IF (LBUDGET_RH) CALL BUDGET( PRRS(:,:,:,7), NBUDGET_RH, 'ENDF_BU_RRH' ) DO JSV=1,KSV - IF (LBUDGET_SV) CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ENDF_BU_RSV') + IF (LBUDGET_SV) CALL BUDGET( PRSVS(:,:,:,JSV), JSV + NBUDGET_SV1 - 1, 'ENDF_BU_RSV' ) END DO ! LBU_BEG=.FALSE. - END IF + END IF ! NBUPROCCTR(:)=4 NBUCTR_ACTV(:)=4 ! ! stores the Asselin source term ! - IF (LBUDGET_U) CALL BUDGET (PRUS,1,'ASSE_BU_RU') - IF (LBUDGET_V) CALL BUDGET (PRVS,2,'ASSE_BU_RV') - IF (LBUDGET_W) CALL BUDGET (PRWS,3,'ASSE_BU_RW') - IF (LBUDGET_TH) CALL BUDGET (PRTHS,4,'ASSE_BU_RTH') - IF (LBUDGET_TKE) CALL BUDGET (PRTKES,5,'ASSE_BU_RTKE') - IF (LBUDGET_RV) CALL BUDGET (PRRS(:,:,:,1),6,'ASSE_BU_RRV') - IF (LBUDGET_RC) CALL BUDGET (PRRS(:,:,:,2),7,'ASSE_BU_RRC') - IF (LBUDGET_RR) CALL BUDGET (PRRS(:,:,:,3),8,'ASSE_BU_RRR') - IF (LBUDGET_RI) CALL BUDGET (PRRS(:,:,:,4),9,'ASSE_BU_RRI') - IF (LBUDGET_RS) CALL BUDGET (PRRS(:,:,:,5),10,'ASSE_BU_RRS') - IF (LBUDGET_RG) CALL BUDGET (PRRS(:,:,:,6),11,'ASSE_BU_RRG') - IF (LBUDGET_RH) CALL BUDGET (PRRS(:,:,:,7),12,'ASSE_BU_RRH') + IF (LBUDGET_U) CALL BUDGET( PRUS, NBUDGET_U, 'ASSE_BU_RU' ) + IF (LBUDGET_V) CALL BUDGET( PRVS, NBUDGET_V, 'ASSE_BU_RV' ) + IF (LBUDGET_W) CALL BUDGET( PRWS, NBUDGET_W, 'ASSE_BU_RW' ) + IF (LBUDGET_TH) CALL BUDGET( PRTHS, NBUDGET_TH, 'ASSE_BU_RTH' ) + IF (LBUDGET_TKE) CALL BUDGET( PRTKES, NBUDGET_TKE, 'ASSE_BU_RTKE' ) + IF (LBUDGET_RV) CALL BUDGET( PRRS(:,:,:,1), NBUDGET_RV, 'ASSE_BU_RRV' ) + IF (LBUDGET_RC) CALL BUDGET( PRRS(:,:,:,2), NBUDGET_RC, 'ASSE_BU_RRC' ) + IF (LBUDGET_RR) CALL BUDGET( PRRS(:,:,:,3), NBUDGET_RR, 'ASSE_BU_RRR' ) + IF (LBUDGET_RI) CALL BUDGET( PRRS(:,:,:,4), NBUDGET_RI, 'ASSE_BU_RRI' ) + IF (LBUDGET_RS) CALL BUDGET( PRRS(:,:,:,5), NBUDGET_RS, 'ASSE_BU_RRS' ) + IF (LBUDGET_RG) CALL BUDGET( PRRS(:,:,:,6), NBUDGET_RG, 'ASSE_BU_RRG' ) + IF (LBUDGET_RH) CALL BUDGET( PRRS(:,:,:,7), NBUDGET_RH, 'ASSE_BU_RRH' ) DO JSV=1,KSV - IF (LBUDGET_SV) CALL BUDGET (PRSVS(:,:,:,JSV),JSV+12,'ASSE_BU_RSV') + IF (LBUDGET_SV) CALL BUDGET( PRSVS(:,:,:,JSV), JSV + NBUDGET_SV1 - 1, 'ASSE_BU_RSV' ) END DO END IF ! diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90 index 14387e9f096dfadc2fa95b186c91d1bf6e299cfe..85fd9295bea449b2a57a47dfe866e77572cdab38 100644 --- a/src/MNH/modd_budget.f90 +++ b/src/MNH/modd_budget.f90 @@ -1,7 +1,8 @@ -!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1995-2019 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. +!----------------------------------------------------------------- ! ################## MODULE MODD_BUDGET ! ################## @@ -10,8 +11,8 @@ !! !! PURPOSE !! ------- -! The purpose of this declarative module is to specify the budget -! variables. +! The purpose of this declarative module is to specify the budget +! variables ! !! !!** IMPLICIT ARGUMENTS @@ -41,15 +42,32 @@ !! C. Barthe /16 add budget terms for LIMA !! C. LAc 10/2016 add droplets deposition !! S. Riette 11/2016 New budgets for ICE3/ICE4 -!! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 19/07/2019: parameters to identify budget number !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS ! ------------ USE MODD_PARAMETERS, ONLY :JPBUMAX, JPBUPROMAX, NMNHNAMELGTMAX -! -IMPLICIT NONE -! + +implicit none + +public + +integer, parameter :: NBUDGET_U = 1 ! Reference number for budget of RhoJu and/or LES budgets with u +integer, parameter :: NBUDGET_V = 2 ! Reference number for budget of RhoJv and/or LES budgets with u +integer, parameter :: NBUDGET_W = 3 ! Reference number for budget of RhoJw and/or LES budgets with u +integer, parameter :: NBUDGET_TH = 4 ! Reference number for budget of RhoJTh and/or LES budgets with th +integer, parameter :: NBUDGET_TKE = 5 ! Reference number for budget of RhoJTke and/or LES budgets with Tke +integer, parameter :: NBUDGET_RV = 6 ! Reference number for budget of RhoJrv and/or LES budgets with rv +integer, parameter :: NBUDGET_RC = 7 ! Reference number for budget of RhoJrc and/or LES budgets with rc +integer, parameter :: NBUDGET_RR = 8 ! Reference number for budget of RhoJrr and/or LES budgets with rr +integer, parameter :: NBUDGET_RI = 9 ! Reference number for budget of RhoJri and/or LES budgets with ri +integer, parameter :: NBUDGET_RS = 10 ! Reference number for budget of RhoJrs and/or LES budgets with rs +integer, parameter :: NBUDGET_RG = 11 ! Reference number for budget of RhoJrg and/or LES budgets with rg +integer, parameter :: NBUDGET_RH = 12 ! Reference number for budget of RhoJrh and/or LES budgets with rh +integer, parameter :: NBUDGET_SV1 = 13 ! Reference number for 1st budget of RhoJsv and/or LES budgets with sv + ! General variables LOGICAL, SAVE :: LBU_ENABLE !