pyTMD.predict.ocean_load

  • Predict tidal values using harmonic constants

  • Infer tidal values for minor constituents using major constituents

  • Predicts long-period equilibrium ocean tides

Source code

pyTMD.predict.time_series(t: float | ndarray, ds: Dataset, **kwargs)[source]

Predict tides from Dataset at times

Parameters:
t: float or np.ndarray

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

ds: xarray.Dataset

Dataset containing tidal harmonic constants

kwargs: dict

Keyword arguments for pyTMD.constituents.arguments()

Returns:
tpred: xarray.DataArray

Predicted tidal time series

pyTMD.predict.infer_minor(t: float | ndarray, ds: Dataset, **kwargs)[source]

Infer the tidal values for minor constituents using their relation with major constituents [21, 23, 28, 75]

Parameters:
t: float or np.ndarray

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

ds: xarray.Dataset

Dataset containing major tidal harmonic constants

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

corrections: str, default ‘OTIS’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

infer_long_period, bool, default True

Try to infer long period tides from constituents

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
tinfer: xr.DataArray

Tidal time series for minor constituents

pyTMD.predict._infer_short_period(t: float | ndarray, ds: Dataset, **kwargs)[source]

Infer the tidal values for short-period minor constituents using their relation with major constituents [23, 67, 75]

For FES corrections, high precision spline coefficients are provided by pyfes [46]

Parameters:
t: float or np.ndarray

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

ds: xarray.Dataset

Dataset containing major tidal harmonic constants

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

corrections: str, default ‘OTIS’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
tinfer: xr.DataArray

Tidal time series for minor constituents

pyTMD.predict._infer_semi_diurnal(t: float | ndarray, ds: Dataset, **kwargs)[source]

Infer the tidal values for semi-diurnal minor constituents using their relation with major constituents [15, 57, 67]

Parameters:
t: float or np.ndarray

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

ds: xarray.Dataset

Dataset containing major tidal harmonic constants

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

corrections: str, default ‘GOT’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

kwargs: dict

Keyword arguments for pyTMD.predict._admittance_semi_diurnal()

Returns:
tinfer: xr.DataArray

Tidal time series for minor constituents

pyTMD.predict._infer_diurnal(t: float | ndarray, ds: Dataset, **kwargs)[source]

Infer the tidal values for diurnal minor constituents using their relation with major constituents taking into account resonance due to free core nutation [14, 57, 68, 90]

Parameters:
t: float or np.ndarray

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

ds: xarray.Dataset

Dataset containing major tidal harmonic constants

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

corrections: str, default ‘GOT’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

kwargs: dict

Keyword arguments for pyTMD.predict._admittance_diurnal()

Returns:
tinfer: xr.DataArray

Tidal time series for minor constituents

pyTMD.predict._infer_long_period(t: float | ndarray, ds: Dataset, **kwargs)[source]

Infer the tidal values for long-period minor constituents using their relation with major constituents with option to take into account variations due to mantle anelasticity [14, 51, 67, 71]

Parameters:
t: float or np.ndarray

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

ds: xarray.Dataset

Dataset containing major tidal harmonic constants

deltat: float or np.ndarray, default 0.0

Time correction for converting to Ephemeris Time (days)

corrections: str, default ‘GOT’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

kwargs: dict

Keyword arguments for pyTMD.predict._admittance_long_period()

Returns:
tinfer: xr.DataArray

Tidal time series for minor constituents

pyTMD.predict.minor_admittance(ds: Dataset, **kwargs)[source]

Interpolate admittances from major constituents to a set of minor constituents [21, 28, 75]

Parameters:
ds: xarray.Dataset

Dataset containing major tidal harmonic constants

corrections: str, default ‘OTIS’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

infer_long_period, bool, default True

Try to interpolate long period tidal admittances

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
other: xarray.Dataset

Dataset containing interpolated minor tidal harmonic constants

pyTMD.predict._admittance_short_period(ds: Dataset, **kwargs)[source]

Interpolate admittances from short-period major constituents to a set of minor constituents [23, 67, 75]

For FES corrections, high precision spline coefficients are provided by pyfes [46]

Parameters:
ds: xarray.Dataset

Dataset containing major tidal harmonic constants

corrections: str, default ‘OTIS’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
darr: xr.DataArray

Minor constituent harmonic constants

pyTMD.predict._admittance_semi_diurnal(ds: Dataset, **kwargs)[source]

Interpolate admittances from semi-diurnal major constituents to a set of minor constituents [15, 57, 67]

Parameters:
ds: xarray.Dataset

Dataset containing major tidal harmonic constants

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

method: str, default ‘linear’

Method for interpolating between major constituents

  • 'linear': linear interpolation

  • 'admittance': Munk-Cartwright interpolation

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
darr: xr.DataArray

Minor constituent harmonic constants

pyTMD.predict._admittance_diurnal(ds: Dataset, **kwargs)[source]

Interpolate admittances from diurnal major constituents to a set of minor constituents taking into account resonance due to free core nutation [14, 57, 68, 90]

Parameters:
ds: xarray.Dataset

Dataset containing major tidal harmonic constants

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

method: str, default ‘linear’

Method for interpolating between major constituents

  • 'linear': linear interpolation

  • 'admittance': Munk-Cartwright interpolation

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
darr: xr.DataArray

Minor constituent harmonic constants

pyTMD.predict._admittance_long_period(ds: Dataset, **kwargs)[source]

Interpolate admittances from long-period major constituents to a set of minor constituents taking into account variations due to mantle anelasticity [14, 51, 67, 71]

Parameters:
ds: xarray.Dataset

Dataset containing major tidal harmonic constants

minor: list or None, default None

Tidal constituent IDs of minor constituents for inference

include_anelasticity: bool, default False

Compute Love numbers taking into account mantle anelasticity

raise_exception: bool, default False

Raise a ValueError if major constituents are not found

Returns:
darr: xr.DataArray

Minor constituent harmonic constants

pyTMD.predict.equilibrium_tide(t: ndarray, ds: Dataset, **kwargs)[source]

Compute the long-period equilibrium tides the summation of fifteen tidal spectral lines from Cartwright-Tayler-Edden tables [14, 15]

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)

corrections: str, default ‘OTIS’

Use nodal corrections from OTIS/ATLAS or GOT/FES models

include_anelasticity: bool, default False

Compute Love numbers taking into account mantle anelasticity

constituents: list

Long-period tidal constituent IDs

Returns:
tpred: xr.DataArray

Predicted tidal time series (meters)

pyTMD.predict.find_peaks(darr: DataArray, dim: str = 'time', **kwargs)[source]

Find peaks in an xarray DataArray using a first order differentiation method

Parameters:
darr: xarray.DataArray

Input DataArray containing a signal with peaks

dim: str, default ‘time’

Dimension along which to find peaks

kwargs: dict

Keyword arguments for xarray.DataArray.differentiate

Returns:
high_peaks: xarray.DataArray

Boolean array indicating locations of high peaks

low_peaks: xarray.DataArray

Boolean array indicating locations of low peaks