diff --git a/src/common/turb/modi_turb.F90 b/src/common/turb/modi_turb.F90 index cdaf8a5d59899f023fff8a9036675fbd8a39796e..0b13409da6352ddfe88b0bb321ce1a537e094031 100644 --- a/src/common/turb/modi_turb.F90 +++ b/src/common/turb/modi_turb.F90 @@ -28,7 +28,7 @@ INTERFACE & TBUDGETS, KBUDGETS, & & PEDR,PLEM,PRTKEMS,PTPMF, & & PDRUS_TURB,PDRVS_TURB, & - & PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB ) + & PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB,PTR,PDISS ) ! USE MODD_BUDGET, ONLY : TBUDGETDATA,TBUDGETCONF_t USE MODD_IO, ONLY : TFILEDATA @@ -169,6 +169,8 @@ REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(IN) :: PLENGTHM, PLENGTHH ! REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PEDR ! EDR REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length +REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PTR ! Transport prod. of TKE +REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE ! !------------------------------------------------------------------------------- ! diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index ba425b3edb2b7ecc0510a63227000e58a9d31360..42d7bbd87230af1662a647d6948138820dd992bb 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -25,7 +25,7 @@ & TBUDGETS, KBUDGETS, & & PEDR,PLEM,PRTKEMS,PTPMF, & & PDRUS_TURB,PDRVS_TURB, & - & PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB ) + & PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB,PTR,PDISS ) ! ################################################################# ! ! @@ -418,6 +418,8 @@ REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(IN) :: PLENGTHM, PLENGTHH ! REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PEDR ! EDR REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length +REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PTR ! Transport prod. of TKE +REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE ! ! !------------------------------------------------------------------------------- @@ -517,7 +519,6 @@ IIE=D%NIEC IIB=D%NIBC IJE=D%NJEC IJB=D%NJBC -!print*,"MINMAX PRTKES = ",MINVAL(PRTKES),MAXVAL(PRTKES) ! ZEXPL = 1.- PIMPL ZRVORD= CST%XRV / CST%XRD @@ -880,7 +881,7 @@ ZMWR(:,:,:) = 0. ! w'2r' ZMTH2(:,:,:) = 0. ! w'th'2 ZMR2(:,:,:) = 0. ! w'r'2 ZMTHR(:,:,:) = 0. ! w'th'r' - +! IF (HTOM=='TM06') THEN CALL TM06(D%NKA,D%NKU,D%NKL,PTHVREF,PBL_DEPTH,PZZ,PSFTH,ZMWTH,ZMTH2) ! @@ -1146,7 +1147,7 @@ CALL TKE_EPS_SOURCES(D,CST,CSTURB,BUCONF,HPROGRAM,& & HTURBLEN,HTURBDIM, & & TPFILE,OTURB_DIAG,OLES_CALL, & & PTP,PRTKES,PRTHLS,ZCOEF_DISS,PTDIFF,PTDISS,ZRTKEMS,& - & TBUDGETS,KBUDGETS, PEDR=PEDR) + & TBUDGETS,KBUDGETS, PEDR=PEDR, PTR=PTR,PDISS=PDISS) IF (BUCONF%LBUDGET_TH) THEN IF ( KRRI >= 1 .AND. KRRL >= 1 ) THEN CALL BUDGET_STORE_END( TBUDGETS(NBUDGET_TH), 'DISSH', PRTHLS+ ZLVOCPEXNM * PRRS(:,:,:,2) & diff --git a/src/mesonh/ext/phys_paramn.f90 b/src/mesonh/ext/phys_paramn.f90 index 5e45659593cecd02bc9e5a617fe5626c8f462bd3..5a854f12e720bf260095b934731336c43f9aff4c 100644 --- a/src/mesonh/ext/phys_paramn.f90 +++ b/src/mesonh/ext/phys_paramn.f90 @@ -461,6 +461,7 @@ REAL, DIMENSION(:), ALLOCATABLE :: ZPROSOL1(:),ZPROSOL2(:) ! Funtions for penetr ! REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZLENGTHM, ZLENGTHH, ZMFMOIST !OHARAT turb option from AROME (not allocated in MNH) ! to be moved as optional args for turb +REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZTDIFF, ZTDISS ! TYPE(DIMPHYEX_t) :: YLDIMPHYEX LOGICAL :: GCOMPUTE_SRC ! flag to define dimensions of SIGS and SRCT variables @@ -1495,6 +1496,9 @@ END IF ! GCOMPUTE_SRC=SIZE(XSIGS, 3)/=0 ! +ALLOCATE(ZTDIFF(IIU,IJU,IKU)) +ALLOCATE(ZTDISS(IIU,IJU,IKU)) + ! CALL TURB( CST,CSTURB, TBUCONF, TURBN,YLDIMPHYEX,& IMI, NRR, NRRL, NRRI, CLBCX, CLBCY, 1, NMODEL_CLOUD, & @@ -1513,9 +1517,13 @@ GCOMPUTE_SRC=SIZE(XSIGS, 3)/=0 XBL_DEPTH, XSBL_DEPTH, & XCEI, XCEI_MIN, XCEI_MAX, XCOEF_AMPL_SAT, & XTHT, XRT, & - XRUS, XRVS, XRWS, XRTHS, XRRS, XRSVS, XRTKES, XSIGS, XWTHVMF, & - XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, XTR, XDISS, & - TBUDGETS, KBUDGETS=SIZE(TBUDGETS),PLEM=XLEM,PRTKEMS=XRTKEMS ) + XRUS, XRVS, XRWS, XRTHS, XRRS, XRSVS, XRTKES, XSIGS, XWTHVMF, & + XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, ZTDIFF, ZTDISS, & + TBUDGETS, KBUDGETS=SIZE(TBUDGETS),PLEM=XLEM,PRTKEMS=XRTKEMS, & + PTR=XTR, PDISS=XDISS ) +! +DEALLOCATE(ZTDIFF) +DEALLOCATE(ZTDISS) ! IF (LRMC01) THEN CALL ADD2DFIELD_ll( TZFIELDS_ll, XSBL_DEPTH, 'PHYS_PARAM_n::XSBL_DEPTH' )