Conversation
added 3 commits
March 11, 2026 22:36
- Updated the rotation methods in frames_planetary.rs and frames_teme.rs to require NutationModel as a generic parameter. - Modified the implementation of the rotation methods to utilize the NutationModel for computing nutation values. - Adjusted the FrameRotationProvider trait definition in mod.rs to include NutationModel. - Enhanced tests in tests.rs to ensure compliance with the new NutationModel integration, including regression tests against ERFA values.
- Updated mathematical expressions in `nut00a.rs` for improved readability by consolidating lines. - Changed `const` to `static` for `NUT00A_LS` and `NUT00A_PL` in `nut00a_tables.rs` to reflect proper usage. - Enhanced function signatures in `horizontal.rs` and `to_topocentric.rs` for better clarity and consistency. - Reformatted assertions in tests for improved readability in `bias.rs` and `tests.rs`. - Cleaned up import statements in `mod.rs` for better organization. - Improved formatting of matrix definitions in `tests.rs` for better alignment and readability.
…fault; add tests for IAU 2000B
|
added 5 commits
March 16, 2026 23:03
- Introduced runtime-selectable Earth orientation model presets to allow for more flexible transformations in astronomical calculations. - Updated the `TransformCenter` trait to accept custom ephemeris, Earth orientation, and nutation model types for expert users. - Refactored various transformation functions to utilize the new context models, ensuring compatibility with the updated trait signatures. - Improved documentation throughout the codebase for clarity on the new features and their usage. - Added tests to verify the correct behavior of the new runtime model selection in transformations.
…er_roundtrip test
- Removed NutationModel from AstroContext in various rotation and shift functions across frames_planetary.rs, frames_teme.rs, and mod.rs. - Updated related tests to reflect changes in AstroContext instantiation. - Introduced new functions for frame rotation and center shift that accept a generic context type, allowing for more flexible usage.
VPRamon
added a commit
that referenced
this pull request
Apr 30, 2026
Refactor FrameRotationProvider and improve code formatting
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a significant refactor and generalization of the nutation model infrastructure in the codebase. The main change is the introduction of a
NutationModeltrait and two concrete models (IAU 2006/2000A and IAU 2000B), enabling type-level selection of nutation models throughout the astrometry pipeline. This allows for more flexible, accurate, and extensible handling of nutation computations, and paves the way for full-precision astrometry by default. Several public APIs and internal functions are updated to be generic over nutation models, and the full IAU 2006/2000A implementation is added.Nutation model infrastructure and generalization:
NutationModeltrait and two marker types,Iau2006A(full, 1365-term, sub-µas model) andIau2000B(77-term, ~1 mas model), in a newsrc/astro/nutation/mod.rsmodule. The trait enables compile-time selection of nutation models via theAstroContexttype parameter.earth_rotation_provider.rs,horizontal.rs,observer_state.rs, and coordinate transforms) to be generic overNut: NutationModel, ensuring model-agnostic nutation handling throughout the codebase. [1] [2] [3] [4] [5] [6] [7] [8] [9]Full IAU 2006/2000A nutation model implementation:
nut00a.rsandnut00a_tables.rsimplementing the full IAU 2006/2000A nutation model, including all 1365 terms and IAU 2006 precession corrections, with extensive documentation and tests.Documentation and API improvements:
These changes modernize the nutation infrastructure, improve accuracy, and make the codebase more maintainable and extensible for future astrometric improvements.