All Projects → dcf21 → ephemeris-compute-de405

dcf21 / ephemeris-compute-de405

Licence: GPL-3.0 license
A command-line tool for producing tables of the positions of solar system objects over time.

Programming Languages

c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to ephemeris-compute-de405

sbpy
A Python package for small bodies research
Stars: ✭ 60 (+328.57%)
Mutual labels:  astronomy, asteroids, comets
A-Track
A-Track: Detecting Moving Objects in FITS images.
Stars: ✭ 18 (+28.57%)
Mutual labels:  astronomy, asteroids
PlanetaryImager
Qt capture software for astronomy, mainly planetary shooting
Stars: ✭ 45 (+221.43%)
Mutual labels:  astronomy, planets
kerykeion
Kerykeion is a python library for astrology. It can generate SVG charts and extract all data about a birthchart, a composite chart and a transit chart.
Stars: ✭ 72 (+414.29%)
Mutual labels:  ephemeris, planets
pymeeus
Library of astronomical algorithms in Python
Stars: ✭ 25 (+78.57%)
Mutual labels:  astronomy, planets
kosmorro
A program to calculate your ephemerides.
Stars: ✭ 53 (+278.57%)
Mutual labels:  astronomy, ephemeris
api-rest
API - The Solar System OpenData
Stars: ✭ 18 (+28.57%)
Mutual labels:  astronomy, planets
DrawSpace
Space-game oriented rendering engine
Stars: ✭ 20 (+42.86%)
Mutual labels:  planets
curvit
Create light curves from UVIT data.
Stars: ✭ 14 (+0%)
Mutual labels:  astronomy
apod chrome extension
Astronomy Picture of the Day (APOD) Chrome Extension for the new tab screen
Stars: ✭ 16 (+14.29%)
Mutual labels:  astronomy
PyNeb devel
PyNeb development repository
Stars: ✭ 22 (+57.14%)
Mutual labels:  astronomy
cygrid
Cygrid is a cython-powered convolution-based gridding module for astronomy
Stars: ✭ 32 (+128.57%)
Mutual labels:  astronomy
allsky-portal
A simple, responsive web interface to control an allsky camera connected to a Raspberry Pi
Stars: ✭ 28 (+100%)
Mutual labels:  astronomy
starclass
Stellar Classification
Stars: ✭ 15 (+7.14%)
Mutual labels:  astronomy
nightlight
Nightlight: Astronomic Image Processing
Stars: ✭ 25 (+78.57%)
Mutual labels:  astronomy
sunraster
A SunPy-affiliated package which provides tools to analyze data from spectral data from any solar mission.
Stars: ✭ 19 (+35.71%)
Mutual labels:  astronomy
marvin
Data access and visualization for MaNGA. http://sdss-marvin.readthedocs.io/en/latest/
Stars: ✭ 48 (+242.86%)
Mutual labels:  astronomy
fritz
Astronomical data platform for the Zwicky Transient Facility.
Stars: ✭ 20 (+42.86%)
Mutual labels:  astronomy
indi-allsky
Software to manage a Linux-based All Sky Camera.
Stars: ✭ 59 (+321.43%)
Mutual labels:  astronomy
ha skyfield
See the apparent positions of the Sun, Moon, and planets in this home assistant custom component
Stars: ✭ 26 (+85.71%)
Mutual labels:  astronomy

ephemerisCompute (DE405 version)

ephemerisCompute is a command-line tool for producing tables of the positions of solar system objects over time.

For the Sun, Moon and planets, it extracts positions from the publicly available NASA DE405 ephemeris (published 1997), which covers the time period 1600 to 2200 AD, typically with an accuracy of a few km. Outside of this time range, it solves Kepler's equation for the position of an object in an elliptical orbit, yielding results of much lower accuracy.

For asteroids, it solves Kepler's equation using orbital elements downloaded from Ted Bowell's astorb.dat catalogue.

For comets, it obtains orbital elements from the Minor Planet Center's website.

ephemerisCompute was written to produce all of the ephemerides on the website https://in-the-sky.org, which is maintained by the author.

A newer version of this tool is now available, which uses the NASA DE430 ephemeris (published 2013).

Supported operating systems

ephemerisCompute is written in C and runs in Linux, MacOS, and other Unix-like operating systems.

