From 704072694412a99ac175f1410827bb5b0a622816 Mon Sep 17 00:00:00 2001 From: Quentin Rodier <quentin.rodier@meteo.fr> Date: Thu, 27 Jan 2022 17:29:30 +0100 Subject: [PATCH] Quentin 27/01/2022: turb.F90 : clean unused arguments (except in apl_arome: TODO) --- src/arome/ext/aro_turb_mnh.F90 | 10 ++++------ src/common/turb/modi_turb.F90 | 23 +++++------------------ src/common/turb/turb.F90 | 33 +++++++++------------------------ src/mesonh/turb/turb.f90 | 1 - 4 files changed, 18 insertions(+), 49 deletions(-) diff --git a/src/arome/ext/aro_turb_mnh.F90 b/src/arome/ext/aro_turb_mnh.F90 index d9609464f..db3aea281 100644 --- a/src/arome/ext/aro_turb_mnh.F90 +++ b/src/arome/ext/aro_turb_mnh.F90 @@ -415,15 +415,14 @@ DO JRR=1, NBUDGET_RI YLBUDGET(JRR)%YDMDDH=>YDMDDH ENDDO -CL=HINST_SFU CALL TURB (KLEV+2,1,KKL,IMI, KRR, KRRL, KRRI, HLBCX, HLBCY, ISPLIT,IMI, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & - & HTURBDIM,HTURBLEN,'NONE','NONE', CL, & - & HMF_UPDRAFT,ZIMPL, & + & HTURBDIM,HTURBLEN,'NONE','NONE', & + & ZIMPL, & & 2*PTSTEP,ZTFILE, & & ZDXX,ZDYY,ZDZZ,ZDZX,ZDZY,ZZZ, & & ZDIRCOSXW,ZDIRCOSYW,ZDIRCOSZW,ZCOSSLOPE,ZSINSLOPE, & - & PRHODJ,PTHVREF,PRHODREF, & + & PRHODJ,PTHVREF, & & PSFTH,PSFRV,PSFSV,PSFU,PSFV, & & PPABSM,PUM,PVM,PWM,PTKEM,ZSVM,PSRCM, & & PLENGTHM,PLENGTHH,MFMOIST, & @@ -431,11 +430,10 @@ CALL TURB (KLEV+2,1,KKL,IMI, KRR, KRRL, KRRI, HLBCX, HLBCY, ISPLIT,IMI, & & ZCEI,ZCEI_MIN,ZCEI_MAX,ZCOEF_AMPL_SAT, & & PTHM,ZRM, & & PRUS,PRVS,PRWS,PRTHS,ZRRS,ZRSVS,PRTKES_OUT, & - & ZHGRAD,PSIGS, & + & PSIGS, & & PDRUS_TURB,PDRVS_TURB, & & PDRTHLS_TURB,PDRRTS_TURB,ZDRSVS_TURB, & & PFLXZTHVMF,ZWTH,ZWRC,ZWSV,PDP,PTP,PTPMF,PTDIFF,PTDISS,& - & YDDDH,YDLDDH,YDMDDH, & & YLBUDGET, KBUDGETS=SIZE(YLBUDGET), & & PEDR=PEDR) ! diff --git a/src/common/turb/modi_turb.F90 b/src/common/turb/modi_turb.F90 index 032c25750..ae2a67c52 100644 --- a/src/common/turb/modi_turb.F90 +++ b/src/common/turb/modi_turb.F90 @@ -7,11 +7,11 @@ INTERFACE SUBROUTINE TURB(KKA, KKU, KKL, KMI,KRR,KRRL,KRRI,HLBCX,HLBCY, & & KSPLIT,KMODEL_CL, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & - & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HINST_SFU, & - & HMF_UPDRAFT,PIMPL,PTSTEP,TPFILE, & + & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL, & + & PIMPL,PTSTEP,TPFILE, & & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & - & PRHODJ,PTHVREF,PRHODREF, & + & PRHODJ,PTHVREF, & & PSFTH,PSFRV,PSFSV,PSFU,PSFV, & & PPABST,PUT,PVT,PWT,PTKET,PSVT,PSRCT, & & PLENGTHM,PLENGTHH,MFMOIST, & @@ -19,17 +19,13 @@ INTERFACE & PCEI,PCEI_MIN,PCEI_MAX,PCOEF_AMPL_SAT, & & PTHLT,PRT, & & PRUS,PRVS,PRWS,PRTHLS,PRRS,PRSVS,PRTKES, & - & PHGRAD,PSIGS, & + & PSIGS, & & PDRUS_TURB,PDRVS_TURB, & & PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB, & & PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTPMF,PTDIFF,PTDISS,& - & YDDDH,YDLDDH,YDMDDH, & & TBUDGETS, KBUDGETS, & & PTR,PDISS,PEDR,PLEM ) ! -USE DDH_MIX, ONLY : TYP_DDH -USE YOMLDDH, ONLY : TLDDH -USE YOMMDDH, ONLY : TMDDH USE MODD_BUDGET, ONLY : TBUDGETDATA USE MODD_IO, ONLY : TFILEDATA ! @@ -41,7 +37,6 @@ INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. CHARACTER(LEN=*),DIMENSION(:),INTENT(IN):: HLBCX, HLBCY ! X- and Y-direc LBC -CHARACTER(LEN=4),INTENT(IN) :: HMF_UPDRAFT ! Type of mass flux INTEGER, INTENT(IN) :: KSPLIT ! number of time-splitting INTEGER, INTENT(IN) :: KMODEL_CL ! model number for cloud mixing length LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the @@ -56,9 +51,8 @@ CHARACTER(LEN=4) , INTENT(IN) :: HTURBDIM ! dimensionality of the CHARACTER(LEN=4) , INTENT(IN) :: HTURBLEN ! kind of mixing length CHARACTER(LEN=4) , INTENT(IN) :: HTOM ! kind of Third Order Moment CHARACTER(LEN=4) , INTENT(IN) :: HTURBLEN_CL ! kind of cloud mixing length -CHARACTER(LEN=1) , INTENT(IN) :: HINST_SFU ! temporal location of the - ! surface friction flux REAL, INTENT(IN) :: PIMPL ! degree of implicitness +!CHARACTER (LEN=4), INTENT(IN) :: HCLOUD ! Kind of microphysical scheme REAL, INTENT(IN) :: PTSTEP ! Timestep TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file for MesoNH ! @@ -77,8 +71,6 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: MFMOIST ! Moist mass flux DUal sch REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHVREF ! Virtual Potential ! Temperature of the reference state -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! dry density of the - ! reference state ! REAL, DIMENSION(:,:), INTENT(IN) :: PSFTH,PSFRV, & ! normal surface fluxes of theta and Rv @@ -119,7 +111,6 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRSVS ! Sigma_s at time t+1 : square root of the variance of the deviation to the ! saturation -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PHGRAD REAL, DIMENSION(:,:,:), INTENT(OUT) :: PSIGS REAL, DIMENSION(:,:,:), INTENT(OUT) :: PDRUS_TURB ! evolution of rhoJ*U by turbulence only REAL, DIMENSION(:,:,:), INTENT(OUT) :: PDRVS_TURB ! evolution of rhoJ*V by turbulence only @@ -141,10 +132,6 @@ REAL, DIMENSION(:,:,:), INTENT(OUT) :: PTDISS ! Dissipation TKE term REAL, DIMENSION(:,:,:), INTENT(IN) :: PLENGTHM REAL, DIMENSION(:,:,:), INTENT(IN) :: PLENGTHH ! -TYPE(TYP_DDH), INTENT(INOUT) :: YDDDH -TYPE(TLDDH), INTENT(IN) :: YDLDDH -TYPE(TMDDH), INTENT(IN) :: YDMDDH -! TYPE(TBUDGETDATA), DIMENSION(KBUDGETS), INTENT(INOUT) :: TBUDGETS INTEGER, INTENT(IN) :: KBUDGETS ! diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index 5ba9ab49c..4bca37c65 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -6,11 +6,10 @@ SUBROUTINE TURB(KKA,KKU,KKL,KMI,KRR,KRRL,KRRI,HLBCX,HLBCY, & & KSPLIT,KMODEL_CL, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,ORMC01, & - & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HINST_SFU, & - & HMF_UPDRAFT,PIMPL, & - & PTSTEP,TPFILE, PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & + & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,PIMPL, & + & PTSTEP,TPFILE,PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & - & PRHODJ,PTHVREF,PRHODREF, & + & PRHODJ,PTHVREF, & & PSFTH,PSFRV,PSFSV,PSFU,PSFV, & & PPABST,PUT,PVT,PWT,PTKET,PSVT,PSRCT, & & PLENGTHM,PLENGTHH,MFMOIST, & @@ -18,11 +17,10 @@ & PCEI,PCEI_MIN,PCEI_MAX,PCOEF_AMPL_SAT, & & PTHLT,PRT, & & PRUS,PRVS,PRWS,PRTHLS,PRRS,PRSVS,PRTKES, & - & PHGRAD, PSIGS, & + & PSIGS, & & PDRUS_TURB,PDRVS_TURB, & & PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB, & & PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTPMF,PTDIFF,PTDISS,& - & YDDDH,YDLDDH,YDMDDH, & & TBUDGETS, KBUDGETS, & & PTR,PDISS,PEDR,PLEM ) ! ################################################################# @@ -260,7 +258,6 @@ USE MODI_SHUMAN, ONLY : MZF, MXF, MYF USE MODI_GRADIENT_M USE MODI_GRADIENT_U USE MODI_GRADIENT_V -USE MODI_BUDGET_DDH USE MODI_LES_MEAN_SUBGRID USE MODE_RMC01, ONLY: RMC01 USE MODI_GRADIENT_W @@ -275,10 +272,6 @@ USE MODE_SOURCES_NEG_CORRECT, ONLY: SOURCES_NEG_CORRECT USE MODE_EMOIST, ONLY: EMOIST USE MODE_ETHETA, ONLY: ETHETA ! -USE DDH_MIX, ONLY : TYP_DDH -USE YOMLDDH, ONLY : TLDDH -USE YOMMDDH, ONLY : TMDDH -! IMPLICIT NONE ! ! @@ -308,12 +301,9 @@ CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! dimensionality of the CHARACTER(LEN=4), INTENT(IN) :: HTURBLEN ! kind of mixing length CHARACTER(LEN=4), INTENT(IN) :: HTOM ! kind of Third Order Moment CHARACTER(LEN=4), INTENT(IN) :: HTURBLEN_CL ! kind of cloud mixing length -CHARACTER(LEN=1), INTENT(IN) :: HINST_SFU ! temporal location of the - ! surface friction flux REAL, INTENT(IN) :: PIMPL ! degree of implicitness +!CHARACTER (LEN=4), INTENT(IN) :: HCLOUD ! Kind of microphysical scheme REAL, INTENT(IN) :: PTSTEP ! timestep -! -CHARACTER(LEN=4), INTENT(IN) :: HMF_UPDRAFT ! Type of Mass Flux Scheme TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! Output file ! REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX,PDYY,PDZZ,PDZX,PDZY @@ -331,8 +321,6 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: MFMOIST ! moist mass flux dual schem REAL, DIMENSION(:,:,:), INTENT(IN) :: PTHVREF ! Virtual Potential ! Temperature of the reference state -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHODREF ! dry density of the - ! reference state ! REAL, DIMENSION(:,:), INTENT(IN) :: PSFTH,PSFRV, & ! normal surface fluxes of theta and Rv @@ -374,7 +362,6 @@ REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRRS REAL, DIMENSION(:,:,:,:), INTENT(INOUT) :: PRSVS ! Sigma_s at time t+1 : square root of the variance of the deviation to the ! saturation -REAL, DIMENSION(:,:,:,:), INTENT(IN) :: PHGRAD REAL, DIMENSION(:,:,:), INTENT(OUT) :: PSIGS REAL, DIMENSION(:,:,:), INTENT(OUT) :: PDRUS_TURB ! evolution of rhoJ*U by turbulence only REAL, DIMENSION(:,:,:), INTENT(OUT) :: PDRVS_TURB ! evolution of rhoJ*V by turbulence only @@ -395,10 +382,6 @@ REAL, DIMENSION(:,:,:), INTENT(OUT) :: PDP ! Dynamic TKE production REAL, DIMENSION(:,:,:), INTENT(OUT) :: PTDIFF ! Diffusion TKE term REAL, DIMENSION(:,:,:), INTENT(OUT) :: PTDISS ! Dissipation TKE term ! -TYPE(TYP_DDH), INTENT(INOUT) :: YDDDH -TYPE(TLDDH), INTENT(IN) :: YDLDDH -TYPE(TMDDH), INTENT(IN) :: YDMDDH -! TYPE(TBUDGETDATA), DIMENSION(KBUDGETS), INTENT(INOUT) :: TBUDGETS INTEGER, INTENT(IN) :: KBUDGETS ! @@ -1149,6 +1132,8 @@ IF ( KRRL >= 1 ) THEN END IF END IF +! Remove non-physical negative values (unnecessary in a perfect world) + corresponding budgets +!CALL SOURCES_NEG_CORRECT(HCLOUD, 'NETUR',KRR,PTSTEP,PPABST,PTHLT,PRT,PRTHLS,PRRS,PRSVS) !---------------------------------------------------------------------------- ! !* 9. LES averaged surface fluxes @@ -1184,8 +1169,8 @@ IF (LLES_CALL) THEN ! IF (HTURBDIM=="1DIM") THEN CALL LES_MEAN_SUBGRID(2./3.*PTKET,X_LES_SUBGRID_U2) - CALL LES_MEAN_SUBGRID(2./3.*PTKET,X_LES_SUBGRID_V2) - CALL LES_MEAN_SUBGRID(2./3.*PTKET,X_LES_SUBGRID_W2) + X_LES_SUBGRID_V2 = X_LES_SUBGRID_U2 + X_LES_SUBGRID_W2 = X_LES_SUBGRID_U2 CALL LES_MEAN_SUBGRID(2./3.*PTKET*MZF(GZ_M_W(KKA,KKU,KKL,PTHLT,PDZZ),& KKA, KKU, KKL),X_LES_RES_ddz_Thl_SBG_W2) IF (KRR>=1) & diff --git a/src/mesonh/turb/turb.f90 b/src/mesonh/turb/turb.f90 index 2f2d6b193..2948f8357 100644 --- a/src/mesonh/turb/turb.f90 +++ b/src/mesonh/turb/turb.f90 @@ -557,7 +557,6 @@ REAL :: ZALPHA ! work coefficient : ! ! BL89 mixing length near the surface ! REAL :: ZTIME1, ZTIME2 -REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZTT,ZEXNE,ZLV,ZLS,ZCPH,ZCOR REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,2),SIZE(PUT,3)):: ZSHEAR, ZDUDZ, ZDVDZ TYPE(TFIELDDATA) :: TZFIELD ! -- GitLab