In the middle of messing with other things, I've come up with a workaround/solution for the strange way the Sun's orbit is shown.
This /is/ the Sun's actual orbit around the barycenter for the period from 1599 to 2201, from the latest JPL ephemeris. Wierd, huh.
What I did here is extract the Sun's orbit from the DE415 ephemeris (which is more recent than what HORIZONS uses, actually) into a separate SPICE kernel (about 3.7 Meg) and created a SSC to replace the sun with it. Here it's showing the full timespan from the ephemeris, but you can make it show a shorter timespan by defining a Period in the SpiceOrbit. Celestia is still (I think) connecting the ends of the orbit, but who can tell in that spaghetti?
The downside to doing this (at least with only DE415 data) is that at the ends of the ephemeris the Sun stops moving. You can fix that problem easily enough by leaving in the CustomOrbit declaration for VSOP87, but then Celestia goes back to drawing the VSOP orbit even when it's using the SPICE kernel. The real fix to the Sun stopping would be to use a longer ephemeris, or merge frames from one onto the ends, but I haven't bothered to do it. I mostly look at times near the present.
(As a side note, shouldn't SPICE orbits have the highest priority when it comes to orbit rendering, since they're the most precise?)
If anyone wants to use this to fix the Sun orbit problem until Chris comes up with a better solution, I'd be more than happy to email it or post it on the Motherlode. I'll even make it longer it anyone even cares (it's a pretty trivial task).
FYI, I'm in the process of creating a version of solarsys.ssc that uses the DE415 ephemeris, which is how this came up. I'm planning on merging the other ephemerides that are needed for the major bodies in the default distro (MAR063, JUP230, PLU013, etc) as a addon, and then creating a couple more addons for the leftover moons.
As another rambling side note
![Smile :)](./images/smilies/icon_smile.gif)
, I saw a post from Selden a while back where he made a comment about Jupiter being located about 200km from where Horizons puts it. I think the source of that last little discrepancy is that VSOP87 is providing the location of the Jupiter System Barycenter, not Jupiter. Jupiter averages about 165km for the barycenter, which is pretty similar to what he noticed. I should know for certain once I get out to Jupiter with DE415.