*** DEACT_CLOUD_GFL Deactivate prognostic cloud variables
------------------------------------------------------------------
INTEGER(KIND=JPIM) :: JGFL REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('GFL_SUBS:DEACT_CLOUD_GFL',0,ZHOOK_HANDLE)
IF (.NOT.L_CLD_DEACT .AND. & & (YL%LACTIVE .OR. YI%LACTIVE .OR. & & YR%LACTIVE .OR. YS%LACTIVE .OR. YA%LACTIVE .OR. YCPF%LACTIVE ) ) THEN CALL COPY_GFLC_GFLC(YL_SAVE,YL) CALL COPY_GFLC_GFLC(YI_SAVE,YI) CALL COPY_GFLC_GFLC(YR_SAVE,YR) CALL COPY_GFLC_GFLC(YS_SAVE,YS) CALL COPY_GFLC_GFLC(YA_SAVE,YA) CALL COPY_GFLC_GFLC(YCPF_SAVE,YCPF)
IF( .NOT. LENCLD2) THEN IF (YL%LGP) YGFL%NUMGPFLDS=YGFL%NUMGPFLDS-1 IF (YI%LGP) YGFL%NUMGPFLDS=YGFL%NUMGPFLDS-1 IF (YR%LGP) YGFL%NUMGPFLDS=YGFL%NUMGPFLDS-1 IF (YS%LGP) YGFL%NUMGPFLDS=YGFL%NUMGPFLDS-1 IF (YA%LGP) YGFL%NUMGPFLDS=YGFL%NUMGPFLDS-1 IF (YCPF%LGP) YGFL%NUMGPFLDS=YGFL%NUMGPFLDS-1
IF (YL%LT5) YGFL%NUMFLDS5=YGFL%NUMFLDS5-1
IF (YI%LT5) YGFL%NUMFLDS5=YGFL%NUMFLDS5-1
IF (YR%LT5) YGFL%NUMFLDS5=YGFL%NUMFLDS5-1
IF (YS%LT5) YGFL%NUMFLDS5=YGFL%NUMFLDS5-1
IF (YA%LT5) YGFL%NUMFLDS5=YGFL%NUMFLDS5-1
IF (YCPF%LT5) YGFL%NUMFLDS5=YGFL%NUMFLDS5-1
CALL FALSIFY_GFLC(YL)
CALL FALSIFY_GFLC(YI)
CALL FALSIFY_GFLC(YR)
CALL FALSIFY_GFLC(YS) CALL FALSIFY_GFLC(YA) CALL FALSIFY_GFLC(YCPF) ELSE CALL NOADVECT_GFLC(YL) CALL NOADVECT_GFLC(YI) CALL NOADVECT_GFLC(YR) CALL NOADVECT_GFLC(YS) CALL NOADVECT_GFLC(YA) CALL NOADVECT_GFLC(YCPF) ENDIF YGFL%NUMFLDS_SL1 = 0 DO JGFL=1,YGFL%NUMFLDS YGFLC(JGFL)%MP_SL1 = -HUGE(JPGFL) IF(YGFLC(JGFL)%LADV) THEN YGFL%NUMFLDS_SL1 = YGFL%NUMFLDS_SL1+1 YGFLC(JGFL)%MP_SL1 = YGFL%NUMFLDS_SL1 YGFLC(JGFL)%MP_SLX = (YGFLC(JGFL)%MP_SL1-1)(NFLEVG+2NFLSUL) ENDIF ENDDO CALL SUSLB
L_CLD_DEACT=.TRUE. WRITE(NULOUT,*)' CLOUD FIELDS DE-ACTIVATAD, YGFL%NUMGPFLDS=', & & YGFL%NUMGPFLDS,' YGFL%NUMFLDS_SL1=', YGFL%NUMFLDS_SL1 ENDIF
IF (LHOOK) CALL DR_HOOK('GFL_SUBS:DEACT_CLOUD_GFL',1,ZHOOK_HANDLE)
END SUBROUTINE DEACT_CLOUD_GFL
=========================================================================
** REACT_CLOUD_GFL Reactivate prognostic cloud variables
------------------------------------------------------------------
------------------------------------------------------------------
*** DEFINE_GFL_COMP - Setup indivual GFL field
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(TYPE_GFL_COMP), | intent(inout), | TARGET | :: | YDGFLC | ||
| character(len=16), | intent(in) | :: | CDNAME | |||
| integer(kind=JPIM), | intent(in) | :: | KGRIB | |||
| logical, | intent(in) | :: | LDGP | |||
| integer(kind=JPIM), | intent(in) | :: | KREQIN | |||
| real(kind=JPRB), | intent(in), | optional | :: | PREFVALI | ||
| logical, | intent(in) | :: | LDREQOUT | |||
| logical, | intent(in) | :: | LDERS | |||
| logical, | intent(in) | :: | LD5 | |||
| logical, | intent(in) | :: | LDT1 | |||
| logical, | intent(in), | optional | :: | LDGPINGP | ||
| logical, | intent(in), | optional | :: | LDTRAJIO | ||
| logical, | intent(in), | optional | :: | LDTHERMACT | ||
| real(kind=JPRB), | intent(in), | optional | :: | PR | ||
| real(kind=JPRB), | intent(in), | optional | :: | PRCP |
*** SET_GFL_ATTR Add attributes to previously setup GFL components
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(TYPE_GFL_COMP), | intent(inout), | TARGET | :: | YDGFLC | ||
| logical, | intent(in), | optional | :: | LDADV | ||
| logical, | intent(in), | optional | :: | LDT9 | ||
| logical, | intent(in), | optional | :: | LDPHY | ||
| logical, | intent(in), | optional | :: | LDPT | ||
| logical, | intent(in), | optional | :: | LDPC | ||
| logical, | intent(in), | optional | :: | LDADJUST0 | ||
| logical, | intent(in), | optional | :: | LDADJUST1 | ||
| integer(kind=JPIM), | intent(in), | optional | :: | KCOUPLING | ||
| real(kind=JPRB), | intent(in), | optional | :: | PREFVALC | ||
| logical, | intent(in), | optional | :: | LDBIPER | ||
| character(len=12), | intent(in), | optional | :: | CDSLINT |