diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90 index 2a4174b6d80f24d837a011cc4edce64f42f3827f..e41784b011e08b4c6c14d8c602d4e0d7e6679e4e 100644 --- a/src/MNH/ini_budget.f90 +++ b/src/MNH/ini_budget.f90 @@ -416,30 +416,51 @@ YEND_COMMENT(:) = ' ' ! ! Budget of RU IF (LBU_RU) THEN + YWORK2(NBUDGET_U, 1) = 'INIF_' + + YWORK2(NBUDGET_U, 2) = 'ENDF_' + + YWORK2(NBUDGET_U, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_U, IPROC) = 'ASSE_' IPROACTV(NBUDGET_U, IPROC) = NASSEU + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_U, IPROC) = NNESTU + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_U, IPROC) = NFRCU + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'NUD_' IF( ONUDGING ) IPROACTV(NBUDGET_U, IPROC) = NNUDU + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'CURV_' IF ( .NOT. LCARTESIAN ) THEN IPROACTV(NBUDGET_U, IPROC) = NCURVU ELSE IPROACTV(NBUDGET_U, IPROC) = 4 END IF + IPROC=IPROC+1 - IF ( LCORIO ) THEN + YWORK2(NBUDGET_U, IPROC) = 'COR_' + IF ( LCORIO ) THEN IPROACTV(NBUDGET_U, IPROC) = NCORU ELSE IPROACTV(NBUDGET_U, IPROC) = 4 END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'DIF_' IF ( ONUMDIFU ) IPROACTV(NBUDGET_U, IPROC) = NDIFU + IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN + YWORK2(NBUDGET_U, IPROC) = 'REL_' + IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN IPROACTV(NBUDGET_U, IPROC) = NRELU ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & @@ -450,11 +471,17 @@ IF (LBU_RU) THEN IPROACTV(NBUDGET_U, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'DRAG_' IF( ODRAGTREE ) IPROACTV(NBUDGET_U, IPROC) = NDRAGU + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_U, IPROC) = NVTURBU + IPROC=IPROC+1 + YWORK2(NBUDGET_U, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_U, IPROC) = NHTURBU ELSE @@ -464,47 +491,21 @@ IF (LBU_RU) THEN IPROACTV(NBUDGET_U, IPROC) = 3 END IF END IF - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_U, IPROC) = NMAFLU - IPROC=IPROC+1 - IPROACTV(NBUDGET_U, IPROC) = NADVU - IPROC=IPROC+1 - IPROACTV(NBUDGET_U, IPROC) = NPRESU -! - YWORK2(NBUDGET_U, 1) = 'INIF_' - YWORK2(NBUDGET_U, 2) = 'ENDF_' - YWORK2(NBUDGET_U, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_U, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'CURV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'COR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'DRAG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_U, IPROC) = 'HTURB_' + IPROC=IPROC+1 YWORK2(NBUDGET_U, IPROC) = 'MAFL_' + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_U, IPROC) = NMAFLU + IPROC=IPROC+1 YWORK2(NBUDGET_U, IPROC) = 'ADV_' + IPROACTV(NBUDGET_U, IPROC) = NADVU + IPROC=IPROC+1 YWORK2(NBUDGET_U, IPROC) = 'PRES_' + IPROACTV(NBUDGET_U, IPROC) = NPRESU ! YEND_COMMENT(NBUDGET_U) = 'BU_RU' - NBUPROCNBR(NBUDGET_U) = 3 + NBUPROCNBR(NBUDGET_U) = 3 !Initial number of budgets, will be increazed later if necessary ! CBUACTION(NBUDGET_U, 1) = 'IG' CBUACTION(NBUDGET_U, 2) = 'CC' @@ -519,30 +520,51 @@ END IF ! ! Budget of RV IF (LBU_RV) THEN + YWORK2(NBUDGET_V, 1) = 'INIF_' + + YWORK2(NBUDGET_V, 2) = 'ENDF_' + + YWORK2(NBUDGET_V, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_V, IPROC) = 'ASSE_' IPROACTV(NBUDGET_V, IPROC) = NASSEV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_V, IPROC) = NNESTV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_V, IPROC) = NFRCV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'NUD_' IF( ONUDGING ) IPROACTV(NBUDGET_V, IPROC) = NNUDV + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'CURV_' IF ( .NOT. LCARTESIAN ) THEN IPROACTV(NBUDGET_V, IPROC) = NCURVV ELSE IPROACTV(NBUDGET_V, IPROC) = 4 END IF - IPROC=IPROC+1 - IF ( LCORIO ) THEN + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'COR_' + IF ( LCORIO ) THEN IPROACTV(NBUDGET_V, IPROC) = NCORV ELSE IPROACTV(NBUDGET_V, IPROC) = 4 END IF - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'DIF_' IF ( ONUMDIFU ) IPROACTV(NBUDGET_V, IPROC) = NDIFV - IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'REL_' + IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN IPROACTV(NBUDGET_V, IPROC) = NRELV ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & @@ -553,11 +575,17 @@ IF (LBU_RV) THEN IPROACTV(NBUDGET_V, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'DRAG_' IF( ODRAGTREE ) IPROACTV(NBUDGET_V, IPROC) = NDRAGV + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_V, IPROC) = NVTURBV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_V, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_V, IPROC) = NHTURBV ELSE @@ -567,45 +595,19 @@ IF (LBU_RV) THEN IPROACTV(NBUDGET_V, IPROC) = 3 END IF END IF - IPROC=IPROC+1 - IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_V, IPROC) = NMAFLV - IPROC=IPROC+1 - IPROACTV(NBUDGET_V, IPROC) = NADVV - IPROC=IPROC+1 - IPROACTV(NBUDGET_V, IPROC) = NPRESV -! - YWORK2(NBUDGET_V, 1) = 'INIF_' - YWORK2(NBUDGET_V, 2) = 'ENDF_' - YWORK2(NBUDGET_V, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_V, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'CURV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'COR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'REL_' + IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'DRAG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_V, IPROC) = 'HTURB_' - IPROC=IPROC+1 YWORK2(NBUDGET_V, IPROC) = 'MAFL_' - IPROC=IPROC+1 + IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_V, IPROC) = NMAFLV + + IPROC=IPROC+1 YWORK2(NBUDGET_V, IPROC) = 'ADV_' - IPROC=IPROC+1 + IPROACTV(NBUDGET_V, IPROC) = NADVV + + IPROC=IPROC+1 YWORK2(NBUDGET_V, IPROC) = 'PRES_' -! + IPROACTV(NBUDGET_V, IPROC) = NPRESV + YEND_COMMENT(NBUDGET_V) = 'BU_RV' NBUPROCNBR(NBUDGET_V) = 3 ! @@ -622,30 +624,51 @@ END IF ! ! Budget of RW IF (LBU_RW) THEN + YWORK2(NBUDGET_W, 1) = 'INIF_' + + YWORK2(NBUDGET_W, 2) = 'ENDF_' + + YWORK2(NBUDGET_W, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_W, IPROC) = 'ASSE_' IPROACTV(NBUDGET_W, IPROC) = NASSEW + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_W, IPROC) = NNESTW + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_W, IPROC) = NFRCW + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'NUD_' IF( ONUDGING ) IPROACTV(NBUDGET_W, IPROC) = NNUDW + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'CURV_' IF ( .NOT. LCARTESIAN ) THEN IPROACTV(NBUDGET_W, IPROC) = NCURVW ELSE IPROACTV(NBUDGET_W, IPROC) = 4 END IF + IPROC=IPROC+1 - IF ( LCORIO ) THEN + YWORK2(NBUDGET_W, IPROC) = 'COR_' + IF ( LCORIO ) THEN IPROACTV(NBUDGET_W, IPROC) = NCORW ELSE IPROACTV(NBUDGET_W, IPROC) = 4 END IF - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'DIF_' IF ( ONUMDIFU ) IPROACTV(NBUDGET_W, IPROC) = NDIFW + IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN + YWORK2(NBUDGET_W, IPROC) = 'REL_' + IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN IPROACTV(NBUDGET_W, IPROC) = NRELW ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & @@ -656,9 +679,13 @@ IF (LBU_RW) THEN IPROACTV(NBUDGET_W, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_W, IPROC) = NVTURBW + IPROC=IPROC+1 + YWORK2(NBUDGET_W, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_W, IPROC) = NHTURBW ELSE @@ -668,43 +695,19 @@ IF (LBU_RW) THEN IPROACTV(NBUDGET_W, IPROC) = 3 END IF END IF - IPROC=IPROC+1 - IPROACTV(NBUDGET_W, IPROC) = NGRAVW - IPROC=IPROC+1 - IPROACTV(NBUDGET_W, IPROC) = NADVW - IPROC=IPROC+1 - IPROACTV(NBUDGET_W, IPROC) = NPRESW -! - YWORK2(NBUDGET_W, 1) = 'INIF_' - YWORK2(NBUDGET_W, 2) = 'ENDF_' - YWORK2(NBUDGET_W, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_W, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'CURV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'COR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_W, IPROC) = 'HTURB_' + IPROC=IPROC+1 YWORK2(NBUDGET_W, IPROC) = 'GRAV_' + IPROACTV(NBUDGET_W, IPROC) = NGRAVW + IPROC=IPROC+1 YWORK2(NBUDGET_W, IPROC) = 'ADV_' + IPROACTV(NBUDGET_W, IPROC) = NADVW + IPROC=IPROC+1 YWORK2(NBUDGET_W, IPROC) = 'PRES_' -! + IPROACTV(NBUDGET_W, IPROC) = NPRESW + YEND_COMMENT(NBUDGET_W) = 'BU_RW' NBUPROCNBR(NBUDGET_W) = 3 ! @@ -721,28 +724,51 @@ END IF ! ! Budget of RTH IF (LBU_RTH) THEN + YWORK2(NBUDGET_TH, 1) = 'INIF_' + + YWORK2(NBUDGET_TH, 2) = 'ENDF_' + + YWORK2(NBUDGET_TH, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_TH, IPROC) = 'ASSE_' IPROACTV(NBUDGET_TH, IPROC) = NASSETH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_TH, IPROC) = NNESTTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_TH, IPROC) = NFRCTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = '2DADV_' IF( L2D_ADV_FRC ) IPROACTV(NBUDGET_TH, IPROC) = N2DADVTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = '2DREL_' IF( L2D_REL_FRC ) IPROACTV(NBUDGET_TH, IPROC) = N2DRELTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'NUD_' IF( ONUDGING ) IPROACTV(NBUDGET_TH, IPROC) = NNUDTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'PREF_' IF ( KRR > 0 ) THEN IF(.NOT.L1D) IPROACTV(NBUDGET_TH, IPROC) = NPREFTH ELSE IPROACTV(NBUDGET_TH, IPROC) = 4 END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DIF_' IF ( ONUMDIFTH ) IPROACTV(NBUDGET_TH, IPROC) = NDIFTH + IPROC=IPROC+1 - IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN + YWORK2(NBUDGET_TH, IPROC) = 'REL_' + IF ( OHORELAX_UVWTH .OR. OVE_RELAX ) THEN IPROACTV(NBUDGET_TH, IPROC) = NRELTH ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & @@ -753,13 +779,21 @@ IF (LBU_RTH) THEN IPROACTV(NBUDGET_TH, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'RAD_' IF ( HRAD /= 'NONE' ) IPROACTV(NBUDGET_TH, IPROC) = NRADTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DCONV_' IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_TH, IPROC) = NDCONVTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_TH, IPROC) = NVTURBTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_TH, IPROC) = NHTURBTH ELSE @@ -769,261 +803,222 @@ IF (LBU_RTH) THEN IPROACTV(NBUDGET_TH, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DISSH_' IF (HTURB /= 'NONE') IPROACTV(NBUDGET_TH, IPROC) = NDISSHTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'NETUR_' IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))) & - IPROACTV(NBUDGET_TH, IPROC) = NNETURTH + IPROACTV(NBUDGET_TH, IPROC) = NNETURTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'MAFL_' IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_TH, IPROC) = NMAFLTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'ADV_' IPROACTV(NBUDGET_TH, IPROC) = NADVTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'NEADV_' IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) IPROACTV(NBUDGET_TH, IPROC) = NNEADVTH + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'NEGA_' IF (HCLOUD /= 'NONE' .AND. HCLOUD /= 'KHKO' .AND. HCLOUD /= 'C2R2') & IPROACTV(NBUDGET_TH, IPROC) = NNEGATH - IPROC=IPROC+1 + IF (HCLOUD == 'LIMA') THEN - IF (OPTSPLIT) IPROACTV(NBUDGET_TH, IPROC) = NSEDITH - IPROC=IPROC+1 - 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(NBUDGET_TH, IPROC) = NREVATH - IPROC=IPROC+1 - END IF - IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHINDTH - IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHINCTH - IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_TH, IPROC) = NHONHTH - IPROC=IPROC+1 - IF (OPTSPLIT) THEN - IPROACTV(NBUDGET_TH, IPROC) = NREVATH - IPROC=IPROC+1 - END IF - 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(NBUDGET_TH, IPROC) = NHONRTH - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDEPSTH - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDEPGTH - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_TH, IPROC) = NIMLTTH - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_TH, IPROC) = NBERFITH - IPROC=IPROC+1 - 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(NBUDGET_TH, IPROC) = NACCTH - IPROC=IPROC+1 - 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(NBUDGET_TH, IPROC) = NWETGTH - IPROC=IPROC+1 - 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(NBUDGET_TH, IPROC) = NGMLTTH - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_TH, IPROC) = NWETHTH - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_TH, IPROC) = NHMLTTH - IPROC=IPROC+1 - IPROACTV(NBUDGET_TH, IPROC) = NCEDSTH - IPROC=IPROC+1 - ELSE - 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(NBUDGET_TH, IPROC) = NHENUTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NHONTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NSFRTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDEPSTH - IPROC=IPROC+1 - 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(NBUDGET_TH, IPROC) = NREVATH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NRIMTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NACCTH + YWORK2(NBUDGET_TH, IPROC) = 'SEDI_' + IF (OPTSPLIT) IPROACTV(NBUDGET_TH, IPROC) = NSEDITH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HENU_' + IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_TH, IPROC) = NHENUTH + + IF (.NOT.OPTSPLIT) THEN IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NCFRZTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NWETGTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDRYGTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NGMLTTH - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_TH, IPROC) = NWETHTH - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4'.AND. LRED) IPROACTV(NBUDGET_TH, IPROC) = NDRYHTH - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_TH, IPROC) = NHMLTTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NIMLTTH - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NBERFITH - IPROC=IPROC+1 - 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(NBUDGET_TH, IPROC) = NCDEPITH - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. HCLOUD(1:3) == 'KES' .OR. & - HCLOUD == 'REVE') IPROACTV(NBUDGET_TH, IPROC) = NCONDTH + YWORK2(NBUDGET_TH, IPROC) = 'REVA_' + IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_TH, IPROC) = NREVATH + END IF + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HIND_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHINDTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HINC_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHINCTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HONH_' + IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_TH, IPROC) = NHONHTH + + IF (OPTSPLIT) THEN IPROC=IPROC+1 - IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))& - IPROACTV(NBUDGET_TH, IPROC) = NNECONTH + YWORK2(NBUDGET_TH, IPROC) = 'REVA_' + IPROACTV(NBUDGET_TH, IPROC) = NREVATH END IF -! - YWORK2(NBUDGET_TH, 1) = 'INIF_' - YWORK2(NBUDGET_TH, 2) = 'ENDF_' - YWORK2(NBUDGET_TH, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_TH, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = '2DADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = '2DREL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'PREF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'RAD_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DISSH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'NETUR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'NEADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'NEGA_' - IPROC=IPROC+1 - IF (HCLOUD == 'LIMA') THEN - YWORK2(NBUDGET_TH, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HENU_' - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) THEN - YWORK2(NBUDGET_TH, IPROC) = 'REVA_' - IPROC=IPROC+1 - END IF - YWORK2(NBUDGET_TH, IPROC) = 'HIND_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HINC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HONH_' - IPROC=IPROC+1 - IF (OPTSPLIT) THEN - YWORK2(NBUDGET_TH, IPROC) = 'REVA_' - IPROC=IPROC+1 - END IF - YWORK2(NBUDGET_TH, IPROC) = 'HONC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HONR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DEPS_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'IMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'BERFI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'CEDS_' - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HONC_' + IF (OCOLD .AND. OWARM .AND. ONUCL) IPROACTV(NBUDGET_TH, IPROC) = NHONCTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HONR_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(NBUDGET_TH, IPROC) = NHONRTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DEPS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDEPSTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DEPG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDEPGTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'IMLT_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_TH, IPROC) = NIMLTTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'BERFI_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_TH, IPROC) = NBERFITH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'RIM_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NRIMTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'ACC_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(NBUDGET_TH, IPROC) = NACCTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'CFRZ_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NCFRZTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'WETG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NWETGTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DRYG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NDRYGTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'GMLT_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_TH, IPROC) = NGMLTTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_TH, IPROC) = NWETHTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HMLT_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_TH, IPROC) = NHMLTTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'CEDS_' + IPROACTV(NBUDGET_TH, IPROC) = NCEDSTH ELSE - YWORK2(NBUDGET_TH, IPROC) = 'ADJU_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HENU_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HON_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'SFR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DEPS_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'DRYH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'IMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'BERFI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'CDEPI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'COND_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TH, IPROC) = 'NECON_' + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'ADJU_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) IPROACTV(NBUDGET_TH, IPROC) = NADJUTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HENU_' + IF (HCLOUD(1:3) == 'ICE' .OR. (HCLOUD == 'C2R2' .AND. (.NOT. LSUPSAT)) & + .OR. ( HCLOUD == 'KHKO' .AND. (.NOT. LSUPSAT)) ) & + IPROACTV(NBUDGET_TH, IPROC) = NHENUTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HON_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NHONTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'SFR_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NSFRTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DEPS_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDEPSTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DEPG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDEPGTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'REVA_' + IF (((HCLOUD(1:3) == 'ICE') .AND. LWARM) .OR. ((HCLOUD == 'C2R2' & + .OR. HCLOUD == 'KHKO') .AND. LRAIN) .OR. HCLOUD(1:3) == 'KES') & + IPROACTV(NBUDGET_TH, IPROC) = NREVATH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'RIM_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NRIMTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'ACC_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NACCTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'CFRZ_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NCFRZTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'WETG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NWETGTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DRYG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NDRYGTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'GMLT_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NGMLTTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'WETH_' + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_TH, IPROC) = NWETHTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'DRYH_' + IF (HCLOUD == 'ICE4'.AND. LRED) IPROACTV(NBUDGET_TH, IPROC) = NDRYHTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'HMLT_' + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_TH, IPROC) = NHMLTTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'IMLT_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NIMLTTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'BERFI_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_TH, IPROC) = NBERFITH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'CORR_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_TH, IPROC) = NCORRTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'CDEPI_' + IF (HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED .OR. (LRED .AND. LADJ_AFTER)) & + IPROACTV(NBUDGET_TH, IPROC) = NCDEPITH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'COND_' + IF (HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' .OR. HCLOUD(1:3) == 'KES' .OR. & + HCLOUD == 'REVE') IPROACTV(NBUDGET_TH, IPROC) = NCONDTH + + IPROC=IPROC+1 + YWORK2(NBUDGET_TH, IPROC) = 'NECON_' + IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))& + IPROACTV(NBUDGET_TH, IPROC) = NNECONTH END IF -! + YEND_COMMENT(NBUDGET_TH) = 'BU_RTH' NBUPROCNBR(NBUDGET_TH) = 3 ! @@ -1040,13 +1035,26 @@ END IF ! ! Budget of RTKE IF (LBU_RTKE) THEN + YWORK2(NBUDGET_TKE, 1) = 'INIF_' + + YWORK2(NBUDGET_TKE, 2) = 'ENDF_' + + YWORK2(NBUDGET_TKE, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_TKE, IPROC) = 'ASSE_' IPROACTV(NBUDGET_TKE, IPROC) = NASSETKE + IPROC=IPROC+1 + YWORK2(NBUDGET_TKE, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_TKE, IPROC) = NFRCTKE + IPROC=IPROC+1 + YWORK2(NBUDGET_TKE, IPROC) = 'DIF_' IF ( ONUMDIFTH ) IPROACTV(NBUDGET_TKE, IPROC) = NDIFTKE + IPROC=IPROC+1 + YWORK2(NBUDGET_TKE, IPROC) = 'REL_' IF ( OHORELAX_TKE ) THEN IPROACTV(NBUDGET_TKE, IPROC) = NRELTKE ELSE @@ -1058,43 +1066,31 @@ IF (LBU_RTKE) THEN IPROACTV(NBUDGET_TKE, IPROC) = 3 END IF END IF - IPROC=IPROC+1 - IF( ODRAGTREE ) IPROACTV(NBUDGET_TKE, IPROC) = NDRAGTKE - IPROC=IPROC+1 - IPROACTV(NBUDGET_TKE, IPROC) = NDPTKE - IPROC=IPROC+1 - IPROACTV(NBUDGET_TKE, IPROC) = NTPTKE - IPROC=IPROC+1 - IPROACTV(NBUDGET_TKE, IPROC) = NDISSTKE - IPROC=IPROC+1 - IPROACTV(NBUDGET_TKE, IPROC) = NTRTKE - IPROC=IPROC+1 - IPROACTV(NBUDGET_TKE, IPROC) = NADVTKE -! - YWORK2(NBUDGET_TKE, 1) = 'INIF_' - YWORK2(NBUDGET_TKE, 2) = 'ENDF_' - YWORK2(NBUDGET_TKE, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_TKE, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TKE, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TKE, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_TKE, IPROC) = 'REL_' + IPROC=IPROC+1 YWORK2(NBUDGET_TKE, IPROC) = 'DRAG_' + IF( ODRAGTREE ) IPROACTV(NBUDGET_TKE, IPROC) = NDRAGTKE + IPROC=IPROC+1 YWORK2(NBUDGET_TKE, IPROC) = 'DP_' + IPROACTV(NBUDGET_TKE, IPROC) = NDPTKE + IPROC=IPROC+1 YWORK2(NBUDGET_TKE, IPROC) = 'TP_' + IPROACTV(NBUDGET_TKE, IPROC) = NTPTKE + IPROC=IPROC+1 YWORK2(NBUDGET_TKE, IPROC) = 'DISS_' + IPROACTV(NBUDGET_TKE, IPROC) = NDISSTKE + IPROC=IPROC+1 YWORK2(NBUDGET_TKE, IPROC) = 'TR_' + IPROACTV(NBUDGET_TKE, IPROC) = NTRTKE + IPROC=IPROC+1 YWORK2(NBUDGET_TKE, IPROC) = 'ADV_' -! + IPROACTV(NBUDGET_TKE, IPROC) = NADVTKE + YEND_COMMENT(NBUDGET_TKE) = 'BU_RTKE' NBUPROCNBR(NBUDGET_TKE) = 3 ! @@ -1111,22 +1107,43 @@ END IF ! ! Budget of RRV IF (LBU_RRV) THEN + YWORK2(NBUDGET_RV, 1) = 'INIF_' + + YWORK2(NBUDGET_RV, 2) = 'ENDF_' + + YWORK2(NBUDGET_RV, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_RV, IPROC) = 'ASSE_' IPROACTV(NBUDGET_RV, IPROC) = NASSERV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_RV, IPROC) = NNESTRV + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_RV, IPROC) = NFRCRV + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = '2DADV_' IF( L2D_ADV_FRC ) IPROACTV(NBUDGET_RV, IPROC) = N2DADVRV + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = '2DREL_' IF( L2D_REL_FRC ) IPROACTV(NBUDGET_RV, IPROC) = N2DRELRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'NUD_' IF( ONUDGING ) IPROACTV(NBUDGET_RV, IPROC) = NNUDRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'DIF_' IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RV, IPROC) = NDIFRV - IPROC=IPROC+1 - IF ( OHORELAX_RV .OR. OVE_RELAX ) THEN + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'REL_' + IF ( OHORELAX_RV .OR. OVE_RELAX ) THEN IPROACTV(NBUDGET_RV, IPROC) = NRELRV ELSE IF(OVE_RELAX .OR. OHORELAX_UVWTH .OR. OHORELAX_RV .OR. & @@ -1137,11 +1154,17 @@ IF (LBU_RRV) THEN IPROACTV(NBUDGET_RV, IPROC) = 3 END IF END IF - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'DCONV_' IF ( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_RV, IPROC) = NDCONVRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RV, IPROC) = NVTURBRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_RV, IPROC) = NHTURBRV ELSE @@ -1151,148 +1174,112 @@ IF (LBU_RRV) THEN IPROACTV(NBUDGET_RV, IPROC) = 3 END IF END IF - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'NETUR_' IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))) & IPROACTV(NBUDGET_RV, IPROC) = NNETURRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'MAFL_' IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_RV, IPROC) = NMAFLRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'ADV_' IPROACTV(NBUDGET_RV, IPROC) = NADVRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'NEADV_' IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) IPROACTV(NBUDGET_RV, IPROC) = NNEADVRV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'NEGA_' IF (HCLOUD /= 'NONE' .AND. HCLOUD /= 'KHKO' .AND. HCLOUD /= 'C2R2') & IPROACTV(NBUDGET_RV, IPROC) = NNEGARV - IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - 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(NBUDGET_RV, IPROC) = NREVARV - IPROC=IPROC+1 - END IF - IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RV, IPROC) = NHINDRV - IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RV, IPROC) = NHONHRV - IPROC=IPROC+1 - IF (OPTSPLIT) THEN - IPROACTV(NBUDGET_RV, IPROC) = NREVARV - IPROC=IPROC+1 - END IF - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RV, IPROC) = NDEPSRV - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RV, IPROC) = NDEPGRV - IPROC=IPROC+1 - IPROACTV(NBUDGET_RV, IPROC) = NCEDSRV - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'HENU_' + IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RV, IPROC) = NHENURV - ELSE - IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) & - 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(NBUDGET_RV, IPROC) = NHENURV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RV, IPROC) = NDEPSRV - IPROC=IPROC+1 - 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(NBUDGET_RV, IPROC) = NREVARV - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE' .OR. & - HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' ) IPROACTV(NBUDGET_RV, IPROC) = NCONDRV - IPROC=IPROC+1 - 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(NBUDGET_RV, IPROC) = NCDEPIRV - IPROC=IPROC+1 - IF ( (HCLOUD == 'KHKO' ) .OR. (HCLOUD == 'C2R2')) & - IPROACTV(NBUDGET_RV, IPROC) = NNECONRV - IPROC=IPROC+1 -END IF + IF (.NOT.OPTSPLIT) THEN + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'REVA_' + IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_RV, IPROC) = NREVARV + END IF -! - YWORK2(NBUDGET_RV, 1) = 'INIF_' - YWORK2(NBUDGET_RV, 2) = 'ENDF_' - YWORK2(NBUDGET_RV, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_RV, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = '2DADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = '2DREL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'NUD_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'NETUR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'NEADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'NEGA_' - IPROC=IPROC+1 -IF (HCLOUD == 'LIMA') THEN - YWORK2(NBUDGET_RV, IPROC) = 'HENU_' - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) THEN - YWORK2(NBUDGET_RV, IPROC) = 'REVA_' - IPROC=IPROC+1 - END IF - YWORK2(NBUDGET_RV, IPROC) = 'HIND_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'HONH_' - IPROC=IPROC+1 - IF (OPTSPLIT) THEN - YWORK2(NBUDGET_RV, IPROC) = 'REVA_' - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'HIND_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RV, IPROC) = NHINDRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'HONH_' + IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RV, IPROC) = NHONHRV + + IF (OPTSPLIT) THEN + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'REVA_' + IPROACTV(NBUDGET_RV, IPROC) = NREVARV + END IF + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'DEPS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RV, IPROC) = NDEPSRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'DEPG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RV, IPROC) = NDEPGRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'CEDS_' + IPROACTV(NBUDGET_RV, IPROC) = NCEDSRV + + ELSE + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'ADJU_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) & + IPROACTV(NBUDGET_RV, IPROC) = NADJURV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'HENU_' + IF ((HCLOUD == 'C2R2' .AND. (.NOT. LSUPSAT)) & + .OR. ( HCLOUD == 'KHKO' .AND. (.NOT. LSUPSAT)) & + .OR. HCLOUD(1:3) == 'ICE') & + IPROACTV(NBUDGET_RV, IPROC) = NHENURV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'DEPS_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RV, IPROC) = NDEPSRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'DEPG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RV, IPROC) = NDEPGRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'REVA_' + IF (HCLOUD(1:3) == 'KES' .OR. ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) .OR. & + ((HCLOUD(1:3) == 'ICE') .AND. LWARM)) IPROACTV(NBUDGET_RV, IPROC) = NREVARV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'COND_' + IF (HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE' .OR. & + HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO' ) IPROACTV(NBUDGET_RV, IPROC) = NCONDRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'CORR_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RV, IPROC) = NCORRRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'CDEPI_' + IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & + IPROACTV(NBUDGET_RV, IPROC) = NCDEPIRV + + IPROC=IPROC+1 + YWORK2(NBUDGET_RV, IPROC) = 'NECON_' + IF ( (HCLOUD == 'KHKO' ) .OR. (HCLOUD == 'C2R2')) & + IPROACTV(NBUDGET_RV, IPROC) = NNECONRV END IF - YWORK2(NBUDGET_RV, IPROC) = 'DEPS_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'CEDS_' -ELSE - YWORK2(NBUDGET_RV, IPROC) = 'ADJU_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'HENU_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'DEPS_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'COND_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'CDEPI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RV, IPROC) = 'NECON_' -END IF -! + YEND_COMMENT(NBUDGET_RV) = 'BU_RRV' NBUPROCNBR(NBUDGET_RV) = 3 ! @@ -1309,15 +1296,30 @@ END IF ! ! Budget of RRC IF (LBU_RRC) THEN + YWORK2(NBUDGET_RC, 1) = 'INIF_' + + YWORK2(NBUDGET_RC, 2) = 'ENDF_' + + YWORK2(NBUDGET_RC, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_RC, IPROC) = 'ASSE_' IPROACTV(NBUDGET_RC, IPROC) = NASSERC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_RC, IPROC) = NNESTRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_RC, IPROC) = NFRCRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DIF_' IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RC, IPROC) = NDIFRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'REL_' IF ( OHORELAX_RC ) THEN IPROACTV(NBUDGET_RC, IPROC) = NRELRC ELSE @@ -1329,13 +1331,21 @@ IF (LBU_RRC) THEN IPROACTV(NBUDGET_RC, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DCONV_' IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_RC, IPROC) = NDCONVRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DEPOTR' IF( ODRAGTREE .AND. ODEPOTREE ) IPROACTV(NBUDGET_RC, IPROC) = NDEPOTRRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RC, IPROC) = NVTURBRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_RC, IPROC) = NHTURBRC ELSE @@ -1345,471 +1355,429 @@ IF (LBU_RRC) THEN IPROACTV(NBUDGET_RC, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'NETUR_' IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2'))) & IPROACTV(NBUDGET_RC, IPROC) = NNETURRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'ADV_' IPROACTV(NBUDGET_RC, IPROC) = NADVRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'NEADV_' IF ((HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2')) & IPROACTV(NBUDGET_RC, IPROC) = NNEADVRC + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'NEGA_' IF (HCLOUD /= 'NONE' .AND. HCLOUD /= 'KHKO' .AND. HCLOUD /= 'C2R2') & IPROACTV(NBUDGET_RC, IPROC) = NNEGARC - IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RC, IPROC) = NCORRRC - IPROC=IPROC+1 - IF (OWARM .AND. OSEDC) IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC - IPROC=IPROC+1 - IF (OWARM .AND. ODEPOC) IPROACTV(NBUDGET_RC, IPROC) = NDEPORC - IPROC=IPROC+1 - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RC, IPROC) = NR2C1RC - IPROC=IPROC+1 - 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(NBUDGET_RC, IPROC) = NHINCRC - IPROC=IPROC+1 - END IF - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NACCRRC - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NREVARC - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) THEN - IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RC, IPROC) = NHINCRC - IPROC=IPROC+1 - END IF - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(NBUDGET_RC, IPROC) = NHONCRC - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RC, IPROC) = NIMLTRC - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RC, IPROC) = NBERFIRC - IPROC=IPROC+1 - 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(NBUDGET_RC, IPROC) = NWETGRC - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NDRYGRC - IPROC=IPROC+1 - IF (OPTSPLIT) IPROACTV(NBUDGET_RC, IPROC) = NCVRCRC - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RC, IPROC) = NWETHRC - IPROC=IPROC+1 - IPROACTV(NBUDGET_RC, IPROC) = NCEDSRC - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'CORR_' + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RC, IPROC) = NCORRRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' + IF (OWARM .AND. OSEDC) IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DEPO_' + IF (OWARM .AND. ODEPOC) IPROACTV(NBUDGET_RC, IPROC) = NDEPORC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'R2C1_' + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RC, IPROC) = NR2C1RC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HENU_' + IF (OWARM .AND. OACTI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RC, IPROC) = NHENURC + + IF (OPTSPLIT) THEN + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HINC_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RC, IPROC) = NHINCRC + END IF + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NACCRRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'REVA_' + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RC, IPROC) = NREVARC + + IF (.NOT.OPTSPLIT) THEN + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HINC_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RC, IPROC) = NHINCRC + END IF + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HONC_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(NBUDGET_RC, IPROC) = NHONCRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'IMLT_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RC, IPROC) = NIMLTRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'BERFI_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RC, IPROC) = NBERFIRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'RIM_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NRIMRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'WETG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NWETGRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DRYG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RC, IPROC) = NDRYGRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'CVRC_' + IF (OPTSPLIT) IPROACTV(NBUDGET_RC, IPROC) = NCVRCRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RC, IPROC) = NWETHRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'CEDS_' + IPROACTV(NBUDGET_RC, IPROC) = NCEDSRC ELSE - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RC, IPROC ) = NACCRRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC - IPROC=IPROC+1 - IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. (.NOT. LSUPSAT)) & - IPROACTV(NBUDGET_RC, IPROC) = NHENURC - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RC, IPROC ) = NACCRRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HENU_' + IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. (.NOT. LSUPSAT)) & + IPROACTV(NBUDGET_RC, IPROC) = NHENURC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'ADJU_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) & + IPROACTV(NBUDGET_RC, IPROC) = NADJURC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' + IF (HCLOUD(1:3) == 'ICE' .AND. LSEDIC .AND. & + LRED .AND. (.NOT. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'HON_' + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RC, IPROC) = NHONRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' + IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & + HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' + IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & + HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(NBUDGET_RC, IPROC) = NACCRRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'RIM_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NRIMRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'CMEL_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NCMELRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'WETG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NWETGRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DRYG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NDRYGRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'WETH_' + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RC, IPROC) = NWETHRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DRYH_' + IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NDRYHRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'IMLT_' + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RC, IPROC) = NIMLTRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'BERFI_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NBERFIRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'CORR_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NCORRRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' + 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(NBUDGET_RC, IPROC) = NSEDIRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'DEPO_' + IF (((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO').AND. LDEPOC) .OR. & + (HCLOUD(1:3) == 'ICE' .AND. LDEPOSC)) IPROACTV(NBUDGET_RC, IPROC) = NDEPORC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'CDEPI_' + IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & + IPROACTV(NBUDGET_RC, IPROC) = NCDEPIRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'COND_' + IF (HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO' .OR. & + HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE') IPROACTV(NBUDGET_RC, IPROC) = NCONDRC + + IPROC=IPROC+1 + YWORK2(NBUDGET_RC, IPROC) = 'NECON_' + IF ( (HCLOUD == 'KHKO' ) .OR. (HCLOUD == 'C2R2')) & + IPROACTV(NBUDGET_RC, IPROC) = NNECONRC + END IF + + 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' +! + DO JJ=1,3 + CBUCOMMENT(NBUDGET_RC, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RC, JJ) ) // & + ADJUSTL( YEND_COMMENT(NBUDGET_RC) ) ) + END DO ! - IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) & - IPROACTV(NBUDGET_RC, IPROC) = NADJURC +END IF +! +! Budget of RRR +IF (LBU_RRR) THEN + YWORK2(NBUDGET_RR, 1) = 'INIF_' + + YWORK2(NBUDGET_RR, 2) = 'ENDF_' + + YWORK2(NBUDGET_RR, 3) = 'AVEF_' + + IPROC=4 + YWORK2(NBUDGET_RR, IPROC) = 'ASSE_' + IPROACTV(NBUDGET_RR, IPROC) = NASSERR + IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LSEDIC .AND. & - LRED .AND. (.NOT. LSEDIM_AFTER)) & - IPROACTV(NBUDGET_RC, IPROC) = NSEDIRC + YWORK2(NBUDGET_RR, IPROC) = 'NEST_' + IF( NMODEL>1 ) IPROACTV(NBUDGET_RR, IPROC) = NNESTRR + IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RC, IPROC) = NHONRC + YWORK2(NBUDGET_RR, IPROC) = 'FRC_' + IF( LFORCING ) IPROACTV(NBUDGET_RR, IPROC) = NFRCRR + IPROC=IPROC+1 - IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & - HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(NBUDGET_RC, IPROC) = NAUTORC + YWORK2(NBUDGET_RR, IPROC) = 'DIF_' + IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RR, IPROC) = NDIFRR + IPROC=IPROC+1 - !modif - IF (((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) .OR. ((HCLOUD == 'C2R2' .OR. & - HCLOUD == 'KHKO') .AND. LRAIN)) IPROACTV(NBUDGET_RC, IPROC) = NACCRRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NRIMRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NCMELRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NWETGRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NDRYGRC - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RC, IPROC) = NWETHRC - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RC, IPROC) = NDRYHRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RC, IPROC) = NIMLTRC - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RC, IPROC) = NBERFIRC - IPROC=IPROC+1 - 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(NBUDGET_RC, IPROC) = NSEDIRC - IPROC=IPROC+1 - IF (((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO').AND. LDEPOC) .OR. & - (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(NBUDGET_RC, IPROC) = NCDEPIRC - IPROC=IPROC+1 - IF (HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO' .OR. & - HCLOUD(1:3) == 'KES'.OR. HCLOUD == 'REVE') IPROACTV(NBUDGET_RC, IPROC) = NCONDRC - IPROC=IPROC+1 - IF ( (HCLOUD == 'KHKO' ) .OR. (HCLOUD == 'C2R2')) & - IPROACTV(NBUDGET_RC, IPROC) = NNECONRC - IPROC=IPROC+1 - END IF - -! - YWORK2(NBUDGET_RC, 1) = 'INIF_' - YWORK2(NBUDGET_RC, 2) = 'ENDF_' - YWORK2(NBUDGET_RC, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_RC, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DEPOTR' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'NETUR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'NEADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'NEGA_' - IPROC=IPROC+1 - - IF (HCLOUD == 'LIMA') THEN - YWORK2(NBUDGET_RC, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DEPO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'R2C1_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'HENU_' - IPROC=IPROC+1 - IF (OPTSPLIT) THEN - YWORK2(NBUDGET_RC, IPROC) = 'HINC_' - IPROC=IPROC+1 - END IF - YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'REVA_' - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) THEN - YWORK2(NBUDGET_RC, IPROC) = 'HINC_' - IPROC=IPROC+1 - END IF - YWORK2(NBUDGET_RC, IPROC) = 'HONC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'IMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'BERFI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'CVRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'CEDS_' - ELSE - YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'HENU_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'ADJU_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'HON_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'CMEL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DRYH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'IMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'BERFI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'DEPO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'CDEPI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'COND_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RC, IPROC) = 'NECON_' - END IF -! - 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' -! - DO JJ=1,3 - CBUCOMMENT(NBUDGET_RC, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RC, JJ) ) // & - ADJUSTL( YEND_COMMENT(NBUDGET_RC) ) ) - END DO -! -END IF -! -! Budget of RRR -IF (LBU_RRR) THEN - IPROC=4 - IPROACTV(NBUDGET_RR, IPROC) = NASSERR - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(NBUDGET_RR, IPROC) = NNESTRR - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(NBUDGET_RR, IPROC) = NFRCRR - IPROC=IPROC+1 - IF ( ONUMDIFTH ) IPROACTV(NBUDGET_RR, IPROC) = NDIFRR - IPROC=IPROC+1 - IF ( OHORELAX_RR ) THEN - 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(NBUDGET_RR, IPROC) = 4 - ELSE - IPROACTV(NBUDGET_RR, IPROC) = 3 - END IF - END IF + YWORK2(NBUDGET_RR, IPROC) = 'REL_' + IF ( OHORELAX_RR ) THEN + 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(NBUDGET_RR, IPROC) = 4 + ELSE + IPROACTV(NBUDGET_RR, IPROC) = 3 + END IF + END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ADV_' IPROACTV(NBUDGET_RR, IPROC) = NADVRR + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'NEGA_' IF ( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RR, IPROC) = NNEGARR - IPROC=IPROC+1 IF (HCLOUD == 'LIMA') THEN - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NCORRRR - IPROC=IPROC+1 - IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR - IPROC=IPROC+1 - IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NR2C1RR - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR - IPROC=IPROC+1 - 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(NBUDGET_RR, IPROC) = NHONRRR - IPROC=IPROC+1 - 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(NBUDGET_RR, IPROC) = NCFRZRR - IPROC=IPROC+1 - 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(NBUDGET_RR, IPROC) = NDRYGRR - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NGMLTRR - IPROC=IPROC+1 - IF (OPTSPLIT) IPROACTV(NBUDGET_RR, IPROC) = NCVRCRR - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RR, IPROC) = NWETHRR - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RR, IPROC) = NHMLTRR + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'CORR_' + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NCORRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' + IF (OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'R2C1_' + IF (OPTSPLIT .AND. OWARM .AND. ORAIN) IPROACTV(NBUDGET_RR, IPROC) = NR2C1RR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' + IF (OPTSPLIT .OR. (OWARM .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NREVARR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'HONR_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NHONRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ACC_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(NBUDGET_RR, IPROC) = NACCRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'CFRZ_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NCFRZRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'WETG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NWETGRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'DRYG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NDRYGRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'GMLT_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RR, IPROC) = NGMLTRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'CVRC_' + IF (OPTSPLIT) IPROACTV(NBUDGET_RR, IPROC) = NCVRCRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RR, IPROC) = NWETHRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'HMLT_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RR, IPROC) = NHMLTRR ELSE - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR - IPROC=IPROC+1 - 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(NBUDGET_RR, IPROC) = NSEDIRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NSFRRR - IPROC=IPROC+1 - IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(NBUDGET_RR, IPROC) = NAUTORR - IPROC=IPROC+1 - IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(NBUDGET_RR, IPROC) = NACCRRR - IPROC=IPROC+1 - IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & - IPROACTV(NBUDGET_RR, IPROC) = NREVARR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NACCRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NCMELRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NCFRZRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NWETGRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NDRYGRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NGMLTRR - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RR, IPROC) = NWETHRR - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NDRYHRR - IPROC=IPROC+1 - IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RR, IPROC) = NHMLTRR - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NCORRRR - IPROC=IPROC+1 - 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(NBUDGET_RR, IPROC) = NACCRRR - IPROC=IPROC+1 - 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(NBUDGET_RR, IPROC) = NSEDIRR - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' + IF (HCLOUD(1:3) == 'KES' ) IPROACTV(NBUDGET_RR, IPROC) = NREVARR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RR, IPROC) = NSEDIRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'SFR_' + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NSFRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' + IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & + IPROACTV(NBUDGET_RR, IPROC) = NAUTORR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' + IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & + IPROACTV(NBUDGET_RR, IPROC) = NACCRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' + IF ((HCLOUD(1:3) == 'ICE' ) .AND. LWARM) & + IPROACTV(NBUDGET_RR, IPROC) = NREVARR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ACC_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NACCRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'CMEL_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NCMELRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'CFRZ_' + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NCFRZRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'WETG_' + IF (HCLOUD(1:3) == 'ICE' ) IPROACTV(NBUDGET_RR, IPROC) = NWETGRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'DRYG_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NDRYGRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'GMLT_' + IF (HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RR, IPROC) = NGMLTRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'WETH_' + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RR, IPROC) = NWETHRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'DRYH_' + IF (HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NDRYHRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'HMLT_' + IF (HCLOUD == 'ICE4') IPROACTV(NBUDGET_RR, IPROC) = NHMLTRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'CORR_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RR, IPROC) = NCORRRR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' + IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(NBUDGET_RR, IPROC) = NAUTORR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' + IF ((HCLOUD == 'C2R2' .OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(NBUDGET_RR, IPROC) = NACCRRR + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'REVA_' + IF ((HCLOUD == 'C2R2'.OR. HCLOUD == 'KHKO') .AND. LRAIN) IPROACTV(NBUDGET_RR, IPROC) = NREVARR + + IPROC=IPROC+1 + YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' + 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(NBUDGET_RR, IPROC) = NSEDIRR END IF -! - YWORK2(NBUDGET_RR, 1) = 'INIF_' - YWORK2(NBUDGET_RR, 2) = 'ENDF_' - YWORK2(NBUDGET_RR, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_RR, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'NEGA_' - IPROC=IPROC+1 -IF (HCLOUD == 'LIMA') THEN - YWORK2(NBUDGET_RR, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'R2C1_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'HONR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'CVRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'HMLT_' - IPROC=IPROC+1 -ELSE - YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'SFR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'CMEL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'DRYH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'AUTO_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'ACCR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'REVA_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RR, IPROC) = 'SEDI_' -END IF -! YEND_COMMENT(NBUDGET_RR) = 'BU_RRR' NBUPROCNBR(NBUDGET_RR) = 3 ! @@ -1826,15 +1794,30 @@ END IF ! ! Budget of RRI IF (LBU_RRI) THEN + YWORK2(NBUDGET_RI, 1) = 'INIF_' + + YWORK2(NBUDGET_RI, 2) = 'ENDF_' + + YWORK2(NBUDGET_RI, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_RI, IPROC) = 'ASSE_' IPROACTV(NBUDGET_RI, IPROC) = NASSERI + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_RI, IPROC) = NNESTRI + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_RI, IPROC) = NFRCRI + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'DIF_' IF( ONUMDIFTH ) IPROACTV(NBUDGET_RI, IPROC) = NDIFRI + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'REL_' IF ( OHORELAX_RI ) THEN IPROACTV(NBUDGET_RI, IPROC) = NRELRI ELSE @@ -1846,11 +1829,17 @@ IF (LBU_RRI) THEN IPROACTV(NBUDGET_RI, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'DCONV_' IF( HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') IPROACTV(NBUDGET_RI, IPROC) = NDCONVRI + IPROC=IPROC+1 - IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RI, IPROC) = NVTURBRI + YWORK2(NBUDGET_RI, IPROC) = 'VTURB_' + IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_RI, IPROC) = NVTURBRI + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_RI, IPROC) = NHTURBRI ELSE @@ -1860,181 +1849,157 @@ IF (LBU_RRI) THEN IPROACTV(NBUDGET_RI, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'ADV_' IPROACTV(NBUDGET_RI, IPROC) = NADVRI + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'NEGA_' IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RI, IPROC) = NNEGARI - IPROC=IPROC+1 IF (HCLOUD=='LIMA') THEN - IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RI, IPROC) = NCORRRI - IPROC=IPROC+1 - IF (OCOLD .AND. OSEDI) IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI - IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RI, IPROC) = NHINDRI - IPROC=IPROC+1 - IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RI, IPROC) = NHINCRI - IPROC=IPROC+1 - 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(NBUDGET_RI, IPROC) = NHONCRI - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCNVIRI - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCNVSRI - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NAGGSRI - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RI, IPROC) = NIMLTRI - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RI, IPROC) = NBERFIRI - IPROC=IPROC+1 - 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(NBUDGET_RI, IPROC) = NCFRZRI - IPROC=IPROC+1 - 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(NBUDGET_RI, IPROC) = NDRYGRI - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NHMGRI - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RI, IPROC) = NWETHRI - IPROC=IPROC+1 - IPROACTV(NBUDGET_RI, IPROC) = NCEDSRI - ELSE - 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(NBUDGET_RI, IPROC) = NSEDIRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NHENURI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NHONRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NAGGSRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NAUTSRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NCFRZRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NWETGRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NDRYGRI - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' ) IPROACTV(NBUDGET_RI, IPROC) = NWETHRI - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RI, IPROC) = NDRYHRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NIMLTRI - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NBERFIRI - IPROC=IPROC+1 - 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(NBUDGET_RI, IPROC) = NSEDIRI - IPROC=IPROC+1 - IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & - IPROACTV(NBUDGET_RI, IPROC) = NCDEPIRI - IPROC=IPROC+1 - END IF -! - YWORK2(NBUDGET_RI, 1) = 'INIF_' - YWORK2(NBUDGET_RI, 2) = 'ENDF_' - YWORK2(NBUDGET_RI, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_RI, IPROC) = 'ASSE_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'NEST_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'FRC_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'DIF_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HTURB_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'NEGA_' - IPROC= IPROC+1 - IF (HCLOUD=='LIMA') THEN - YWORK2(NBUDGET_RI, IPROC) = 'CORR_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HIND_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HINC_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HONH_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HONC_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CNVI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CNVS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'AGGS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'IMLT_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'BERFI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HMS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CFRZ_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'WETG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'DRYG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HMG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'WETH_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CEDS_' + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CORR_' + IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RI, IPROC) = NCORRRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' + IF (OCOLD .AND. OSEDI) IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HIND_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RI, IPROC) = NHINDRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HINC_' + IF (OCOLD .AND. ONUCL) IPROACTV(NBUDGET_RI, IPROC) = NHINCRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HONH_' + IF (OCOLD .AND. ONUCL .AND. OHHONI .AND. NMOD_CCN.GE.1) IPROACTV(NBUDGET_RI, IPROC) = NHONHRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HONC_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL)) IPROACTV(NBUDGET_RI, IPROC) = NHONCRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CNVI_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCNVIRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CNVS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCNVSRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'AGGS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NAGGSRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'IMLT_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RI, IPROC) = NIMLTRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'BERFI_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM)) IPROACTV(NBUDGET_RI, IPROC) = NBERFIRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HMS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NHMSRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CFRZ_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NCFRZRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'WETG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NWETGRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'DRYG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NDRYGRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HMG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RI, IPROC) = NHMGRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RI, IPROC) = NWETHRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CEDS_' + IPROACTV(NBUDGET_RI, IPROC) = NCEDSRI ELSE - YWORK2(NBUDGET_RI, IPROC) = 'ADJU_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HENU_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'HON_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'AGGS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'AUTS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CFRZ_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'WETG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'DRYG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'WETH_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'DRYH_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'IMLT_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'BERFI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CORR_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RI, IPROC) = 'CDEPI_' + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'ADJU_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LADJ_BEFORE) IPROACTV(NBUDGET_RI, IPROC) = NADJURI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HENU_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NHENURI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'HON_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NHONRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'AGGS_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NAGGSRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'AUTS_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NAUTSRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CFRZ_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NCFRZRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'WETG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NWETGRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'DRYG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NDRYGRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'WETH_' + IF( HCLOUD == 'ICE4' ) IPROACTV(NBUDGET_RI, IPROC) = NWETHRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'DRYH_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RI, IPROC) = NDRYHRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'IMLT_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NIMLTRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'BERFI_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RI, IPROC) = NBERFIRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CORR_' + IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RI, IPROC) = NCORRRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'SEDI_' + IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & + (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RI, IPROC) = NSEDIRI + + IPROC=IPROC+1 + YWORK2(NBUDGET_RI, IPROC) = 'CDEPI_' + IF (HCLOUD(1:3) == 'ICE' .AND. (.NOT. LRED .OR. (LRED .AND. LADJ_AFTER) )) & + IPROACTV(NBUDGET_RI, IPROC) = NCDEPIRI END IF -! + YEND_COMMENT(NBUDGET_RI) = 'BU_RRI' NBUPROCNBR(NBUDGET_RI) = 3 ! @@ -2051,15 +2016,30 @@ END IF ! ! Budget of RRS IF (LBU_RRS) THEN + YWORK2(NBUDGET_RS, 1) = 'INIF_' + + YWORK2(NBUDGET_RS, 2) = 'ENDF_' + + YWORK2(NBUDGET_RS, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_RS, IPROC) = 'ASSE_' IPROACTV(NBUDGET_RS, IPROC) = NASSERS + IPROC= IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_RS, IPROC) = NNESTRS + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_RS, IPROC) = NFRCRS + IPROC= IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'DIF_' IF( ONUMDIFTH ) IPROACTV(NBUDGET_RS, IPROC) = NDIFRS + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'REL_' IF ( OHORELAX_RS ) THEN IPROACTV(NBUDGET_RS, IPROC) = NRELRS ELSE @@ -2071,144 +2051,124 @@ IF (LBU_RRS) THEN IPROACTV(NBUDGET_RS, IPROC) = 3 END IF END IF + IPROC= IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'ADV_' IPROACTV(NBUDGET_RS, IPROC) = NADVRS - IPROC= IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RS, IPROC) = NNEGARS - IPROC=IPROC+1 -IF (HCLOUD=='LIMA') THEN - IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RS, IPROC) = NCORRRS - IPROC=IPROC+1 - IF (OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCNVIRS - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NDEPSRS - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCNVSRS - IPROC=IPROC+1 - IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NAGGSRS - IPROC=IPROC+1 - 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(NBUDGET_RS, IPROC) = NHMSRS - IPROC=IPROC+1 - 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(NBUDGET_RS, IPROC) = NCMELRS - IPROC=IPROC+1 - 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(NBUDGET_RS, IPROC) = NDRYGRS - IPROC=IPROC+1 - 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(NBUDGET_RS, IPROC) = NSEDIRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NDEPSRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NAGGSRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NAUTSRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NRIMRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NACCRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NCMELRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NWETGRS - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NDRYGRS - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(NBUDGET_RS, IPROC) = NWETHRS - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RS, IPROC) = NDRYHRS - IPROC=IPROC+1 - 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(NBUDGET_RS, IPROC) = NSEDIRS - IPROC=IPROC+1 -END IF -! - YWORK2(NBUDGET_RS, 1) = 'INIF_' - YWORK2(NBUDGET_RS, 2) = 'ENDF_' - YWORK2(NBUDGET_RS, 3) = 'AVEF_' - IPROC= 4 - YWORK2(NBUDGET_RS, IPROC) = 'ASSE_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'NEST_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'FRC_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'DIF_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'REL_' IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'ADV_' - IPROC=IPROC+1 YWORK2(NBUDGET_RS, IPROC) = 'NEGA_' - IPROC= IPROC+1 -IF (HCLOUD=='LIMA') THEN - YWORK2(NBUDGET_RS, IPROC) = 'CORR_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'CNVI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'DEPS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'CNVS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'AGGS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'RIM_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'HMS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'ACC_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'CMEL_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'WETG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'DRYG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'WETH_' - IPROC= IPROC+1 -ELSE - YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'DEPS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'AGGS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'AUTS_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'RIM_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'ACC_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'CMEL_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'WETG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'DRYG_' - IPROC= IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'DRYH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' -END IF -! + IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RS, IPROC) = NNEGARS + + IF (HCLOUD=='LIMA') THEN + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'CORR_' + IF (OPTSPLIT .AND. OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RS, IPROC) = NCORRRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' + IF (OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'CNVI_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCNVIRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'DEPS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NDEPSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'CNVS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCNVSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'AGGS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NAGGSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'RIM_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NRIMRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'HMS_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NHMSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'ACC_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW .AND. ORAIN)) IPROACTV(NBUDGET_RS, IPROC) = NACCRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'CMEL_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NCMELRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'WETG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NWETGRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'DRYG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RS, IPROC) = NDRYGRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RS, IPROC) = NWETHRS + ELSE + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'DEPS_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NDEPSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'AGGS_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NAGGSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'AUTS_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NAUTSRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'RIM_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NRIMRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'ACC_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NACCRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'CMEL_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NCMELRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'WETG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NWETGRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'DRYG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RS, IPROC) = NDRYGRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'WETH_' + IF( HCLOUD == 'ICE4') IPROACTV(NBUDGET_RS, IPROC) = NWETHRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'DRYH_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RS, IPROC) = NDRYHRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'CORR_' + IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RS, IPROC) = NCORRRS + + IPROC=IPROC+1 + YWORK2(NBUDGET_RS, IPROC) = 'SEDI_' + IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & + (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RS, IPROC) = NSEDIRS + END IF + YEND_COMMENT(NBUDGET_RS) = 'BU_RRS' NBUPROCNBR(NBUDGET_RS) = 3 ! @@ -2220,179 +2180,176 @@ END IF CBUCOMMENT(NBUDGET_RS, JJ) = ADJUSTL( ADJUSTR( YWORK2(NBUDGET_RS, JJ) ) // & ADJUSTL( YEND_COMMENT(NBUDGET_RS) ) ) END DO -! -END IF -! -! Budget of RRG -IF (LBU_RRG) THEN - IPROC=4 - IPROACTV(NBUDGET_RG, IPROC) = NASSERG - IPROC=IPROC+1 - IF( NMODEL>1 ) IPROACTV(NBUDGET_RG, IPROC) = NNESTRG - IPROC=IPROC+1 - IF( LFORCING ) IPROACTV(NBUDGET_RG, IPROC) = NFRCRG - IPROC=IPROC+1 - IF( ONUMDIFTH ) IPROACTV(NBUDGET_RG, IPROC) = NDIFRG - IPROC=IPROC+1 - IF ( OHORELAX_RG ) THEN - 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(NBUDGET_RG, IPROC) = 4 - ELSE - IPROACTV(NBUDGET_RG, IPROC) = 3 - END IF - END IF - IPROC=IPROC+1 - IPROACTV(NBUDGET_RG, IPROC) = NADVRG - IPROC=IPROC+1 - IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RG, IPROC) = NNEGARG - IPROC=IPROC+1 -IF (HCLOUD=='LIMA') THEN - IF (OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NDEPGRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NACCRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NCFRZRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NDRYGRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NGMLTRG - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RG, IPROC) = NWETHRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NSEDIRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NSFRRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NDEPGRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NRIMRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NACCRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NCMELRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NCFRZRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NWETGRG - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NGHCVRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NDRYGRG - IPROC=IPROC+1 - IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NGMLTRG - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. .NOT. LRED ) IPROACTV(NBUDGET_RG, IPROC) = NWETHRG - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED ) IPROACTV(NBUDGET_RG, IPROC) = NHGCVRG - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NDRYHRG - IPROC=IPROC+1 - 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(NBUDGET_RG, IPROC) = NSEDIRG - IPROC=IPROC+1 +! END IF ! +! Budget of RRG +IF (LBU_RRG) THEN YWORK2(NBUDGET_RG, 1) = 'INIF_' + YWORK2(NBUDGET_RG, 2) = 'ENDF_' + YWORK2(NBUDGET_RG, 3) = 'AVEF_' + IPROC=4 YWORK2(NBUDGET_RG, IPROC) = 'ASSE_' + IPROACTV(NBUDGET_RG, IPROC) = NASSERG + IPROC=IPROC+1 YWORK2(NBUDGET_RG, IPROC) = 'NEST_' + IF( NMODEL>1 ) IPROACTV(NBUDGET_RG, IPROC) = NNESTRG + IPROC=IPROC+1 YWORK2(NBUDGET_RG, IPROC) = 'FRC_' + IF( LFORCING ) IPROACTV(NBUDGET_RG, IPROC) = NFRCRG + IPROC=IPROC+1 YWORK2(NBUDGET_RG, IPROC) = 'DIF_' + IF( ONUMDIFTH ) IPROACTV(NBUDGET_RG, IPROC) = NDIFRG + IPROC=IPROC+1 YWORK2(NBUDGET_RG, IPROC) = 'REL_' + IF ( OHORELAX_RG ) THEN + 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(NBUDGET_RG, IPROC) = 4 + ELSE + IPROACTV(NBUDGET_RG, IPROC) = 3 + END IF + END IF + IPROC=IPROC+1 YWORK2(NBUDGET_RG, IPROC) = 'ADV_' + IPROACTV(NBUDGET_RG, IPROC) = NADVRG + IPROC=IPROC+1 YWORK2(NBUDGET_RG, IPROC) = 'NEGA_' - IPROC=IPROC+1 -IF (HCLOUD=='LIMA') THEN - YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'HONR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'CMEL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'HMG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'COHG_' -ELSE - YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC)= 'SFR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'DEPG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'RIM_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'ACC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'CMEL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'CFRZ_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'GHCV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'DRYG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'GMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'HGCV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'DRYH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RG, IPROC)= 'SEDI_' -END IF -! + IF( HCLOUD /= 'NONE' ) IPROACTV(NBUDGET_RG, IPROC) = NNEGARG + + IF (HCLOUD=='LIMA') THEN + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' + IF (OCOLD .AND. OSNOW) IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'HONR_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ONUCL .AND. ORAIN)) IPROACTV(NBUDGET_RG, IPROC) = NHONRRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'DEPG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NDEPGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'RIM_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NRIMRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'ACC_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. ORAIN .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NACCRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'CMEL_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NCMELRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'CFRZ_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NCFRZRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'WETG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NWETGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'DRYG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NDRYGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'HMG_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NHMGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'GMLT_' + IF (OPTSPLIT .OR. (OCOLD .AND. OWARM .AND. OSNOW)) IPROACTV(NBUDGET_RG, IPROC) = NGMLTRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RG, IPROC) = NWETHRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'COHG_' + IF (.NOT.OPTSPLIT .AND. OHAIL) IPROACTV(NBUDGET_RG, IPROC) = NCOHGRG + ELSE + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' + IF (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. (.NOT. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC)= 'SFR_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NSFRRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'DEPG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NDEPGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'RIM_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NRIMRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'ACC_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NACCRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'CMEL_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NCMELRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'CFRZ_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NCFRZRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'WETG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NWETGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'GHCV_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NGHCVRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'DRYG_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NDRYGRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'GMLT_' + IF( HCLOUD(1:3) == 'ICE') IPROACTV(NBUDGET_RG, IPROC) = NGMLTRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'WETH_' + IF( HCLOUD == 'ICE4' .AND. .NOT. LRED ) IPROACTV(NBUDGET_RG, IPROC) = NWETHRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'HGCV_' + IF( HCLOUD == 'ICE4' .AND. LRED ) IPROACTV(NBUDGET_RG, IPROC) = NHGCVRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'DRYH_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NDRYHRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'CORR_' + IF( HCLOUD(1:3) == 'ICE' .AND. LRED) IPROACTV(NBUDGET_RG, IPROC) = NCORRRG + + IPROC=IPROC+1 + YWORK2(NBUDGET_RG, IPROC) = 'SEDI_' + IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & + (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RG, IPROC) = NSEDIRG + END IF + YEND_COMMENT(NBUDGET_RG) = 'BU_RRG' NBUPROCNBR(NBUDGET_RG) = 3 ! @@ -2409,27 +2366,42 @@ END IF ! ! Budget of RRH IF (LBU_RRH) THEN + YWORK2(NBUDGET_RH, 1) = 'INIF_' + + YWORK2(NBUDGET_RH, 2) = 'ENDF_' + + YWORK2(NBUDGET_RH, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_RH, IPROC) = 'ASSE_' IPROACTV(NBUDGET_RH, IPROC) = NASSERH + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'NEST_' IF( NMODEL>1 ) THEN IPROACTV(NBUDGET_RH, IPROC) = NNESTRH ELSE IPROACTV(NBUDGET_RH, IPROC) = 3 END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'FRC_' IF( LFORCING ) THEN IPROACTV(NBUDGET_RH, IPROC) = NFRCRH ELSE IPROACTV(NBUDGET_RH, IPROC) = 3 - END IF + END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'DIF_' IF( ONUMDIFTH ) THEN IPROACTV(NBUDGET_RH, IPROC) = NDIFRH ELSE IPROACTV(NBUDGET_RH, IPROC) = 3 END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'REL_' IF ( OHORELAX_RH ) THEN IPROACTV(NBUDGET_RH, IPROC) = NRELRH ELSE @@ -2441,98 +2413,79 @@ IF (LBU_RRH) THEN IPROACTV(NBUDGET_RH, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'ADV_' IPROACTV(NBUDGET_RH, IPROC) = NADVRH + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'NEGA_' IF( HCLOUD /= 'NONE' ) THEN IPROACTV(NBUDGET_RH, IPROC) = NNEGARH ELSE IPROACTV(NBUDGET_RH, IPROC) = 3 END IF - IPROC=IPROC+1 -! - IF (HCLOUD=='LIMA' .AND. OHAIL) THEN - IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH - IPROC=IPROC+1 - IPROACTV(NBUDGET_RH, IPROC) = NWETGRH - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NWETHRH - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NCOHGRH - IPROC=IPROC+1 - IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NHMLTRH - ELSE - IF( HCLOUD == 'ICE4' .AND. LRED .AND. .NOT. LSEDIM_AFTER) & - IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NGHCVRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. .NOT. LRED) IPROACTV(NBUDGET_RH, IPROC) = NWETGRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4') IPROACTV(NBUDGET_RH, IPROC) = NWETHRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NHGCVRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NDRYHRH - IPROC=IPROC+1 - IF( HCLOUD == 'ICE4' ) IPROACTV(NBUDGET_RH, IPROC) = NHMLTRH - IPROC=IPROC+1 - 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(NBUDGET_RH, IPROC) = NSEDIRH - END IF ! - YWORK2(NBUDGET_RH, 1) = 'INIF_' - YWORK2(NBUDGET_RH, 2) = 'ENDF_' - YWORK2(NBUDGET_RH, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_RH, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'ADV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'NEGA_' - IPROC=IPROC+1 IF (HCLOUD=='LIMA' .AND. OHAIL) THEN - YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'COHG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'HMLT_' - IPROC=IPROC+1 + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' + IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'WETG_' + IPROACTV(NBUDGET_RH, IPROC) = NWETGRH + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'WETH_' + IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NWETHRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'COHG_' + IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NCOHGRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'HMLT_' + IF (.NOT.OPTSPLIT) IPROACTV(NBUDGET_RH, IPROC) = NHMLTRH ELSE - YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'GHCV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'WETG_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'WETH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'HGCV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'DRYH_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'HMLT_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'CORR_' - IPROC=IPROC+1 - YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' + IF( HCLOUD == 'ICE4' .AND. LRED .AND. .NOT. LSEDIM_AFTER) & + IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'GHCV_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NGHCVRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'WETG_' + IF( HCLOUD == 'ICE4' .AND. .NOT. LRED) IPROACTV(NBUDGET_RH, IPROC) = NWETGRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'WETH_' + IF( HCLOUD == 'ICE4') IPROACTV(NBUDGET_RH, IPROC) = NWETHRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'HGCV_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NHGCVRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'DRYH_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NDRYHRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'HMLT_' + IF( HCLOUD == 'ICE4' ) IPROACTV(NBUDGET_RH, IPROC) = NHMLTRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'CORR_' + IF( HCLOUD == 'ICE4' .AND. LRED) IPROACTV(NBUDGET_RH, IPROC) = NCORRRH + + IPROC=IPROC+1 + YWORK2(NBUDGET_RH, IPROC) = 'SEDI_' + IF ((HCLOUD(1:3) == 'ICE' .AND. .NOT. LRED).OR. & + (HCLOUD(1:3) == 'ICE' .AND. LRED .AND. LSEDIM_AFTER)) & + IPROACTV(NBUDGET_RH, IPROC) = NSEDIRH END IF -! + YEND_COMMENT(NBUDGET_RH) = 'BU_RRH' NBUPROCNBR(NBUDGET_RH) = 3 ! @@ -2552,15 +2505,30 @@ END IF IF (LBU_RSV) THEN IBUPROCNBR_SV_MAX = 0 ! initialize the Max nunmber of processes for the SVs DO JSV = 1,KSV + YWORK2(NBUDGET_SV1 - 1 + JSV, 1) = 'INIF_' + + YWORK2(NBUDGET_SV1 - 1 + JSV, 2) = 'ENDF_' + + YWORK2(NBUDGET_SV1 - 1 + JSV, 3) = 'AVEF_' + IPROC=4 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'ASSE_' IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NASSESV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'NEST_' IF( NMODEL>1 ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NNESTSV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'FRC_' IF( LFORCING ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NFRCSV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DIF_' IF ( ONUMDIFSV ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NDIFSV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'REL_' IF ( OHORELAX_SV(JSV) ) THEN IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NRELSV ELSE @@ -2572,15 +2540,23 @@ IF (LBU_RSV) THEN IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = 3 END IF END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DCONV_' IF ( (HDCONV /= 'NONE' .OR. HSCONV == 'KAFR') .AND. OCHTRANS ) & IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NDCONVSV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DEPOTR' IF ( ODRAGTREE .AND. ODEPOTREE ) & IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NDEPOTRSV - IPROC=IPROC+1 + + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'VTURB_' IF ( HTURB /= 'NONE' ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NVTURBSV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'HTURB_' IF ( HTURB /= 'NONE' .AND. HTURBDIM == '3DIM' ) THEN IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = NHTURBSV ELSE @@ -2589,41 +2565,20 @@ IF (LBU_RSV) THEN ELSE IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC) = 3 END IF - END IF + END IF + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'MAFL_' IF ( HSCONV == 'EDKF' ) IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC)= NMAFLSV + IPROC=IPROC+1 + YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'ADV_' IPROACTV(NBUDGET_SV1 - 1 + JSV, IPROC)= NADVSV - IPROC=IPROC+1 ! - YWORK2(NBUDGET_SV1 - 1 + JSV, 1) = 'INIF_' - YWORK2(NBUDGET_SV1 - 1 + JSV, 2) = 'ENDF_' - YWORK2(NBUDGET_SV1 - 1 + JSV, 3) = 'AVEF_' - IPROC=4 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'ASSE_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'NEST_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'FRC_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DIF_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'REL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DCONV_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'DEPOTR' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'VTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'HTURB_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'MAFL_' - IPROC=IPROC+1 - YWORK2(NBUDGET_SV1 - 1 + JSV, IPROC) = 'ADV_' ! ! complete with the budget of other processes ! + IPROC=IPROC+1 ILAST_PROC_NBR = IPROC CALL BUDGET_OTHERPROC_SV !