ECI

This is a description of the arg_common.eci module. This module sprovides the capability to convert from Earth Centered Inertial, ECI, to geocentric coordinates, GEO. The ECI coordinates are assumed to be specified with the true equator and mean equinox. The conversion from ECI to GEO is a rotation around the Z axis based upon the Greenwich Mean Sidereal Time, see function gmst.

eci_to_geo

arg_common.eci.eci_to_geo(eciv: numpy.ndarray, utc: Union[numpy.datetime64, datetime.datetime, float, numpy.ndarray]) → numpy.ndarray

Converts ECI vectors to GEO geocentric vectors. Calculates greenwich mean sidereal time and rotates the vector around the Z axis.

Parameters:
  • eciv (np.ndarray) – A 2-D array of size [3, N] where N is the number of vectors. The first column must be size 3 and stores the X,Y,Z components of each ECI vector. The number of vectors, N, must match the number of universal times times if utc is not a scalar.
  • utc (scalar, list or array of ut times) – A scalar or array of coordinated universal times. The utc can be a scalar, a list or an array of values that can be converted by ‘juliandate.ut_to_jd’. The parameters must be a scalar or its length must match the number of vectors in eciv.
Returns:

Returns an array of geocentric vectors. The array is the same size as eciv

Return type:

np.ndarray

geo_to_eci

arg_common.eci.geo_to_eci(geov: numpy.ndarray, utc: Union[numpy.datetime64, datetime.datetime, float, numpy.ndarray]) → numpy.ndarray

Converts GEO geocentric vectors to ECI vectors. Calculates greenwich mean sidereal time and rotates the vector around the Z axis.

Parameters:
  • geov (np.ndarray) – A 2-D array of size [3, N] where N is the number of vectors. The first column must be size 3 and stores the X,Y,Z components of each GEO vector. The number of vectors, N, must match the number of universal times in utc if utc is not a scalar.
  • ut (scalar, list or array of ut times) – A scalar or array of coordinated universal times. It can be any format that can be converted by ‘juliandate.ut_to_jd’. The parameter must be a scalar or its length must match the number of vectors in geov
Returns:

Returns an array of ECI vectors. The array is the same size as geov

Return type:

np.ndarray

gmst

arg_common.eci.gmst(utc: Union[numpy.datetime64, datetime.datetime, float, numpy.ndarray], delta_t: float = nan) → float

Calculates the Greenwich Mean Sidereal Time for the given Universal time(s). The Universal time is UTC. We use the astropy.time.Time.sidereal_time function to calculate sidereal time; this function uses IERS corrections for timescales and SOFA algorithms. It is is very accurate. The algorithm has given the same results as the novas.sidereal_time function to 10 or 11 decimal places.

Parameters:utc (float, list or array of times.) – A scalar,array or list of coordinated universal times. Sideral time will be calculated for each of these elements. The UTC can be given in any of the formats supported by juliandate.ut_to_jd but are typically datetime.datetime or numpy.datetime.
Returns:The greenwich mean sidereal time
Return type:float or numpy.ndarray