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

Support more dates and more targets for comparison with jplephem #2

Merged
merged 2 commits into from
Jan 4, 2025

Conversation

rhannequin
Copy link
Owner

@rhannequin rhannequin commented Jan 4, 2025

This greatly increases support for accuracy validation by comparing with the Python library jplephem.

Now, we have the following parameters:

  • all days from 2000-01-01 to 2050-01-01
  • kernels de405, de421, de430t, de440s
  • targets from 0 to 10

This represents 730,520 combinations for which we compare the position (x, y, z) and velocity (vx, vy, vz) with jplephem.

The Rake task has been redefined to take parameters so that we don't test everything at once, but only 18,263 lines by combinations of parameters. This was made so that validating accuracy could be run automatically on CI in a short amount of time (less than 3 minutes). Everything is declared in validate_accuracy.yml.

The great news is that 4,383,120 values (3 for position, 3 for velocity, every day from 2000 to 2050, 10 targets and 4 kernels) match with jplephem within 2 centimeters or less.

To keep them light-weight and performant, kernels have been reduced to excerpts using jplephem command-line tool:

python -m jplephem excerpt 2000/01/01 2050/12/31 de405.bsp de405_excerpt.bsp

By the way, this is a function that I would like to implement into Ephem as well, one day.

This reduces their weight by:

  • de405 from 65.4 MB to 5.6 MB
  • de421 from 16.8 MB to 5.6 MB
  • de430t from 133.6 MB to 6.3 MB
  • de440s from 32.7 MB to 5.6 MB

The tested dates have been limited from 2000 to 2050 to keep execution time low and CSV files "short". We are entering 2025 to this is testing exactly 25 years ago and from now, which seems like a good compromise, but we could consider expanding coverage at some point.

@rhannequin rhannequin self-assigned this Jan 4, 2025
@rhannequin rhannequin force-pushed the more-coverage-with-jplephem branch 4 times, most recently from cc7a129 to 95c7ecd Compare January 4, 2025 22:35
@rhannequin rhannequin force-pushed the more-coverage-with-jplephem branch 2 times, most recently from 48b32de to 11eaf3e Compare January 4, 2025 23:07
@rhannequin rhannequin force-pushed the more-coverage-with-jplephem branch from 11eaf3e to 248c73d Compare January 4, 2025 23:28
@rhannequin rhannequin merged commit 762e832 into main Jan 4, 2025
71 checks passed
@rhannequin rhannequin deleted the more-coverage-with-jplephem branch January 4, 2025 23:42
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