Skip to content
Snippets Groups Projects
Commit ea2e2e32 authored by RODIER Quentin's avatar RODIER Quentin
Browse files

Quentin 06/07/2022: turb, LDIAG_IN_RUN and XCURRENT_TKE_DISS moved outside of...

Quentin 06/07/2022: turb, LDIAG_IN_RUN and XCURRENT_TKE_DISS moved outside of turb (passing as args)
parent b9553202
No related branches found
No related tags found
No related merge requests found
...@@ -456,7 +456,7 @@ CALL TURB (CST,CSTURB,TBUCONF,TURBN, YLDIMPHYEX,& ...@@ -456,7 +456,7 @@ CALL TURB (CST,CSTURB,TBUCONF,TURBN, YLDIMPHYEX,&
& ISPLIT,IMI, KSV, KSV_LGBEG, KSV_LGEND, & & ISPLIT,IMI, KSV, KSV_LGBEG, KSV_LGEND, &
& HPROGRAM, O2D, ONOMIXLG, OFLAT, LLES_CALL,OCOUPLES,OBLOWSNOW,& & HPROGRAM, O2D, ONOMIXLG, OFLAT, LLES_CALL,OCOUPLES,OBLOWSNOW,&
& OTURB_FLX,OTURB_DIAG,OSUBG_COND,OCOMPUTE_SRC, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,OCOMPUTE_SRC, &
& ORMC01,OOCEAN,ODEEPOC,LDHARATU, & & ORMC01,OOCEAN,ODEEPOC,LDHARATU,.FALSE., &
& HTURBDIM,HTURBLEN,'NONE','NONE',CMICRO, & & HTURBDIM,HTURBLEN,'NONE','NONE',CMICRO, &
& ZIMPL, & & ZIMPL, &
& 2*PTSTEP,ZTFILE, & & 2*PTSTEP,ZTFILE, &
......
...@@ -10,10 +10,10 @@ CONTAINS ...@@ -10,10 +10,10 @@ CONTAINS
& PTRH,PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & & PTRH,PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, &
& PTSTEP,PIMPL,PEXPL, & & PTSTEP,PIMPL,PEXPL, &
& HTURBLEN,HTURBDIM, & & HTURBLEN,HTURBDIM, &
& TPFILE,OTURB_DIAG,OLES_CALL, & & TPFILE,OTURB_DIAG,OLES_CALL,ODIAG_IN_RUN, &
& PTP,PRTKES,PRTHLS,PCOEF_DISS,PTDIFF,PTDISS,PRTKEMS,& & PTP,PRTKES,PRTHLS,PCOEF_DISS,PTDIFF,PTDISS,PRTKEMS,&
& TBUDGETS, KBUDGETS, & & TBUDGETS, KBUDGETS, &
& PEDR, PTR,PDISS ) & PEDR, PTR,PDISS, PCURRENT_TKE_DISS )
! ################################################################## ! ##################################################################
! !
! !
...@@ -135,7 +135,6 @@ USE MODD_BUDGET, ONLY: TBUDGETCONF_t, NBUDGET_TKE, NBUDGET_TH, TBUDGETDATA ...@@ -135,7 +135,6 @@ USE MODD_BUDGET, ONLY: TBUDGETCONF_t, NBUDGET_TKE, NBUDGET_TH, TBUDGETDATA
USE MODD_CST, ONLY: CST_t USE MODD_CST, ONLY: CST_t
USE MODD_CTURB, ONLY: CSTURB_t USE MODD_CTURB, ONLY: CSTURB_t
USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t USE MODD_DIMPHYEX, ONLY: DIMPHYEX_t
USE MODD_DIAG_IN_RUN, ONLY : LDIAG_IN_RUN, XCURRENT_TKE_DISS
USE MODD_FIELD, ONLY: TFIELDDATA, TYPEREAL USE MODD_FIELD, ONLY: TFIELDDATA, TYPEREAL
USE MODD_IO, ONLY: TFILEDATA USE MODD_IO, ONLY: TFILEDATA
USE MODD_LES USE MODD_LES
...@@ -307,13 +306,13 @@ CALL GET_HALO(ZRES) ...@@ -307,13 +306,13 @@ CALL GET_HALO(ZRES)
! !
!* diagnose the dissipation !* diagnose the dissipation
! !
IF (LDIAG_IN_RUN) THEN IF (ODIAG_IN_RUN) THEN
!$mnh_expand_array(JI=IIB:IIE,JJ=IJB:IJE,JK=IKTB:IKTE) !$mnh_expand_array(JI=IIB:IIE,JJ=IJB:IJE,JK=IKTB:IKTE)
XCURRENT_TKE_DISS(IIB:IIE,IJB:IJE,IKTB:IKTE) = ZFLX(IIB:IIE,IJB:IJE,IKTB:IKTE) * PTKEM(IIB:IIE,IJB:IJE,IKTB:IKTE) & PCURRENT_TKE_DISS(IIB:IIE,IJB:IJE,IKTB:IKTE) = ZFLX(IIB:IIE,IJB:IJE,IKTB:IKTE) * PTKEM(IIB:IIE,IJB:IJE,IKTB:IKTE) &
*(PEXPL*PTKEM(IIB:IIE,IJB:IJE,IKTB:IKTE) + PIMPL*ZRES(IIB:IIE,IJB:IJE,IKTB:IKTE)) *(PEXPL*PTKEM(IIB:IIE,IJB:IJE,IKTB:IKTE) + PIMPL*ZRES(IIB:IIE,IJB:IJE,IKTB:IKTE))
!$mnh_end_expand_array(JI=IIB:IIE,JJ=IJB:IJE,JK=IKTB:IKTE) !$mnh_end_expand_array(JI=IIB:IIE,JJ=IJB:IJE,JK=IKTB:IKTE)
! !
CALL ADD3DFIELD_ll( TZFIELDDISS_ll, XCURRENT_TKE_DISS, 'TKE_EPS_SOURCES::XCURRENT_TKE_DISS' ) CALL ADD3DFIELD_ll( TZFIELDDISS_ll, PCURRENT_TKE_DISS, 'TKE_EPS_SOURCES::PCURRENT_TKE_DISS' )
CALL UPDATE_HALO_ll(TZFIELDDISS_ll,IINFO_ll) CALL UPDATE_HALO_ll(TZFIELDDISS_ll,IINFO_ll)
CALL CLEANLIST_ll(TZFIELDDISS_ll) CALL CLEANLIST_ll(TZFIELDDISS_ll)
ENDIF ENDIF
......
...@@ -4,13 +4,13 @@ ...@@ -4,13 +4,13 @@
! !
INTERFACE INTERFACE
! !
SUBROUTINE TURB(CST,CSTURB,BUCONF,TURBN,D, & SUBROUTINE TURB(CST,CSTURB,BUCONF,TURBN,D, &
& KMI,KRR,KRRL,KRRI,HLBCX,HLBCY, & & KMI,KRR,KRRL,KRRI,HLBCX,HLBCY, &
& KSPLIT,KMODEL_CL,KSV,KSV_LGBEG,KSV_LGEND, & & KSPLIT,KMODEL_CL,KSV,KSV_LGBEG,KSV_LGEND, &
& HPROGRAM, O2D, ONOMIXLG, OFLAT, & & HPROGRAM, O2D, ONOMIXLG, OFLAT, &
& OLES_CALL,OCOUPLES,OBLOWSNOW, & & OLES_CALL,OCOUPLES,OBLOWSNOW, &
& OTURB_FLX,OTURB_DIAG,OSUBG_COND,OCOMPUTE_SRC, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,OCOMPUTE_SRC, &
& ORMC01,OOCEAN,ODEEPOC,OHARAT, & & ORMC01,OOCEAN,ODEEPOC,OHARAT,ODIAG_IN_RUN, &
& HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HCLOUD, & & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HCLOUD, &
& PIMPL,PTSTEP,TPFILE, & & PIMPL,PTSTEP,TPFILE, &
& PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & & PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, &
...@@ -27,8 +27,8 @@ INTERFACE ...@@ -27,8 +27,8 @@ INTERFACE
& PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTDIFF,PTDISS, & & PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTDIFF,PTDISS, &
& TBUDGETS, KBUDGETS, & & TBUDGETS, KBUDGETS, &
& PEDR,PLEM,PRTKEMS,PTPMF, & & PEDR,PLEM,PRTKEMS,PTPMF, &
& PDRUS_TURB,PDRVS_TURB, & & PDRUS_TURB,PDRVS_TURB,PDRTHLS_TURB,PDRRTS_TURB, &
& PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB,PTR,PDISS ) & PDRSVS_TURB,PCURRENT_TKE_DISS,PTR,PDISS )
! !
USE MODD_BUDGET, ONLY : TBUDGETDATA,TBUDGETCONF_t USE MODD_BUDGET, ONLY : TBUDGETDATA,TBUDGETCONF_t
USE MODD_IO, ONLY : TFILEDATA USE MODD_IO, ONLY : TFILEDATA
...@@ -64,6 +64,7 @@ LOGICAL, INTENT(IN) :: OFLAT ! Logical for zero ororogr ...@@ -64,6 +64,7 @@ LOGICAL, INTENT(IN) :: OFLAT ! Logical for zero ororogr
LOGICAL, INTENT(IN) :: OLES_CALL ! compute the LES diagnostics at current time-step LOGICAL, INTENT(IN) :: OLES_CALL ! compute the LES diagnostics at current time-step
LOGICAL, INTENT(IN) :: OCOUPLES ! switch to activate atmos-ocean LES version LOGICAL, INTENT(IN) :: OCOUPLES ! switch to activate atmos-ocean LES version
LOGICAL, INTENT(IN) :: OBLOWSNOW ! switch to activate pronostic blowing snow LOGICAL, INTENT(IN) :: OBLOWSNOW ! switch to activate pronostic blowing snow
LOGICAL, INTENT(IN) :: ODIAG_IN_RUN ! switch to activate online diagnostics (mesonh)
CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! dimensionality of the CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! dimensionality of the
! turbulence scheme ! turbulence scheme
CHARACTER(LEN=4), INTENT(IN) :: HTURBLEN ! kind of mixing length CHARACTER(LEN=4), INTENT(IN) :: HTURBLEN ! kind of mixing length
...@@ -171,6 +172,7 @@ REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PEDR ! EDR ...@@ -171,6 +172,7 @@ 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 :: 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 :: PTR ! Transport prod. of TKE
REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE
REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(INOUT), OPTIONAL :: PCURRENT_TKE_DISS ! if ODIAG_IN_RUN in mesonh
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
& KSPLIT,KMODEL_CL,KSV,KSV_LGBEG,KSV_LGEND,HPROGRAM, & & KSPLIT,KMODEL_CL,KSV,KSV_LGBEG,KSV_LGEND,HPROGRAM, &
& O2D,ONOMIXLG,OFLAT,OLES_CALL,OCOUPLES,OBLOWSNOW, & & O2D,ONOMIXLG,OFLAT,OLES_CALL,OCOUPLES,OBLOWSNOW, &
& OTURB_FLX,OTURB_DIAG,OSUBG_COND,OCOMPUTE_SRC, & & OTURB_FLX,OTURB_DIAG,OSUBG_COND,OCOMPUTE_SRC, &
& ORMC01,OOCEAN,ODEEPOC,OHARAT, & & ORMC01,OOCEAN,ODEEPOC,OHARAT,ODIAG_IN_RUN, &
& HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HCLOUD,PIMPL, & & HTURBDIM,HTURBLEN,HTOM,HTURBLEN_CL,HCLOUD,PIMPL, &
& PTSTEP,TPFILE,PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, & & PTSTEP,TPFILE,PDXX,PDYY,PDZZ,PDZX,PDZY,PZZ, &
& PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, & & PDIRCOSXW,PDIRCOSYW,PDIRCOSZW,PCOSSLOPE,PSINSLOPE, &
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
& PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTDIFF,PTDISS, & & PFLXZTHVMF,PWTH,PWRC,PWSV,PDP,PTP,PTDIFF,PTDISS, &
& TBUDGETS, KBUDGETS, & & TBUDGETS, KBUDGETS, &
& PEDR,PLEM,PRTKEMS,PTPMF, & & PEDR,PLEM,PRTKEMS,PTPMF, &
& PDRUS_TURB,PDRVS_TURB, & & PDRUS_TURB,PDRVS_TURB,PDRTHLS_TURB,PDRRTS_TURB, &
& PDRTHLS_TURB,PDRRTS_TURB,PDRSVS_TURB,PTR,PDISS ) & PDRSVS_TURB,PCURRENT_TKE_DISS,PTR,PDISS )
! ################################################################# ! #################################################################
! !
! !
...@@ -311,6 +311,7 @@ LOGICAL, INTENT(IN) :: OFLAT ! Logical for zero ororogr ...@@ -311,6 +311,7 @@ LOGICAL, INTENT(IN) :: OFLAT ! Logical for zero ororogr
LOGICAL, INTENT(IN) :: OLES_CALL ! compute the LES diagnostics at current time-step LOGICAL, INTENT(IN) :: OLES_CALL ! compute the LES diagnostics at current time-step
LOGICAL, INTENT(IN) :: OCOUPLES ! switch to activate atmos-ocean LES version LOGICAL, INTENT(IN) :: OCOUPLES ! switch to activate atmos-ocean LES version
LOGICAL, INTENT(IN) :: OBLOWSNOW ! switch to activate pronostic blowing snow LOGICAL, INTENT(IN) :: OBLOWSNOW ! switch to activate pronostic blowing snow
LOGICAL, INTENT(IN) :: ODIAG_IN_RUN ! switch to activate online diagnostics (mesonh)
CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! dimensionality of the CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! dimensionality of the
! turbulence scheme ! turbulence scheme
CHARACTER(LEN=4), INTENT(IN) :: HTURBLEN ! kind of mixing length CHARACTER(LEN=4), INTENT(IN) :: HTURBLEN ! kind of mixing length
...@@ -420,6 +421,7 @@ REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PEDR ! EDR ...@@ -420,6 +421,7 @@ 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 :: 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 :: PTR ! Transport prod. of TKE
REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(OUT), OPTIONAL :: PDISS ! Dissipation of TKE
REAL, DIMENSION(D%NIT,D%NJT,D%NKT), INTENT(INOUT), OPTIONAL :: PCURRENT_TKE_DISS ! if ODIAG_IN_RUN in mesonh
! !
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
...@@ -1140,14 +1142,14 @@ ELSE ...@@ -1140,14 +1142,14 @@ ELSE
ZRTKEMS(:,:,:)=0. ZRTKEMS(:,:,:)=0.
END IF END IF
! !
CALL TKE_EPS_SOURCES(D,CST,CSTURB,BUCONF,HPROGRAM,& CALL TKE_EPS_SOURCES(D,CST,CSTURB,BUCONF,HPROGRAM, &
& KMI,PTKET,ZLM,ZLEPS,PDP,ZTRH, & & KMI,PTKET,ZLM,ZLEPS,PDP,ZTRH, &
& PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, & & PRHODJ,PDZZ,PDXX,PDYY,PDZX,PDZY,PZZ, &
& PTSTEP,PIMPL,ZEXPL, & & PTSTEP,PIMPL,ZEXPL, &
& HTURBLEN,HTURBDIM, & & HTURBLEN,HTURBDIM, &
& TPFILE,OTURB_DIAG,OLES_CALL, & & TPFILE,OTURB_DIAG,OLES_CALL, ODIAG_IN_RUN, &
& PTP,PRTKES,PRTHLS,ZCOEF_DISS,PTDIFF,PTDISS,ZRTKEMS,& & PTP,PRTKES,PRTHLS,ZCOEF_DISS,PTDIFF,PTDISS,ZRTKEMS, &
& TBUDGETS,KBUDGETS, PEDR=PEDR, PTR=PTR,PDISS=PDISS) & TBUDGETS,KBUDGETS, PEDR=PEDR, PTR=PTR,PDISS=PDISS,PCURRENT_TKE_DISS=PCURRENT_TKE_DISS)
IF (BUCONF%LBUDGET_TH) THEN IF (BUCONF%LBUDGET_TH) THEN
IF ( KRRI >= 1 .AND. KRRL >= 1 ) THEN IF ( KRRI >= 1 .AND. KRRL >= 1 ) THEN
CALL BUDGET_STORE_END( TBUDGETS(NBUDGET_TH), 'DISSH', PRTHLS+ ZLVOCPEXNM * PRRS(:,:,:,2) & CALL BUDGET_STORE_END( TBUDGETS(NBUDGET_TH), 'DISSH', PRTHLS+ ZLVOCPEXNM * PRRS(:,:,:,2) &
......
...@@ -261,6 +261,7 @@ USE MODD_CURVCOR_n ...@@ -261,6 +261,7 @@ USE MODD_CURVCOR_n
USE MODD_DEEP_CONVECTION_n USE MODD_DEEP_CONVECTION_n
USE MODD_DEF_EDDY_FLUX_n ! Ajout PP USE MODD_DEF_EDDY_FLUX_n ! Ajout PP
USE MODD_DEF_EDDYUV_FLUX_n ! Ajout PP USE MODD_DEF_EDDYUV_FLUX_n ! Ajout PP
USE MODD_DIAG_IN_RUN, ONLY: LDIAG_IN_RUN, XCURRENT_TKE_DISS
USE MODD_DRAGBLDG_n USE MODD_DRAGBLDG_n
USE MODD_DRAGTREE_n USE MODD_DRAGTREE_n
USE MODD_DUST USE MODD_DUST
...@@ -1505,7 +1506,7 @@ ALLOCATE(ZTDISS(IIU,IJU,IKU)) ...@@ -1505,7 +1506,7 @@ ALLOCATE(ZTDISS(IIU,IJU,IKU))
NSV, NSV_LGBEG, NSV_LGEND,CPROGRAM, L2D, LNOMIXLG,LFLAT, & NSV, NSV_LGBEG, NSV_LGEND,CPROGRAM, L2D, LNOMIXLG,LFLAT, &
LLES_CALL, LCOUPLES, LBLOWSNOW, & LLES_CALL, LCOUPLES, LBLOWSNOW, &
LTURB_FLX, LTURB_DIAG, LSUBG_COND, GCOMPUTE_SRC, & LTURB_FLX, LTURB_DIAG, LSUBG_COND, GCOMPUTE_SRC, &
LRMC01, LOCEAN, LDEEPOC, .FALSE., & LRMC01, LOCEAN, LDEEPOC, .FALSE., LDIAG_IN_RUN, &
CTURBDIM, CTURBLEN, CTOM, CTURBLEN_CLOUD, CCLOUD,XIMPL, & CTURBDIM, CTURBLEN, CTOM, CTURBLEN_CLOUD, CCLOUD,XIMPL, &
XTSTEP, TPFILE, & XTSTEP, TPFILE, &
XDXX, XDYY, XDZZ, XDZX, XDZY, XZZ, & XDXX, XDYY, XDZZ, XDZX, XDZY, XZZ, &
...@@ -1520,7 +1521,7 @@ ALLOCATE(ZTDISS(IIU,IJU,IKU)) ...@@ -1520,7 +1521,7 @@ ALLOCATE(ZTDISS(IIU,IJU,IKU))
XRUS, XRVS, XRWS, XRTHS, XRRS, XRSVS, XRTKES, XSIGS, XWTHVMF, & XRUS, XRVS, XRWS, XRTHS, XRRS, XRSVS, XRTKES, XSIGS, XWTHVMF, &
XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, ZTDIFF, ZTDISS, & XTHW_FLUX, XRCW_FLUX, XSVW_FLUX,XDYP, XTHP, ZTDIFF, ZTDISS, &
TBUDGETS, KBUDGETS=SIZE(TBUDGETS),PLEM=XLEM,PRTKEMS=XRTKEMS, & TBUDGETS, KBUDGETS=SIZE(TBUDGETS),PLEM=XLEM,PRTKEMS=XRTKEMS, &
PTR=XTR, PDISS=XDISS ) PTR=XTR, PDISS=XDISS, PCURRENT_TKE_DISS=XCURRENT_TKE_DISS )
! !
DEALLOCATE(ZTDIFF) DEALLOCATE(ZTDIFF)
DEALLOCATE(ZTDISS) DEALLOCATE(ZTDISS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment