Newer
Older
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_WTH2',1,ZHOOK_HANDLE)
END SUBROUTINE M3_THR_WTH2
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_WTH2_O_DDTDZ(D,CSTURB,TURBN,PREDTH1,PREDR1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_THR_WTH2_O_DDTDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_WTH2_O_DDTDZ
REAL, DIMENSION(D%NIJT,D%NKT) :: ZWORK1,ZWORK2 ! working array
INTEGER :: IKB, IKE, JIJ,JK,IIJB,IIJE,IKT
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTH2_O_DDTDZ',0,ZHOOK_HANDLE)

RODIER Quentin
committed
IKB=D%NKTB
IKE=D%NKTE
IIJE=D%NIJE
IIJB=D%NIJB
IKT=D%NKT
!
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
ZWORK1(:,:) = -(1.+PREDR1(:,:))*(PBLL_O_E(:,:) &
*PETHETA(:,:)/PD(:,:))**2&
*PDRDZ(:,:)&
*(1.5+PREDTH1(:,:)+PREDR1(:,:))
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
CALL MZF_PHY(D,ZWORK1,ZWORK2)
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
PD_M3_THR_WTH2_O_DDTDZ(:,:) = - 0.25*PLEPS(:,:) &
/PSQRT_TKE(:,:)/CSTURB%XCTD*TURBN%XCTV**2 * ZWORK2(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
!

RODIER Quentin
committed
PD_M3_THR_WTH2_O_DDTDZ(:,IKB-1)=PD_M3_THR_WTH2_O_DDTDZ(:,IKB)
PD_M3_THR_WTH2_O_DDTDZ(:,IKE+1)=PD_M3_THR_WTH2_O_DDTDZ(:,IKE)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTH2_O_DDTDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_WTH2_O_DDTDZ
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_WTH2_O_DDRDZ(D,CSTURB,TURBN,PREDTH1,PREDR1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PD_M3_THR_WTH2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_WTH2_O_DDRDZ
REAL, DIMENSION(D%NIJT,D%NKT) :: ZWORK1,ZWORK2 ! working array
INTEGER :: IKB, IKE, JIJ,JK,IIJB,IIJE,IKT
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTH2_O_DDRDZ',0,ZHOOK_HANDLE)

RODIER Quentin
committed
IKB=D%NKTB
IKE=D%NKTE
IIJE=D%NIJE
IIJB=D%NIJB
IKT=D%NKT
!
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
ZWORK1(:,:) = PBLL_O_E(:,:)*PETHETA(:,:)/PD(:,:)&
*(-(1.+PREDR1(:,:))*PREDR1(:,:)/PD(:,:)&
*(1.5+PREDTH1(:,:)+PREDR1(:,:))+(1.+2.*PREDR1(:,:)))
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
CALL MZF_PHY(D,ZWORK1,ZWORK2)
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
PD_M3_THR_WTH2_O_DDRDZ(:,:) = - 0.25*PLEPS(:,:)/PSQRT_TKE(:,:)&
/ CSTURB%XCTD*TURBN%XCTV * ZWORK2(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
!

RODIER Quentin
committed
PD_M3_THR_WTH2_O_DDRDZ(:,IKB-1)=PD_M3_THR_WTH2_O_DDRDZ(:,IKB)
PD_M3_THR_WTH2_O_DDRDZ(:,IKE+1)=PD_M3_THR_WTH2_O_DDRDZ(:,IKE)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTH2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_WTH2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_THR_W2TH(D,CSTURB,TURBN,PREDR1,PD,PLM,PLEPS,PTKE,PDRDZ,PM3_THR_W2TH)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_THR_W2TH
REAL, DIMENSION(D%NIJT,D%NKT) :: ZWORK1,ZWORK2 ! working array
INTEGER :: IKB, IKE, JIJ,JK,IIJB,IIJE,IKT
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_W2TH',0,ZHOOK_HANDLE)

RODIER Quentin
committed
IKB=D%NKTB
IKE=D%NKTE
IIJE=D%NIJE
IIJB=D%NIJB
IKT=D%NKT
!
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
ZWORK1(:,:) = (1.+PREDR1(:,:))*PDRDZ(:,:)/PD(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
CALL MZF_PHY(D,ZWORK1,ZWORK2)
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
PM3_THR_W2TH(:,:) = - 0.75*PLM(:,:)*PLEPS(:,:)&
/ PTKE(:,:) * TURBN%XCTV * ZWORK2(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
!

RODIER Quentin
committed
PM3_THR_W2TH(:,IKB-1)=PM3_THR_W2TH(:,IKB)
PM3_THR_W2TH(:,IKE+1)=PM3_THR_W2TH(:,IKE)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_W2TH',1,ZHOOK_HANDLE)
END SUBROUTINE M3_THR_W2TH
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_W2TH_O_DDTDZ(D,CSTURB,TURBN,PREDTH1,PREDR1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PDRDZ,PETHETA,PD_M3_THR_W2TH_O_DDTDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_W2TH_O_DDTDZ
REAL, DIMENSION(D%NIJT,D%NKT) :: ZWORK1,ZWORK2 ! working array
INTEGER :: IKB, IKE, JIJ,JK,IIJB,IIJE,IKT
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2TH_O_DDTDZ',0,ZHOOK_HANDLE)

RODIER Quentin
committed
IKB=D%NKTB
IKE=D%NKTE
IIJE=D%NIJE
IIJB=D%NIJB
IKT=D%NKT
!
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
ZWORK1(:,:) = -PETHETA(:,:)*PBLL_O_E(:,:)*&
(1.+PREDR1(:,:))*PDRDZ(:,:)&
*(1.5+PREDTH1(:,:)+PREDR1(:,:))/PD(:,:)**2
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
CALL MZF_PHY(D,ZWORK1,ZWORK2)
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
PD_M3_THR_W2TH_O_DDTDZ(:,:) = - 0.75*PLM(:,:)*PLEPS(:,:)&
/ PTKE(:,:) * TURBN%XCTV**2 * ZWORK1(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
!

RODIER Quentin
committed
PD_M3_THR_W2TH_O_DDTDZ(:,IKB-1)=PD_M3_THR_W2TH_O_DDTDZ(:,IKB)
PD_M3_THR_W2TH_O_DDTDZ(:,IKE+1)=PD_M3_THR_W2TH_O_DDTDZ(:,IKE)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2TH_O_DDTDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_W2TH_O_DDTDZ
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_W2TH_O_DDRDZ(D,CSTURB,TURBN,PREDTH1,PREDR1,PD,PLM,PLEPS,PTKE,PD_M3_THR_W2TH_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_W2TH_O_DDRDZ
REAL, DIMENSION(D%NIJT,D%NKT) :: ZWORK1,ZWORK2 ! working array
INTEGER :: IKB, IKE, JIJ,JK,IIJB,IIJE,IKT
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2TH_O_DDRDZ',0,ZHOOK_HANDLE)

RODIER Quentin
committed
IKB=D%NKTB
IKE=D%NKTE
IIJE=D%NIJE
IIJB=D%NIJB
IKT=D%NKT
!
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
ZWORK1(:,:) = -(1.+PREDR1(:,:))*PREDR1(:,:)&
* (1.5+PREDTH1(:,:)+PREDR1(:,:))/PD(:,:)**2 &
+(1.+2.*PREDR1(:,:))/PD(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
CALL MZF_PHY(D,ZWORK1,ZWORK2)
!$mnh_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
PD_M3_THR_W2TH_O_DDRDZ(:,:) = - 0.75*PLM(:,:)*PLEPS(:,:)&
/ PTKE(:,:) * TURBN%XCTV * ZWORK2(:,:)
!$mnh_end_expand_array(JIJ=IIJB:IIJE,JK=1:IKT)

RODIER Quentin
committed
!

RODIER Quentin
committed
PD_M3_THR_W2TH_O_DDRDZ(:,IKB-1)=PD_M3_THR_W2TH_O_DDRDZ(:,IKB)
PD_M3_THR_W2TH_O_DDRDZ(:,IKE+1)=PD_M3_THR_W2TH_O_DDRDZ(:,IKE)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2TH_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_W2TH_O_DDRDZ
!----------------------------------------------------------------------------
!----------------------------------------------------------------------------
!----------------------------------------------------------------------------
!
SUBROUTINE PSI3(D,CSTURB,TURBN,PREDR1,PREDTH1,PRED2R3,PRED2TH3,PRED2THR3,HTURBDIM,OUSERV,PPSI3)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2TH3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2R3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2THR3
CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! 1DIM or 3DIM turb. scheme
LOGICAL, INTENT(IN) :: OUSERV ! flag to use vapor
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PPSI3
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:PSI3',0,ZHOOK_HANDLE)
CALL PHI3(D,CSTURB,TURBN,PREDR1,PREDTH1,PRED2R3,PRED2TH3,PRED2THR3,HTURBDIM,OUSERV,PPSI3)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:PSI3',1,ZHOOK_HANDLE)
END SUBROUTINE PSI3
!----------------------------------------------------------------------------
SUBROUTINE D_PSI3DRDZ_O_DDRDZ(D,CSTURB,TURBN,PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,OUSERV,PD_PSI3DRDZ_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PPSI3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2R3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2THR3
CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! 1DIM or 3DIM turb. scheme
LOGICAL, INTENT(IN) :: OUSERV ! flag to use vapor
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_PSI3DRDZ_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_PSI3DRDZ_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_PHI3DTDZ_O_DDTDZ(D,CSTURB,TURBN,PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,OUSERV,PD_PSI3DRDZ_O_DDRDZ)
!
!C'est ok?!
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_PSI3DRDZ_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_PSI3DRDZ_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE D_PSI3DTDZ_O_DDTDZ(D,CSTURB,TURBN,PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,OUSERV,PD_PSI3DTDZ_O_DDTDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PPSI3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2R3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2THR3
CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! 1DIM or 3DIM turb. scheme
LOGICAL, INTENT(IN) :: OUSERV ! flag to use vapor
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_PSI3DTDZ_O_DDTDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_PSI3DTDZ_O_DDTDZ',0,ZHOOK_HANDLE)
CALL D_PHI3DRDZ_O_DDRDZ(D,CSTURB,TURBN,PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,HTURBDIM,OUSERV,PD_PSI3DTDZ_O_DDTDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_PSI3DTDZ_O_DDTDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_PSI3DTDZ_O_DDTDZ
!----------------------------------------------------------------------------
SUBROUTINE D_PSI3DRDZ2_O_DDRDZ(D,CSTURB,TURBN,PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,PDRDZ,HTURBDIM,OUSERV,PD_PSI3DRDZ2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PPSI3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2R3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PRED2THR3
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
CHARACTER(LEN=4), INTENT(IN) :: HTURBDIM ! 1DIM or 3DIM turb. scheme
LOGICAL, INTENT(IN) :: OUSERV ! flag to use vapor
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_PSI3DRDZ2_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_PSI3DRDZ2_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_PHI3DTDZ2_O_DDTDZ(D,CSTURB,TURBN,PPSI3,PREDR1,PREDTH1,PRED2R3,PRED2THR3,PDRDZ,HTURBDIM,OUSERV,PD_PSI3DRDZ2_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_PSI3DRDZ2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_PSI3DRDZ2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_WR_WR2(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PM3_WR_WR2)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_WR_WR2
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_WR2',0,ZHOOK_HANDLE)
CALL M3_WTH_WTH2(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PM3_WR_WR2)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_WR2',1,ZHOOK_HANDLE)
END SUBROUTINE M3_WR_WR2
!----------------------------------------------------------------------------
SUBROUTINE D_M3_WR_WR2_O_DDRDZ(D,CSTURB,TURBN,PM3_WR_WR2,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PD_M3_WR_WR2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PM3_WR_WR2
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_WR_WR2_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_WR2_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_WTH_WTH2_O_DDTDZ(D,CSTURB,TURBN,PM3_WR_WR2,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PD_M3_WR_WR2_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_WR2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_WR_WR2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_WR_W2R(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PKEFF,PTKE,PM3_WR_W2R)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_WR_W2R
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_W2R',0,ZHOOK_HANDLE)
CALL M3_WTH_W2TH(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PKEFF,PTKE,PM3_WR_W2R)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_W2R',1,ZHOOK_HANDLE)
END SUBROUTINE M3_WR_W2R
!----------------------------------------------------------------------------
SUBROUTINE D_M3_WR_W2R_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PKEFF,PTKE,PD_M3_WR_W2R_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_WR_W2R_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_W2R_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_WTH_W2TH_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PKEFF,PTKE,PD_M3_WR_W2R_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_W2R_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_WR_W2R_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_WR_W2TH(D,CSTURB,TURBN,PD,PKEFF,PTKE,PBLL_O_E,PETHETA,PDRDZ,PM3_WR_W2TH)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_WR_W2TH
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_W2TH',0,ZHOOK_HANDLE)
CALL M3_WTH_W2R(D,CSTURB,TURBN,PD,PKEFF,PTKE,PBLL_O_E,PETHETA,PDRDZ,PM3_WR_W2TH)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_W2TH',1,ZHOOK_HANDLE)
END SUBROUTINE M3_WR_W2TH
!----------------------------------------------------------------------------
SUBROUTINE D_M3_WR_W2TH_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PKEFF,PTKE,PBLL_O_E,PETHETA,PD_M3_WR_W2TH_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_WR_W2TH_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_W2TH_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_WTH_W2R_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PKEFF,PTKE,PBLL_O_E,PETHETA,PD_M3_WR_W2TH_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_W2TH_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_WR_W2TH_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_WR_WTH2(D,CSTURB,TURBN,PD,PKEFF,PTKE,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA,PDRDZ,PM3_WR_WTH2)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_WR_WTH2
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_WTH2',0,ZHOOK_HANDLE)
CALL M3_WTH_WR2(D,CSTURB,TURBN,PD,PKEFF,PTKE,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA,PDRDZ,PM3_WR_WTH2)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_WTH2',1,ZHOOK_HANDLE)
END SUBROUTINE M3_WR_WTH2
!----------------------------------------------------------------------------
SUBROUTINE D_M3_WR_WTH2_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PKEFF,PTKE,PSQRT_TKE,PBLL_O_E,&
&PBETA,PLEPS,PETHETA,PD_M3_WR_WTH2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_WR_WTH2_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_WTH2_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_WTH_WR2_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PKEFF,PTKE,PSQRT_TKE,PBLL_O_E,PBETA,PLEPS,PETHETA,PD_M3_WR_WTH2_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_WTH2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_WR_WTH2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_WR_WTHR(D,CSTURB,TURBN,PREDTH1,PD,PKEFF,PTKE,PSQRT_TKE,PBETA,PLEPS,PETHETA,PM3_WR_WTHR)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PKEFF
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_WR_WTHR
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_WTHR',0,ZHOOK_HANDLE)
CALL M3_WTH_WTHR(D,CSTURB,TURBN,PREDTH1,PD,PKEFF,PTKE,PSQRT_TKE,PBETA,PLEPS,PETHETA,PM3_WR_WTHR)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_WR_WTHR',1,ZHOOK_HANDLE)
END SUBROUTINE M3_WR_WTHR
!----------------------------------------------------------------------------
SUBROUTINE D_M3_WR_WTHR_O_DDRDZ(D,CSTURB,TURBN,PM3_WR_WTHR,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PD_M3_WR_WTHR_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PM3_WR_WTHR
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_WR_WTHR_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_WTHR_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_WTH_WTHR_O_DDTDZ(D,CSTURB,TURBN,PM3_WR_WTHR,PREDR1,PREDTH1,PD,PBLL_O_E,PEMOIST,PD_M3_WR_WTHR_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_WR_WTHR_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_WR_WTHR_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_R2_W2R(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PDRDZ,PLM,PLEPS,PTKE,PM3_R2_W2R)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(OUT) :: PM3_R2_W2R
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_W2R',0,ZHOOK_HANDLE)
CALL M3_TH2_W2TH(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PDRDZ,PLM,PLEPS,PTKE,PM3_R2_W2R)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_W2R',1,ZHOOK_HANDLE)
END SUBROUTINE M3_R2_W2R
!----------------------------------------------------------------------------
SUBROUTINE D_M3_R2_W2R_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,OUSERV,PD_M3_R2_W2R_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
LOGICAL, INTENT(IN) :: OUSERV
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_R2_W2R_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_W2R_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_TH2_W2TH_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,OUSERV,PD_M3_R2_W2R_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_W2R_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_R2_W2R_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_R2_WR2(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PM3_R2_WR2)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_R2_WR2
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WR2',0,ZHOOK_HANDLE)
CALL M3_TH2_WTH2(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PM3_R2_WR2)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WR2',1,ZHOOK_HANDLE)
END SUBROUTINE M3_R2_WR2
!----------------------------------------------------------------------------
SUBROUTINE D_M3_R2_WR2_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PD_M3_R2_WR2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_R2_WR2_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WR2_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_TH2_WTH2_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PD_M3_R2_WR2_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WR2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_R2_WR2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_R2_W2TH(D,CSTURB,TURBN,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ,PM3_R2_W2TH)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_R2_W2TH
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_W2TH',0,ZHOOK_HANDLE)
CALL M3_TH2_W2R(D,CSTURB,TURBN,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ,PM3_R2_W2TH)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_W2TH',1,ZHOOK_HANDLE)
END SUBROUTINE M3_R2_W2TH
!----------------------------------------------------------------------------
SUBROUTINE D_M3_R2_W2TH_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_R2_W2TH_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_R2_W2TH_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_W2TH_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_TH2_W2R_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_R2_W2TH_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_W2TH_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_R2_W2TH_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_R2_WTH2(D,CSTURB,TURBN,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PM3_R2_WTH2)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_R2_WTH2
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTH2',0,ZHOOK_HANDLE)
CALL M3_TH2_WR2(D,CSTURB,TURBN,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PM3_R2_WTH2)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTH2',1,ZHOOK_HANDLE)
END SUBROUTINE M3_R2_WTH2
!----------------------------------------------------------------------------
SUBROUTINE D_M3_R2_WTH2_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_R2_WTH2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_R2_WTH2_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTH2_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_TH2_WR2_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_R2_WTH2_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTH2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_R2_WTH2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_R2_WTHR(D,CSTURB,TURBN,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PM3_R2_WTHR)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_R2_WTHR
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTHR',0,ZHOOK_HANDLE)
CALL M3_TH2_WTHR(D,CSTURB,TURBN,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PM3_R2_WTHR)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTHR',1,ZHOOK_HANDLE)
END SUBROUTINE M3_R2_WTHR
!----------------------------------------------------------------------------
SUBROUTINE D_M3_R2_WTHR_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_R2_WTHR_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PETHETA
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDRDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_R2_WTHR_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTHR_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_TH2_WTHR_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ,PD_M3_R2_WTHR_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTHR_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_R2_WTHR_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_WTHR_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PD_M3_THR_WTHR_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_WTHR_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTHR_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_THR_WTHR_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PD_M3_THR_WTHR_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTHR_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_WTHR_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_THR_WR2(D,CSTURB,TURBN,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ,PM3_THR_WR2)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDTDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_THR_WR2
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_WR2',0,ZHOOK_HANDLE)
CALL M3_THR_WTH2(D,CSTURB,TURBN,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ,PM3_THR_WR2)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_WR2',1,ZHOOK_HANDLE)
END SUBROUTINE M3_THR_WR2
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_WR2_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ,PD_M3_THR_WR2_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDTDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_WR2_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_THR_WTH2_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ,PD_M3_THR_WR2_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_WR2_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_WR2_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PD_M3_THR_WR2_O_DDTDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PSQRT_TKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_WR2_O_DDTDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDTDZ',0,ZHOOK_HANDLE)
CALL D_M3_THR_WTH2_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PD_M3_THR_WR2_O_DDTDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDTDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_WR2_O_DDTDZ
!----------------------------------------------------------------------------
SUBROUTINE M3_THR_W2R(D,CSTURB,TURBN,PREDTH1,PD,PLM,PLEPS,PTKE,PDTDZ,PM3_THR_W2R)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDTDZ
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PM3_THR_W2R
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_W2R',0,ZHOOK_HANDLE)
CALL M3_THR_W2TH(D,CSTURB,TURBN,PREDTH1,PD,PLM,PLEPS,PTKE,PDTDZ,PM3_THR_W2R)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_W2R',1,ZHOOK_HANDLE)
END SUBROUTINE M3_THR_W2R
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_W2R_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PDTDZ,PEMOIST,PD_M3_THR_W2R_O_DDRDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PBLL_O_E
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PDTDZ
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PEMOIST
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_W2R_O_DDRDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDRDZ',0,ZHOOK_HANDLE)
CALL D_M3_THR_W2TH_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PDTDZ,PEMOIST,PD_M3_THR_W2R_O_DDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDRDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_W2R_O_DDRDZ
!----------------------------------------------------------------------------
SUBROUTINE D_M3_THR_W2R_O_DDTDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PD_M3_THR_W2R_O_DDTDZ)
TYPE(DIMPHYEX_t), INTENT(IN) :: D
TYPE(CSTURB_t), INTENT(IN) :: CSTURB
TYPE(TURB_t), INTENT(IN) :: TURBN
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDR1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PREDTH1
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PD
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLM
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PLEPS
REAL, DIMENSION(D%NIJT,D%NKT), INTENT(IN) :: PTKE
REAL, DIMENSION(D%NIJT,D%NKT),INTENT(OUT) :: PD_M3_THR_W2R_O_DDTDZ
REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDTDZ',0,ZHOOK_HANDLE)
CALL D_M3_THR_W2TH_O_DDRDZ(D,CSTURB,TURBN,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PD_M3_THR_W2R_O_DDTDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDTDZ',1,ZHOOK_HANDLE)
END SUBROUTINE D_M3_THR_W2R_O_DDTDZ
!----------------------------------------------------------------------------
!
END MODULE MODE_PRANDTL