/usr/lib/python2.7/dist-packages/sgp4/model.py is in python-sgp4 1.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | """The Satellite class."""
from sgp4.ext import jday
from sgp4.propagation import sgp4
minutes_per_day = 1440.
class Satellite(object):
"""An earth-orbiting satellite as represented by the SGP4 model.
Most of this class's hundred-plus attributes are intermediate values
of interest only to the propagation algorithm itself. Here are the
attributes set by ``sgp4.io.twoline2rv()`` in which users are likely
to be interested:
``satnum``
Unique satellite number given in the TLE file.
``epochyr``
Full four-digit year of this element set's epoch moment.
``epochdays``
Fractional days into the year of the epoch moment.
``jdsatepoch``
Julian date of the epoch (computed from ``epochyr`` and ``epochdays``).
``ndot``
First time derivative of the mean motion (ignored by SGP4).
``nddot``
Second time derivative of the mean motion (ignored by SGP4).
``bstar``
Ballistic drag coefficient B* in inverse earth radii.
``inclo``
Inclination in radians.
``nodeo``
Right ascension of ascending node in radians.
``ecco``
Eccentricity.
``argpo``
Argument of perigee in radians.
``mo``
Mean anomaly in radians.
``no``
Mean motion in radians per minute.
"""
def propagate(self, year, month=1, day=1, hour=0, minute=0, second=0.0):
"""Return a position and velocity vector for a given date and time."""
j = jday(year, month, day, hour, minute, second)
m = (j - self.jdsatepoch) * minutes_per_day
r, v = sgp4(self, m)
return r, v
|