3

I am new to using skyfield, is there any doc or help file that can show me on how to get the orbit of Sun and moon in ecliptic coordinate for a particular date and time. This is a follow up question of this question

Rasika
  • 83
  • 5

1 Answers1

3

I cant help you with skyfield, but I usually use JPL Horizons Web interface. No installation required, you can also print it in a text file if you want:

https://ssd.jpl.nasa.gov/horizons.cgi

Otherwise I found the documentation for skyfield: https://rhodesmill.org/skyfield/toc.html

And if nothing of that works, I made a little astropy script for you

from astropy import units as u
from astropy.coordinates import SkyCoord, EarthLocation, AltAz, get_body
from astropy.time import Time
import numpy as np

Create 1000 Timepoints between Time 1 and Time 2 (one year later)

t = np.linspace(2451545, 2451545+365, 1000)

pointlist = []

#Loop through this times for tn in t: # For every timepoint, create an astropy_time object astropy_time = Time(tn, format="jd") # Get Planet (as string, "earth", "moon", "mercury" etc. in aequatorial coordinates planet_aequatorial = get_body("moon", time = astropy_time) #Transform to Barycentric True Ecliptic (relative to the center of mass of the solar system). planet_ecliptic = planet_aequatorial.transform_to("barycentrictrueecliptic")

# Add a point to the orbit. Every point is described as (longitude [deg], latitude (ecliptic coords), distance (km))
pointlist.append([planet_ecliptic.lon.deg, planet_ecliptic.lat.deg, planet_ecliptic.distance.km])
print(planet_ecliptic.distance.km)
# So pointslist is a 2D array. The rows are all the 1000 points of the orbit

In every point there is 3 columns for [Long, Lat, Distance]

print(pointlist)

You can also save the result with

pointlist = np.array(pointlist)

np.save("results.npy", pointlist)

Prince Pugs
  • 596
  • 4
  • 23