Reference API#
All the gory details that you would need to use AstroForge to its fullest.
Constants#
AstroForge exports a few useful constants:
Equatorial radius of the Earth (km) |
|
Gravitational parameter of the Earth (km3 / s2) |
|
Oblateness of the Earth |
|
Rotation rate of the Earth (rad/s) |
|
Orbital radius of the GEO belt (km) |
|
Orbital velocity for a satellite in GEO (km/s) |
|
Primary acceleration for a satellite in GEO (km / s2`) |
|
Gravitational parameters for the rest of the solar system (km3 / s2) |
|
Speed of light (km/s) |
Moon and Sun Positions#
Given an input time in Modified Julian Date (MJD) format, AstroForge can calculate the low fidelity positions of the sun and moon in GCRS or MEMED coordinates:
|
Low fidelity position of Moon in GCRS (Montenbruck & Gill, p. |
|
Low fidelity position of Moon in MEMED (Montenbruck & Gill, p. |
|
Low fidelity position of Sun in GCRS (Montenbruck & Gill, p. |
|
Low fidelity position of Sun in MEMED (Montenbruck & Gill, p. |
Force Models#
AstroForge utilizes Ordinary Differential Equation (ODE) solvers for propagating orbital states through time. In order to do so, one must specify the equations of motion by providing a function that evaluates the derivative of the state. Within the AstroForge, there exist both low-level utilities for creating such a function, as well as a few high-level pre-built force models that can be used off-the-shelf.
The following are the low-level utilities:
|
Compute Earth's gravitational potential for a position in ITRS coordinates using an 8x8 spherical harmonics model. |
|
Compute Earth's gravitational potential for a position in ITRS coordinates using an 8x8 spherical harmonics model. |
|
Computes the monopole (twobody) acceleration and the J2 perturbing acceleration for Earth. |
|
Compute the perturbing gravitational acceleration due to a third body. |
And these are the high-level, built-in force models:
Propagators#
The F_mp() and F_mp_srp()
force models can be propagated directly, or a custom force model can be used with
propagator():
|
Propagates an orbital state with a medium-fidelity force model. |
|
Propagates an orbital state with a medium-fidelity force model which includes solar radiation pressure. |
|
Propagates an orbital state with a given force model |
Coordinate Conversions#
Much of this package is devoted to carefully handling the coordinate conversions necesary for precise orbit determination. Each of the coordinate conversion utilities are summarized below:
|
Converts a cartesian vector from the Celestial Intermediate Reference System (CIRS) to the Mean Equator Mean Equinox of Date (MEMED) coordinate system. |
|
Converts a cartesian vector from the Celestial Intermediate Reference System (CIRS) to the True Equator True Equinox of Date (TETED) coordinate system. |
|
Interpolates the IERS data for the UT1-UTC difference to the time(s) given. |
|
Rotate a cartesian vector from the International Terrestrial Reference System (ITRS) to the Mean Equator Mean Equinox of Date (MEMED) coordinate system. |
|
Rotate a cartesian vector from the International Terrestrial Reference System (ITRS) to the Terrestrial Intermediate Reference System(TIRS) coordinate system. |
|
Rotate a cartesian vector from the International Terrestrial Reference System (ITRS) to the True Equator True Equinox of Date (TETED) coordinate system. |
Converts a cartesian vector from the International Terrestrial Reference System (ITRS) to geodetic latitute, longitude, and altitude. |
|
|
Converts cartesian vector in the International Terrestrial Reference System (ITRS) to a South-East-Zenith (SEZ) relative to a specific geodetic location. |
|
Convert a geodetic latitude, longitude, and altitude to a cartesian position vector in the International Terrestrial Reference System (ITRS). |
|
Compute the mean obliquity of the ecliptic based at the time given. |
|
Converts a cartesian vector from the Mean Equator Mean Equinox of Date (MEMED) coordinate system to the Celestrial Intermediate Reference System (CIRS). |
|
Convert a cartesian vector from the Mean Equator Mean Equinox of Date (MEMED) coordinate system to the Internation Terrestrial Reference System (ITRS). |
|
Compute the nutation of the Earth's rotational axis at the time given. |
|
Computes the motion of the Earth's rotational axis as a function of time. |
|
Utility for converting a cartesian position and velocity vectors from one coordinate system to another. |
|
Compute observables for a target with a given position and velocity as seen by a sensor with a particular position and velocity. |
|
Create a rotation matrix about primary axis n with rotation angle a. |
|
Create a rotation matrix about axis n, given the sine s and cosine c of the rotation angle. |
|
Create a rotation matrix about the first axis by the given rotation angle. |
|
Create a rotation matrix about the second axis by the given rotation angle. |
|
Create a rotation matrix about the third axis by the given rotation angle. |
Compute the azimuth, elevation, and range given a displacement in the SEZ coordinate frame. |
|
|
Compute whether the satellite is in shadow |
|
Rotate a cartesian vector from the True Equator True Equinox of Date (TETED) coordinate system to the Celestial Intermediate Reference System (CIRS). |
|
Rotate a cartesian vector from the True Equator True Equinox of Date (TETED) coordinate system to the International Terrestrial Reference System (ITRS). |
|
Rotate a cartesian vector from the Terrestrial Intermediate Reference System (TIRS) to the International Terrestrial Reference System (TIRS). |
IERS Utilities#
Many of these coordinate conversions rely on precise data about the orientation of the Earth, which is contained within the International Earth Rotation and Reference Systems Service (IERS) Bulletin A file, found here. AstroForge has some utilities for automatically downloading and parsing this data.
Download and save the IERS Bulletin A file. |
|
Parse the IERS file into more readily usable intermediate files. |
|
|
Utility function for setting up the IERS utilities. |