2
$\begingroup$

I am able to find the current location for 95P/Chiron using swisseph with a simple code but i am interested into trying to calculate longitude crossings including retro etc .. but at first i only want to see if there is a way to use skyfield maybe just to determine current longitude etc... but i can't seem to find any ephemerises that has Chiron included. I know i can use Horizon and create my own spice, but is that the only option ? are there any spice available for chiron for the next 2-5 years ... or are any deXXX.bsp that has Chiron info uncluded

$\endgroup$
2

1 Answer 1

3
$\begingroup$

The Skyfield docs show a way to do this. You need Keplerian orbital elements from the Minor Planet Center Orbit Database. Chiron is a Centaur, so you can use the "TNOs, Centaurs and SDOs" list (Distant.txt) instead of the whole MPCORB.DAT.

This code:

import skyfield.api as sf
import skyfield.framelib as sff
import skyfield.data.mpc as mpc
from skyfield.constants import GM_SUN_Pitjeva_2005_km3_s2 as GM_SUN

DISTANT_URL = 'https://minorplanetcenter.net/iau/MPCORB/Distant.txt'

ts = sf.load.timescale()
t = ts.utc(2023, 12, 24)
eph = sf.load('de440s.bsp')
sun = eph['sun']
earth = eph['earth']

with sf.load.open(DISTANT_URL) as f:
    mpc_df = mpc.load_mpcorb_dataframe(f)
chiron_els = mpc_df[mpc_df.designation == '(2060) Chiron'].iloc[0]
chiron = sun + mpc.mpcorb_orbit(chiron_els, ts, GM_SUN)

pos = earth.at(t).observe(chiron).apparent()
lat, lon, dist = pos.frame_latlon(sff.ecliptic_frame)
print('Chiron lon={0:.3f}'.format(lon.degrees))

has this output:

Chiron lon=15.456
$\endgroup$
1
  • $\begingroup$ Thank you Mike ❤️ $\endgroup$
    – dimitri33
    Commented Dec 24, 2023 at 1:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .