Skip to content
Snippets Groups Projects
mode_prandtl.F90 97.8 KiB
Newer Older
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLM
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PETHETA
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDRDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: M3_R2_W2TH
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_W2TH',0,ZHOOK_HANDLE)
M3_R2_W2TH = M3_TH2_W2R(KKA,KKU,KKL,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_W2TH',1,ZHOOK_HANDLE)
END FUNCTION M3_R2_W2TH
!----------------------------------------------------------------------------
FUNCTION D_M3_R2_W2TH_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLM
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PETHETA
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDRDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_R2_W2TH_O_DDRDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_W2TH_O_DDRDZ',0,ZHOOK_HANDLE)
D_M3_R2_W2TH_O_DDRDZ = D_M3_TH2_W2R_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PETHETA,PDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_W2TH_O_DDRDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_R2_W2TH_O_DDRDZ
!----------------------------------------------------------------------------
FUNCTION M3_R2_WTH2(KKA,KKU,KKL,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PETHETA
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDRDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: M3_R2_WTH2
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTH2',0,ZHOOK_HANDLE)
M3_R2_WTH2 = M3_TH2_WR2(KKA,KKU,KKL,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTH2',1,ZHOOK_HANDLE)
END FUNCTION M3_R2_WTH2
!----------------------------------------------------------------------------
FUNCTION D_M3_R2_WTH2_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PETHETA
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDRDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_R2_WTH2_O_DDRDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTH2_O_DDRDZ',0,ZHOOK_HANDLE)
D_M3_R2_WTH2_O_DDRDZ = D_M3_TH2_WR2_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTH2_O_DDRDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_R2_WTH2_O_DDRDZ
!----------------------------------------------------------------------------
FUNCTION M3_R2_WTHR(KKA,KKU,KKL,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PETHETA
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDRDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: M3_R2_WTHR
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTHR',0,ZHOOK_HANDLE)
M3_R2_WTHR = M3_TH2_WTHR(KKA,KKU,KKL,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_R2_WTHR',1,ZHOOK_HANDLE)
END FUNCTION M3_R2_WTHR
!----------------------------------------------------------------------------
FUNCTION D_M3_R2_WTHR_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PETHETA
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDRDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_R2_WTHR_O_DDRDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTHR_O_DDRDZ',0,ZHOOK_HANDLE)
D_M3_R2_WTHR_O_DDRDZ = D_M3_TH2_WTHR_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PETHETA,PDRDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_R2_WTHR_O_DDRDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_R2_WTHR_O_DDRDZ
!----------------------------------------------------------------------------
FUNCTION D_M3_THR_WTHR_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PEMOIST
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_THR_WTHR_O_DDRDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTHR_O_DDRDZ',0,ZHOOK_HANDLE)
D_M3_THR_WTHR_O_DDRDZ = D_M3_THR_WTHR_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WTHR_O_DDRDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_THR_WTHR_O_DDRDZ
!----------------------------------------------------------------------------
FUNCTION M3_THR_WR2(KKA,KKU,KKL,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PEMOIST
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDTDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: M3_THR_WR2
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_WR2',0,ZHOOK_HANDLE)
M3_THR_WR2 = M3_THR_WTH2(KKA,KKU,KKL,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_WR2',1,ZHOOK_HANDLE)
END FUNCTION M3_THR_WR2
!----------------------------------------------------------------------------
FUNCTION D_M3_THR_WR2_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PEMOIST
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDTDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_THR_WR2_O_DDRDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDRDZ',0,ZHOOK_HANDLE)
D_M3_THR_WR2_O_DDRDZ = D_M3_THR_WTH2_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST,PDTDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDRDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_THR_WR2_O_DDRDZ
!----------------------------------------------------------------------------
FUNCTION D_M3_THR_WR2_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PSQRT_TKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PEMOIST
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_THR_WR2_O_DDTDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDTDZ',0,ZHOOK_HANDLE)
D_M3_THR_WR2_O_DDTDZ = D_M3_THR_WTH2_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLEPS,PSQRT_TKE,PBLL_O_E,PEMOIST)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_WR2_O_DDTDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_THR_WR2_O_DDTDZ
!----------------------------------------------------------------------------
FUNCTION M3_THR_W2R(KKA,KKU,KKL,PREDTH1,PD,PLM,PLEPS,PTKE,PDTDZ)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLM
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDTDZ
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: M3_THR_W2R
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_W2R',0,ZHOOK_HANDLE)
M3_THR_W2R = M3_THR_W2TH(KKA,KKU,KKL,PREDTH1,PD,PLM,PLEPS,PTKE,PDTDZ)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:M3_THR_W2R',1,ZHOOK_HANDLE)
END FUNCTION M3_THR_W2R
!----------------------------------------------------------------------------
FUNCTION D_M3_THR_W2R_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PDTDZ,PEMOIST)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLM
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PBLL_O_E
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PDTDZ
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PEMOIST
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_THR_W2R_O_DDRDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDRDZ',0,ZHOOK_HANDLE)
D_M3_THR_W2R_O_DDRDZ = D_M3_THR_W2TH_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE,PBLL_O_E,PDTDZ,PEMOIST)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDRDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_THR_W2R_O_DDRDZ
!----------------------------------------------------------------------------
FUNCTION D_M3_THR_W2R_O_DDTDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE)
  INTEGER,                INTENT(IN) :: KKA 
  INTEGER,                INTENT(IN) :: KKU  
  INTEGER,                INTENT(IN) :: KKL
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDR1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PREDTH1
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PD
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLM
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PLEPS
  REAL, DIMENSION(:,:,:), INTENT(IN) :: PTKE
  REAL, DIMENSION(SIZE(PD,1),SIZE(PD,2),SIZE(PD,3)) :: D_M3_THR_W2R_O_DDTDZ
!
REAL(KIND=JPRB) :: ZHOOK_HANDLE
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDTDZ',0,ZHOOK_HANDLE)
D_M3_THR_W2R_O_DDTDZ = D_M3_THR_W2TH_O_DDRDZ(KKA,KKU,KKL,PREDR1,PREDTH1,PD,PLM,PLEPS,PTKE)
!
IF (LHOOK) CALL DR_HOOK('MODE_PRANDTL:D_M3_THR_W2R_O_DDTDZ',1,ZHOOK_HANDLE)
END FUNCTION D_M3_THR_W2R_O_DDTDZ
!----------------------------------------------------------------------------
!
END MODULE MODE_PRANDTL