DE414 ephemeris + (Celestia 1.5.0)

Post requests, images, descriptions and reports about work in progress here.
Topic author
revent
Posts: 80
Joined: 15.11.2003
Age: 46
With us: 20 years 7 months
Location: Springfield, MO, USA

DE414 ephemeris + (Celestia 1.5.0)

Post #1by revent » 12.03.2007, 15:22

I've been working lately on creating a 'composite' of the DE414 and other recent ephemerides for use with Celestia 1.5.0, as a (very large) add-on replacement for the current VSOP87 model that Celestia uses by default. DE414 is JPL's latest planetary ephemeris, and is considerably more accurate than the DE200 model that VSOP87 is based on. I've also merged in the most recent orbits for all of the other objects in solarsys.ssc, so this is a /big/ file at this point (around a half-gig).

Unfortuantly, most of the released SPKs for satellite orbits cover considerably less time than the original models, so next up is to extract the missing time periods from Horizons, and then see just what I can do to shrink this is a more manageable size. Most of the satellite orbits contain velocity data that Celestia shouldn't need, so it should be possible to shrink it by quite a bit.

One thing I've found surprising, though, is just how well Celestia's spice inplementation handles this massive dataset. On my little 1.3Ghz laptop (with only 128MB ram), Celestia draws both the standard and spice orbits with no noticable difference in responsiveness or framerates

What's the point? Well, Pluto is currently in the wrong place by about 1.5 million kilometers, for one thing. :) Also, it's kinda neat to actually watch Janus and Epimetheus switch orbits.

Anyways, here a couple of pics showing the difference. The untextured planets and moons are from the newer ephemeris.

Image

Image

What I was hoping for a bit of feedback on was what kind of timespan and filesize would people consider worth downloading? I know this is /way/ too huge to ever go into the mainstream distribution. Here is what is currently included..

Code: Select all

1 MERCURY BARYCENTER  1599 DEC 09 00:00:00.000        2201 FEB 20 00:00:00.000
2 VENUS BARYCENTER                Same coverage as previous object
3 EARTH BARYCENTER                Same coverage as previous object
4 MARS BARYCENTER                 Same coverage as previous object
5 JUPITER BARYCENTER              Same coverage as previous object
6 SATURN BARYCENTER               Same coverage as previous object
7 URANUS BARYCENTER               Same coverage as previous object
8 NEPTUNE BARYCENTER              Same coverage as previous object
9 PLUTO BARYCENTER                Same coverage as previous object
10 SUN                            Same coverage as previous object
199 MERCURY                       Same coverage as previous object
299 VENUS                         Same coverage as previous object
301 MOON                          Same coverage as previous object
399 EARTH                         Same coverage as previous object
401 PHOBOS            1962 DEC 03 00:00:41.183        2024 DEC 30 00:01:05.183
402 DEIMOS                        Same coverage as previous object
499 MARS              1599 DEC 09 00:00:00.000        2201 FEB 20 00:00:00.000
501 IO                1924 DEC 29 00:00:00.000        2050 JAN 01 00:00:00.000
502 EUROPA                        Same coverage as previous object
503 GANYMEDE                      Same coverage as previous object
504 CALLISTO                      Same coverage as previous object
505 AMALTHEA                      Same coverage as previous object
599 JUPITER           1924 DEC 29 00:00:00.000        2050 JAN 01 00:01:05.183
601 MIMAS             1970 JAN 01 00:00:41.183        2050 JAN 01 00:01:05.183
602 ENCELADUS                     Same coverage as previous object
603 TETHYS                        Same coverage as previous object
604 DIONE                         Same coverage as previous object
605 RHEA                          Same coverage as previous object
606 TITAN                         Same coverage as previous object
607 HYPERION                      Same coverage as previous object
608 IAPETUS                       Same coverage as previous object
609 PHOEBE                        Same coverage as previous object
610 JANUS             1980 JAN 21 00:00:51.184        2014 DEC 28 00:01:05.183
611 EPIMETHEUS                    Same coverage as previous object
616 PROMETHEUS                    Same coverage as previous object
617 PANDORA                       Same coverage as previous object
699 SATURN            1970 JAN 01 00:00:41.183        2050 JAN 01 00:01:05.183
701 ARIEL             1980 JAN 02 00:00:51.183        2025 JAN 04 00:01:04.184
702 UMBRIEL                       Same coverage as previous object
703 TITANIA                       Same coverage as previous object
704 OBERON                        Same coverage as previous object
705 MIRANDA                       Same coverage as previous object
799 URANUS                        Same coverage as previous object
801 TRITON            1980 JAN 01 00:00:00.000        2048 DEC 30 00:00:00.000
802 NEREID                        Same coverage as previous object
807 LARISSA           1989 JUN 07 00:00:56.184        2024 JAN 01 00:01:05.183
808 PROTEUS                       Same coverage as previous object
899 NEPTUNE           1980 JAN 01 00:00:00.000        2048 DEC 30 00:00:00.000
901 CHARON            1965 JAN 01 00:00:41.183        2050 JAN 04 00:01:04.184
999 PLUTO                         Same coverage as previous object


