7 PTH, PUW, PWTH, PWQ, PLEPS )
59 INTEGER,
INTENT(IN) :: KI
60 REAL,
INTENT(IN) :: PTSTEP
61 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
62 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PFORC_E
63 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PDFORC_EDE
65 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PTH
66 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PUW
67 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PWTH
68 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PWQ
69 REAL,
DIMENSION(KI,SB%NLVL),
INTENT(IN) :: PLEPS
77 REAL,
DIMENSION(KI,SB%NLVL) :: ZDUDZ
78 REAL,
DIMENSION(KI,SB%NLVL) :: ZDP
80 REAL,
DIMENSION(KI,SB%NLVL) :: ZTP
82 REAL,
DIMENSION(KI,SB%NLVL) :: ZDISS_O_TKE
83 REAL,
DIMENSION(KI,SB%NLVL) :: ZF
84 REAL,
DIMENSION(KI,SB%NLVL) :: ZDFDDVDZ
87 REAL,
DIMENSION(KI,SB%NLVL) :: ZEXT
88 REAL,
DIMENSION(KI,SB%NLVL) :: ZDEXTDV
91 REAL,
DIMENSION(KI,SB%NLVL) :: ZTKE
92 REAL(KIND=JPRB) :: ZHOOK_HANDLE
102 IF (
lhook)
CALL dr_hook(
'CANOPY_EVOL_TKE',0,zhook_handle)
118 zdudz(:,jlayer) = (sb%XU(:,jlayer) - sb%XU(:,jlayer-1)) / sb%XDZF(:,jlayer
128 zdp(:,1) = - puw(:,2) * zdudz(:,2) * (sb%XZF(:,2)/sb%XZ(:,1))
131 DO jlayer=2,sb%NLVL-1
132 zdp(:,jlayer) = - 0.5 * (puw(:,jlayer) * zdudz(:,jlayer) ) &
133 - 0.5 * (puw(:,jlayer+1) * zdudz(:,jlayer+1))
137 zdp(:,sb%NLVL) = - puw(:,sb%NLVL) * zdudz(:,sb%NLVL) * (sb%XZF(:,sb%NLVL
141 zdextdv = zdextdv + 0.
151 DO jlayer=1,sb%NLVL-1
152 ztp(:,jlayer) =
xg/pth(:,jlayer) * 0.5 * ( (pwth(:,jlayer) + pwth(:,jlayer
157 ztp(:,sb%NLVL) =
xg/pth(:,sb%NLVL) * pwth(:,sb%NLVL)
161 zdextdv = zdextdv + 0.
168 zdiss_o_tke = -
xced * sqrt(sb%XTKE(:,:)) / pleps(:,:)
171 zext = zext + zdiss_o_tke * sb%XTKE(:,:)
172 zdextdv = zdextdv + 1.5 * zdiss_o_tke
180 zext = zext + pforc_e(:,:)
181 zdextdv = zdextdv + pdforc_ede(:,:)
191 CALL tridiag_surf(sb%XTKE,zf,zdfddvdz,zext,zdextdv,ptstep,sb%XDZF,sb%XDZ
198 sb%XTKE(:,:) = ztke(:,:)
205 sb%XTKE(:,:) = max(sb%XTKE,
xtkemin)
207 IF (
lhook)
CALL dr_hook(
'CANOPY_EVOL_TKE',1,zhook_handle)
subroutine canopy_evol_tke(SB, KI, PTSTEP, PRHOA, PFORC_E, PDFORC_
subroutine tridiag_surf(PVARM, PF, PDFDDTDZ, PEXT, PDEXTDV, PTSTEP, PDZZ, PDZM, PVARP, OIMPL, PALFA, PBETA)