Skip to content

Instantly share code, notes, and snippets.

@telegraphic
Created January 16, 2019 02:04
Show Gist options
  • Save telegraphic/f45530bb360008ff672f035dfd62688c to your computer and use it in GitHub Desktop.
Save telegraphic/f45530bb360008ff672f035dfd62688c to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
from astroquery.jplhorizons import Horizons
from datetime import datetime, timedelta
import pylab as plt
srclist = [
'2015 BZ509',
'2011 SP25',
'2017 RR2',
'2017 SV13',
'2018 TL6',
'A/2017 U1',
'1989 UH2',
'2015 TG387',
'2012 VP113',
'2018 VG18',
'2014 MU69',
'1999 RQ36'
]
now = datetime.utcnow()
now_p14 = now + timedelta(days=14)
timespan = {
'start': now.strftime('%Y-%m-%d'),
'stop': now_p14.strftime('%Y-%m-%d'),
'step': '1d'
}
sun = Horizons(10, epochs=timespan, id_type='majorbody')
moon = Horizons(301, epochs=timespan, id_type='majorbody')
# Calculate ephemerides
eph, ras, decs, horzns = [], [], [], []
for srcname in srclist:
print srcname
src = Horizons(srcname, epochs=timespan)
e = src.ephemerides()
horzns.append(src)
eph.append(e)
ras.append(e['RA'][0] / 360.0 * 24)
decs.append(e['DEC'][0])
# Calculate sun and moon ephemerides
e_sun = sun.ephemerides()
e_moon = moon.ephemerides()
# Plot
plt.scatter(ras, decs)
for sn, r, d in zip(srclist, ras, decs):
plt.annotate(sn, xy=(r, d))
plt.scatter([e_sun['RA'][0] / 360.0 * 24,], [e_sun['DEC'][0],], c='#cc0000')
plt.scatter([e_moon['RA'][0] / 360.0 * 24,], [e_moon['DEC'][0],], c='#cc0000')
plt.annotate('Sun', xy=(e_sun['RA'][0] / 360.0 * 24, e_sun['DEC'][0]))
plt.annotate('Moon', xy=(e_moon['RA'][0] / 360.0 * 24, e_moon['DEC'][0]))
# Label plots
plt.title("Object ephemerides {d}".format(d=now.strftime('%Y-%m-%d')))
plt.xlabel("RA [hr]")
plt.ylabel("DEC [deg]")
plt.xlim(0, 24)
plt.xticks(range(0, 24+1, 4))
plt.minorticks_on()
plt.show()
@telegraphic
Copy link
Author

ephemerides

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment