SUBROUTINE SNOW_FRAC_ROAD(PWSNOW_ROAD,OSNOW,PDN_ROAD,PDF_ROAD)
! ##############################################################
!
USE MODD_SNOW_PAR, ONLY : XWCRN
!
REAL, DIMENSION(:), INTENT(IN) :: PWSNOW_ROAD ! snow amount over roads (kg/m2)
LOGICAL, DIMENSION(:), INTENT(IN) :: OSNOW ! T: snow-fall is occuring
REAL, DIMENSION(:), INTENT(OUT) :: PDN_ROAD ! snow fraction over roads
REAL, DIMENSION(:), INTENT(OUT) :: PDF_ROAD ! snow-free fraction over roads
REAL(KIND=JPRB) :: ZHOOK_HANDLE
!
IF (LHOOK) CALL DR_HOOK('MODE_SURF_SNOW_FRAC:SNOW_FRAC_ROAD',0,ZHOOK_HANDLE)
PDF_ROAD(:) = 1.
PDN_ROAD(:) = 0.
!
! due to the flatness of horizontal surfaces (compared to landscape and
! vegetation), the amount of snow necessary to cover the entire surface XWCRN
! is reduced (equal to 1kg/m2 instead of 10).
!
WHERE (PWSNOW_ROAD(:)>0. .OR. OSNOW)
PDN_ROAD(:) = MAX(MIN(PWSNOW_ROAD(:)/(PWSNOW_ROAD(:) + XWCRN*0.1) , 0.7), 0.01)
PDF_ROAD(:) = 1.-PDN_ROAD(:)
END WHERE
IF (LHOOK) CALL DR_HOOK('MODE_SURF_SNOW_FRAC:SNOW_FRAC_ROAD',1,ZHOOK_HANDLE)
!
END SUBROUTINE SNOW_FRAC_ROAD