Skip to content

Preserve proper motion for nearly radial trajectories - #28

Open
sylvesterkaczmarek wants to merge 1 commit into
llnl:mainfrom
sylvesterkaczmarek:fix/radial-proper-motion
Open

sylvesterkaczmarek wants to merge 1 commit into
llnl:mainfrom
sylvesterkaczmarek:fix/radial-proper-motion

Conversation

@sylvesterkaczmarek

Copy link
Copy Markdown

Summary

Compute transverse speed with a cross product instead of subtracting nearly equal squared speeds. For a 7500 m/s radial component and 1e-6 m/s transverse component at 7e6 m, proper_motion() previously returned zero instead of 2.946642857142857e-8 in the existing SI output scale. Observer offsets and unit conversion are unchanged.

Repository Policy Checklist

  • All review gates in AGENTS.md are complete. Machine-generated code and tests; executed checks and remaining gates are recorded below.
  • Changes preserve the existing file layout.
  • Package-code changes include tests under tests/.
  • No new workflow or demo is needed; this corrects existing numerical behavior.
  • No generated outputs, data, images, or binary artifacts are committed.
  • No persistent data is added.

Validation

  • Full pytest suite is green; see results below.
  • Full demo gallery run (not run).
  • Repository policy check inspects both changed paths.
  • No existing test, tolerance, workflow, or policy check was weakened.
  • Every numerical result below came from an executed command.

Python 3.12, macOS arm64; published SSAPy 1.1.10 and SSAPy-Data 0.1.5. Ruff, compilation, diff check, warning-as-error Sphinx build, wheel/sdist builds, and twine check passed.

New regression cases: 6 failed and 4 passed before the fix; all 10 pass afterward. The focused mechanics suite passes 14 tests, including 100 independent tangent-basis comparisons. Full suite: 981 passed, 20 skipped, 4 failed; 43 subtests passed.

The same four full-suite failures reproduce on unchanged upstream 262b43c: orbital-maneuver demo, sibling data-directory resolution, orbit-STM finite differences, and multi-segment 6-DoF targeting. They are outside this change. The existing failures remain unresolved; upstream CI must still be checked.

This branch has not been deployed

No deployments
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.

1 participant