From d43de6542f977f49ba07cb37141fd652faf6ffa8 Mon Sep 17 00:00:00 2001 From: Quentin Rodier <quentin.rodier@meteo.fr> Date: Thu, 27 Jan 2022 17:54:22 +0100 Subject: [PATCH] Quentin 27/01/2022: merge (end) turb.F90 : add IBM (MNH->COMMON) --- docs/TODO | 3 +++ src/arome/aux/ibm_mixinglength.f90 | 35 ++++++++++++++++++++++++++++++ src/arome/aux/modd_ibm_paramn.f90 | 15 +++++++++++++ src/common/turb/turb.F90 | 10 +++++++++ 4 files changed, 63 insertions(+) create mode 100644 src/arome/aux/ibm_mixinglength.f90 create mode 100644 src/arome/aux/modd_ibm_paramn.f90 diff --git a/docs/TODO b/docs/TODO index a6a30bb9b..220fa534a 100644 --- a/docs/TODO +++ b/docs/TODO @@ -45,3 +45,6 @@ Ce répertoire devra être vidé à la fin du phasage, les modifications nécess Budgets/DDH - Le code dans budget_DDH devra être transféré dans mode_budget - les routines arome specifiques aux budgets sont dans mpa/micro, il faudrait les mettre ailleurs + +Nettoyage apl_arome non fait (pb a la compilation) ==> 4 arguments dans aro_turb_mnh supprimés (non utilisés) +turb.F90 : il reste un CALL à SOURCES_NEG_CORRECT à ajouter. Besoin de récupérer CCLOUD dans apl_arome : comment ? diff --git a/src/arome/aux/ibm_mixinglength.f90 b/src/arome/aux/ibm_mixinglength.f90 new file mode 100644 index 000000000..766627888 --- /dev/null +++ b/src/arome/aux/ibm_mixinglength.f90 @@ -0,0 +1,35 @@ +!MNH_LIC Copyright 2019-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +!----------------------------------------------------------------- +! +! ############################ +MODULE MODI_IBM_MIXINGLENGTH + ! ############################ + ! + INTERFACE + ! + SUBROUTINE IBM_MIXINGLENGTH(PLM,PLEPS,PMU,PHI,PTKE) + ! + REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PLM + REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PLEPS + REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU + REAL, DIMENSION(:,:,:), INTENT(IN) :: PHI + REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE + ! + END SUBROUTINE IBM_MIXINGLENGTH + ! + END INTERFACE +END MODULE MODI_IBM_MIXINGLENGTH + ! + SUBROUTINE IBM_MIXINGLENGTH(PLM,PLEPS,PMU,PHI,PTKE) + ! + REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PLM + REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PLEPS + REAL, DIMENSION(:,:,:), INTENT(OUT) :: PMU + REAL, DIMENSION(:,:,:), INTENT(IN) :: PHI + REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE + ! + END SUBROUTINE IBM_MIXINGLENGTH + ! diff --git a/src/arome/aux/modd_ibm_paramn.f90 b/src/arome/aux/modd_ibm_paramn.f90 new file mode 100644 index 000000000..716a93e6d --- /dev/null +++ b/src/arome/aux/modd_ibm_paramn.f90 @@ -0,0 +1,15 @@ +!MNH_LIC Copyright 2019-2021 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC for details. version 1. +!----------------------------------------------------------------- +! +! ####################### +MODULE MODD_IBM_PARAM_n + ! ####################### + IMPLICIT NONE + LOGICAL :: LIBM,LIBM_TROUBLE + REAL, DIMENSION(:,:,:,:) , POINTER :: XIBM_LS=>NULL() ! LSF for MNH + REAL, DIMENSION(:,:,:) , POINTER :: XIBM_XMUT=>NULL() +END MODULE MODD_IBM_PARAM_n +! diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index 4bca37c65..f86eaf87a 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -272,6 +272,9 @@ USE MODE_SOURCES_NEG_CORRECT, ONLY: SOURCES_NEG_CORRECT USE MODE_EMOIST, ONLY: EMOIST USE MODE_ETHETA, ONLY: ETHETA ! +USE MODD_IBM_PARAM_n, ONLY: LIBM, XIBM_LS, XIBM_XMUT +USE MODI_IBM_MIXINGLENGTH +! IMPLICIT NONE ! ! @@ -733,6 +736,13 @@ IF (HTURBLEN=='ADAP') ZLEPS = MIN(ZLEPS,ZLMW*XCADAP) IF (HTURBDIM=="3DIM") THEN CALL UPDATE_LM(HLBCX,HLBCY,ZLM,ZLEPS) END IF +! +!* 3.9 Mixing length correction if immersed walls +! ------------------------------------------ +! +IF (LIBM) THEN + CALL IBM_MIXINGLENGTH(PLEM,ZLEPS,XIBM_XMUT,XIBM_LS(:,:,:,1),PTKET) +ENDIF !---------------------------------------------------------------------------- ! !* 4. GO INTO THE AXES FOLLOWING THE SURFACE -- GitLab