[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