7 ki,klvl,pz,pzf,pdz,pdzf,pheight,pcanopy_density,pu,ptke, &
8 puw_ground, pduwdu_ground, &
9 pforc_u,pdforc_udu,pforc_e,pdforc_ede)
39 USE yomhook
,ONLY : lhook, dr_hook
40 USE parkind1
,ONLY : jprb
49 TYPE(isba_t
),
INTENT(INOUT) :: i
51 INTEGER,
INTENT(IN) :: ki
52 INTEGER,
INTENT(IN) :: klvl
53 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pz
54 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pzf
55 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pdz
56 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pdzf
57 REAL,
DIMENSION(KI),
INTENT(IN) :: pheight
58 REAL,
DIMENSION(KI),
INTENT(IN) :: pcanopy_density
60 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pu
61 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: ptke
63 REAL,
DIMENSION(KI),
INTENT(IN) :: puw_ground
64 REAL,
DIMENSION(KI),
INTENT(IN) :: pduwdu_ground
66 REAL,
DIMENSION(KI,KLVL),
INTENT(OUT) :: pforc_u
67 REAL,
DIMENSION(KI,KLVL),
INTENT(OUT) :: pdforc_udu
69 REAL,
DIMENSION(KI,KLVL),
INTENT(OUT) :: pforc_e
70 REAL,
DIMENSION(KI,KLVL),
INTENT(OUT) :: pdforc_ede
77 REAL,
DIMENSION(KI,KLVL) :: zcdrag
78 REAL,
DIMENSION(KI,KLVL) :: zdensity
79 REAL,
DIMENSION(KI,KLVL) :: zsv
80 REAL,
DIMENSION(KI,KLVL) :: zforc
81 REAL,
DIMENSION(KI,KLVL) :: zairvol
82 REAL(KIND=JPRB) :: zhook_handle
94 IF (lhook) CALL dr_hook(
'ISBA_CANOPY',0,zhook_handle)
98 IF (pheight(jj)>0.)
THEN
99 zdensity(jj,jlayer) = 1.5 * &
100 max( pcanopy_density(jj)*4.*pz(jj,jlayer)*(pheight(jj)-pz(jj,jlayer))/pheight(jj)**2, 0.)
108 zcdrag(:,:) = i%XCDRAG
122 CALL
canopy(ki, klvl, pzf, pdz, pheight, zdensity, zcdrag, pu, zairvol, &
123 zsv, zforc, pforc_u, pdforc_udu, pforc_e, pdforc_ede )
129 pforc_u(:,1) = puw_ground(:) / pdz(:,1)
130 pdforc_udu(:,1) = pdforc_udu(:,1) + pduwdu_ground(:) / pdz(:,1)
141 pforc_e(:,:) = pforc_e - 2.*ptke(:,:)*zforc(:,:)
142 pdforc_ede(:,:) = pdforc_ede - 2.*zforc(:,:)
144 IF (lhook) CALL dr_hook(
'ISBA_CANOPY',1,zhook_handle)
subroutine isba_canopy(I, KI, KLVL, PZ, PZF, PDZ, PDZF, PHEIGHT, PCANOPY_DENSITY, PU, PTKE, PUW_GROUND, PDUWDU_GROUND, PFORC_U, PDFORC_UDU, PFORC_E, PDFORC_EDE)
subroutine canopy(KI, KLVL, PZF, PDZ, PHEIGHT, PDENSITY, PCDRAG, PU, PAIRVOL, PSV, PFORC, PFORC_U, PDFORC_UDU, PFORC_E, PDFORC_EDE)