57 integer :: ix,jy,k,l,li,nrefine,iix,jjy
58 integer,
parameter :: lumaxx=1200,lumaxy=600
59 integer,
parameter :: xlon0lu=-180,ylat0lu=-90
60 real,
parameter :: dxlu=0.3
61 real :: xlon,ylat,sumperc,p,xi,yj
62 real :: xlandusep(lumaxx,lumaxy,numclass)
72 sumperc=sumperc+landinvent(ix,jy,li+3)
75 k=landinvent(ix,jy,li)
76 if (sumperc.gt.0)
then
77 p=landinvent(ix,jy,li+3)/sumperc
105 xlon=(ix+(iix-1)/
real(nrefine))*dx+xlon0
106 if (xlon.ge.(xlon0lu+lumaxx*dxlu))
then
107 xlon=xlon-lumaxx*dxlu
110 ylat=(jy+(jjy-1)/
real(nrefine))*dy+ylat0
111 xi=int((xlon-xlon0lu)/dxlu)+1
112 yj=int((ylat-ylat0lu)/dxlu)+1
113 if (xi.gt.lumaxx) xi=xi-lumaxx
114 if (yj.gt.lumaxy) yj=yj-lumaxy
116 write (*,*)
'problem with landuseinv sampling: ', &
117 xlon,xlon0lu,ix,iix,xlon0,dx,nxmax
122 xlanduse(ix,jy,k)+xlandusep(int(xi),int(yj),k)
123 sumperc=sumperc+xlanduse(ix,jy,k)
127 if (sumperc.gt.0)
then
131 xlanduse(ix,jy,k)/
real(nrefine*nrefine)
132 sumperc=sumperc+xlanduse(ix,jy,k)
135 if (sumperc.lt.1-1e-5)
then
138 xlanduse(ix,jy,k)/sumperc
142 if (lsm(ix,jy).lt.0.1)
then
185 xlandusen(ix,jy,k,l)=0.
188 xlon=(ix+(iix-1)/
real(nrefine))*dxn(l)+xlon0n(l)
190 ylat=(jy+(jjy-1)/
real(nrefine))*dyn(l)+ylat0n(l)
191 xi=int((xlon-xlon0lu)/dxlu)+1
192 yj=int((ylat-ylat0lu)/dxlu)+1
193 if (xi.gt.lumaxx) xi=xi-lumaxx
194 if (yj.gt.lumaxy) yj=yj-lumaxy
196 xlandusen(ix,jy,k,l)=xlandusen(ix,jy,k,l)+ &
197 xlandusep(int(xi),int(yj),k)
198 sumperc=sumperc+xlandusen(ix,jy,k,l)
202 if (sumperc.gt.0)
then
205 xlandusen(ix,jy,k,l)= &
206 xlandusen(ix,jy,k,l)/
real(nrefine*nrefine)
207 sumperc=sumperc+xlandusen(ix,jy,k,l)
210 if (sumperc.lt.1-1e-5)
then
212 xlandusen(ix,jy,k,l)=xlandusen(ix,jy,k,l)/sumperc
216 if (lsmn(ix,jy,l).lt.0.1)
then
217 xlandusen(ix,jy,3,l)=1.
219 xlandusen(ix,jy,7,l)=1.