License

This code is distributed under the Gnu General Public License. It is (C) Dominic Ford 2010 - 2021.

Set up

Before you start, ephemerisCompute needs to download various data from the internet, including the DE405 ephemeris files, the asteroid catalogue, and the list of comets.

This can be done with the shell script setup.sh. The total download size will be around 500 MB.

Producing an ephemeris

Running the command-line tool bin/ephem.bin will produce a default ephemeris for Jupiter between 2000 Jan 1 and 2000 Feb 1, at midnight each day:

dominic@ganymede:~/ephemerisCompute$ ./bin/ephem.bin 
2451544.500000000000    3.996320681  2.730993728  1.073274469   
2451545.500000000000    3.991757746  2.736868431  1.075903739   
2451546.500000000000    3.987185148  2.742736516  1.078530407   
...

The first time you run the tool, it needs to convert the ASCII data files you downloaded into a binary format, which will typically take a few seconds before any output is produced. The binary data is cached, leading to near instantaneous performance subsequently.

In this output, the columns are Julian day number, and the XYZ position of Jupiter, measured in AU, relative to the centre of mass of the solar system.

The following command-line arguments can be used to customise the ephemeris:

  • --jd_min [float] - Specify the Julian day number at which the ephemeris should begin.

  • --jd_max [float] - Specify the Julian day number at which the ephemeris should end.

  • --jd_step [float] - Specify the interval between the lines in the ephemeris, in days.

  • --epoch [float] - Specify the epoch of the RA/Dec coordinate system, e.g. 2451545.0 for J2000 (default).

  • --objects [string] - Specify the list of objects to produce ephemerides for. Objects should be separated by commas, e.g. "jupiter, mars" or "P301, A4, 1P/Halley". See below for an explanation of what names are accepted for objects. If multiiple objects are listed, their positions are listed in sets of columns from left to right.

  • --output_binary [int] - If zero, a text-based ephemeris is produced. If non-zero, then the data is output as a stream of binary data, with type double. The first column, the Julian day number, is omitted from binary ephemerides.

  • --output_constellations [int] - If non-zero, then the final column states the name of the constellation the object is in. Note the fetching this information is one of the slowest routines within ephemerisCompute, so this may have significant performance impact when computing large ephemerides.

  • --use_orbital_elements [int] - If zero, then the NASA JPL DE405 ephemeris is used to produce the ephemeris. This will give best accuracy (by far). If set to 1, then orbital elements for all objects are used to compute their approximate positions. If set to 2, then algorithms from Jean Meeus's book "Astronomical Algorithms" are used [not currently supported; do not use!]. The positions of comets and asteroids are always computed using orbital elements, since they are not included in DE405.

  • --output_format [int] - Selects what data should be returned. The following formats are currently supported:

    • -1: XYZ position (ecliptic coordinates at epoch of observation)
    • 0: XYZ position (in ICRS coordinates)
    • 1: RA and Dec (in radians, J2000.0 coordinates; recommended)
    • 2: X, Y, Z, RA, Dec, V-band magnitude, phase, angular size
    • 3: As for 2, but also: physical size, albedo, sun_dist, earth_dist, sun_ang_dist, theta_edo, eclLng, eclDist, eclLat

Object names

This section lists the names which are recognised by the --objects command-line argument:

  • p1, pmercury, mercury: Mercury
  • p2, pvenus, venus: Venus
  • p3, pearth, earth: Earth
  • p301, pmoon, moon: The Moon
  • p4, pmars, mars: Mars
  • p5, pjupiter, jupiter: Jupiter
  • p6, psaturn, saturn: Saturn
  • p7, puranus, uranus: Uranus
  • p8, pneptune, neptune: Neptune
  • p9, ppluto, pluto: Pluto
  • A<n>: Asteroid number n, e.g. A1 for Ceres, or A4 for Vesta
  • C/1995 O1. Comets may be referred to by their names in this format
  • 1P/Halley. Comets may be referred to by their names in this format
  • 0001P. Periodic comets may be referred to by their names in the format %4dP
  • CJ95O010. Comets may be referred to by their Minor Planet Center designations
  • C<n>: Comer number n. n is the line number within the file Soft00Cmt.txt, downloaded from the Minor Planet Center.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].