1 SUBROUTINE dataintp(LL,LAT,LON,F1,DT1,F2,DT2,IPT,NBAND,RNG,DEF
2 . ,INTORDER,DUMMY,FOUT, func, int_bad,IR,JC)
78 INTEGER*4 NBAND,IPT,INTORDER,IR,JC, int_bad, int_bad1, int_bad2
79 real*4 ll(1),lat(1),lon(1),
f1(ipt,1),
f2(ipt,1),rng(*),def(1)
80 . ,fout(1),fout1(mband),fout2(mband),dummy(ipt,1)
86 IF(rng(2).GT.rng(1))
THEN
94 IF(intorder .EQ. 112)
THEN
95 CALL spaceint(ll,lat,lon,
f1,ipt,nband,mimx,def,fout1, int_bad1 )
96 CALL spaceint(ll,lat,lon,
f2,ipt,nband,mimx,def,fout2, int_bad2 )
97 CALL timeint(fout1,fout2,dt1,dt2,1,nband,mimx,def,fout,
func,ir,jc
98 IF( ( int_bad1 .EQ. 1 ) .OR. ( int_bad2 .EQ. 1 ) ) int_bad = 1
104 IF(intorder.EQ.110)
THEN
105 CALL spaceint(ll,lat,lon,
f1,ipt,nband,mimx,def,fout, int_bad )
107 if(intorder.EQ.101)
then
108 CALL timeint(
f1,
f2,dt1,dt2,ipt,nband,mimx,def,fout,
func,ir,jc
110 IF(intorder.EQ.121)
THEN
113 CALL spaceint(ll,lat,lon,dummy,ipt,nband,mimx,def,fout, int_bad
121 SUBROUTINE timeint(F1,F2,DT1,DT2,IPT,NBAND,MIMX,DEF,FOUT,func
124 INTEGER*4 NBAND,IPT,IR,JC,N,I,K,IJ
125 REAL*4 F1(IPT,1),F2(IPT,1),MIMX(*)
126 . ,def(1),fout(1),
func(1)
127 real*8 dt1,dt2,t1,t2,w1,w2
131 IF(t1.EQ.0. .AND. t2.EQ.0.) t2=1
141 IF(f1(i,n).GE.mimx(1).AND.f1(i,n).LE.mimx(2))
THEN
142 if(f2(i,n).GE.mimx(1).AND.f2(i,n).LE.mimx(2))
then
143 fout(k)=w1*f1(i,n)+w2*f2(i,n)
150 if(f2(i,n).GE.mimx(1).AND.f2(i,n).LE.mimx(2))
then
167 SUBROUTINE spaceint(LL,LAT,LON,F,IPT,NBAND,MIMX,DEF,FOUT, int_bad )
171 INTEGER*4 NBAND,IPT,I,N,NNG, int_bad
172 INTEGER*4 NCC,NC(4),N1(3,4),N2(5,6),N3(2,4)
173 real*4 ll(*),lat(*),lon(*),
f(ipt,1),mimx(*),def(1)
174 $ ,fout(1),llft(2),urht(2),dx,dy,dd,xp,yp,a(4),g(4)
175 DATA nc/1,10,100,1000/
176 DATA n1/1,2,4,10,1,3,100,2,4,1000,1,3/
177 DATA n2/11,1,2,4,3,101,1,3,4,2,1001,1,4,2,3,110,2,3,1,4
178 $ ,1010,2,4,3,1,1100,3,4,2,1/
179 DATA n3/111,4,1110,1,1101,2,1011,3/
186 IF(
abs(xp) .gt. 180.) xp=
sign(360-
abs(xp), xp)
189 IF(
abs(dx) .gt. 180.) dx=
sign(360-
abs(dx), dx)
198 IF(g(i).LT.mimx(1) .OR. g(i).GT.mimx(2))
THEN
203 IF(nng .eq. 0)
GOTO 9000
207 IF(ncc .eq. n2(1,i))
THEN
208 g(n2(2,i))=g(n2(4,i))
209 g(n2(3,i))=g(n2(5,i))
216 IF(ncc .eq. n1(1,i))
THEN
217 g(i)=(g(n1(2,i))+g(n1(3,i)))/2.
230 IF(ncc .eq. n3(1,i))
THEN
239 IF (
abs(dx) .le. 1.e-9)
THEN
244 IF (
abs(dy) .le. 1.e-9)
THEN
249 IF (
abs(dd) .le. 1.e-9)
THEN
252 a(4)=(a(1)-g(2)+g(3)-g(4))/dd
254 fout(n)=a(1)+a(2)*xp+yp*(a(3)+a(4)*xp)