Trajectory structure and event finding #147
Labels
API: python
Related to the Python API
API: rust
Related to the Rust API
Kind: new feature
Status: backlog
Milestone
High level description
New feature
I've put a substantial amount of work into the
Trajectory
type in Nyx. Quite frankly, it's extremely useful, and it should be ported to ANISE.This will include event finding, which is very robust (Brent solver) and one of the main features of the trajectory structure.
To make this generic over an Orbit structure, I export the trait bounds as is recommended by
PyO3
: https://pyo3.rs/v0.20.0/trait_bounds .One of the main limitations of using the Trajectory structure in Python in Nyx is that it cannot be pickled. This sounds like it shouldn't be a big deal, but Kedro (among other frameworks) will pickle data between computational steps. As such, I think that pythonize would be useful, where the serialized representation of the structure is used as a proxy. In Nyx, I rely on using the parquet intermediate file, but that isn't convenient.
Once I tackle nyx-space/nyx#86, I'll have a better idea on how to integrate Nyx's
Spacecraft
object with ANISE'sOrbit
object. Nyx relies on spacecraft trajectories in several spots (e.g. orbit determination of spacecraft instead of just of their orbits): that feature must remain.Requirements
Test plans
Grab those from Nyx.
Design
Move the Nyx implementation in full.
The text was updated successfully, but these errors were encountered: