-
Notifications
You must be signed in to change notification settings - Fork 102
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
Ias15 implentation #643
base: main
Are you sure you want to change the base?
Ias15 implentation #643
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #643 +/- ##
==========================================
- Coverage 99.91% 99.89% -0.02%
==========================================
Files 200 202 +2
Lines 29269 29677 +408
Branches 564 607 +43
==========================================
+ Hits 29243 29646 +403
- Misses 26 31 +5 ☔ View full report in Codecov by Sentry. |
Thanks for this PR! I'll need a bit of time to work through this and familiarize myself better with IAS15 to be able to review this. But in the meantime, it would be good to fix some of the failing tests. It seems like some of the orbit integration tests fail for the new integrator (these are run on different OSs and for different Python versions, so lead to a bunch of failed jobs here). Some comments:
|
Also, to avoid the
This will run the pre-commit hooks whenever you commit locally, automatically fix issues (like indentation and code style), and tell you when you need to fix something manually. |
Thanks for fixing the error message bug! Looks like there's some flakiness in the integrator, because the energy conservation tests pass for some Python/OS versions but fail for others (at least that's what it seems like from the test runs). It seems like the integrator sometimes just returns NaNs. Also the backwards integration tests seem to always be failing, maybe the integrators doesn't immediately work for backwards integration? |
I made the PR after every test in test_orbit was passing on local, so yeah I guess something dependant on OS/Python version. I've recreated some issues with a fresh python 3.12 so hopefully that will lead to a fix. Anyway, leave it with me! I don't have a whole lot of free time at the moment to work on it but hopefully it shouldn't take too long. |
This PR has been automatically marked as stale because it has not had recent activity. Please close the PR if it is no longer relevant. If no further activity occurs, the PR may be closed. Thank you for your contributions. |
@dangcpham just pointed out this PR to me. A couple of comments:
|
Thanks for the helpful comments @hannorein! I'll pin this PR so it doesn't get automatically closed, in case @johnwez1 or someone else wants to finish it soon. |
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Thanks for continuing to push on this @johnwez1 ! The tests are not failing now, but they seem to be stuck and not finishing, so I think I'm going to cancel them to not waste too much compute. Do they run locally in a short amount of time? The problem seems to be consistent across Python versions and OS. Also, I've noticed that sometimes the workflows start running automatically and sometimes I have to manually approve them. If they don't start running soon after you push, please ping me, because I might not be aware that I have to approve them. |
Looks like the orbit integration tests are still hanging, so I think I'll cancel them again to not waste compute. Do they finish locally for you in a short time? I assume it's that they're going into an infinite loop, is this possible in the code? |
All tests are passing locally in reasonable time. An infinite loop may be occurring, so I guess I will have to investigate on a different machine. |
Okay, that's strange! In the CI, it seems to happen across Python versions and OS (happening for Linux, Mac, and Windows), so it seems like a fundamental issue in the code. It's very frustrating debugging issues that only show up in the CI, but not locally and I unfortunately don't have any great suggestions for how to do it. One option is to use Another option would be to enable Actions for your |
Hi @johnwez1, Thanks for these latest changes and apologies for my slow response, things have been very busy at the end of the term. Looks like all the tests are passing now 🎉 ! I also briefly tested the code locally and things seem to work. On a simple test problem, the There are just a few things left to do to fully finish this PR:
I think that should be it and hopefully this will be pretty straightforward. Thanks for your contributions so far! |
Implemented the ias15 algorithm in c with python wrappers, and added to relevant tests.
Some notes: