6 SUBROUTINE hydrol(dtime, pctsrf, rain_fall, snow_fall, evap, agesno, tsol, &
30 parameter(chasno=3.334e+05/(2.3867e+06*0.15))
48 snow(i, is) = snow(i, is) + snow_fall(i)*dtime*pctsrf(i, is)
49 IF (pctsrf(i,is)>
epsfra)
THEN
50 subli = min(evap(i)*dtime, snow(i,is))
51 snow(i, is) = snow(i, is) - subli
52 fsno = min(max((tsol(i,is)-rtt)/chasno,0.0), snow(i,is))
53 snow(i, is) = snow(i, is) - fsno
54 tsol(i, is) = tsol(i, is) - fsno*chasno
55 qsol(i, is) = qsol(i, is) + (rain_fall(i)-evap(i))*dtime + subli + fsno
56 qsol(i, is) = max(qsol(i,is), 0.0)
57 runoff(i) = runoff(i) + max(qsol(i,is)-mx_eau_sol, 0.0)*pctsrf(i, is)
58 qsol(i, is) = min(qsol(i,is), mx_eau_sol)
66 snow(i, is) = snow(i, is) + snow_fall(i)*dtime*pctsrf(i, is)
67 IF (pctsrf(i,is)>
epsfra)
THEN
68 subli = min(evap(i)*dtime, snow(i,is))
69 snow(i, is) = snow(i, is) - subli
70 fsno = min(max((tsol(i,is)-rtt)/chasno,0.0), snow(i,is))
71 snow(i, is) = snow(i, is) - fsno
72 tsol(i, is) = tsol(i, is) - fsno*chasno
73 qsol(i, is) = qsol(i, is) + (rain_fall(i)-evap(i))*dtime + subli + fsno
74 qsol(i, is) = max(qsol(i,is), 0.0)
75 runoff(i) = runoff(i) + max(qsol(i,is)-mx_eau_sol, 0.0)*pctsrf(i, is)
76 qsol(i, is) = min(qsol(i,is), mx_eau_sol)
82 tsol(i, is) = min(tsol(i,is), rtt)
92 snow(i, is) = snow(i, is) + snow_fall(i)*dtime*pctsrf(i, is)
93 IF (pctsrf(i,is)>
epsfra)
THEN
94 subli = min(evap(i)*dtime, snow(i,is))
95 snow(i, is) = snow(i, is) - subli
96 fsno = min(max((tsol(i,is)-rtt)/chasno,0.0), snow(i,is))
97 snow(i, is) = snow(i, is) - fsno
98 tsol(i, is) = tsol(i, is) - fsno*chasno
104 tsol(i, is) = min(tsol(i,is), rtt)
111 agesno(i) = (agesno(i)+(1.-agesno(i)/50.)*dtime/86400.)* &
112 exp(-1.*max(0.0,snow_fall(i))*dtime/0.3)
113 agesno(i) = max(agesno(i), 0.0)
integer, parameter is_ter
integer, parameter is_lic
subroutine hydrol(dtime, pctsrf, rain_fall, snow_fall, evap, agesno, tsol, qsol, snow, runoff)
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
integer, parameter is_sic