diff --git a/src/common/turb/modi_turb.F90 b/src/common/turb/modi_turb.F90 index b2b57f334a08349e3a242d6428ddd63f5420922b..2f64f6f459b176d95fa884d1be347655b24605fd 100644 --- a/src/common/turb/modi_turb.F90 +++ b/src/common/turb/modi_turb.F90 @@ -24,7 +24,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 USE MODD_IO, ONLY : TFILEDATA @@ -137,8 +137,10 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: PLENGTHH TYPE(TBUDGETDATA), DIMENSION(KBUDGETS), INTENT(INOUT) :: TBUDGETS INTEGER, INTENT(IN) :: KBUDGETS ! -REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PEDR ! EDR -REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length +REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PEDR ! EDR +REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length +REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PTR ! Transport prod. of TKE +REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE ! !------------------------------------------------------------------------------- ! diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index 5c0e60d3cf0f429bdaf89a8396f33f7c3eeb7379..76f2be584da3787f86246213a23e58008d70c630 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -22,7 +22,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 ) ! ################################################################# ! ! @@ -393,6 +393,8 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: PLENGTHM, PLENGTHH ! REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PEDR ! EDR REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PLEM ! Mixing length +REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PTR ! Transport prod. of TKE +REAL, DIMENSION(:,:,:), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE ! ! !------------------------------------------------------------------------------- @@ -1044,13 +1046,13 @@ ELSE ZRTKEMS=0. END IF ! -CALL TKE_EPS_SOURCES(KKA,KKU,KKL,KMI,PTKET,ZLM,ZLEPS,PDP,ZTRH, & - & PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & - & PTSTEP,PIMPL,ZEXPL, & - & HTURBLEN,HTURBDIM, & - & TPFILE,OTURB_DIAG, & +CALL TKE_EPS_SOURCES(KKA,KKU,KKL,KMI,PTKET,ZLM,ZLEPS,PDP,ZTRH, & + & PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & + & PTSTEP,PIMPL,ZEXPL, & + & HTURBLEN,HTURBDIM, & + & TPFILE,OTURB_DIAG, & & PTP,PRTKES,PRTHLS,ZCOEF_DISS,PTDIFF,PTDISS,ZRTKEMS,& - & TBUDGETS,KBUDGETS, PEDR=PEDR) + & TBUDGETS,KBUDGETS, PEDR=PEDR, PTR=PTR,PDISS=PDISS) IF (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 6b62cc0a441f49a5e4464064f836b1bedf31b495..1a300f1c2483953670d03383d3e7fcd46bc0d78b 100644 --- a/src/mesonh/ext/phys_paramn.f90 +++ b/src/mesonh/ext/phys_paramn.f90 @@ -454,6 +454,7 @@ REAL, DIMENSION(:), ALLOCATABLE :: ZIZOCE(:) ! Solar flux penetrating in ocean REAL, DIMENSION(:), ALLOCATABLE :: ZPROSOL1(:),ZPROSOL2(:) ! Funtions for penetrating solar flux ! REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZLENGTHM, ZLENGTHH, ZMFMOIST !LHARAT turb option from AROME +REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZTDIFF, ZTDISS ! !----------------------------------------------------------------------------- @@ -1481,6 +1482,9 @@ IF(ALLOCATED(XSVW_FLUX)) THEN ELSE ALLOCATE(XSVW_FLUX(SIZE(XSVT,1),SIZE(XSVT,2),SIZE(XSVT,3),SIZE(XSVT,4))) END IF +! +ALLOCATE(ZTDIFF(IIU,IJU,IKU)) +ALLOCATE(ZTDISS(IIU,IJU,IKU)) ! CALL TURB( 1, IKU, 1, IMI, NRR, NRRL, NRRI, CLBCX, CLBCY, 1, NMODEL_CLOUD, & LTURB_FLX, LTURB_DIAG, LSUBG_COND, LRMC01, LOCEAN, & @@ -1499,6 +1503,9 @@ END IF XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, XTR, XDISS, & TBUDGETS, KBUDGETS=SIZE(TBUDGETS),PLEM=XLEM,PRTKEMS=XRTKEMS ) ! +DEALLOCATE(ZTDIFF) +DEALLOCATE(ZTDISS) +! IF (LRMC01) THEN CALL ADD2DFIELD_ll( TZFIELDS_ll, XSBL_DEPTH, 'PHYS_PARAM_n::XSBL_DEPTH' ) CALL UPDATE_HALO_ll(TZFIELDS_ll,IINFO_ll)