This task makes position information from the XMM ODF available as a FITS format product file. It has been determined that this product would have value for constructing Good Time Intervals (using tabgtigen) based on orbit information, for providing XMM positions in the same coordinate system (GSE) as the ACE and WIND satellites for Trend Data construction (and SWCX analysis), and for possibly creating barycentric correction tables. A FITS format file conforming to both established Orbit file conventions and NASA OGIP FITS standards are more useful than the ASCII Orbit file provided in the XMM ODFs.
This task will utilize the OAL_getPosition routine to return the x-y-z components of the position vector in km as well as the x-y-z components of the corresponding velocity vector in km/s, both with respect to the reference Kepler orbit. Both sets of values will be written into a standard OGIP-compliant FITS binary extension table with a TIME column value, derived from a start, stop and sampling interval time, each specified by the user. This task will default to sampling the entire input file with a timestep interval of 60.0 seconds. The OAL interpolates the positions for times outside of an observation, and the user is warned that if such times are outside an ORBIT of a given ODF, the interpolation my fail or take very long periods of time to calculate.
The GEI to GSE coordinate conversion utilizes IDL routines converted to Fortran90 that originated in the Hapgood1992 paper.
Expanding the use of orbit, and taking advantage or the extrapolation routines in the OAL, one can select times that are far outside the range of a given OBSID. However, because of time and memory constraints, the selection is limited to 172800 seconds before the first time in the current OBSID and 172800 seconds after the last time in that OBSID. This solves the issue of taking a very long time or crashing with a seg fault if the user selects times too far away from the current obsid.