nyx icon indicating copy to clipboard operation
nyx copied to clipboard

Spacecraft Dynamics to support serialization and pickle

Open ChristopherRabotin opened this issue 1 year ago • 0 comments

High level description

Spacecraft dynamics needs to be serializable. This is needed for Insight to reload a specific scenario and serialize it. This should also allow for the definition of spacecraft dynamics using the TypeBuilder trait approach.

Requirements

  • The order of the models must be kept (this is one of the worst things of STK).
  • Preferably support serializing this in Dhall because it's strict and will help organizing all of the data in separate files. For this, I may need to define the method to parse this data.

Test plans

  • Serde with different configurations including only orbital dynamics
  • Ensure that the data can be pickled and unpickled to pass in kedro

Design

The advantage of Dhall here is that it supports imports and is strict. The disadvantage is that it isn't necessarily very legible. This serialization should also support other less-strict approaches like TOML.

To ensure that the order is preserved, consider storing the models in a BTreeMap. It may also be useful for future reference to specify whether each model is enabled or not: this would allow for quickly turning on and off models for comparisons instead of rebuilding the spacecraft dynamics.

This is a spin off from #212.

ChristopherRabotin avatar Aug 18 '23 00:08 ChristopherRabotin