subroutine ExtractPositionn8(ITP,iYr,Doy8,RVect) integer ITP integer iYr double precision Doy8 real RVect(3) real VVect(5) double precision dLngSun double precision dLatSun double precision dDisSun if (ITP .eq. 3) then ! Earth call SunNewcomb8(0,iYr,Doy8,dLngSun,dLatSun,dDisSun) RVect(1) = dLngSun+180 RVect(2) = -dLatSun/3600 ! arcsec -> degrees RVect(3) = dDisSun else if (ITP .eq. 10) then ! Ulysses Doy = sngl(Doy8) call UlyssesOrbit(iYr,Doy,RVect,VVect) else if (ITP .eq. 11 .or. ! Helios 1 & ITP .eq. 12) then ! Helios 2 Doy = sngl(Doy8) call HOSOrbit(ITP-10,iYr,Doy,RVect(3),RVect(1),VR,VT) RVect(2) = 0 else if (ITP .eq. 13) then ! STEREO A Doy = sngl(Doy8) call StereoAOrbit(iYr,Doy,RVect,VVect) else if (ITP .eq. 14) then ! STEREO B Doy = sngl(Doy8) call StereoBOrbit(iYr,Doy,RVect,VVect) else if (ITP .eq. 15) then ! MESSENGER Doy = sngl(Doy8) call Messengerorbit(iYr,Doy,RVect,VVect) else if (ITP .eq. 16) then ! Comet 67P/GC Doy = sngl(Doy8) call comet67PCGorbit(iYr,Doy,RVect,VVect) else Doy = sngl(Doy8) call PlanetOrbit(ITP,iYr,Doy,RVect,VVect) end if ! Convert to heliographic coordinates call ECLIPTIC_HELIOGRAPHIC8(0,iYr,Doy8,RVect(1),RVect(2)) return end