Skip to main content

Creates the daily pages of a Nautical Almanac using Skyfield and Ephem

Project description

This is the PyPI edition of SFalmanac-Py3. Version numbering started from 1.0 as the previous well-tested versions that are on github since 2015 were never published in PyPI.

     smileyUT1 is the timescale now employed in the almanacsmiley

SFalmanac is a Python 3 script that creates the daily pages of the Nautical Almanac. The generated tables are needed for celestial navigation with a sextant. Although you are strongly advised to purchase the official Nautical Almanac, this program will reproduce the tables with no warranty or guarantee of accuracy.

Two astronomical libraries are employed: Skyfield and Ephem. Ephem is only used for calculating planet magnitudes (as these are not available yet in Skyfield).

SFalmanac uses the Hipparcos catalog as its star database. If a current version Skyfield (>= 1.31) is used, you have two options (which one, you specify manually by editing config.py):

  • if “useIERS = False”, the built-in UT1 tables in the installed version of Skyfield will be employed.

  • if “useIERS = True”, for optimal accuracy (especially for all GHA data), Earth orientation data from IERS (International Earth Rotation and Reference Systems Service) is downloaded and then used until it ‘expires’. It expires after a chosen number of days (also specifiable in config.py). Note that IERS specifies the range of Earth Orientation Parameter (EOP) data currently as “from 2nd January 1973 to 15th May 2022”. Refer to the IERS web site for current information.

If your Skyfield version is somewhat older (<= 1.30), Skyfield will have downloaded the older files it then used: deltat.data, deltat.preds and Leap_Second.dat, which are slightly less accurate than the IERS EOP data (which is updated weekly).

Software Requirements


Nearly all of the astronomical computation is done by the free Skyfield library.
Typesetting is done typically by MiKTeX or TeX Live.
These need to be installed:

Installation

Install a TeX/LaTeX program on your operating system so that ‘pdflatex’ is available.

Ensure that the pip Python installer tool is installed. Then ensure that old versions of PyEphem, Ephem and Skyalmanac are not installed before installing SkyAlmanac from PyPI:

python -m pip uninstall pyephem ephem sfalmanac
python -m pip install sfalmanac

Installing SFalmanac ensures that Ephem, Skyfield and Pandas (and their dependencies) are also installed. If previous versions of SFalmanac were installed, consider upgrading Skyfield and Pandas:

python -m pip install --upgrade skyfield pandas

Thereafter run it with:

python -m sfalmanac

On a POSIX system (Linux or Mac OS), use python3 instead of python in the commands above.

This PyPI edition also supports installing and running in a venv virtual environment. Finally check or change the settings in config.py. It’s location is printed immediately whenever Skyalmanac runs.

Guidelines for Linux & Mac OS

Quote from Chris Johnson:

It’s best to not use the system-provided Python directly. Leave that one alone since the OS can change it in undesired ways.

The best practice is to configure your own Python version(s) and manage them on a per-project basis using venv (for Python 3). This eliminates all dependency on the system-provided Python version, and also isolates each project from other projects on the machine.

Each project can have a different Python point version if needed, and gets its own site_packages directory so pip-installed libraries can also have different versions by project. This approach is a major problem-avoider.

Troubleshooting

If using MiKTeX 21 or higher, executing ‘option 5’ (Increments and Corrections) will probably fail with:

! TeX capacity exceeded, sorry [main memory size=3000000].

To resolve this problem (assuming MiKTeX has been installed for all users), open a Command Prompt as Administrator and enter:

initexmf --admin --edit-config-file=pdflatex

This opens pdflatex.ini in Notepad. Add the following line:

extra_mem_top = 1000000

and save the file. Problem solved. For more details look here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sfalmanac-1.1.1.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sfalmanac-1.1.1-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file sfalmanac-1.1.1.tar.gz.

File metadata

  • Download URL: sfalmanac-1.1.1.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for sfalmanac-1.1.1.tar.gz
Algorithm Hash digest
SHA256 3766c13464f41d6c85d42923f39b435e6a31e7971ed733c838b883774573820d
MD5 36c14eeac8f9bfaf6b20f5bcc63b8922
BLAKE2b-256 2994bc16eadb42ee647242ea982598854b3189bbf659951aa2176800b944d5a6

See more details on using hashes here.

File details

Details for the file sfalmanac-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: sfalmanac-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for sfalmanac-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39cf3229099f0b1a4642ea29e6a14dad3bcfb9526abce9b6542a622273a208cc
MD5 3e83a18036fe655a05249638dadcb9fd
BLAKE2b-256 ac24405a28e3fd6e789f58e41bb9e28521fef368b219dc1593761956ddc4e0a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page