heyoka.model.sgp4_propagator#
- heyoka.model.sgp4_propagator(sat_list: list | ndarray, diff_order: int = 0, **kwargs)#
Construct an SGP4 propagator.
Added in version 5.1.0.
Added in version 7.0.0: This function now also accepts sat_list as a NumPy array.
Note
A tutorial explaining the use of this function is available.
This function will construct an SGP4 propagator from the input arguments.
The only mandatory argument is sat_list, which must be either a list of general perturbations element sets (GPEs) represented as
Satrec
objects from the sgp4 Python module, or a 2D array.In the former case, the GPE data is taken directly from the
Satrec
objects. In the latter case, sat_list is expected to be a 9 xn
C-style contiguous array, wheren
is the total number of satellites and the rows contain the following GPE data:the mean motion (in [rad / min]),
the eccentricity,
the inclination (in [rad]),
the right ascension of the ascending node (in [rad]),
the argument of perigee (in [rad]),
the mean anomaly (in [rad]),
the BSTAR drag term (in the same unit as given in the GPE),
the reference epoch (as a Julian date),
a fractional correction to the epoch (in Julian days).
Epochs must be provided in the UTC scale of time, following the convention that days in which leap seconds are added/removed are 1 second longer/shorter than one SI day.
The diff_order argument indicates the desired differentiation order. If equal to 0, then derivatives are disabled.
The fp_type keyword argument can be passed in kwargs to select the precision of the propagator (double-precision is the default, single-precision is also supported).
kwargs can also optionally contain keyword arguments from the LLVM kwargs set and the cfunc kwargs set.
- Parameters:
sat_list – the GPE data.
diff_order – the derivatives order.
- Raises:
- Raises:
any exception raised by the construction of the propagator.
- Returns:
an SGP4 propagator object.
- Return type: