Hello all,
I'm in the process of doing a full up propagator V&V of the Orekit library. It's mostly gone very well but I hit a couple of snags today. One snag is with the BoundedPropagator that gets returned by the getEphemeris. I essentially generate an ephemeris in two ways. The first way is to manually walk over the propagation time using the propagate method on the actual propagator. The second way is to run the propagation from the beginning to the end in one fell swoop and then to iterate over the generated ephemeris to generate the lookup file. I do this for a HEO, GEO, and a LEO orbit using various force model settings. When I do this with an earth point mass setting the raw integrated and interpolated ephemeris match to within 3e-4 meters at GEO after 15 days. I'm very happy with that. If I do it with an EGM96 70x70 gravity field however the solution over time gets worse and worse, ultimately being 2 meters off 15 days later. This happens regardless of the max step size I give the integrator. I even set it to 60 seconds and reported out the ephemeris using the generated ephemeris at 180 seconds. The error seems to be consistent across those settings. The other orbit regimes have a similar problem.
I am going to investigate this further but I figured I'd put this out there in case someone had a suggestion for why it would be happening and how one would address it.
Hank