Satellite orbits (pymgp.satorb)#

This module provides basic functions for orbital (Keplerian) elements, conversion to/from intertial state vectors with position and velocity, computation of the Earth rotation angle (GMST) and conversion between intertial (ECI) and Earth Fixed (ECEF) reference frame.

The module also provides function to compute satellite lookangles, range and range rate for an object on Earth or in orbit.

Keplerian elements#

vec2orb(svec[, GM])

Convert inertial state vector into Keplerian elements.

orb2vec(orb[, GM])

Convert Keplerian elements into intertial state vector.

orbtype(ecc, incl[, tol])

Determine circular and equatorial orbit types (for handling of special cases).

kepler(E, ecc)

Compute mean anomaly from eccentric anomaly (Kepler's equation).

keplerm(M, ecc[, TOL])

Compute eccentric and true anomaly from mean anomaly solving Kepler's eqn.

keplernu(nu, ecc)

Compute mean and eccentric anomaly from true anomaly (Kepler's equation).

UT1 to GMST, and ECI/ECEF, conversions#

ut2gmst(ut1[, model])

Compute Greenwich Mean Siderial Time from UT1.

ecef2eci(t, xsate[, vsate])

Convert position and velocity from ECEF to ECI reference frame.

eci2ecef(t, xsat[, vsat])

Convert position and velocity from ECI to ECEF reference frame.

Satellite look angles, range and range-rate#

satlookangle(t, xsat, xobj[, verbose, ...])

Compute table with satellite look angles.

prtlookangle(t, lookangles, flags[, ...])

Print a table with satellite look angles.

Sequential date numbers#

datetime2num(t)

Convert array wtih np.datetime64 objects to serial datenumber (float, days since 01-01-1970 00:00).

num2datetime(t)

Convert array with serial datenumbers (float, days since 01-01-1970 00:00) to datetime objects.

num2datetime64(datenum)

Convert array with serial datenumbers (float, days since 01-01-1970 00:00) to np.datetime64 objects.

The functions are optimized for Python’s numpy library, it accepts mostly numpy alike ndarrays with the coordinates (usually three) in the last axis.