From 70397e27564e85b459ded184484e7ab7ba935bf7 Mon Sep 17 00:00:00 2001 From: Quentin Rodier <quentin.rodier@meteo.fr> Date: Fri, 21 Jan 2022 16:33:44 +0100 Subject: [PATCH] Quentin 21/01/2022: mv routines to mode (tridiag* and tm06*) --- src/arome/turb/mf_turb.F90 | 2 +- src/arome/turb/modi_tm06.F90 | 25 ----------------- src/arome/turb/modi_tm06_h.F90 | 24 ---------------- src/arome/turb/modi_tridiag.F90 | 25 ----------------- src/arome/turb/modi_tridiag_massflux.F90 | 28 ------------------- src/arome/turb/modi_tridiag_thermo.F90 | 26 ----------------- src/arome/turb/modi_tridiag_tke.F90 | 27 ------------------ src/arome/turb/modi_tridiag_wind.F90 | 27 ------------------ src/common/turb/mode_tke_eps_sources.F90 | 2 +- src/common/turb/{tm06.F90 => mode_tm06.F90} | 7 +++-- .../turb/{tm06_h.F90 => mode_tm06_h.F90} | 7 +++-- .../turb/{tridiag.F90 => mode_tridiag.F90} | 7 +++-- ...massflux.F90 => mode_tridiag_massflux.F90} | 7 +++-- ...iag_thermo.F90 => mode_tridiag_thermo.F90} | 7 +++-- .../{tridiag_tke.F90 => mode_tridiag_tke.F90} | 7 +++-- ...tridiag_wind.F90 => mode_tridiag_wind.F90} | 7 +++-- src/common/turb/mode_turb_ver_dyn_flux.F90 | 14 +++------- src/common/turb/mode_turb_ver_sv_flux.F90 | 3 +- src/common/turb/mode_turb_ver_thermo_corr.F90 | 8 ------ src/common/turb/mode_turb_ver_thermo_flux.F90 | 6 ++-- src/common/turb/turb.F90 | 2 +- 21 files changed, 46 insertions(+), 222 deletions(-) delete mode 100644 src/arome/turb/modi_tm06.F90 delete mode 100644 src/arome/turb/modi_tm06_h.F90 delete mode 100644 src/arome/turb/modi_tridiag.F90 delete mode 100644 src/arome/turb/modi_tridiag_massflux.F90 delete mode 100644 src/arome/turb/modi_tridiag_thermo.F90 delete mode 100644 src/arome/turb/modi_tridiag_tke.F90 delete mode 100644 src/arome/turb/modi_tridiag_wind.F90 rename src/common/turb/{tm06.F90 => mode_tm06.F90} (96%) rename src/common/turb/{tm06_h.F90 => mode_tm06_h.F90} (96%) rename src/common/turb/{tridiag.F90 => mode_tridiag.F90} (98%) rename src/common/turb/{tridiag_massflux.F90 => mode_tridiag_massflux.F90} (98%) rename src/common/turb/{tridiag_thermo.F90 => mode_tridiag_thermo.F90} (98%) rename src/common/turb/{tridiag_tke.F90 => mode_tridiag_tke.F90} (98%) rename src/common/turb/{tridiag_wind.F90 => mode_tridiag_wind.F90} (98%) diff --git a/src/arome/turb/mf_turb.F90 b/src/arome/turb/mf_turb.F90 index ee1e2cbf2..3869d3bb0 100644 --- a/src/arome/turb/mf_turb.F90 +++ b/src/arome/turb/mf_turb.F90 @@ -59,7 +59,7 @@ USE MODD_CMFSHALL ! USE MODI_SHUMAN_MF, ONLY: MZM_MF -USE MODI_TRIDIAG_MASSFLUX +USE MODE_TRIDIAG_MASSFLUX, ONLY: TRIDIAG_MASSFLUX ! IMPLICIT NONE ! diff --git a/src/arome/turb/modi_tm06.F90 b/src/arome/turb/modi_tm06.F90 deleted file mode 100644 index 5914828c3..000000000 --- a/src/arome/turb/modi_tm06.F90 +++ /dev/null @@ -1,25 +0,0 @@ -! ######spl - MODULE MODI_TM06 -! ################ -! -INTERFACE -! - SUBROUTINE TM06(KKA,KKU,KKL,PTHVREF,PBL_DEPTH,PZZ,PSFTH,PMWTH,PMTH2) -! -INTEGER, INTENT(IN) :: KKA !near ground array index -INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index -INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=ARO -REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHVREF ! reference potential temperature -REAL, DIMENSION(:,:), INTENT(IN) :: PBL_DEPTH ! boundary layer height -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! altitude of flux levels -REAL, DIMENSION(:,:), INTENT(IN) :: PSFTH ! surface heat flux -REAL, DIMENSION(:,:,:), INTENT(OUT):: PMWTH ! w'2th' -REAL, DIMENSION(:,:,:), INTENT(OUT):: PMTH2 ! w'th'2 -! -!------------------------------------------------------------------------------- -! -END SUBROUTINE TM06 -! -END INTERFACE -! -END MODULE MODI_TM06 diff --git a/src/arome/turb/modi_tm06_h.F90 b/src/arome/turb/modi_tm06_h.F90 deleted file mode 100644 index c37f96f34..000000000 --- a/src/arome/turb/modi_tm06_h.F90 +++ /dev/null @@ -1,24 +0,0 @@ -! ######spl - MODULE MODI_TM06_H -! ################ -! -INTERFACE -! - SUBROUTINE TM06_H(KKB,KKTB,KKTE,PTSTEP,PZZ,PFLXZ,PBL_DEPTH) -! -INTEGER, INTENT(IN) :: KKB ! index of 1st physical level - ! close to ground -INTEGER, INTENT(IN) :: KKTB ! first physical level in k -INTEGER, INTENT(IN) :: KKTE ! last physical level in k -REAL, INTENT(IN) :: PTSTEP ! Double time step -REAL, DIMENSION(:,:,:), INTENT(IN) :: PZZ ! altitude of flux levels -REAL, DIMENSION(:,:,:), INTENT(IN) :: PFLXZ ! heat flux -REAL, DIMENSION(:,:), INTENT(INOUT) :: PBL_DEPTH ! boundary layer height -! -!------------------------------------------------------------------------------- -! -END SUBROUTINE TM06_H -! -END INTERFACE -! -END MODULE MODI_TM06_H diff --git a/src/arome/turb/modi_tridiag.F90 b/src/arome/turb/modi_tridiag.F90 deleted file mode 100644 index f04637f9f..000000000 --- a/src/arome/turb/modi_tridiag.F90 +++ /dev/null @@ -1,25 +0,0 @@ -! ######spl - MODULE MODI_TRIDIAG -! ################### -INTERFACE -! - SUBROUTINE TRIDIAG(KKA,KKU,KKL,PVARM,PA,PTSTEP,PEXPL,PIMPL, & - PRHODJ,PSOURCE,PVARP ) -! -INTEGER, INTENT(IN) :: KKA !near ground array index -INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index -INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=AR -REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARM ! variable at t-1 -REAL, DIMENSION(:,:,:), INTENT(IN) :: PA ! upper diag. elements -REAL, INTENT(IN) :: PTSTEP ! Double time step -REAL, INTENT(IN) :: PEXPL,PIMPL ! weights of the temporal scheme -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! (dry rho)*J -REAL, DIMENSION(:,:,:), INTENT(IN) :: PSOURCE ! source term of PVAR -! -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PVARP ! variable at t+1 -! -END SUBROUTINE TRIDIAG -! -END INTERFACE -! -END MODULE MODI_TRIDIAG diff --git a/src/arome/turb/modi_tridiag_massflux.F90 b/src/arome/turb/modi_tridiag_massflux.F90 deleted file mode 100644 index 1e6a223e9..000000000 --- a/src/arome/turb/modi_tridiag_massflux.F90 +++ /dev/null @@ -1,28 +0,0 @@ -! ######spl - MODULE MODI_TRIDIAG_MASSFLUX -! ################### -INTERFACE -! - SUBROUTINE TRIDIAG_MASSFLUX(KKA,KKB,KKE,KKU,KKL,PVARM,PF,PDFDT,PTSTEP,PIMPL, & - PDZZ,PRHODJ,PVARP ) -! -INTEGER, INTENT(IN) :: KKA ! near ground array index -INTEGER, INTENT(IN) :: KKB ! near ground physical index -INTEGER, INTENT(IN) :: KKE ! uppest atmosphere physical index -INTEGER, INTENT(IN) :: KKU ! uppest atmosphere array index -INTEGER, INTENT(IN) :: KKL ! +1 if grid goes from ground to atmosphere top, -1 otherwise -REAL, DIMENSION(:,:), INTENT(IN) :: PVARM ! variable at t-1 at mass point -REAL, DIMENSION(:,:), INTENT(IN) :: PF ! flux in dT/dt=-dF/dz at flux point -REAL, DIMENSION(:,:), INTENT(IN) :: PDFDT ! dF/dT at flux point -REAL, INTENT(IN) :: PTSTEP ! Double time step -REAL, INTENT(IN) :: PIMPL ! implicit weight -REAL, DIMENSION(:,:), INTENT(IN) :: PDZZ ! Dz at flux point -REAL, DIMENSION(:,:), INTENT(IN) :: PRHODJ ! (dry rho)*J at mass point -! -REAL, DIMENSION(:,:), INTENT(OUT):: PVARP ! variable at t+1 at mass point -! -END SUBROUTINE TRIDIAG_MASSFLUX -! -END INTERFACE -! -END MODULE MODI_TRIDIAG_MASSFLUX diff --git a/src/arome/turb/modi_tridiag_thermo.F90 b/src/arome/turb/modi_tridiag_thermo.F90 deleted file mode 100644 index e0b5240fb..000000000 --- a/src/arome/turb/modi_tridiag_thermo.F90 +++ /dev/null @@ -1,26 +0,0 @@ -! ######spl - MODULE MODI_TRIDIAG_THERMO -! ################### -INTERFACE -! - SUBROUTINE TRIDIAG_THERMO(KKA,KKU,KKL,PVARM,PF,PDFDDTDZ,PTSTEP,PIMPL, & - PDZZ,PRHODJ,PVARP ) -! -INTEGER, INTENT(IN) :: KKA !near ground array index -INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index -INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=AR -REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARM ! variable at t-1 at mass point -REAL, DIMENSION(:,:,:), INTENT(IN) :: PF ! flux in dT/dt=-dF/dz at flux point -REAL, DIMENSION(:,:,:), INTENT(IN) :: PDFDDTDZ! dF/d(dT/dz) at flux point -REAL, INTENT(IN) :: PTSTEP ! Double time step -REAL, INTENT(IN) :: PIMPL ! implicit weight -REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ ! Dz at flux point -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! (dry rho)*J at mass point -! -REAL, DIMENSION(:,:,:), INTENT(OUT):: PVARP ! variable at t+1 at mass point -! -END SUBROUTINE TRIDIAG_THERMO -! -END INTERFACE -! -END MODULE MODI_TRIDIAG_THERMO diff --git a/src/arome/turb/modi_tridiag_tke.F90 b/src/arome/turb/modi_tridiag_tke.F90 deleted file mode 100644 index 9398d9fb6..000000000 --- a/src/arome/turb/modi_tridiag_tke.F90 +++ /dev/null @@ -1,27 +0,0 @@ -! ######spl - MODULE MODI_TRIDIAG_TKE -! ########################## -INTERFACE -! - SUBROUTINE TRIDIAG_TKE(KKA,KKU,KKL,PVARM,PA,PTSTEP,PEXPL,PIMPL, & - PRHODJ,PSOURCE,PDIAG,PVARP ) -! -INTEGER, INTENT(IN) :: KKA !near ground array index -INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index -INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=ARO -REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARM ! variable at t-1 -REAL, DIMENSION(:,:,:), INTENT(IN) :: PA ! upper diag. elements -REAL, INTENT(IN) :: PTSTEP ! Double time step -REAL, INTENT(IN) :: PEXPL,PIMPL ! weights of the temporal scheme -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJ ! (dry rho)*J -REAL, DIMENSION(:,:,:), INTENT(IN) :: PSOURCE ! source term of PVAR -REAL, DIMENSION(:,:,:), INTENT(IN) :: PDIAG ! diagonal term linked to - ! the implicit dissipation -! -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PVARP ! variable at t+1 -! -END SUBROUTINE TRIDIAG_TKE -! -END INTERFACE -! -END MODULE MODI_TRIDIAG_TKE diff --git a/src/arome/turb/modi_tridiag_wind.F90 b/src/arome/turb/modi_tridiag_wind.F90 deleted file mode 100644 index 87fb9c3e8..000000000 --- a/src/arome/turb/modi_tridiag_wind.F90 +++ /dev/null @@ -1,27 +0,0 @@ -! ######spl - MODULE MODI_TRIDIAG_WIND -! ######################## -INTERFACE -! - SUBROUTINE TRIDIAG_WIND(KKA,KKU,KKL,PVARM,PA,PCOEFS,PTSTEP,PEXPL,PIMPL, & - PRHODJA,PSOURCE,PVARP ) -! -INTEGER, INTENT(IN) :: KKA !near ground array index -INTEGER, INTENT(IN) :: KKU !uppest atmosphere array index -INTEGER, INTENT(IN) :: KKL !vert. levels type 1=MNH -1=AR -REAL, DIMENSION(:,:,:), INTENT(IN) :: PVARM ! variable at t-1 -REAL, DIMENSION(:,:,:), INTENT(IN) :: PA ! upper diag. elements -REAL, DIMENSION(:,:), INTENT(IN) :: PCOEFS ! implicit coeff for the - ! surface flux -REAL, INTENT(IN) :: PTSTEP ! Double time step -REAL, INTENT(IN) :: PEXPL,PIMPL ! weights of the temporal scheme -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODJA ! (dry rho)*J averaged -REAL, DIMENSION(:,:,:), INTENT(IN) :: PSOURCE ! source term of PVAR -! -REAL, DIMENSION(:,:,:), INTENT(OUT) :: PVARP ! variable at t+1 -! -END SUBROUTINE TRIDIAG_WIND -! -END INTERFACE -! -END MODULE MODI_TRIDIAG_WIND diff --git a/src/common/turb/mode_tke_eps_sources.F90 b/src/common/turb/mode_tke_eps_sources.F90 index d266707a4..2f31473d7 100644 --- a/src/common/turb/mode_tke_eps_sources.F90 +++ b/src/common/turb/mode_tke_eps_sources.F90 @@ -150,7 +150,7 @@ USE MODI_GRADIENT_U USE MODI_GRADIENT_V USE MODI_GRADIENT_W USE MODI_LES_MEAN_SUBGRID -USE MODI_TRIDIAG_TKE +USE MODE_TRIDIAG_TKE, ONLY: TRIDIAG_TKE USE MODI_SHUMAN , ONLY : DZM, DZF, MZM, MZF ! ! diff --git a/src/common/turb/tm06.F90 b/src/common/turb/mode_tm06.F90 similarity index 96% rename from src/common/turb/tm06.F90 rename to src/common/turb/mode_tm06.F90 index 22bf99d25..903ea792e 100644 --- a/src/common/turb/tm06.F90 +++ b/src/common/turb/mode_tm06.F90 @@ -2,8 +2,10 @@ !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. -! ######spl - SUBROUTINE TM06(KKA,KKU,KKL,PTHVREF,PBL_DEPTH,PZZ,PSFTH,PMWTH,PMTH2) +MODULE MODE_TM06 +IMPLICIT NONE +CONTAINS +SUBROUTINE TM06(KKA,KKU,KKL,PTHVREF,PBL_DEPTH,PZZ,PSFTH,PMWTH,PMTH2) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK ! ################################################################# @@ -136,3 +138,4 @@ PMWTH(:,:,KKU) = PMWTH(:,:,KKU) * ZWSTAR(:,:)**2*ZTSTAR(:,:) !---------------------------------------------------------------------------- IF (LHOOK) CALL DR_HOOK('TM06',1,ZHOOK_HANDLE) END SUBROUTINE TM06 +END MODULE MODE_TM06 diff --git a/src/common/turb/tm06_h.F90 b/src/common/turb/mode_tm06_h.F90 similarity index 96% rename from src/common/turb/tm06_h.F90 rename to src/common/turb/mode_tm06_h.F90 index 3162f5149..7d32fdd62 100644 --- a/src/common/turb/tm06_h.F90 +++ b/src/common/turb/mode_tm06_h.F90 @@ -2,8 +2,10 @@ !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 -! ######spl - SUBROUTINE TM06_H(KKB,KKTB,KKTE,PTSTEP,PZZ,PFLXZ,PBL_DEPTH) +MODULE MODE_TM06_H +IMPLICIT NONE +CONTAINS +SUBROUTINE TM06_H(KKB,KKTB,KKTE,PTSTEP,PZZ,PFLXZ,PBL_DEPTH) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK ! ################################################################# @@ -96,3 +98,4 @@ WHERE(PBL_DEPTH(:,:)/=XUNDEF) PBL_DEPTH(:,:)=MIN(PBL_DEPTH(:,:),ZBL_DEPTH(:,:)+Z !---------------------------------------------------------------------------- IF (LHOOK) CALL DR_HOOK('TM06_H',1,ZHOOK_HANDLE) END SUBROUTINE TM06_H +END MODULE MODE_TM06_H diff --git a/src/common/turb/tridiag.F90 b/src/common/turb/mode_tridiag.F90 similarity index 98% rename from src/common/turb/tridiag.F90 rename to src/common/turb/mode_tridiag.F90 index ee28bf7bb..82b2ec2b0 100644 --- a/src/common/turb/tridiag.F90 +++ b/src/common/turb/mode_tridiag.F90 @@ -2,8 +2,10 @@ !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. -! ######spl - SUBROUTINE TRIDIAG(KKA,KKU,KKL,PVARM,PA,PTSTEP,PEXPL,PIMPL, & +MODULE MODE_TRIDIAG +IMPLICIT NONE +CONTAINS +SUBROUTINE TRIDIAG(KKA,KKU,KKL,PVARM,PA,PTSTEP,PEXPL,PIMPL, & PRHODJ,PSOURCE,PVARP ) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK @@ -230,3 +232,4 @@ PVARP(:,:,KKU)=PVARP(:,:,IKE) ! IF (LHOOK) CALL DR_HOOK('TRIDIAG',1,ZHOOK_HANDLE) END SUBROUTINE TRIDIAG +END MODULE MODE_TRIDIAG diff --git a/src/common/turb/tridiag_massflux.F90 b/src/common/turb/mode_tridiag_massflux.F90 similarity index 98% rename from src/common/turb/tridiag_massflux.F90 rename to src/common/turb/mode_tridiag_massflux.F90 index 401018cc0..915d75b93 100644 --- a/src/common/turb/tridiag_massflux.F90 +++ b/src/common/turb/mode_tridiag_massflux.F90 @@ -2,8 +2,10 @@ !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. -! ######spl - SUBROUTINE TRIDIAG_MASSFLUX(KKA,KKB,KKE,KKU,KKL,PVARM,PF,PDFDT,PTSTEP,PIMPL, & +MODULE MODE_TRIDIAG_MASSFLUX +IMPLICIT NONE +CONTAINS +SUBROUTINE TRIDIAG_MASSFLUX(KKA,KKB,KKE,KKU,KKL,PVARM,PF,PDFDT,PTSTEP,PIMPL, & PDZZ,PRHODJ,PVARP ) USE PARKIND1, ONLY : JPRB @@ -275,3 +277,4 @@ PVARP(:,KKU)=PVARP(:,KKE) ! IF (LHOOK) CALL DR_HOOK('TRIDIAG_MASSFLUX',1,ZHOOK_HANDLE) END SUBROUTINE TRIDIAG_MASSFLUX +END MODULE MODE_TRIDIAG_MASSFLUX diff --git a/src/common/turb/tridiag_thermo.F90 b/src/common/turb/mode_tridiag_thermo.F90 similarity index 98% rename from src/common/turb/tridiag_thermo.F90 rename to src/common/turb/mode_tridiag_thermo.F90 index 7d20b2fa1..5488c69f0 100644 --- a/src/common/turb/tridiag_thermo.F90 +++ b/src/common/turb/mode_tridiag_thermo.F90 @@ -2,8 +2,10 @@ !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. -! ######spl - SUBROUTINE TRIDIAG_THERMO(KKA,KKU,KKL,PVARM,PF,PDFDDTDZ,PTSTEP,PIMPL, & +MODULE MODE_TRIDIAG_THERMO +IMPLICIT NONE +CONTAINS +SUBROUTINE TRIDIAG_THERMO(KKA,KKU,KKL,PVARM,PF,PDFDDTDZ,PTSTEP,PIMPL, & PDZZ,PRHODJ,PVARP ) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK @@ -269,3 +271,4 @@ PVARP(:,:,KKU)=PVARP(:,:,IKE) ! IF (LHOOK) CALL DR_HOOK('TRIDIAG_THERMO',1,ZHOOK_HANDLE) END SUBROUTINE TRIDIAG_THERMO +END MODULE MODE_TRIDIAG_THERMO diff --git a/src/common/turb/tridiag_tke.F90 b/src/common/turb/mode_tridiag_tke.F90 similarity index 98% rename from src/common/turb/tridiag_tke.F90 rename to src/common/turb/mode_tridiag_tke.F90 index aaba12157..52ec08bdf 100644 --- a/src/common/turb/tridiag_tke.F90 +++ b/src/common/turb/mode_tridiag_tke.F90 @@ -2,8 +2,10 @@ !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. -! ######spl - SUBROUTINE TRIDIAG_TKE(KKA,KKU,KKL,PVARM,PA,PTSTEP,PEXPL,PIMPL, & +MODULE MODE_TRIDIAG_TKE +IMPLICIT NONE +CONTAINS +SUBROUTINE TRIDIAG_TKE(KKA,KKU,KKL,PVARM,PA,PTSTEP,PEXPL,PIMPL, & PRHODJ,PSOURCE,PDIAG,PVARP ) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK @@ -233,3 +235,4 @@ PVARP(:,:,KKU)=PVARP(:,:,IKE) ! IF (LHOOK) CALL DR_HOOK('TRIDIAG_TKE',1,ZHOOK_HANDLE) END SUBROUTINE TRIDIAG_TKE +END MODULE MODE_TRIDIAG_TKE diff --git a/src/common/turb/tridiag_wind.F90 b/src/common/turb/mode_tridiag_wind.F90 similarity index 98% rename from src/common/turb/tridiag_wind.F90 rename to src/common/turb/mode_tridiag_wind.F90 index 1f074af2b..65fd7256e 100644 --- a/src/common/turb/tridiag_wind.F90 +++ b/src/common/turb/mode_tridiag_wind.F90 @@ -2,8 +2,10 @@ !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. -! ######spl - SUBROUTINE TRIDIAG_WIND(KKA,KKU,KKL,PVARM,PA,PCOEFS,PTSTEP,PEXPL,PIMPL, & +MODULE MODE_TRIDIAG_WIND +IMPLICIT NONE +CONTAINS +SUBROUTINE TRIDIAG_WIND(KKA,KKU,KKL,PVARM,PA,PCOEFS,PTSTEP,PEXPL,PIMPL, & PRHODJA,PSOURCE,PVARP ) USE PARKIND1, ONLY : JPRB USE YOMHOOK , ONLY : LHOOK, DR_HOOK @@ -234,3 +236,4 @@ PVARP(:,:,KKU)=PVARP(:,:,IKE) ! IF (LHOOK) CALL DR_HOOK('TRIDIAG_WIND',1,ZHOOK_HANDLE) END SUBROUTINE TRIDIAG_WIND +END MODULE MODE_TRIDIAG_WIND diff --git a/src/common/turb/mode_turb_ver_dyn_flux.F90 b/src/common/turb/mode_turb_ver_dyn_flux.F90 index b4e25e766..26d1ba913 100644 --- a/src/common/turb/mode_turb_ver_dyn_flux.F90 +++ b/src/common/turb/mode_turb_ver_dyn_flux.F90 @@ -115,9 +115,6 @@ SUBROUTINE TURB_VER_DYN_FLUX(KKA,KKU,KKL, & !! DXF,DYF,DZF,DZM !! : Shuman functions (difference operators) !! -!! SUBROUTINE TRIDIAG : to compute the split implicit evolution -!! of a variable located at a mass point -!! !! SUBROUTINE TRIDIAG_WIND: to compute the split implicit evolution !! of a variable located at a wind point !! @@ -230,8 +227,7 @@ USE MODI_GRADIENT_M USE MODI_SECOND_MNH USE MODI_SHUMAN , ONLY: MZM, MZF, MXM, MXF, MYM, MYF,& & DZM, DXF, DXM, DYF, DYM -USE MODI_TRIDIAG -USE MODI_TRIDIAG_WIND +USE MODE_TRIDIAG_WIND, ONLY: TRIDIAG_WIND USE MODI_LES_MEAN_SUBGRID ! USE MODE_IO_FIELD_WRITE, only: IO_Field_write @@ -335,12 +331,12 @@ TYPE(TFIELDDATA) :: TZFIELD ! !* 1. PRELIMINARIES ! ------------- -ZA=XUNDEF -PDP=XUNDEF -! REAL(KIND=JPRB) :: ZHOOK_HANDLE IF (LHOOK) CALL DR_HOOK('TURB_VER_DYN_FLUX',0,ZHOOK_HANDLE) ! +ZA=XUNDEF +PDP=XUNDEF +! IIU=SIZE(PUM,1) IJU=SIZE(PUM,2) CALL GET_INDICE_ll (IIB,IJB,IIE,IJE,IIU,IJU) @@ -351,8 +347,6 @@ IKE=KKU-JPVEXT_TURB*KKL IKT=SIZE(PUM,3) IKTB=1+JPVEXT_TURB IKTE=IKT-JPVEXT_TURB - - ! ZSOURCE = 0. ZFLXZ = 0. diff --git a/src/common/turb/mode_turb_ver_sv_flux.F90 b/src/common/turb/mode_turb_ver_sv_flux.F90 index 415167088..6fdbba5c3 100644 --- a/src/common/turb/mode_turb_ver_sv_flux.F90 +++ b/src/common/turb/mode_turb_ver_sv_flux.F90 @@ -226,8 +226,7 @@ USE MODI_GRADIENT_V USE MODI_GRADIENT_W USE MODI_GRADIENT_M USE MODI_SHUMAN , ONLY : DZM, MZM, MZF -USE MODI_TRIDIAG -USE MODI_TRIDIAG_WIND +USE MODE_TRIDIAG, ONLY: TRIDIAG USE MODI_EMOIST USE MODI_ETHETA USE MODI_LES_MEAN_SUBGRID diff --git a/src/common/turb/mode_turb_ver_thermo_corr.F90 b/src/common/turb/mode_turb_ver_thermo_corr.F90 index 3d420f393..add00cbc3 100644 --- a/src/common/turb/mode_turb_ver_thermo_corr.F90 +++ b/src/common/turb/mode_turb_ver_thermo_corr.F90 @@ -117,12 +117,6 @@ SUBROUTINE TURB_VER_THERMO_CORR(KKA,KKU,KKL,KRR,KRRL,KRRI, & !! DXF,DYF,DZF,DZM !! : Shuman functions (difference operators) !! -!! SUBROUTINE TRIDIAG : to compute the split implicit evolution -!! of a variable located at a mass point -!! -!! SUBROUTINE TRIDIAG_WIND: to compute the split implicit evolution -!! of a variable located at a wind point -!! !! FUNCTIONs ETHETA and EMOIST : !! allows to compute: !! - the coefficients for the turbulent correlation between @@ -223,9 +217,7 @@ USE MODI_GRADIENT_V USE MODI_GRADIENT_W USE MODI_GRADIENT_M USE MODI_SHUMAN , ONLY : DZM, MZM, MZF -USE MODI_TRIDIAG USE MODI_LES_MEAN_SUBGRID -USE MODI_TRIDIAG_THERMO ! USE MODE_IO_FIELD_WRITE, only: IO_Field_write USE MODE_PRANDTL diff --git a/src/common/turb/mode_turb_ver_thermo_flux.F90 b/src/common/turb/mode_turb_ver_thermo_flux.F90 index 7b7b6a4d4..ce4391f43 100644 --- a/src/common/turb/mode_turb_ver_thermo_flux.F90 +++ b/src/common/turb/mode_turb_ver_thermo_flux.F90 @@ -250,10 +250,10 @@ USE MODI_GRADIENT_V USE MODI_GRADIENT_W USE MODI_GRADIENT_M USE MODI_SHUMAN , ONLY : DZF, DZM, MZF, MZM, MYF, MXF -USE MODI_TRIDIAG +USE MODE_TRIDIAG, ONLY: TRIDIAG USE MODI_LES_MEAN_SUBGRID -USE MODI_TRIDIAG_THERMO -USE MODI_TM06_H +USE MODE_TRIDIAG_THERMO, ONLY: TRIDIAG_THERMO +USE MODE_TM06_H, ONLY: TM06_H ! USE MODE_IO_FIELD_WRITE, ONLY: IO_FIELD_WRITE USE MODE_PRANDTL diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index 66b6b86f4..c33809ed6 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -241,7 +241,7 @@ USE MODI_BUDGET_DDH USE MODI_LES_MEAN_SUBGRID USE MODI_RMC01 USE MODI_GRADIENT_W -USE MODI_TM06 +USE MODE_TM06, ONLY: TM06 USE MODI_UPDATE_LM ! USE MODE_SBL -- GitLab