7 psflux_u,pforc_u,pdforc_udu,pdz,pdzf,pu,puw, &
43 USE modi_canopy_evol_field
45 USE yomhook
,ONLY : lhook, dr_hook
46 USE parkind1
,ONLY : jprb
53 INTEGER,
INTENT(IN) :: ki
54 INTEGER,
INTENT(IN) :: klvl
55 REAL,
INTENT(IN) :: ptstep
56 INTEGER,
INTENT(IN) :: kimpl
61 REAL,
DIMENSION(KI),
INTENT(IN) :: pwind
62 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pk
63 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pdkddvdz
66 REAL,
DIMENSION(KI),
INTENT(IN) :: psflux_u
67 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pforc_u
68 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pdforc_udu
70 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pdz
72 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pdzf
74 REAL,
DIMENSION(KI,KLVL),
INTENT(INOUT) :: pu
75 REAL,
DIMENSION(KI,KLVL),
INTENT(OUT) :: puw
76 REAL,
DIMENSION(KI),
INTENT(OUT) :: palfa
77 REAL,
DIMENSION(KI),
INTENT(OUT) :: pbeta
85 REAL,
DIMENSION(KI,KLVL) :: zdudz
86 REAL,
DIMENSION(KI,KLVL) :: zf
87 REAL,
DIMENSION(KI,KLVL) :: zdfddvdz
90 REAL,
DIMENSION(KI,KLVL) :: zext
91 REAL,
DIMENSION(KI,KLVL) :: zdextdv
94 REAL,
DIMENSION(KI,KLVL) :: zu
96 REAL,
DIMENSION(KI) :: zduadt
98 REAL(KIND=JPRB) :: zhook_handle
108 IF (lhook) CALL dr_hook(
'CANOPY_EVOL_WIND',0,zhook_handle)
124 zext = zext + pforc_u(:,:)
126 zdextdv = zdextdv + pdforc_udu(:,:)
146 zduadt(:) = ( pwind(:) - pu(:,klvl) ) /ptstep
151 zext(:,jlayer) = zext(:,jlayer)
155 zext(:,klvl) = zduadt(:)
158 psflux_u, pforc_u, pdforc_udu, pdz, pdzf, &
159 zext, zdextdv, pu, puw, palfa, pbeta )
167 IF (lhook) CALL dr_hook(
'CANOPY_EVOL_WIND',1,zhook_handle)
subroutine canopy_evol_field(KI, KLVL, PTSTEP, KIMPL, PK, PDKDDVDZ, PSFLUX_F, PFORC_F, PDFORC_FDF, PDZ, PDZF, PEXT, PDEXTDV, PF, PWF, PALFA, PBETA)
subroutine canopy_evol_wind(KI, KLVL, PTSTEP, KIMPL, PWIND, PK, PDKDDVDZ, PSFLUX_U, PFORC_U, PDFORC_UDU, PDZ, PDZF, PU, PUW, PALFA, PBETA)