Skyfield: HomeTable of ContentsChangelogAPI Reference

API Reference — Earth Satellites

See Earth Satellites for an introduction to downloading Earth satellite data and computing their positions with Skyfield.

class skyfield.sgp4lib.EarthSatellite(line1, line2, name=None, ts=None)

An Earth satellite loaded from a TLE file and propagated with SGP4.

An earth satellite object is a Skyfield vector function, so you can either call its at() method to generate its position in the sky or else use addition and subtraction to combine it with other vectors.

Satellite parameters are generally only accurate for a week or two around the epoch of the parameters, the date for which they were generated, which is available as an attribute:

epoch
A Skyfield Time giving the exact epoch moment for these satellite orbit parameters.
name
Satellite name

When building a satellite, use the arguments line1 and line2 to provide the two data lines from a TLE file as separate strings. Optional name lets you give a name to the satellite, accessible later through the name attribute. ts is a Timescale object, used to generate the epoch value; if it is not provided, the satellite will use a built in Timescale object.

If you are interested in the catalog entry details, the SGP4 model parameters for a particular satellite can be accessed through its model attribute:

model.satnum
The unique satellite NORAD catalog number given in the TLE file.
model.classification
Satellite classification, or else 'U' for “Unknown”
model.intldesg
International designator
model.epochyr
Full four-digit year of this element set’s epoch moment.
model.epochdays
Fractional days into the year of the epoch moment.
model.jdsatepoch
Julian date of the epoch (computed from epochyr and epochdays).
model.ndot
First time derivative of the mean motion (ignored by SGP4).
model.nddot
Second time derivative of the mean motion (ignored by SGP4).
model.bstar
Ballistic drag coefficient B* in inverse earth radii.
model.ephtype
Ephemeris type (ignored by SGP4 as determination now automatic)
model.elnum
Element number
model.inclo
Inclination in radians.
model.nodeo
Right ascension of ascending node in radians.
model.ecco
Eccentricity.
model.argpo
Argument of perigee in radians.
model.mo
Mean anomaly in radians.
model.no_kozai
Mean motion in radians per minute.
model.revnum
Revolution number at epoch [Revs]
classmethod from_satrec(satrec, ts)

Build an EarthSatellite from a raw sgp4 Satrec object.

This lets you provide raw numeric orbital elements instead of the text of a TLE set. See Build a satellite with a specific gravity model for detais.

classmethod from_omm(ts, element_dict)

Build an EarthSatellite from OMM text fields.

Provide a ts timescale object, and a Python dict of OMM field names and values. The timescale is used to build the satellite’s .epoch time.

ITRF_position_velocity_error(t)

Deprecated: use the TEME and ITRS frame objects instead.

find_events(topos, t0, t1, altitude_degrees=0.0)

Return the times at which the satellite rises, culminates, and sets.

Searches between t0 and t1, which should each be a Skyfield Time object, for passes of this satellite above the location topos that reach at least altitude_degrees above the horizon.

Returns a tuple (t, events) whose first element is a Time array and whose second element is an array of events:

  • 0 — Satellite rose above altitude_degrees.
  • 1 — Satellite culminated and started to descend again.
  • 2 — Satellite fell below altitude_degrees.

Note that multiple culminations in a row are possible when, without setting, the satellite reaches a second peak altitude after descending partway down the sky from the first one.

class skyfield.sgp4lib.TEME

The satellite-specific True Equator Mean Equinox frame of reference.

This TEME frame is used to measure right ascension and declination, and is the reference frame of the SGP4 Earth satellite orbit model. It is a bit quirky. Instead measuring right ascension from the true vernal equinox point, it uses the ‘mean’ equniox that considers only precession but not nutation (the same equinox used for Greenwich Mean Sidereal Time). This made the reference frame more tractable for the 1970s computers that first implemented SGP4.

Defined in AIAA 2006-6753 Appendix C. See Coordinates in other reference frames for a guide to using Skyfield reference frames like this one.