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

[Orekit Developers] Ephemeris Writer Interface



Hi,

I'm thinking about creating an interface for writing an ephemeris file from a Propagator and I would appreciate your thoughts on it.

At this point I'm trying to figure out what types of ephemeris files should be supported, e.g. OEM, STK .e. These formats as well as several internal formats in use at NRL all have one satellite per file, so my current plan is to create the interface assuming only one satellite. One notable exception to this assumption is the SP3 file format where the states of many spacecraft are listed at each epoch. The SP3 format is specific to GNSS satellites and the Orekit Propagator does not support propagating multiple satellites at the same time, so there is no way to efficiently implement a SP3 writer in Orekit. (All of the states for all of the satellites would need to be buffered in memory.) Given those drawbacks of the SP3 format, my current plan is to not support the SP3 format with the EphemerisWriter interface.

For the most part it seems that the OrekitFixedStepHandler could be used as the interface for an EphemerisWriter. One piece of information that is missing is the step size, but that could easily be added to the init(...) method call. Additional meta data could be passed in through the constructor of the EphemerisWriter, such as frame, time scale, and center name. Given the wide variety of metadata accepted by different formats I'm not planning on standardizing an interface for setting the metadata. I think covariance output could also be supported by providing an initial covariance and a suitable mapper to extract the STM from the SpacecraftState.

Hank, are you still interested in contributing your OEM writer and would it fit with the described interface?

Are there any other formats that would need to be supported by the EphemerisWriter interface?

Best Regards,
Evan