Commit Graph

333 Commits

Author SHA1 Message Date
Don Cross
6c3655c1c6 Corrected the B1875 epoch for determining constellation boundaries.
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.
2020-05-04 21:30:36 -04:00
Don Cross
540d9d7cef Added constellation function to Python code. 2020-05-03 21:37:28 -04:00
Don Cross
3bb740fd1c Fixed #62 - Automatically update copyright year range. 2020-04-30 15:12:14 -04:00
Don Cross
f754a6de82 Fixed #58 - Solar System Barycenter, Earth/Moon Barycenter.
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.
2020-04-29 21:53:57 -04:00
Don Cross
ec6a82b133 Improved performance of Neptune apsis search.
The apsis search for Neptune was sampling 1000 points
in its first pass. It turns out 100 is enough.
2020-01-07 11:57:54 -05:00
Don Cross
7892b797ba Python: planet apsis search is working. 2020-01-06 20:49:49 -05:00
Don Cross
02dc4e95a4 Pluto apsis predictions are now within 0.0810 degrees of orbit period.
Increased from 7 Chebyshev sections to 8.
This also decreases max arcmin error from 0.336084 to 0.120252.
2020-01-06 11:25:47 -05:00
Don Cross
f67ddf1c8d Planet apsis: all planets but Pluto now have prediction error below 0.1 degrees.
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.
2020-01-06 10:59:38 -05:00
Don Cross
819e59745d Decreased Neptune apsis prediction errors from 49.25 days to 15.45 days.
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.
2020-01-05 20:44:29 -05:00
Don Cross
703f924210 Python: Added Time.Parse function.
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.
2020-01-03 14:03:01 -05:00
Don Cross
1fde8049c6 Added check_internal_links.py utility to look for broken links in markdown files.
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.
2019-12-21 15:41:39 -05:00
Don Cross
330b8447f3 Fixed #57 - Finished preamble for Python documentation.
Python documention: corrected internal links in Markdown prefix.
This concludes support for Python documentation fixes.
2019-12-19 13:46:15 -05:00
Don Cross
07e68707a6 Add prefix markdown to Python documentation. 2019-12-19 13:35:56 -05:00
Don Cross
fce1468a1c Fixed #55 - Python documentation internal links translated to Markdown.
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.
2019-12-18 17:07:00 -05:00
Don Cross
7040ff8684 Cleaned up documented return types for Python functions.
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.
2019-12-18 16:53:13 -05:00
Don Cross
e168f37ac5 Python: Finished rotation logic and unit tests.
I thought I had finished the rotation functions last time,
but I missed a couple of them. Finishing the unit tests
revealed that, thankfully.
2019-12-18 10:05:00 -05:00
Don Cross
98deea4523 Python: Finished coding rotation functions. Need to finish test cases. 2019-12-17 20:32:37 -05:00
Don Cross
85d9113f77 Python: Added more rotation functions and unit tests. 2019-12-15 21:24:32 -05:00
Don Cross
d572edb10f Python: Implemented Rotation_ECL_EQJ. 2019-12-15 20:41:03 -05:00
Don Cross
126cc04d1d Python: Implemented CombineRotation. 2019-12-15 20:29:41 -05:00
Don Cross
8c590e4449 Python: implemented InverseRotation function. Cleaned up trailing whitespace.
Also added missing check in Python apsis test where
I did not verify that each apsis kind was correct.
2019-12-15 20:23:35 -05:00
Don Cross
92cc2d9783 Python: starting to implement rotation functions and associated unit tests. 2019-12-15 19:51:30 -05:00
Don Cross
4a449cc0a1 Python: InverseRefractionAngle, RotateVector. Minor doc fixes. 2019-12-15 13:11:47 -05:00
Don Cross
6440743052 Python: Added function RefractionAngle.
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.
2019-12-15 12:25:17 -05:00
Don Cross
ab8d8ba295 Python: Starting to port new rotation code.
Split _precession into _precession_rot/_precession.
Split _nutation into _nutation_rot/_nutation.
Removed trailing whitespace from readme.
2019-12-15 11:34:16 -05:00
Don Cross
ab648ac6ab Finished first pass of Python documentation.
Also make pydown.py generate an error, not just a warning,
for missing documentation, now that all the documentation is filled out.
2019-07-25 23:00:53 -04:00
Don Cross
44084cdf20 Python: added more documentation. 2019-07-19 21:33:19 -04:00
Don Cross
c64880a789 Python: added documentation for function SearchRiseSet. 2019-07-19 21:23:52 -04:00
Don Cross
91e4c7c8d2 Python: added documentation for function SearchHourAngle. 2019-07-19 21:11:54 -04:00
Don Cross
f7bda9890c Python: added documentation for function SearchPeakMagnitude. 2019-07-19 21:05:19 -04:00
Don Cross
972e43e952 Python: added documentation for function Illumination. 2019-07-19 21:01:13 -04:00
Don Cross
712f334146 Python: added documentation for class IlluminationInfo. 2019-07-19 20:57:20 -04:00
Don Cross
746dbe2409 Python documentation: remove extraneous blank lines from Markdown. 2019-07-17 20:21:36 -04:00
Don Cross
3ad7c7d9ec Python: Documented moon quarter type and functions. 2019-07-17 20:17:04 -04:00
Don Cross
8287a211a9 Python: added more documentation. 2019-07-17 20:09:34 -04:00
Don Cross
453e06e943 More documentation work.
In C code, replaced HTML italics with Markdown emphasis markers.
Added warnings for Python symbols with missing documentation.
Documented Python class Apsis.
2019-07-17 19:46:33 -04:00
Don Cross
8a18cdc58a Python: include documentation about function return values in Markdown. 2019-07-13 17:48:15 -04:00
Don Cross
7721f7a735 Python: added documentation for function SearchRelativeLongitude. 2019-07-13 17:02:39 -04:00
Don Cross
0d94f03f64 Added lots more Python documentation.
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.
2019-07-13 16:46:24 -04:00
Don Cross
c0b4d28805 Python: adding support for documenting class member functions. 2019-07-12 21:20:02 -04:00
Don Cross
959ea8d048 Python: generate markdown for error types. 2019-07-12 20:53:16 -04:00
Don Cross
00a80bd45a Python: escape examples as code blocks in Markdown. 2019-07-12 20:04:15 -04:00
Don Cross
f97096105a Python docs: support documentation of enumerated types. 2019-07-12 19:58:14 -04:00
Don Cross
033a2a1b53 pydown: Split classes into regular classes, enums, and errors.
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.
2019-07-10 21:57:07 -04:00
Don Cross
1834b18ca0 pydown: Making a little progress converting Python docstrings to Markdown. 2019-07-10 20:19:26 -04:00
Don Cross
c7210a108f Python: replace _DEG2RAD, _RAD2DEG constants with math functions. 2019-07-09 22:09:53 -04:00
Don Cross
fdbad8a252 Python type annotations are causing problems.
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.
2019-07-09 18:16:04 -04:00
Don Cross
e169f79fc8 Baby step in converting Python docstrings to Markdown. 2019-07-09 17:02:56 -04:00
Don Cross
284894c7e1 Updated Windows build process.
Fixed C compiler warnings that show up on Windows but not Linux.
Trim trailing whitespace for target code.
Generate Python documentation.
2019-07-09 16:35:15 -04:00
Don Cross
4ba3130ecc Python: experimenting with generation of Markdown documentation. 2019-07-08 21:59:29 -04:00