1 subroutine asap_rot_int(nstp,iyinit,idinit,tsap,asap,ngps,
2 * igyr,igday,gpsec,vecs)
38 real*8 asap(6,*),tsap(*),vecs(6,*),gpsec(*)
39 real*8 a0(3),a1(3),a2(3),a3(3),vt(6,2)
40 real*8 tsap1,tsap2,t,dift,dt,x,x2,x3
41 integer*4 nstp,iyinit,idinit,ngps,igyr,igday,jd
42 integer*4 ind, i, j, i1, nr
49 dift = (
jd(igyr,1,igday) -
jd(iyinit,1,idinit))*864.d2
56 if ((t.gt.tsap2).or.(t.lt.tsap1))
then
57 if (t.gt.tsap(ind+1))
then
58 do while (t.gt.tsap(ind+1))
61 print *,
'GPS times after available ASAP data'
70 do while (t.lt.tsap(ind))
73 print *,
'GPS times before available ASAP data'
84 dt = tsap(ind+1) - tsap(ind)
85 call asap_rots(iyinit,idinit,tsap(ind),asap(1,ind),nr,vt)
89 a2(j) = 3.d0*vt(j,2) - 3.d0*vt(j,1)
90 * - 2.d0*vt(j+3,1)*dt - vt(j+3,2)*dt
91 a3(j) = 2.d0*vt(j,1) - 2.d0*vt(j,2)
92 * + vt(j+3,1)*dt + vt(j+3,2)*dt
103 vecs(j,i) = a0(j) + a1(j)*x + a2(j)*x2 + a3(j)*x3
104 vecs(j+3,i) = (a1(j) + 2.*a2(j)*x + 3.*a3(j)*x2)/dt