Skip to content

Earth Gravity Models

Spherical-harmonic Earth gravity (Montenbruck & Gill 2000, ยง3.2, Eq. 3.33) from the ICGEM coefficient files (Ince et al. 2019) of EGM96 (Lemoine et al. 1998), JGM-2 (Nerem et al. 1994), JGM-3 (Tapley et al. 1996) and ITU_GRACE16 (Akyilmaz et al. 2016).

gravmodel

Earth gravity models available for use

For details, see: http://icgem.gfz-potsdam.de/

jgm3 class-attribute

The "JGM3" gravity model (zero-tide C20).

Combining a zero-tide model with tidemodel.solid_step1 (which includes the permanent tide) double-counts the permanent tide; use egm96 with tides on, or tidemodel.none with this model.

jgm2 class-attribute

The "JGM2" gravity model (tide-free C20, like egm96).

egm96 class-attribute

The "EGM96" gravity model (tide-free C20). Default for the orbit propagator, and the model to use with tidemodel.solid_step1.

itugrace16 class-attribute

The ITU GRACE16 gravity model (zero-tide C20; see jgm3).

gravity(pos, **kwargs)

Return acceleration due to Earth gravity at the input position

Parameters:

Name Type Description Default
pos list[float] | itrfcoord | ArrayLike[float]

Position as ITRF coordinate or numpy 3-vector representing ITRF position in meters

required

Other Parameters:

Name Type Description
model gravmodel

The gravity model to use. Default is gravmodel.egm96

degree int

Maximum degree of gravity model to use. Default is 6, maximum is 40

order int

Maximum order of gravity model to use. Default is same as degree

Returns:

Type Description
NDArray[float64]

acceleration in m/s^2 in the International Terrestrial Reference Frame (ITRF)

Notes
  • For details of calculation, see Chapter 3.2 of: "Satellite Orbits: Models, Methods, Applications", O. Montenbruck and E. Gill, Springer, 2000 (https://doi.org/10.1007/978-3-642-58351-3).
Example
coord = satkit.itrfcoord(latitude_deg=42.44, longitude_deg=-71.15, altitude=0)
accel = satkit.gravity(coord)
print(accel)
# array with acceleration in m/s^2 in ITRF

gravity_and_partials(pos, **kwargs)

Gravity and partial derivatives of gravity with respect to Cartesian coordinates

Parameters:

Name Type Description Default
pos itrfcoord | ArrayLike[float]

Position as ITRF coordinate or numpy 3-vector representing ITRF position in meters

required

Other Parameters:

Name Type Description
model gravmodel

The gravity model to use. Default is gravmodel.egm96

degree int

Maximum degree of gravity model to use. Default is 6, maximum is 40

order int

Maximum order of gravity model to use. Default is same as degree

Returns:

Type Description
tuple[NDArray[float64], NDArray[float64]]

acceleration in m/s^2 and partial derivative of acceleration with respect to ITRF Cartesian coordinate in m/s^2 / m

For details of calculation, see Chapter 3.2 of: "Satellite Orbits: Models, Methods, Applications", O. Montenbruck and E. Gill, Springer, 2000 (https://doi.org/10.1007/978-3-642-58351-3).