Alex,
I suspect Chris will have to clarify some of the issues. I haven't looked at the code that implements the Beginning/Ending directives, but I'm not surprised that they affect all of the bodies that are defined in terms of the object that the directives are being applied to. Turning off a planet doesn't leave much for its moons to orbit around!
Your description sounds like you might be using several Beginning and Ending directives within the same object definition. Is that the case? I never even thought of trying that, although maybe it actually is supposed to work.
I haven't tried to reproduce what you've done (I'd need a copy of your files to be sure I'm actually doing the same things). At any rate, if you're using separate "Neptune" definitions (Neptune-before-encounter, Neptune-during-encounter and Neptune-after-encounter, perhaps) and if Nerid is listed in all of them and doesn't reappear, then it sounds like you've found a bug.
Alex wrote:Would I be right in thinking that the only way to show the other moons during the samples would be to have new and separate .ssc files for all of them, based on different ephemeris data?
Certainly (as mentioned above) I'd use three separate sets of definitions although I'd probably use many of the same values for the satellites' orbital elements. They can all be put into the same file once they've been debugged, but it's easier to track down mistakes when the definitions are in separate files.
Alex wrote:when the "original" Neptune reappears after the Voyager 2 encounter, would it reappear exactly in the location from where it had disappeared, or in the place it actually would have been after the 2-day encounter with Voyager?
The positions of objects are calculated in real time for the epoch displayed in the upper right corner of Celestia's window. Planetary positions won't pick up where they left off. Objects will be shown where they are supposed to be at that time.
Celestia has internal subroutines that implement the set of formulas known as the "vsop87 theory" for each of those orbits declared as "CustomOrbit". The less accurate "EllipticalOrbit" definitions are ignored unless you comment out the "CustomOrbit" line.
Xyz positions are stored internally as single precision values. As a result, they are less precise at the distance of the outer planets than some of us would like. Also, Celestia only does linear interpolations between the samples. This can introduce significant errors when an object's trajectory is changing quickly, like during V2's Neptune flyby. While the samples that I got are for about every 15 minutes, that may not be good enough.
(This has caused a lot of confusion, even for Chris. It took a while to figure out why Galileo's position was wrong by more than 100,000 km during its flyby of Earth. More freqent samples fixed that.)
Alex wrote:So, another question would be - can the orbital data for Neptune and Triton in solarsys.ssc be tweaked in such a way that the Voyager 2 encounter is relatively accurate? This, of course, is way over my head.
It is my understanding that Chris plans to fix the problem with the coordinate system used for satellite orbits. That should improve the flyby of Triton significantly. However, I suspect that, althogh more frequent xyz samples may help, the best results for both flybys may have to wait until Celestia implements double-precision xyz trajectories internally. In another thread Chris said he's expecting to make that an option in a future release. Right now storing all the samples in double precision would take up too much memory for most systems.
Another consideration is that the orbital computations take a while. More and more terms have to be calculated in order to produce more accurate CustomOrbit planetary and satellite positions. Since the positions are calculated in real time, extremely precise positioning could slow Celestia's framerate by an unacceptable amount.
And finally, it isn't obvious to me that the xyz positions returned by Horizons are based on the vsop87 theory. In fact, I'm positive they aren't. There are some more recent models of the solar system which use a slightly different mass for Neptune. Calculations based on them would necessarily produce slightly different positions for objects than Celestia calculates.
(p.s. written later:
I just looked at Horizons' documentation message. It says that planetary positions are calculated based on "DE403/LE403", which I know is different from vsop87. Later it also says that it uses the DE-405 ephemeris. Several different methods are used for the various natural satellites.*sigh*)
I hope this clarifies some things a little