It doesn't show up in this listing, but during the period listed for Phobos and Deimos the Mars ephemeris includes the planet's offset from the barycenter, while at other times Mars uses the barycenter's orbit.

BTW, I'm using 'modify' to do this, so any other addons will continue to work, and everything will revert to the normal Celestia orbit at times not covered by the ephemeris. I'm probably going to aim at getting about 1950-2050 in the final product, unless there's a reason to extend it further. That'll cover the space age, at least, with orbits that match what Horizons produces for spacecraft with a nice margin.

Avatar
selden
Developer
Posts: 10190
Joined: 04.09.2002
With us: 21 years 10 months
Location: NY, USA

Post #2by selden » 12.03.2007, 16:06

Some suggestions:

Since they have no moons, Mercury and Venus barycenter ephemerides should be identical to their planet-centered ephemerides, so it shouldn't hurt to leave out the planet-centered ones.

Mars barycenter and panet-center should be almost identical: it's not as if Phobos and Deimos have much mass.

It might be appropriate to have separate zip archives for the moons of Jupiter and Saturn since they have so many.
Selden

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 59
With us: 20 years 5 months
Location: Montreal

Post #3by Cham » 12.03.2007, 16:25

I would prefer a 1900-2100 time frame instead than 1950-2050, but that's just me. :)
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 5 months

Post #4by ElChristou » 12.03.2007, 18:11

Tx for the effort; 1950-2050 seems fine but is there any chance to have another coverage for the next hundred years? (separate file)
Image

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 5 months
Location: Seattle, Washington, USA

Post #5by chris » 12.03.2007, 19:35

This is very interesting work!

I wonder if it would be possible to have a significantly smaller and slightly less accurate version. The DE406 ephemerides are a lot smaller than DE405 without sacrificing much: I think that the maximum interpolation error increases from 1 m to 25 m.

--Chris

Topic author
revent
Posts: 80
Joined: 15.11.2003
Age: 46
With us: 20 years 7 months
Location: Springfield, MO, USA

Post #6by revent » 13.03.2007, 17:42

selden wrote:Some suggestions:

Since they have no moons, Mercury and Venus barycenter ephemerides should be identical to their planet-centered ephemerides, so it shouldn't hurt to leave out the planet-centered ones.

Mars barycenter and panet-center should be almost identical: it's not as if Phobos and Deimos have much mass.

For Mercury and Venus, and for Mars outside the period on the MAR063 ephemeris, the 'x99' objects are just aliases to the 'x' objects. Leaving out the planets themselves makes no difference to the output file size. I did check the difference between the MAR063 planet center and the DE414 Mars barycenter, tho, and since the max delta was about three meters I think you're right that I can leave that segment out.

It might be appropriate to have separate zip archives for the moons of Jupiter and Saturn since they have so many.


I'd been intending to try to get the orbits for the remaining moons packaged separetely. The issue is that you have to make sure the kernel has all the needed information to put the orbit in the right reference frame. The NAIF spice kernels provide barycentric orbits for the gas giant moons, so you have to include the orbit of the planet around the barycenter in the file to be able to get the data Celestia wants. Avoiding either having to duplicate big data segments or having dependency issues between the kernels is going to take a bit of fiddling with.

Topic author
revent
Posts: 80
Joined: 15.11.2003
Age: 46
With us: 20 years 7 months
Location: Springfield, MO, USA

Post #7by revent » 13.03.2007, 18:21

ElChristou wrote:Tx for the effort; 1950-2050 seems fine but is there any chance to have another coverage for the next hundred years? (separate file)


Some obejcts have longer timespans available, but it's limited by the range of the calculated JPL ephemeris data. My current version includes the full timespan for each object that has been released publicly as a spice kernel, but in a number of cases Horizons includes a longer version of the same data. I'm intending to pull the additional segments from Horizons and convert them to Spice, but I haven't gotten to it yet.

In the same process, I should be able to do as Chris suggested, and drop accuracy a bit to reduce the file size. The original orbits are stored as Chebyshev polynomials, but it's possible to export the cartesian coords at any desired time step, and then refit the points to a Lagrange interpolation in a new kernel. Since I was going to have to have Horizons export the missing segments as cartesian coords anyhow, it shouldn't bee a big deal to see how tweaking the degree of the polynomial affects the tradeoff between accuracy and size.


Return to “Add-on development”