earth

  • Calculates Earth parameters and Body Tide Love numbers

  • Provides gravitational and ellipsoidal parameters from Hofmann-Wellenhof and Moritz [29], Petit and Luzum [56]

Source code

General Methods

class pyTMD.earth.datum(**kwargs)[source]

Class for gravitational and ellipsoidal parameters [29, 74]

Parameters:
ellipsoid: str, default ‘WGS84’

Reference ellipsoid name

  • 'CLK66': Clarke 1866

  • 'CLK80': Clarke 1880

  • 'GRS67': Geodetic Reference System 1967

  • 'GRS80': Geodetic Reference System 1980

  • 'HGH80': Hughes 1980 Ellipsoid

  • 'WGS60': World Geodetic System 1960

  • 'WGS66': World Geodetic System 1966

  • 'WGS72': World Geodetic System 1972

  • 'WGS84': World Geodetic System 1984

  • 'ATS77': Quasi-earth centred ellipsoid for ATS77

  • 'NAD27': North American Datum 1927

  • 'NAD83': North American Datum 1983

  • 'INTER': International

  • 'KRASS': Krassovsky (USSR)

  • 'SGS90': Soviet Geodetic System 1990

  • 'HLMRT': Helmert 1906 Ellipsoid

  • 'HOUGH': Hough 1960 Ellipsoid

  • 'AIRY': Airy (1830)

  • 'MAIRY': Modified Airy (1849)

  • 'MERIT': MERIT 1983 ellipsoid

  • 'TOPEX': TOPEX/POSEIDON ellipsoid

  • 'EGM96': EGM 1996 gravity model

  • 'IAG75': International Association of Geodesy (1975)

  • 'IAU64': International Astronomical Union (1964)

  • 'IAU76': International Astronomical Union (1976)

  • 'IERS89': IERS Numerical Standards (1989)

  • 'IERS': IERS Numerical Standards (2010)

units: str, default `MKS`

Output units

  • 'MKS': meters, kilograms, seconds

  • 'CGS': centimeters, grams, seconds

Attributes:
a_axis: float

Semi-major axis of the ellipsoid

flat: float

Flattening of the ellipsoid

omega: float

Angular velocity of the Earth

GM: float

Geocentric gravitational constant

property rad_e: float

Average radius of the Earth with same volume as ellipsoid

property b_axis: float

Semi-minor axis of the ellipsoid

property ratio: float

Ratio between ellipsoidal axes

property rad_p: float

Polar radius of curvature

property ecc: float

Linear eccentricity

property ecc1: float

First numerical eccentricity

property ecc2: float

Second numerical eccentricity

property m: float

\(m\) Parameter

property f2: float

\(f_2\) component

property f4: float

\(f_4\) component

property q: float

\(q\) Parameter

property q0: float

\(q_0\) Parameter

property J2: float

Oblateness \(J_2\) coefficient

property C20: float

Normalized \(C_{20}\) harmonic

property gamma_a: float

Normal gravity at the equator

property gamma_b: float

Normal gravity at the pole

gamma_0(theta: float | ndarray) float[source]

Normal gravity at colatitudes

Parameters:
theta: float

Colatitudes (radians)

gamma_h(theta: float | ndarray, height: float | ndarray) float[source]

Normal gravity at colatitudes and heights

Parameters:
theta: float

Colatitudes (radians)

height: float

Height above ellipsoid (same as units)

property dk: float

Ratio between gravity at pole versus gravity at equator

property U0: float

Normal potential at the ellipsoid

property area: float

Surface area of the ellipsoid

property volume: float

Volume of the ellipsoid

property rho_e: float

Average density

pyTMD.earth.love_numbers(omega: ndarray, model: str = 'PREM', **kwargs)[source]

Compute the body tide Love/Shida numbers for a given frequency [42, 75, 76, 78]

Parameters:
omega: np.ndarray

Angular frequency (radians per second)

model: str, default ‘PREM’

Earth model to use for Love numbers

  • ‘1066A’

  • ‘1066A-N’ (neutral)

  • ‘1066A-S’ (stable)

  • ‘PEM-C’

  • ‘C2’

  • ‘PREM’

astype: np.dtype, default np.float64

Data type for the output Love numbers

Returns:
h2: float

Degree-2 Love number of vertical displacement

k2: float

Degree-2 Love number of gravitational potential

l2: float

Degree-2 Love (Shida) number of horizontal displacement

pyTMD.earth.complex_love_numbers(omega: ndarray, **kwargs)[source]

Compute the complex body tide Love/Shida numbers with in-phase and out-of-phase components for a given frequency [43, 44, 56]

Parameters:
omega: np.ndarray

Angular frequency (radians per second)

kwargs: dict

Keyword arguments for pyTMD.earth.love_numbers()

Returns:
h2: complex

Degree-2 Love number of vertical displacement

k2: complex

Degree-2 Love number of gravitational potential

l2: complex

Degree-2 Love (Shida) number of horizontal displacement

pyTMD.earth.degree_love_numbers(l: int, model: str = 'Longman', **kwargs)[source]

Extracts body tide Love/Shida numbers for a given degree [46]

Parameters:
l: int

Degree of the spherical harmonics

model: str, default “Longman”

Earth model

  • 'Longman': Longman [38]

  • 'Kaula': Kaula [34]

  • 'Takeuchi': Takeuchi [71]

Returns:
hl: float

Body tide Love number of vertical displacement

kl: float

Body tide Love number of gravitational potential

ll: float

Body tide Love (Shida) number of horizontal displacement

pyTMD.earth._melchior_table_52(model: str)[source]

Body tide Love numbers for an Earth model provided in Table 5.2 of Melchior [46]

Parameters:
model: str

Earth model

  • 'Longman': Longman [38]

  • 'Kaula': Kaula [34]

  • 'Takeuchi': Takeuchi [71]