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), EGM2008 (Pavlis et al. 2012), JGM-2 (Nerem et al. 1994), JGM-3 (Tapley et al. 1996) and ITU_GRACE16 (Akyilmaz et al. 2016; downloaded on first use). The tide system of each model and how the solid-tide correction accounts for it are described in the force models guide.
gravmodel
¶
Earth gravity models available for use
For details, see: http://icgem.gfz-potsdam.de/
egm96, egm2008, jgm2 and jgm3 are compiled into satkit
(to degree 70) and need no data directory or network; itugrace16
is downloaded on first use. Each model's tide system (tide-free or
zero-tide C20) is read when it is loaded and the propagator's
tidemodel.solid_step1 correction accounts for it, so any model can
be combined with any tide model without double-counting the permanent
tide.
jgm3
class-attribute
¶
The "JGM3" gravity model, Tapley et al. (1996). Zero-tide C20. Compiled in.
jgm2
class-attribute
¶
The "JGM2" gravity model, Nerem et al. (1994). Tide-free C20. Compiled in.
egm96
class-attribute
¶
The "EGM96" gravity model, Lemoine et al. (1998). Tide-free C20. Compiled in (truncated to degree 70).
itugrace16
class-attribute
¶
The ITU_GRACE16 gravity model, Akyilmaz et al. (2016), a GRACE-only
satellite solution. Zero-tide C20. Licensed CC BY 4.0, so it is not
compiled in: the coefficient file (1.8 MB) is downloaded into the data
directory on first use, and selecting it offline raises
RuntimeError. Results derived from it should cite the model.
egm2008
class-attribute
¶
The "EGM2008" gravity model, Pavlis et al. (2012). Tide-free C20. Compiled in (truncated to degree 70). Default for the orbit propagator.
gravity(pos, *, model=..., degree=6, order=None)
¶
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.egm2008 |
degree |
int
|
Maximum degree of gravity model to use. Default is 6, maximum is 70 |
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).
gravity_and_partials(pos, *, model=..., degree=6, order=None)
¶
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.egm2008 |
degree |
int
|
Maximum degree of gravity model to use. Default is 6, maximum is 70 |
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).