43 USE yomhook
,ONLY : lhook, dr_hook
44 USE parkind1
,ONLY : jprb
53 REAL,
DIMENSION(:),
INTENT(IN) :: ppsng
54 REAL,
DIMENSION(:),
INTENT(IN) :: pfflood
55 REAL,
DIMENSION(SIZE(PPSNG)) :: pffg
56 REAL(KIND=JPRB) :: zhook_handle
58 IF (lhook) CALL dr_hook(
'MODE_SURF_FLOOD_FRAC:FLOOD_FRAC_GROUND',0,zhook_handle)
61 WHERE(pfflood(:)>(1.0-ppsng(:)))pffg(:)=1.0-ppsng(:)
62 IF (lhook) CALL dr_hook(
'MODE_SURF_FLOOD_FRAC:FLOOD_FRAC_GROUND',1,zhook_handle)
74 REAL,
DIMENSION(:),
INTENT(IN) :: plai
75 REAL,
DIMENSION(:),
INTENT(IN) :: ppsnv
76 REAL,
DIMENSION(:),
INTENT(IN) :: pfflood
77 REAL,
DIMENSION(SIZE(PPSNV)) :: pffv
78 REAL(KIND=JPRB) :: zhook_handle
80 IF (lhook) CALL dr_hook(
'MODE_SURF_FLOOD_FRAC:FLOOD_FRAC_VEG',0,zhook_handle)
81 pffv(:)=pfflood(:)*min(1.0,xcffv/max(plai(:),0.1))
83 WHERE(pffv(:)>(1.0-ppsnv(:)))pffv(:)=1.0-ppsnv(:)
84 IF (lhook) CALL dr_hook(
'MODE_SURF_FLOOD_FRAC:FLOOD_FRAC_VEG',1,zhook_handle)
94 REAL,
DIMENSION(:),
INTENT(IN) :: pveg
95 REAL,
DIMENSION(:),
INTENT(IN) :: pffg
96 REAL,
DIMENSION(:),
INTENT(IN) :: pffv
97 REAL,
DIMENSION(:),
INTENT(IN) :: pfflood
98 REAL,
DIMENSION(SIZE(PVEG)) :: pff
99 REAL(KIND=JPRB) :: zhook_handle
101 IF (lhook) CALL dr_hook(
'MODE_SURF_FLOOD_FRAC:FLOOD_FRAC_NAT',0,zhook_handle)
102 pff(:) = pveg(:)*pffv(:) + (1-pveg(:))*pffg(:)
104 pff(:) = min(pff(:),pfflood(:))
105 IF (lhook) CALL dr_hook(
'MODE_SURF_FLOOD_FRAC:FLOOD_FRAC_NAT',1,zhook_handle)
real function, dimension(size(pveg)) flood_frac_nat(PVEG, PFFG, PFFV, PFFLOOD)
real function, dimension(size(ppsng)) flood_frac_ground(PPSNG, PFFLOOD)
real function, dimension(size(ppsnv)) flood_frac_veg(PLAI, PPSNV, PFFLOOD)