[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Users] CelestialBody Position extrapolation



simon.spoerri@students.fhnw.ch a écrit :

Dear all,

Hi Simon,


i'd like to create a discrete sampling of celestial body positions for a
complete orbit of all bodies. I tried both getting positions from the
celestialBody object directly and using a Propagator to get positions of the
orbits. However i run into ephemerides constraints and cannot obtain
coordinates past around 2030 (Error: out of range date for EARTH_MOON
ephemerides: 2030-05-20T14:36:30.712).

I'm not sure about your needs. Orekit uses JPL ephemerides (or INPOP ephemerides) to compute position/velocity of celestial bodies. It does not do any propagation by itself for these bodies.

The limitation you get is simply the limitation of the JPL ephemerides you use. I guess you simply relied on the orekit-data.zip file provided for convenience in the download section of the forge and did not change the default set of data contained in this zip archive. If you want to go past 2030, you can look inside the archive and you will see it contains a file named unxp1962.406. This is a reduce JPL ephemeris file. Remove this file and replace it by the original files from JPL that you will find here: <ftp://ssd.jpl.nasa.gov/pub/eph/planets/SunOS/de406/>. Each file contains ephemerides for 300 years. If you retrieve all 20 files, you will be able to propagate from year -3000 to year +3000. You can look at the wiki page <https://www.orekit.org/forge/projects/orekit/wiki/Configuration> for further information on how Orekit does load such data.

Please note that JPL ephemerides are already sampled. The correspond to large sets of Chebyshev polynomials. Adding another sampling layer on top of that is probably not worth the trouble. Just using the celestial body itself is probably sufficient for most purposes. The current version of celestial bodies that use JPL ephemerides is also thread safe (it was not thread safe in the 5.x series of the Orekit library), and uses efficient cache mechanisms even when several threads uses dates very wide apart from each other. This may be useful in a web application as you cannot know beforehand if two different clients will request positions around the same dates.

best regards,
Luc

I try to obtain the positions in the SolarSystemBarycenter Frame.
My question is if it is possible at all in Orekit to extrapolate body positions around 150 years into the future/past? I know that this is not the main purpose of Orekit and I do not require very accurate results, nevertheless i wanted to
use Orekit for that for convenience...
And if it is possible, how should i do it?

thanks a lot in advance,
Simon





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.