Commit Graph

1677 Commits

Author SHA1 Message Date
Brandon Rhodes d89ab7d22b Break ecliptic_xyz() free of _earth_tilt 2020-06-05 21:25:51 -04:00
Brandon Rhodes 9eecf711ef Bypass _earth_tilt for computing t.gast 2020-06-05 21:12:26 -04:00
Brandon Rhodes 2db8d478ed Beginning of script quantifying nutation estimates 2020-06-05 20:38:22 -04:00
Brandon Rhodes 3c2b067e2b Turn off experimental documentation to save CI 2020-06-05 13:11:44 -04:00
Brandon Rhodes fa2807a93f Truncate floats to improve agreement with CI 2020-06-05 12:58:13 -04:00
Brandon Rhodes 89b64ea735 Rewrite IAU 2000B as a call to IAU 2000A
This unifies how we perform the various NumPy array maneuvers,
eliminates duplicate code, and much more clearly expresses the
difference between the two routines (to wit: that one is a faster
version of the other by computing fewer terms).
2020-06-05 12:49:10 -04:00
Brandon Rhodes a761fc6b47 Unify fundamental argument computation
Now it always gets computed in once place, rather than in two different
places.  This eliminates a little repeated code, but more importantly
sets up a nutation model unification that should hopefully be next!
2020-06-05 12:23:22 -04:00
Brandon Rhodes f77fc0beaa Push improved time precision into .observe()
Now that we represent time internally as two floats instead of one, our
light-time correction routine can be improved to generate far less noise
down below the micro-arcsecond level.  That might not sound like much,
but — for example — over the ten seconds around the maximum elongation
of Venus, the elongation varies by only about 5e-5 mas!  Jitter down in
the tens of nano-arcseconds is enough to make a solver think it’s found
several different seconds in which a maximum elongation occurred.
2020-06-04 15:27:31 -04:00
Brandon Rhodes 0811f8dceb Disable “EphemerisRangeError” exception chaining 2020-06-04 15:19:43 -04:00
Brandon Rhodes 61e8e0e947 Fix #374 by adding close() to SpiceKernel 2020-06-04 12:11:18 -04:00
Josh Paterson ec114affbd
Another finder for astronomical phenomena (#211) 2020-06-04 11:16:24 -04:00
Brandon Rhodes 2d1e8b3761 Use builtin=True more consistently for timescales
It looks like http://maia.usno.navy.mil/ is down this morning, which
reminds me that documentation should be more consistent in loading
timescales from internal files unless illustrating explicitly how to
download up-to-date files.
2020-06-04 05:59:32 -04:00
Brandon Rhodes e3f0cdca94 Support wrapping raw sgp4 satellite object 2020-06-03 16:32:27 -04:00
Brandon Rhodes 3c24f5ce11 Start explaining extrema search; halt with dismay
Started explaining how to find maxima, then saw that the result is kind
of a disaster.  Time to dig in and see how the very poor behavior of the
elongation can be improved.
2020-06-03 12:12:25 -04:00
Brandon Rhodes a7d7a2a2d1 Initial, overly simple docs for discrete search
Drafted as a candidate answer for issue #383.  More needs to be
explained about possible problems and failure modes, but at least this
is a start.
2020-06-03 10:13:01 -04:00
Brandon Rhodes 2be22b0160 Fix #382 by adding Loader.build_url() method 2020-05-31 12:17:43 -04:00
Brandon Rhodes 2653a87301 Fix #379 by explaining need for historic TLE files 2020-05-30 17:30:15 -04:00
Brandon Rhodes 4806a53cde Explain what to do if they iterate over an Angle 2020-05-30 16:54:54 -04:00
Brandon Rhodes 88e4ffe023 Add test for unit unpacking exception; fix wording
It was using the placeholder variable `velocity` even if the message was
being produced by the `Distance` class.  Whoops.
2020-05-30 16:38:23 -04:00
Brandon Rhodes e21e547077 Move Angle unit tests into main unit test file 2020-05-30 16:20:04 -04:00
Brandon Rhodes cef8fbbb08 Move explanation to top where folks might see it 2020-05-29 22:37:10 -04:00
Brandon Rhodes 7d3e3c6e46 Explain why is_sunlit() ignores light time to Sun
And on the way, add a light-time method to the Distance object.
2020-05-29 22:28:00 -04:00
Brandon Rhodes 943154c4e2 Switch script to cheap nutation; change conclusion 2020-05-29 21:31:13 -04:00
Brandon Rhodes 0ea25d4316 Script to test computing sunlit over whole pass 2020-05-29 20:22:42 -04:00
Brandon Rhodes 1e3913caf0 Make new directory related to "design" choices 2020-05-29 19:27:38 -04:00
Brandon Rhodes cb07ad98d6 Stop including the Table of Contents in itself 2020-05-29 19:03:50 -04:00
Brandon Rhodes 7ec71b56ec Update changelog and bump to version 1.21 2020-05-29 13:58:04 -04:00
Brandon Rhodes 54e6500373 Fix the level of a heading in the documentation 2020-05-29 13:49:22 -04:00
Brandon Rhodes 7c13306327 Revert "Add sun/shadow state to satellite find_events()"
This reverts commit 58947167a2.  I decided
that its attempt to graft sunlit state into satellite passes was not a
promising direction.
2020-05-29 13:44:51 -04:00
Brandon Rhodes 58947167a2 Add sun/shadow state to satellite find_events() 2020-05-29 08:51:59 -04:00
Brandon Rhodes 5ef19c99c3 Remove draft `is_sunlit()` and tidy up its docs 2020-05-28 14:50:48 -04:00
Brandon Rhodes 8d3f4e1ae0 Try promoting is_sunlit() to being an ICRF method
This lets folks who observe satellites `(sat - topos).at()` also enjoy
the benefits of `is_sunlit()`.
2020-05-28 13:09:35 -04:00
Brandon Rhodes 06ee83aa66 Try out a rival approach to is_sunlit() 2020-05-28 11:37:08 -04:00
Brandon Rhodes dac6d847d1 Add routine for intersection of line and sphere 2020-05-28 10:25:37 -04:00
Brandon Rhodes 2fded397ea Improve behavior of fractions-of-a-degree code
By working directly off the number of degrees, we avoid rounding errors
involved in angles created from whole numbers of degrees.  This
hopefully fixes the build.
2020-05-27 13:42:30 -04:00
Brandon Rhodes 313edcab70 Add arcminutes(), arcseconds(), and mas() methods
And while I’m at it, switch to 2-step conversions between radians and
other units.  While it was faster to do only a single multiply against a
pre-computed constant like (tau / 360.0), I suspect that two operations
might behave better when the angle is, for example, exactly a multiple
of tau.  I should really learn float behavior better (or experiment more).
2020-05-27 13:30:51 -04:00
Jesse Coffey ac28c5de13
Added is_sunlit() satellite method and docs (#369)
Fixes #362.
2020-05-27 09:17:29 -04:00
Brandon Rhodes 54550c1779 Expand and rewrite risings and settings documentation
This expanded discussion tackles several topic that have come up in
various GitHub issues.  Hopefully fixes #348 and fixes #371.
2020-05-26 11:55:29 -04:00
Brandon Rhodes c315f058dc Simplify how convergence is tested in refract() 2020-05-26 10:41:58 -04:00
Brandon Rhodes b069895dde If URL fragment names whole section, no highlight 2020-05-26 10:26:55 -04:00
Brandon Rhodes 146e8c6eff Fix remaining broken links in position info block 2020-05-26 10:22:49 -04:00
Brandon Rhodes 4f9c2f95e3 Fix broken links in Positions overview; add dms() 2020-05-26 09:27:53 -04:00
Brandon Rhodes 686220f626 Highlight target of URL fragment
Without some highlighting, I get lost when I click on a link to
something in the API docs and the item is down at the bottom of the page
because it happens to be listed last.  Without highlighting to help me,
I always look for the item at the top of the browser window.
2020-05-26 09:25:01 -04:00
Brandon Rhodes 8e447ac1ca Cleanup to reduce array creations in nutation 2020-05-24 22:32:52 -04:00
Brandon Rhodes b92ffc202c Speed up nutation more through einsum -> dot 2020-05-24 20:28:47 -04:00
Brandon Rhodes 8d73f309b0 Speed up iau2000a() by removing intermediate array 2020-05-24 19:00:30 -04:00
Brandon Rhodes 7e3150a8b9 Eliminate a few transposes, for simplicity 2020-05-24 18:12:29 -04:00
Brandon Rhodes 5efa00878f Fix #378 by forcing 644 file permissions in sdist 2020-05-24 17:32:30 -04:00
Brandon Rhodes a008bfe350 Speed up iau2000a() with tensordot -> einsum 2020-05-24 17:03:48 -04:00
Brandon Rhodes 28ea7a1f81 Speed up iau2000b() with tensordot -> einsum 2020-05-24 16:58:04 -04:00