1 SUBROUTINE snfrac (SNEQV,IVEGx,SNCOVR)
17 integer,
intent(in) :: ivegx
18 REAL,
intent(in) :: sneqv
19 REAL,
intent(out) :: sncovr
20 REAL salp,snup(20),rsnow
24 DATA snup /0.080, 0.080, 0.080, 0.080, 0.080, 0.020, &
25 & 0.020, 0.060, 0.040, 0.020, 0.010, 0.020, &
26 & 0.020, 0.020, 0.013, 0.013, 0.010, 0.020, &
34 IF ( iveg > 20 .or. iveg < 1 )
then
38 IF (sneqv < snup(iveg))
THEN
39 rsnow = sneqv/snup(iveg)
40 sncovr = 1. - (exp(-salp*rsnow) - rsnow*exp(-salp))
44 sncovr = max(0.,min(sncovr,1.))