It turns out I was off by nearly 18 hours in the B1875 epoch.
This has a tiny effect on the orientation of the Earth's axis.
Instead of: ut = 1875-01-01T12:00:00.000Z
the correct epoch is: ut = 1874-12-31T18:12.21.950Z
See the comments in the Constellation functions in
each of the source files for more info.
Can now calculate the heliocentric Solar System Barycenter (SSB)
and Earth/Moon Barycenter (EMB).
Changes made in C, C#, JavaScript and Python:
Added new body codes SSB, EMB.
Added support for calculating both in HelioVector functions.
Verified that all calculations match NOVAS.
Verified that all calculations match each other across languages.
Adjust VSOP models for planets to bring their prediction errors beneath
0.1 degrees of a total orbit.
ctest no longer runs tests when no command line arguments are given.
That was annoying because I kept running it by accident.
Include an extra 4 terms in the radial component of the VSOP
model for Neptune. The code automatically picks the 4 terms
that maximize the time derivative's highest possible contribution.
Added function Time.Parse to convert a UTC date/time string
into a Time object. People should not have to keep reinventing
that wheel. I will be able to simplify astro_demo_common.py.
Currently I ignore any errors when checking the C# documentation,
because there are broken links for the rotation functions I
haven't started adding yet. I will turn that error check back on
once I finish those functions.
pydown.py now searches description text for internal links
and expands them properly for Markdown file README.md.
For example: "#Body" ==> "[`Body`](#Body)".
Fixed a couple of incorrect "Astronomy_..." names in Python docs.
Never use pound-signs inside documentation for Python return types.
Automatically create internal link just like for function parameter types.
Added special case logic in pydown.py for "Time or `None`".
Fixed minor documentation mistakes in JS version.
Separate the calculation of refraction angle from the Horizon function.
Added missing documentation for the parameters of the Horizon function.
Added definition of class Spherical. Not yet used, but soon will be.
In C code, replaced HTML italics with Markdown emphasis markers.
Added warnings for Python symbols with missing documentation.
Documented Python class Apsis.
Changed visibility from a string 'morning'/'evening' to enum type.
Was not testing visibility was correct; now test.py does that.
Corrected a couple of minor things in C documentation.
Will generate different Markdown for my regular classes,
enumerated types, and error types.
Found out that 'from enum import IntEnum' pulls IntEnum
into the astronomy module and causes us to try to generate
documentation for it. Just keep it in the enum module.
Removed spurious dump of JavaScript README.md when verify_clean
fails.
I'm not going to use type annotations in function signatures
because they are causing more problems than they are worth.
The last straw was that different versions of Python don't
generate the same text representation. This broke my Travis CI
tests.