From a05270d199f7d6e2aa344efd3018242bf40126e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Vi=C3=A9?= <benoit.vie@meteo.fr> Date: Wed, 20 Dec 2023 15:08:12 +0100 Subject: [PATCH] add namelist switch LTURB_PRECIP --- src/PHYEX/turb/modd_turbn.f90 | 6 +++++- src/PHYEX/turb/turb.f90 | 12 +++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/PHYEX/turb/modd_turbn.f90 b/src/PHYEX/turb/modd_turbn.f90 index a3f2c6e9d..ef3ad4cbe 100644 --- a/src/PHYEX/turb/modd_turbn.f90 +++ b/src/PHYEX/turb/modd_turbn.f90 @@ -122,6 +122,7 @@ REAL :: XCEI_MAX !< maximum threshold for the instability index C !(beginning of the saturation of the amplification) REAL, DIMENSION(:,:,:), POINTER :: XCEI !< Cloud Entrainment instability index to emphasize localy ! turbulent fluxes + LOGICAL :: LTURB_PRECIP ! switch to apply turbulence to precipitating hydrometeor mixing ratios ! END TYPE TURB_t @@ -180,6 +181,7 @@ REAL, POINTER :: XCOEF_AMPL_SAT=>NULL() REAL, POINTER :: XCEI_MIN=>NULL() REAL, POINTER :: XCEI_MAX =>NULL() REAL, DIMENSION(:,:,:), POINTER :: XCEI=>NULL() +LOGICAL, POINTER :: LTURB_PRECIP=>NULL() ! NAMELIST/NAM_TURBn/XIMPL,CTURBLEN,CTURBDIM,LTURB_FLX,LTURB_DIAG, & LSIG_CONV,LRMC01,CTOM,& @@ -188,7 +190,7 @@ NAMELIST/NAM_TURBn/XIMPL,CTURBLEN,CTURBDIM,LTURB_FLX,LTURB_DIAG, & XALTHGRAD, XCLDTHOLD, XLINI, LHARAT, & LPROJQITURB, LSMOOTH_PRANDTL, XMINSIGS, NTURBSPLIT, & LCLOUDMODIFLM, CTURBLEN_CLOUD, & - XCOEF_AMPL_SAT, XCEI_MIN, XCEI_MAX + XCOEF_AMPL_SAT, XCEI_MIN, XCEI_MAX, LTURB_PRECIP ! !------------------------------------------------------------------------------- ! @@ -276,6 +278,7 @@ XCOEF_AMPL_SAT=>TURB_MODEL(KTO)%XCOEF_AMPL_SAT XCEI_MIN=>TURB_MODEL(KTO)%XCEI_MIN XCEI_MAX =>TURB_MODEL(KTO)%XCEI_MAX XCEI=>TURB_MODEL(KTO)%XCEI +LTURB_PRECIP=>TURB_MODEL(KTO)%LTURB_PRECIP ! ENDIF ! @@ -386,6 +389,7 @@ IF(LLDEFAULTVAL) THEN XCOEF_AMPL_SAT = 5. XCEI_MIN = 0.001E-06 XCEI_MAX = 0.01E-06 + LTURB_PRECIP =.FALSE. ! IF(HPROGRAM=='AROME') THEN XTKEMIN=1.E-6 diff --git a/src/PHYEX/turb/turb.f90 b/src/PHYEX/turb/turb.f90 index 79eb73fe6..e333635ea 100644 --- a/src/PHYEX/turb/turb.f90 +++ b/src/PHYEX/turb/turb.f90 @@ -1346,11 +1346,13 @@ IF ( KRRL >= 1 ) THEN END IF! ! PRSVS(:,:,:)=ZWORKS(:,:,1:KSV) -IF (KRR.GE.3) PRRS(:,:,3)=ZWORKS(:,:,KSV+3) -IF (KRR.GE.5) PRRS(:,:,5)=ZWORKS(:,:,KSV+5) -IF (KRR.GE.6) PRRS(:,:,6)=ZWORKS(:,:,KSV+6) -IF (KRR.GE.7) PRRS(:,:,7)=ZWORKS(:,:,KSV+7) -IF (OFLYER) PWSV(:,:,:)=ZWORKWSV(:,:,1:KSV) +IF (TURBN%LTURB_PRECIP) THEN + IF (KRR.GE.3) PRRS(:,:,3)=ZWORKS(:,:,KSV+3) + IF (KRR.GE.5) PRRS(:,:,5)=ZWORKS(:,:,KSV+5) + IF (KRR.GE.6) PRRS(:,:,6)=ZWORKS(:,:,KSV+6) + IF (KRR.GE.7) PRRS(:,:,7)=ZWORKS(:,:,KSV+7) +END IF + IF (OFLYER) PWSV(:,:,:)=ZWORKWSV(:,:,1:KSV) ! ! Remove non-physical negative values (unnecessary in a perfect world) + corresponding budgets CALL SOURCES_NEG_CORRECT_PHY(D,KSV,HCLOUD,HELEC,'NETUR',KRR,PTSTEP,PPABST,PTHLT,PRT,PRTHLS,PRRS,PRSVS) -- GitLab