heyoka.model.sgp4#
- heyoka.model.sgp4() list[expression] #
Produces the expression for the SGP4 propagator.
Added in version 5.1.0.
Note
This is a low-level function for advanced use cases. If you are looking for a fast, high-level SGP4 propagator supporting parallel and batched operations, please refer to
sgp4_propagator()
.SGP4 is a widely-used analytical propagator for the dynamics of Earth-orbiting satellites, described in detail in the spacetrack report #3. It takes in input a two-line element set (TLE) and a time delta, and returns the Cartesian state vector (position and velocity) of the spacecraft at the specified time in the True Equator Mean Equinox (TEME) reference frame.
This function will return 7 expressions: the first 6 correspond to the Cartesian state (position and velocity respectively) of the spacecraft according to the SGP4 algorithm, while the last expression represents an error code which, if nonzero, signals the occurrence of an error in the SGP4 propagation routine. The expressions are formulated in terms of the following 8 input variables:
n0
: the mean motion from the TLE (in [rad / min]),e0
: the eccentricity from the TLE,i0
: the inclination from the TLE (in [rad]),node0
: the right ascension of the ascending node from the TLE (in [rad]),omega0
: the argument of perigee from the TLE (in [rad]),m0
: the mean anomaly from the TLE (in [rad]),bstar
: the BSTAR drag term from the TLE (in the same unit as given in the TLE),tsince
: the time elapsed from the TLE epoch (in [min]).
The Cartesian coordinates
x, y, z
of the satellite are returned in [km], while the velocitiesvx, vy, vz
are returned in [km / s]. When nonzero, the error code can assume the following values:1: the mean eccentricity is outside the range [0.0, 1.0],
2: the mean mean motion is less than zero,
3: the perturbed eccentricity is outside the range [0.0, 1.0],
4: the semilatus rectum is less than zero,
5: the satellite was underground (NOTE: this error code is no longer in use),
6: the satellite has decayed.
Note
Currently this function does not implement the deep-space part of the SGP4 algorithm and consequently it should not be used with satellites whose orbital period is greater than 225 minutes.
See also
- Returns:
the Cartesian state vector of an Earth-orbiting satellite according to the SGP4 algorithm, plus an error code.