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

Fix rotations when nutation angles are involved #182

Conversation

ChristopherRabotin
Copy link
Member

@ChristopherRabotin ChristopherRabotin commented Jan 24, 2024

Summary

  • Fix IAU_MOON, IAU_JUPITER, IAU_NEPTUNE, IAU_URANUS frames whose definitions include nutation trigonometric angles
  • Add rss_radius_km and rss_velocity_km_s to the CartesianState structure to quickly compute the root mean square error between two states (as long as their frames match)
  • Add IAU_MOON and IAU_MOON_FRAME NaifID and Frame constants
  • Switch implementation of the latitude calculation to a constant-time calculation, considered to be more precise. It's about 52% faster than the iterative approach (but it requires a bit more computations). This new algorithm calculates the geodetic height, latitude, and longitude all at once. It is exposed as latlongalt.
  • Add pck11.pca to the Nyx Space cloud.
  • Expose the IAU_MOON and IAU_MOON_FRAME to Python

Fixes #122 .

Architectural Changes

No change

New Features

No change

Improvements

Geodetic latitude is twice as fast.

Bug Fixes

Fix planetary rotations when trigonometric polynomials are involved.

Testing and validation

  1. New test of a specific rotation of a Moon J2000 state into an IAU_MOON state, comparing the data from SPICE and that of ANISE.
  2. Enable IAU rotation validation for Moon, Jupiter, Neptune, Uranus

Documentation

This PR does not primarily deal with documentation changes.

anise/src/astro/orbit_geodetic.rs Outdated Show resolved Hide resolved
anise/src/astro/orbit_geodetic.rs Show resolved Hide resolved
anise/tests/ephemerides/transform.rs Outdated Show resolved Hide resolved
anise/tests/ephemerides/transform.rs Outdated Show resolved Hide resolved
anise/tests/orientations/mod.rs Show resolved Hide resolved
anise/tests/orientations/validation.rs Outdated Show resolved Hide resolved
@ChristopherRabotin ChristopherRabotin merged commit 9721abc into master Jan 26, 2024
20 checks passed
@ChristopherRabotin ChristopherRabotin deleted the 122-rotations-involved-nutation-and-precession-angles-is-wrong branch January 26, 2024 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rotations involved nutation and precession angles is wrong
1 participant