-
Notifications
You must be signed in to change notification settings - Fork 4
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
Remove JLD dependency #12
Conversation
That's correct, the integration just finished and there are a couple points worth mentioning:
|
Nice performance and memory usage improvements! Regarding the plot, which I think altogether displays an overall good precision, I find surprising the huge precision loss in the first steps of the integration. Any ideas why does this occur? Do you observe the same behavior for the integration backwards in time? |
|
Thank you @LuEdRaMo for updating the ephemeris and uploading them to GitHub! Also thanks for the plot, that's really helpful!
That's certainly a good point; I wonder if we plot the relative error, i.e., Anyway, I would say one major contribution to the differences is the fact that our integration of the asteroids (whose contributions to TT-TDB are considered in the integration) is different from that of JPL (we have errors ~km or even more in asteroid positions over ~50 years). So at the start the error grows a lot due to the different integrations, but then the error stabilizes, since the difference in position cannot be larger than the size of the asteroid belt, maybe? One way to check this would be to plot the errors in (at least some of the) asteroid positions and see if they display similar behavior. EDIT/UPDATE: we later found that the largest contribution to the behavior of the above plot is a race condition in the integration of TT-TDB, for further details see: PerezHz/PlanetaryEphemeris.jl#21 (comment) |
That can certainly be the case; what I'll do next is to see how the Apophis results change with the new ephemeris, since radar data, and hence the fit, is really sensitive to any mismodeling. That can also show that we have successfully removed the JLD dependency. In the end, if the results are not modified to a significant level, then I would say it fits our current purposes here in NEOs.
Many thanks @LuEdRaMo! I've already updated the generate_artifacts.jl script and Artifacts.toml to remove the TT-TDB related artifacts, but probably I'll do a bit more house-keeping around there. |
I noted we have |
Good catch! I agree with you. Have you tested it? |
Just wanted to clarify my last answer to @LuEdRaMo's question: we do are including all the relevant terms to integrate the ephemeris, except those ones related to specific observing stations; those terms are only important to fit the dynamical model to interferometry (VLBI) observations where precision to nanosecond level becomes important. Otherwise, so far as I've been able to check, the expressions we are using are correct, and I think that is reflected in the error being ~30nanoseconds in the 100 years integration. But again, that's why checking the results here for Apophis makes sense, since an error in TT-TDB will probably show up here. |
Quick update: I did a bit of house-keeping in the artifact generation department, so that the Regarding |
I'am trying to use StatsBase = "0.33, 0.34" |
- Remove ReferenceFramesRotations, Statistics as deps - Use test/Project.toml for test env; remove extras and targets sections in Project.toml
With the latest changes, and pending confirmation from @LuEdRaMo that I haven't broken anything too bad, this PR is in principle ready for review. I would like to note that JLD is still mentioned in some notebooks (which we should consider updating), but in source code as such, I think the hardest dependency was the TT-TDB ephemeris from JPL; otherwise we only used JLD to save files. Things still pending is adding tests for orbit propagation with jet transport, and orbit determination, but we can tackle those tasks in another PR, since this has already grown a bit beyond what I was expecting at first... |
By that I mean that before we depended on JLD.jl (and the JPL ephemeris) to get TT-TDB |
All integrations I have done so far have worked perfectly. |
Awesome! Many thanks for checking! I'm trying to bring |
So far I've been using the default value of |
Alright! Then this change should be transparent for you 👍 |
Okay, I've made a few last changes. Besides passing |
Tests are passing so I'll go ahead and merge. |
After merging of PerezHz/PlanetaryEphemeris.jl#17 it's now possible in principle to remove the JLD dependency; this PR is WIP directed towards that goal. Of course, for things to be consistent we will need our Solar System ephemeris to also include our integration of TT-TDB.
@LuEdRaMo, I reckon you're working in uploading a new 100 years ephemeris including TT-TDB; could you please drop me a line here when the ephemeris are ready?