22 subroutine getvdep(n,ix,jy,ust,temp,pa,L,gr,rh,rr,snow,vdepo)
59 integer :: yyyymmdd,hhmmss,yyyy,mmdd,n,lseason,i,j,ix,jy
60 real :: vdepo(maxspec),vd,rb(maxspec),rc(maxspec),raquer,ylat
61 real ::
raerod,ra,ust,temp,tc,pa,l,gr,rh,rr,myl,nyl,rhoa,diffh2o,snow
62 real :: slanduse(numclass)
63 real,
parameter :: eps=1.e-5
69 jul=bdate+
real(wftime(n),kind=dp)/86400._dp
77 call
caldate(jul,yyyymmdd,hhmmss)
79 mmdd=yyyymmdd-10000*yyyy
81 if ((ylat.gt.-20).and.(ylat.lt.20))
then
85 if ((mmdd.ge.1201).or.(mmdd.le.301))
then
87 else if ((mmdd.ge.1101).or.(mmdd.le.331))
then
89 else if ((mmdd.ge.401).and.(mmdd.le.515))
then
91 else if ((mmdd.ge.516).and.(mmdd.le.915))
then
99 diffh2o=2.11e-5*(temp/273.15)**1.94*(101325/pa)
110 myl=(1.718+0.0049*tc-1.2e-05*tc**2)*1.e-05
112 myl=(1.718+0.0049*tc)*1.e-05
133 call
getrb(nspec,ust,nyl,diffh2o,reldiff,rb)
137 if (snow.gt.0.001)
then
144 slanduse(j)=xlanduse(ix,jy,j)
151 if (slanduse(j).gt.eps)
then
157 raquer=raquer+ra*slanduse(j)
162 call
getrc(nspec,lseason,j,tc,gr,rh,rr,rc)
169 if (reldiff(i).gt.0.)
then
170 if ((ra+rb(i)+rc(i)).gt.0.)
then
171 vd=1./(ra+rb(i)+rc(i))
178 vdepo(i)=vdepo(i)+vd*slanduse(j)
188 call
partdep(nspec,density,fract,schmi,vset,raquer,ust,nyl,vdepo)
196 if ((reldiff(i).lt.0.).and.(density(i).lt.0.).and. &
197 (dryvel(i).gt.0.))
then
real function raerod(l, ust, z0)
subroutine caldate(juldate, yyyymmdd, hhmiss)
subroutine getrc(nc, i, j, t, gr, rh, rr, rc)
subroutine getrb(nc, ustar, nyl, diffh2o, reldiff, rb)
subroutine getvdep(n, ix, jy, ust, temp, pa, L, gr, rh, rr, snow, vdepo)
subroutine partdep(nc, density, fract, schmi, vset, ra, ustar, nyl, vdep)