Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use SPICE files via ANISE for import/export and computations #86

Open
4 of 9 tasks
ChristopherRabotin opened this issue Dec 11, 2022 · 0 comments
Open
4 of 9 tasks
Labels
Kind: Improvement This is a proposed improvement Priority: high Status: Development Issue at Test Driven Development phase of the quality assurance process

Comments

@ChristopherRabotin
Copy link
Member

ChristopherRabotin commented Dec 11, 2022

High level description

The ANISE Rust library should soon be usable, cf. anise.rs. Once that's done, this issue will start using ANISE in Nyx. This means removing all dependencies on Protobufs and the XB file format, and switch to reading SPICE data as inputs (for BPC ad SPK). This will also allow exporting trajectory data in SPK format.

Requirements

  • Nyx shall natively read SPICE files
  • Nyx shall use ANISE for frame transformations
  • Nyx shall use ANISE for light time corrections in orbit determination modeling (requires Support of aberration corrections anise#26)
  • Nyx shall deserialize YAML definitions using the specified frames in the loaded kernels
  • Nyx shall provide a default DE440s with low fidelity body fixed frames (PCK)
  • Nyx shall switch to the principal axes frame of the Moon for harmonics computations
  • Nyx shall switch to IAU Earth Frame for drag computations

Test plans

  • All of the validation will need to be re-run and checked (the errors are expected to be smaller than they currently are).
  • Export the validation results in markdown to embed them in the mathspec

Design

This is a significant refactoring since the Cosm structure will be replaced with an ANISE Context. Moreover, any function that currently requires a trajectory reference will likely now require both a reference to the context and a frame instead of just a trajectory. This work must also account for the fact that an ANISE Context has significantly less features than a Nyx Trajectory, but Nyx must maintain the superset of features.

@ChristopherRabotin ChristopherRabotin added Status: Design Issue at Design phase of the quality assurance process Kind: Improvement This is a proposed improvement labels Dec 11, 2022
@ChristopherRabotin ChristopherRabotin added Status: Development Issue at Test Driven Development phase of the quality assurance process and removed Status: Design Issue at Design phase of the quality assurance process labels Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Kind: Improvement This is a proposed improvement Priority: high Status: Development Issue at Test Driven Development phase of the quality assurance process
Projects
None yet
Development

No branches or pull requests

1 participant