perezhz / neos.jl Goto Github PK
View Code? Open in Web Editor NEWHigh-fidelity orbit determination and propagation for Near-Earth Objects, in Julia
License: Other
High-fidelity orbit determination and propagation for Near-Earth Objects, in Julia
License: Other
This issue follows from an offline discussion with @lbenet and @LuEdRaMo. Currently, before performing a propagation, we use loadeph
to precompute the accelerations and the Newtonian potentials of the perturbers (planets, asteroid, etc.) of a NEO orbit, besides changing the units of the ephemeris themselves from km and km/sec to au, au/day. But now we have NEOs.sseph
, which would allow us to precompute these things, so that their computation can be taken out from the integration loop. This can help simplify code (and maybe improve performance?).
We should aim for a full migration to JLD2, but that requires, among other things, re-generating most artifacts used by NEOs.jl using JLD2 instead of JLD
Not terribly urgent, but fixing this issue would allow us to avoid re-run tests which would otherwise pass
For fast runs, where high-fidelity is not crucial, it's useful to have a dynamical model which takes into account point-mass Newtonian accelerations from the planets, the Moon and the Sun.
Related to discussion around this comment
While trying to register NEOs.jl in the Julia General registry (see relevant NEOs.jl commit, corresponding PR JuliaRegistries/General/pull/71434 and job log) auto-merge didn't work due to several issues:
I'm opening this issue to try to resolve those issues, so that we can finally register NEOs.jl.
Besides discussing the name of the package (I would be in favor of keeping NEOs, but maybe NearEarthAsteroids could be an alternative), I think the other important points would be to fix the compat entries and using consistent bounds on TaylorSeries.jl and TaylorIntegration.jl throughout so that Pkg.add
and Pkg.import
work.
Currently, here:
NEOs.jl/src/observations/topocentric.jl
Line 42 in 7e0ceec
NEOs.jl/src/observations/topocentric.jl
Line 59 in 7e0ceec
SatelliteToolboxTransformations.jl
to be able to differentiate through those functions using TaylorSeries
Taylor1
and TaylorN
; which is type piracy. It's not terrible, but I think we should try to avoid it. AFAIU, this is due to products of StaticArray.SMatrix
with vectors of <:AbstractSeries
sometimes giving Vector{Any}
as a result, which is why the results of such products are type annotated in the overloaded methods here. Probably this issue belongs in TaylorSeries
, but thought of opening this issue here to discuss and see how we might solve this.We already have docstrings thanks to the work done by @LuEdRaMo, and I think we can build on it to get a first version of the NEOs documentation, e.g. via Documenter.
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
Ref: Carpino et al., 2003
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.