From f70868150a6c52d3648e4d5f93cff8bdd0149c74 Mon Sep 17 00:00:00 2001 From: Gaelle DELAUTIER <gaelle.delautier@meteo.fr> Date: Tue, 15 May 2018 14:13:07 +0200 Subject: [PATCH] Q Rodier 15/05/2018 : new mixing length CTURBLEN='RM17'MNH/bl89.f90 --- src/MNH/lesn.f90 | 5 +++-- src/MNH/turb.f90 | 28 ++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/MNH/lesn.f90 b/src/MNH/lesn.f90 index fe4a59070..eea67385b 100644 --- a/src/MNH/lesn.f90 +++ b/src/MNH/lesn.f90 @@ -1,7 +1,8 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2014 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. +! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/lesn.f90,v $ !----------------------------------------------------------------- ! ################# SUBROUTINE LES_n @@ -3206,7 +3207,7 @@ ELSE IF (CBL_HEIGHT_DEF=='KE ') THEN ! ZKE_TOT(:) = ZKE_TOT(:) + XLES_SUBGRID_TKE (:,NLES_CURRENT_TCOUNT,1) ! - IF (CTURBDIM/='BL89' .AND. LLES_RESOLVED) & + IF (CTURBLEN/='BL89' .AND. CTURBLEN/='RM17' .AND. LLES_RESOLVED) & ZKE_TOT(:) = ZKE_TOT(:) + XLES_RESOLVED_KE(:,NLES_CURRENT_TCOUNT,1) ! ZINT_KE_TOT = 0. diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90 index da1295a64..5b4090e65 100644 --- a/src/MNH/turb.f90 +++ b/src/MNH/turb.f90 @@ -341,6 +341,7 @@ END MODULE MODI_TURB !! 10/2012 J.Escobar Bypass PGI bug , redefine some allocatable array inplace of automatic !! 04/2016 (C.Lac) correction of negativity for KHKO !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O +!! 01/2018 (Q.Rodier) Introduction of RM17 !! -------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -355,6 +356,9 @@ USE MODD_IO_ll, ONLY: TFILEDATA USE MODD_LES USE MODD_NSV ! +USE MODI_GRADIENT_M +USE MODI_GRADIENT_U +USE MODI_GRADIENT_V USE MODI_BL89 USE MODI_TURB_VER USE MODI_ROTATE_WIND @@ -540,6 +544,7 @@ REAL :: ZALPHA ! proportionnality constant between Dz/2 and ! REAL :: ZTIME1, ZTIME2 REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZTT,ZEXNE,ZLV,ZLS,ZCPH +REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZSHEAR, ZDUDZ, ZDVDZ TYPE(TFIELDDATA) :: TZFIELD ! !------------------------------------------------------------------------------------------ @@ -740,21 +745,31 @@ SELECT CASE (HTURBLEN) ! ------------------ CASE ('BL89') - CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZLM) + ZSHEAR=0. + CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM) ! -!* 3.2 Delta mixing length +!* 3.2 RM17 mixing length +! ------------------ + + CASE ('RM17') + ZDUDZ = MXF(MZF(1,KKU,1,GZ_U_UW(1,KKU,1,PUT,PDZZ))) + ZDVDZ = MYF(MZF(1,KKU,1,GZ_V_VW(1,KKU,1,PVT,PDZZ))) + ZSHEAR = SQRT(ZDUDZ*ZDUDZ + ZDVDZ*ZDVDZ) + CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM) +! +!* 3.3 Delta mixing length ! ------------------- ! CASE ('DELT') CALL DELT(ZLM) ! -!* 3.3 Deardorff mixing length +!* 3.4 Deardorff mixing length ! ----------------------- ! CASE ('DEAR') CALL DEAR(ZLM) ! -!* 3.4 Blackadar mixing length +!* 3.5 Blackadar mixing length ! ----------------------- ! CASE ('BLKR') @@ -1635,8 +1650,9 @@ ELSE ! !* 3.1 BL89 mixing length ! ------------------ - CASE ('BL89') - CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZLM_CLOUD) + CASE ('BL89','RM17') + ZSHEAR=0. + CALL BL89(KKA,KKU,KKL,PZZ,PDZZ,PTHVREF,ZTHLM,KRR,ZRM,PTKET,ZSHEAR,ZLM_CLOUD) ! !* 3.2 Delta mixing length ! ------------------- -- GitLab