Skip to content

馃殌 2.0.0-rc: SPICE/ANISE as backend for ephemeris and frame rotation + major orbit determination improvements 馃殌

Pre-release
Pre-release
Compare
Choose a tag to compare
@ChristopherRabotin ChristopherRabotin released this 04 Jul 03:24
· 1 commit to master since this release
9b482d7

Nyx Astrodynamics Toolkit -- 2.0.0-rc: ANISE as a backend

馃殌 This is monumental release 馃殌

This release represents years of work and innovation. The primary motivation behind ANISE was to provide multi-threaded SPICE support in Nyx, and it has culminated in this significant update. Additionally, this release aligns with the goals set for hifitime version 4.0.0-alpha, which has been in planning for over a year.

I am excited to share this major update with the community and look forward to your feedback and contributions. Thank you for your continued support and interest in the Nyx Astrodynamics Toolkit! Always feel to contact me directly via this form.

New features

  • All planetary ephemeris computations, all reference frame rotations, all planetary constants, all fixed planetary rotations (e.g. J2000 to J2000 Ecliptic) now rely entirely on ANISE. ANISE is validated to match NASA/NAIF SPICE to machine precision for all ephemeris computations. ANISE is validated to match SPICE on all rotation computations to less than 1e-8 degree for all planetary centric body fixed rotations. In short, ANISE is a full rewrite of SPICE, and you should use it. This is a essentially a rewrite and therefore is a major breaking change. Cf. Rewrite of Nyx to rely on ANISE for planetary data and frame transformations by @ChristopherRabotin in #305
  • Orbit determination results now export 1-sigma uncertainties for most spacecraft state information, including all Keplerian orbital elements. This approach uses hyperdual numbers / automatic differentiation for rotating the covariance into the new state space.
  • Examples Added: Nyx now includes examples on how to use the toolkit. These examples were held off until 2.0.0 due to the significant changes expected after integrating ANISE. Check out the examples here -- #328

Removed functionalities

  • Orbit Propagation Changes: It is no longer possible to propagate only an orbit; only full spacecraft can be propagated. While support for specific types can still be trivially implemented, none have been added yet. Consequently, orbit determination now only works on the spacecraft type, and estimation of the coefficient of reflectivity and drag will be added for stable 2.0.0.
  • Python Interface Temporarily Unavailable: The 2.0.0-rc release is not available in Python. The Python interface will be re-enabled for version 2.0.0.

What's Changed

New Contributors

Full Changelog: 2.0.0-beta.0...2.0.0-rc