C+ C NAME: C ExtractPosition C PURPOSE: C CALLING SEQUENCE: subroutine ExtractPosition(ITP,iYr,Doy,RVect) C INPUTS: C OUTPUTS: C CALLS: C SunNewcomb, UlyssesOrbit, HOSOrbit, PlanetOrbit C ECLIPTIC_HELIOGRAPHIC, StereoAOrbit, StereoBOrbit C- integer ITP integer iYr real Doy real RVect(3) real VVect(5) double precision dLngSun double precision dLatSun double precision dDisSun if (ITP .eq. 3) then ! Earth call SunNewcomb(0,iYr,Doy,dLngSun,dLatSun,dDisSun) RVect(1) = dLngSun+180 RVect(2) = -dLatSun/3600 ! arcsec -> degrees RVect(3) = dDisSun else if (ITP .eq. 10) then ! Ulysses call UlyssesOrbit(iYr,Doy,RVect,VVect) else if (ITP .eq. 11 .or. ! Helios 1 & ITP .eq. 12) then ! Helios 2 call HOSOrbit(ITP-10,iYr,Doy,RVect(3),RVect(1),VR,VT) RVect(2) = 0 else if (ITP .eq. 13) then ! STEREO A call StereoAOrbit(iYr,Doy,RVect,VVect) else if (ITP .eq. 14) then ! STEREO B call StereoBOrbit(iYr,Doy,RVect,VVect) else call PlanetOrbit(ITP,iYr,Doy,RVect,VVect) end if ! Convert to heliographic coordinates call ECLIPTIC_HELIOGRAPHIC(0,iYr,Doy,RVect(1),RVect(2)) return end