A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
From: Andrew Bauer
Date: 2021 Dec 5, 07:54 -0800
Thanks for liking the Lunar Distance charts. I haven't decided yet on publishing them - the charts come to 5136 "lines of code". I would probably start by publishing the tables.
I have generated all yearly almanacs from 2020 to 2050 for all Python-3 programs and none failed (on Windows 10 or Ubuntu 20.04). I need to know if pdflatex failes (e.g. MiKTeX or TeX Live) or my code before the TeX file has been fully created. You may open an Issue in GitHub under the correct program. I have given up on the Python 2 stuff, which is out-of-date by now. Besides running the code "raw" by downloading thes from GitHub, there is a better way: get the PyPI version at https://pypi.org/project/pyalmanac/ (or https://pypi.org/project/sfalmanac/) and run it instead with "python -m pyalmanac". This stores the configuration file, config.py, and downloaded files in System Folders, but it is kind enough to print out where they are each time you run it. So you can execute these in an empty folder (for example). I have never heard of it stopping in June, and the latest errors that were reported from China, neither I nor the author of the astronomical libraries were able to reproduce.
Now, don't expect Pyalmanc to give you identical results to the original version (the bugfixes and enhancements are in the "Description" in GitHub), and of course SFalmanac will be different, being based on Skyfield. However SFalmanac MUST agree with NASA JPL Horizons (RA and Declination). I have created a mini-test-program that prints any day in the same format as the Horizons System, so it's easier to compare. What's more, I needed to enhance this to give you the data from Ephem and Skyfield and THE DELTA between the two. I attach this in a ZIP file below.
Skyalmanac you can forget about. I created this only because SFalmanac (Skyfield-based) was originally very slow compared to Pyalmanac (Ephem-based) due to the high accuracy of an event search routine, which is somewhat pointless if Sunrise, Sunset; Twilight, Moonrise, Moonset and Mer. Pass. are to be printed only in hours and minutes. The best solution was a rather compicated one: I adapted SFalmanac to calculate using multiprocessing. In case you want to compare ... you can switch back to single-processing by changing line 33 in config.py to "MULTIpr = False".
Okay, let me know if you have any problems - feel free to open a new thread here including "Pyalmanc" or "SFalmanac" in the title, and I'll pick it up.