solid_earth

  • Predicts solid Earth (body) tides

Source code

pyTMD.predict.body_tide(t: ndarray, ds: Dataset, deltat: float | ndarray = 0.0, method: str = 'ASTRO5', tide_system: str = 'tide_free', catalog: str = 'CTE1973', **kwargs)[source]

Compute the solid Earth tides due to the gravitational attraction of the moon and sun using the approach of Cartwright and Tayler [12] adjusting the degree-2 Love numbers for a near-diurnal frequency dependence [42]

Parameters:
t: np.ndarray

Days relative to 1992-01-01T00:00:00

ds: xarray.Dataset

Dataset with spatial coordinates

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

method: str, default ‘ASTRO5’

Method for computing the mean longitudes

  • 'Cartwright'

  • 'Meeus'

  • 'ASTRO5'

  • 'IERS'

tide_system: str, default ‘tide_free’

Output permanent tide system

  • 'tide_free': no permanent direct and indirect tidal potentials

  • 'mean_tide': permanent tidal potentials (direct and indirect)

catalog: str, default ‘CTE1973’

Name of the tide potential catalog

  • 'CTE1973': Cartwright and Edden [11]

  • 'HW1995': Hartmann and Wenzel [27]

  • 'T1987': Tamura [74]

  • 'W1990': Woodworth updates to 'CTE1973'

lmax: int, default 6

Maximum degree of spherical harmonic expansion

Will be based on the maximum degree available in the catalog

include_planets: bool, default False

Include tide potentials from planetary bodies

h2: float or None, default None

Degree-2 Love number of vertical displacement

l2: float or None, default None

Degree-2 Love (Shida) number of horizontal displacement

h3: float, default 0.291

Degree-3 Love number of vertical displacement

l3: float, default 0.015

Degree-3 Love (Shida) number of horizontal displacement

Returns:
zeta: xr.Dataset

Solid Earth tide (meters)

pyTMD.predict.solid_earth_tide(t: ndarray, XYZ: Dataset, SXYZ: Dataset, LXYZ: Dataset, deltat: float = 0.0, a_axis: float = 6378136.6, tide_system: str = 'tide_free', **kwargs)[source]

Compute the solid Earth tides in Cartesian coordinates due to the gravitational attraction of the moon and sun [41, 43, 65, 77]

Parameters:
t: np.ndarray

Days relative to 1992-01-01T00:00:00

XYZ: xr.Dataset

Dataset with cartesian coordinates

SXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun

LXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the moon

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

a_axis: float, default 6378136.3

Semi-major axis of the Earth (meters)

tide_system: str, default ‘tide_free’

Permanent tide system for the output solid Earth tide

  • 'tide_free': no permanent direct and indirect tidal potentials

  • 'mean_tide': permanent tidal potentials (direct and indirect)

lmax: int, default 3

Maximum degree of spherical harmonic expansion

h2: float, default 0.6078

Degree-2 Love number of vertical displacement

l2: float, default 0.0847

Degree-2 Love (Shida) number of horizontal displacement

h3: float, default 0.292

Degree-3 Love number of vertical displacement

l3: float, default 0.015

Degree-3 Love (Shida) number of horizontal displacement

mass_ratio_solar: float, default 332946.0482

Mass ratio between the Earth and the Sun

mass_ratio_lunar: float, default 0.0123000371

Mass ratio between the Earth and the Moon

Returns:
dxt: xr.Dataset

Solid Earth tide displacements (meters)

pyTMD.predict._out_of_phase(XYZ: Dataset, SXYZ: Dataset, LXYZ: Dataset, F2_solar: ndarray, F2_lunar: ndarray)[source]

Wrapper function to compute the out-of-phase corrections induced by mantle anelasticity [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

SXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun

LXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the moon

F2_solar: np.ndarray

Factors for the sun

F2_lunar: np.ndarray

Factors for the moon

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._out_of_phase_diurnal(XYZ: Dataset, LSXYZ: Dataset, F2: ndarray, dh2: float = -0.0025, dl2: float = -0.0007)[source]

Computes the out-of-phase corrections induced by mantle anelasticity in the diurnal band [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

LSXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun or moon

F2: np.ndarray

Factors for the sun or moon

dh2: float, default -0.0025

Love number correction for the diurnal band

dl2: float, default -0.0007

Shida number correction for the diurnal band

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._out_of_phase_semidiurnal(XYZ: Dataset, LSXYZ: Dataset, F2: ndarray, dh2: float = -0.0022, dl2: float = -0.0007)[source]

Computes the out-of-phase corrections induced by mantle anelasticity in the semi-diurnal band [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

LSXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun or moon

F2: np.ndarray

Factors for the sun or moon

dh2: float, default -0.0022

Love number correction for the semi-diurnal band

dl2: float, default -0.0007

Shida number correction for the semi-diurnal band

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._latitude_dependence(XYZ: Dataset, SXYZ: Dataset, LXYZ: Dataset, F2_solar: ndarray, F2_lunar: ndarray)[source]

Wrapper function to compute the latitudinal dependent corrections given by L1 for both the diurnal and semi-diurnal bands [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

SXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun

LXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the moon

F2_solar: np.ndarray

Factors for the sun

F2_lunar: np.ndarray

Factors for the moon

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._latitude_dependence_diurnal(XYZ: Dataset, LSXYZ: Dataset, F2: ndarray, L1: float = 0.0012)[source]

Computes the corrections induced by the latitudinal dependence of the diurnal band [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

LSXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun or moon

F2: np.ndarray

Factors for the sun or moon

L1: float, default 0.0012

Love/Shida number correction for the diurnal band

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._latitude_dependence_semidiurnal(XYZ: Dataset, LSXYZ: Dataset, F2: ndarray, L1: float = 0.0024)[source]

Computes the corrections induced by the latitudinal dependence of the semi-diurnal band [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

LSXYZ: xr.Dataset

Dataset with Earth-centered Earth-fixed coordinates of the sun or moon

F2: np.ndarray

Factors for the sun or moon

L1: float, default 0.0024

Love/Shida number correction for the semi-diurnal band

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._frequency_dependence(XYZ: Dataset, MJD: ndarray, deltat: float | ndarray = 0.0)[source]

Wrapper function to compute the frequency dependent in-phase and out-of-phase corrections [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

MJD: np.ndarray

Modified Julian Day (MJD)

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._frequency_dependence_diurnal(XYZ: Dataset, MJD: ndarray, deltat: float | ndarray = 0.0)[source]

Computes the frequency dependent in-phase and out-of-phase corrections of the diurnal band [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

MJD: np.ndarray

Modified Julian Day (MJD)

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._frequency_dependence_long_period(XYZ: Dataset, MJD: ndarray, deltat: float | ndarray = 0.0)[source]

Computes the frequency dependent in-phase and out-of-phase corrections induced by mantle anelasticity in the long-period band [56]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

MJD: np.ndarray

Modified Julian Day (MJD)

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

Returns:
D: xr.Dataset

Solid Earth tide corrections

pyTMD.predict._free_to_mean(XYZ: Dataset, h2: float | ndarray, l2: float | ndarray, H0: float = -0.3146)[source]

Calculate offsets for converting the permanent tide from a tide-free to a mean-tide state [43]

Parameters:
XYZ: xr.Dataset

Dataset with cartesian coordinates

h2: float or np.ndarray

Degree-2 Love number of vertical displacement

l2: float or np.ndarray

Degree-2 Love (Shida) number of horizontal displacement

H0: float, default -0.31460

Mean amplitude of the permanent tide (meters)

Returns:
D: xr.Dataset

free-to-mean tide offset