17 USE mo_kind,
ONLY : dp
19 USE mo_constants,
ONLY : twothird_dp
75 ELEMENTAL PURE SUBROUTINE canopy_interc(pet, interc_max, precip, interc, throughfall, evap_canopy)
79 REAL(dp),
INTENT(IN) :: pet
82 REAL(dp),
INTENT(IN) :: interc_max
85 REAL(dp),
INTENT(IN) :: precip
88 REAL(dp),
INTENT(INOUT) :: interc
91 REAL(dp),
INTENT(OUT) :: throughfall
94 REAL(dp),
INTENT(OUT) :: evap_canopy
105 aux_help = interc + precip
106 if (aux_help >= interc_max)
then
107 throughfall = aux_help - interc_max
116 if (interc_max >
eps_dp)
then
117 evap_canopy = pet * (interc / interc_max)**twothird_dp
124 if (evap_canopy < 0.0_dp) evap_canopy = 0.0_dp
126 if (interc > evap_canopy)
then
127 interc = interc - evap_canopy
elemental pure subroutine, public canopy_interc(pet, interc_max, precip, interc, throughfall, evap_canopy)
Canopy interception.
Provides constants commonly used by mHM, mRM and MPR.
real(dp), parameter, public eps_dp
epsilon(1.0) in double precision