How to Use It?ΒΆ
import the module into your code:
import callhorizons
initialize a QUERY object with an objectname that is readable by the JPL HORIZONS website; this might be the target’s name:
dq = callhorizons.query('Don Quixote')
number:
dq = callhorizons.query('3552')
designation:
dq = callhorizons.query('1983 SA')
or packed designation:
dq = callhorizons.query('J83S00A')
set the time range of epochs that you want to query using:
dq.set_epochrange('2016-02-27 03:20', '2016-02-28 05:20', '1h')
where the order is start date and time, end date and time, and step size using YYYY-MM-DD HH:MM UT times, or set discrete times:
dq.set_discreteepochs([2457446.177083, 2457446.182343])
where up to 15 discrete epochs are provided in the form of a list of Julian Dates.
query ephemerides for the given times for a given observatory code (here: 568, Mauna Kea):
dq.get_ephemerides(568)
or, obtain the target’s orbital elements:
dq.get_elements()
The queried data are stored in the QUERY object and can be accessed easily:
dq.fields # provide list of available target properties
dq['RA'] # access 'RA' for all epochs
dq[0] # access all properties for the first epoch
dq.dates # provide list of epochs
Queried data can also be filtered, e.g., based on airmass:
dq[dq['airmass'] < 1.5]
Orbital elements queried with CALLHORIZONS can be directly converted into PyEphem objects to calculate the ephemerides:
import ephem
dq.get_elements()
dq_pyephem = dq.export2pyephem()
For more information, see the Examples and the callhorizons reference.