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
$\begingroup$
$\endgroup$
2
-
3$\begingroup$ will this be suitable? Ephemeris for 95P/Chiron $\endgroup$– ayrCommented Dec 23, 2023 at 6:47
-
$\begingroup$ Here's a Horizons plot for this year, using a timestep of 3 days. i.sstatic.net/cOJGq.png $\endgroup$– PM 2RingCommented Dec 23, 2023 at 10:18
Add a comment
|
1 Answer
$\begingroup$
$\endgroup$
1
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