class pyfes.core.WaveTable#

Bases: pybind11_object

Properties of tide waves computed

__init__(self: pyfes.core.WaveTable, waves: list[str] = []) None#
admittance(self: pyfes.core.WaveTable) None#

Compute waves by admittance from these 7 major ones : O1, Q1, K1, 2n2, N2, M2, K2.

compute_nodal_corrections(self: pyfes.core.WaveTable, angles: pyfes.core.AstronomicAngle) None#

Compute nodal corrections.

Parameters:

angles – Astronomic angle, indicating the date on which the tide is to be calculated.

compute_nodal_modulations(self: pyfes.core.WaveTable, dates: numpy.ndarray, leap_seconds: numpy.ndarray[numpy.uint16[m, 1]], formulae: pyfes.core.Formulae = <Formulae.kSchuremanOrder3: 1>) tuple[numpy.ndarray[numpy.float64[m, n]], numpy.ndarray[numpy.float64[m, n]]]#

Compute nodal modulations for amplitude and phase.

Parameters:
  • dates – Desired UTC time. The array must be one-dimensional and of type numpy.datetime64.

  • leap_seconds – Leap seconds at the date of the tide calculation.

  • formulae – Astronomic formulae used to calculate the astronomic angles. Defaults to pyfes.Formulae.kSchuremanOrder3.

Returns:

the nodal correction for amplitude, v (greenwich argument) + u (nodal correction for phase)

Return type:

tuple

find(self: pyfes.core.WaveTable, ident: str) pyfes.core.Wave#

Find a wave in the table by its name.

Parameters:

name – Name of the wave. The search is not case sensitive, so “M2” and “m2” are equivalent.

Returns:

The wave if found, None otherwise.

static harmonic_analysis(h: numpy.ndarray[numpy.float64[m, 1]], f: numpy.ndarray[numpy.float64[m, n]], vu: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.complex128[m, 1]]#

Harmonic Analysis.

Parameters:
  • h – Sea level.

  • f – Nodal correction coefficient applied to the amplitude of the constituents analyzed.

  • vu – Astronomical argument at time \(t\) + the nodal correction coefficient applied to the phase of the constituents analyzed.

Returns:

The complex number representing the different reconstructed waves.

keys(self: pyfes.core.WaveTable) list[str]#

Return the list of tidal constituents handled by this instance.

Returns:

List of tidal constituents.

static select_waves_for_analysis(duration: float, f: float = 2.0) list[str]#

Return the list of tidal waves such that their period is more than twice the duration of the time series analyzed.

Parameters:
  • duration – Duration of the time series analyzed in seconds

  • f – Number of times the period of the wave is greater than the duration of the time series analyzed

Returns:

List of selected tidal waves.

tide_from_mapping(self: pyfes.core.WaveTable, date: object, leap_seconds: int, mapping: numpy.ndarray[numpy.complex128[m, n]], formulae: pyfes.core.Formulae = <Formulae.kSchuremanOrder3: 1>, num_threads: int = 0) numpy.ndarray[numpy.float64[m, n]]#

Calculates the tide for a given date from a grid describing the wave properties over an area of interest.

Parameters:
  • date – UTC date.

  • leap_seconds – Leap seconds at the date of the tide calculation.

  • mapping – Mapping of the wave properties over an area of interest.

  • formulae – Astronomic formulae used to calculate the astronomic angles. Defaults to pyfes.Formulae.kSchuremanOrder3.

  • num_threads – Number of threads to use. If 0, the number of threads is automatically determined.

Returns:

The tide calculated for the mapping provided at the given date.

tide_from_tide_series(self: pyfes.core.WaveTable, dates: numpy.ndarray, leap_seconds: numpy.ndarray[numpy.uint16[m, 1]], wave: numpy.ndarray[numpy.complex128[m, 1]], formulae: pyfes.core.Formulae = <Formulae.kSchuremanOrder3: 1>) numpy.ndarray[numpy.float64[m, 1]]#

Calculates the tide of a given time series.

Parameters:
  • dates – UTC dates. The array must be one-dimensional and of type numpy.datetime64.

  • leap_seconds – Leap seconds at the date of the tide calculation.

  • wave – Tidal wave properties computed by pyfes.WaveTable.harmonic_analysis.

  • formulae – Astronomic formulae used to calculate the astronomic angles. Defaults to pyfes.Formulae.kSchuremanOrder3.

Returns:

The tide calculated for the time series provided.

values(self: pyfes.core.WaveTable) list[pyfes.core.Wave]#

Return the list of tidal waves handled by this instance.

Returns:

List of tidal waves.