From a762d509fa2c25d8f71e61103cc79dd6d024e0e9 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Thu, 21 Nov 2019 11:33:22 +0100 Subject: [PATCH] Philippe 21/11/2019: MNH_BITREP for tke_eps_sources --- src/MNH/tke_eps_sources.f90 | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/MNH/tke_eps_sources.f90 b/src/MNH/tke_eps_sources.f90 index d56af9565..80ee897c4 100644 --- a/src/MNH/tke_eps_sources.f90 +++ b/src/MNH/tke_eps_sources.f90 @@ -327,7 +327,11 @@ IKB=KKA+JPVEXT_TURB*KKL IKE=KKU-JPVEXT_TURB*KKL ! ! compute the effective diffusion coefficient at the mass point -ZKEFF(:,:,:) = PLM(:,:,:) * SQRT(PTKEM(:,:,:)) +#ifndef MNH_BITREP +ZKEFF(:,:,:) = PLM(:,:,:) * SQRT(PTKEM(:,:,:)) +#else +ZKEFF(:,:,:) = PLM(:,:,:) * BR_POW(PTKEM(:,:,:),0.5) +#endif ! !---------------------------------------------------------------------------- ! @@ -356,7 +360,11 @@ PDP(:,:,IKB) = PDP(:,:,IKB) * (1. + PDZZ(:,:,IKB+KKL)/PDZZ(:,:,IKB)) ! ! Compute the source terms for TKE: ( ADVECtion + NUMerical DIFFusion + ..) ! + (Dynamical Production) + (Thermal Production) - (dissipation) +#ifndef MNH_BITREP ZFLX(:,:,:) = XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) +#else +ZFLX(:,:,:) = XCED * BR_POW(PTKEM(:,:,:),0.5) / PLEPS(:,:,:) +#endif ZSOURCE(:,:,:) = PRTKES(:,:,:) / PRHODJ(:,:,:) + PRTKESM(:,:,:) / PRHODJ(:,:,:) & - PTKEM(:,:,:) / PTSTEP & + PDP(:,:,:) + PTP(:,:,:) + PTR(:,:,:) - PEXPL * ZFLX(:,:,:) * PTKEM(:,:,:) @@ -500,7 +508,11 @@ IF (LBUDGET_TKE) THEN ! add the dissipation ! !$acc kernels +#ifndef MNH_BITREP PRTKES(:,:,:) = PRTKES(:,:,:) - XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * & +#else +PRTKES(:,:,:) = PRTKES(:,:,:) - XCED * BR_POW(PTKEM(:,:,:),0.5) / PLEPS(:,:,:) * & +#endif (PEXPL*PTKEM(:,:,:) + PIMPL*ZRES(:,:,:)) * PRHODJ(:,:,:) !$acc end kernels !$acc update self(PRTKES) @@ -527,7 +539,11 @@ END IF ! ------------------------------- ! !$acc kernels +#ifndef MNH_BITREP PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * & +#else +PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * BR_POW(PTKEM(:,:,:),0.5) / PLEPS(:,:,:) * & +#endif (PEXPL*PTKEM(:,:,:) + PIMPL*ZRES(:,:,:)) * PRHODJ(:,:,:) * PCOEF_DISS(:,:,:) ! !---------------------------------------------------------------------------- @@ -535,7 +551,11 @@ PRTHLS(:,:,:) = PRTHLS(:,:,:) + XCED * SQRT(PTKEM(:,:,:)) / PLEPS(:,:,:) * & !* 4. STORES SOME DIAGNOSTICS ! ----------------------- ! +#ifndef MNH_BITREP PDISS(:,:,:) = -XCED * (PTKEM(:,:,:)**1.5) / PLEPS(:,:,:) +#else +PDISS(:,:,:) = -XCED * BR_POW(PTKEM(:,:,:),1.5) / PLEPS(:,:,:) +#endif !$acc end kernels ! IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN -- GitLab