Improvements to `keplerlib.py` and `elementslib.py`
See original GitHub issueI’d like to start a discussion of what things in keplerlib.py
and elementslib.py
can be improved, and also putting them in priority order so I can work on the more important things first. Here are some ideas I’ve had:
- Should all of the math functions in
elementslib
have one code path that can handle floats or arrays instead of one path for arrays and one path for floats? Possibly a decorator could convert floats into arrays and then back to floats so only the array branch would be necessary - Should the
KeplerOrbit
andOsculatingElements
objects use au^3/d^2 to store GM internally to match the rest of Skyfield instead of km^3/s^2? I think the only place this would effect users is thatOsculatingElements
has a keyword argumentmu_km_s
. How should this be handled? - Should the user be expected to specify a value for GM whenever it is necessary rather than saving values internally? If so how should this be handled for backwards compatibility?
- I need to refamiliarize myself with what is happening in PR #340 so it can be either merged or closed
- After the signature for
KeplerOrbit
objects is finalized it can be specified in the API reference section. - revise the documentation for osculating orbital elements so it better matches the rest of the documentation both in tone and in the formatting of the examples
Issue Analytics
- State:
- Created 3 years ago
- Comments:9 (7 by maintainers)
Top Results From Across the Web
Handling EphemerisRangeError when observing a minor ...
On looking at the downloaded data, there is a piece of data missing from one field when compared to lines before/after. I presume...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Yes, this feels clear enough to make a draft PR.
Interesting! I think
KeplerOrbit
objects are similar in that oncekeplerlib.propagate
is vectorized theKeplerOrbit
doesn’t need to change, the arrays are just passed right through.@brandon-rhodes Am crafting said script (it is similar to that in #449 but taking into account your suggestions with regards to dataframe loading). I’ll post the script in a new ticket so this doesn’t get muddied.