Tidal constituents analysis¶
- class pytide.AstronomicAngle¶
Bases:
pytide.core.AstronomicAngle
Initialize some astronomic data useful for nodal corrections.
- Parameters
date (datetime.datetime, optional) – Desired UTC time
- property h¶
Mean longitude of the sun
- property i¶
Obliquity of lunar orbit with respect to earth’s equator
- property n¶
Longitude of moon’s node
- property nu¶
Right ascension of lunar intersection
- property nuprim¶
Term in argument of lunisolar constituent \(K_{1}\)
- property nusec¶
Term in argument of lunisolar constituent \(K_{2}\)
- property p¶
Mean longitude of lunar perigee
- property p1¶
Mean longitude of solar perigee
- property r¶
Term in argument of constituent \(L_{2}\)
- property s¶
Mean longitude of the moon
- property t¶
Hour angle of mean sun
- property x1ra¶
Factor in amplitude of constituent \(L_{2}\)
- property xi¶
Longitude in moon’s orbit of lunar intersection
- class pytide.Wave¶
Bases:
pytide.core.Wave
Tidal wave properties
- class Ident¶
Bases:
pybind11_builtins.pybind11_object
Members:
kMm : \(Mm\)
kMf : \(Mf\)
kMtm : \(Mtm\)
kMsqm : \(Msqm\)
k2Q1 : \(2Q_{1}\)
kSigma1 : \(\sigma_{1}\)
kQ1 : \(Q_{1}\)
kRho1 : \(\rho_{1}\)
kO1 : \(O_{1}\)
kMP1 : \(MP_{1}\)
kM11 : \(M_{11}\)
kM12 : \(M_{12}\)
kM13 : \(M_{13}\)
kChi1 : \(\chi_{1}\)
kPi1 : \(\pi_{1}\)
kP1 : \(P_{1}\)
kS1 : \(S_{1}\)
kK1 : \(K_{1}\)
kPsi1 : \(\psi_{1}\)
kPhi1 : \(\varphi_{1}\)
kTheta1 : \(\theta_{1}\)
kJ1 : \(J_{1}\)
kOO1 : \(OO_{1}\)
kMNS2 : \(MNS_{2}\)
kEps2 : \(\varepsilon_{2}\)
k2N2 : \(2N_{2}\)
kMu2 : \(\upsilon_{2}\)
k2MS2 : \(2MS_{2}\)
kN2 : \(N_{2}\)
kNu2 : \(\nu_{2}\)
kM2 : \(M_{2}\)
kMKS2 : \(MKS_{2}\)
kLambda2 : \(\lambda_{2}\)
kL2 : \(L_{2}\)
k2MN2 : \(2MN_{2}\)
kT2 : \(T_{2}\)
kS2 : \(S_{2}\)
kR2 : \(R_{2}\)
kK2 : \(K_{2}\)
kMSN2 : \(MSN_{2}\)
kEta2 : \(\eta_{2}\)
k2SM2 : \(2SM_{2}\)
kMO3 : \(MO_{3}\)
k2MK3 : \(2MK_{3}\)
kM3 : \(M_{3}\)
kMK3 : \(MK_{3}\)
kN4 : \(N_{4}\)
kMN4 : \(MN_{4}\)
kM4 : \(M_{4}\)
kSN4 : \(SN_{4}\)
kMS4 : \(MS_{4}\)
kMK4 : \(MK_{4}\)
kS4 : \(S_{4}\)
kSK4 : \(SK_{4}\)
kR4 : \(R_{4}\)
k2MN6 : \(2MN_{6}\)
kM6 : \(M_{6}\)
kMSN6 : \(MSN_{6}\)
k2MS6 : \(2MS_{6}\)
k2MK6 : \(2MK_{6}\)
k2SM6 : \(2SM_{6}\)
kMSK6 : \(MSK_{6}\)
kS6 : \(S_{6}\)
kM8 : \(M_{8}\)
kMSf : \(MSf\)
kSsa : \(Ssa\)
kSa : \(Sa\)
- property name¶
- class TidalType¶
Bases:
pybind11_builtins.pybind11_object
Possible type of tidal wave
Members:
kLongPeriod : Long period tidal waves
kShortPeriod : Short period tidal waves
- property name¶
- property f¶
Gets the nodal correction for amplitude
- property freq¶
Gets the wave frequency (radians per seconds)
- property ident¶
Gets the wave ident
- name(self: pytide.core.Wave) str ¶
Gets the wave name
- nodal_a(self: pytide.core.Wave, a: pytide.core.AstronomicAngle) None ¶
Compute nodal corrections from SCHUREMAN (1958).
- Parameters
a (pytide.core.AstronomicAngle) – Astronomic angle
- nodal_g(self: pytide.core.Wave, a: pytide.core.AstronomicAngle) None ¶
Compute nodal corrections from SCHUREMAN (1958).
- Parameters
a (pytide.core.AstronomicAngle) – Astronomic angle
- property type¶
Gets the wave type
- property u¶
Gets the nodal correction for phase
- v(self: pytide.core.Wave) float ¶
Gets \(v\) (greenwich argument)
- vu(self: pytide.core.Wave) float ¶
Gets \(v\) (greenwich argument) + \(u\) (nodal correction for phase)
- class pytide.WaveDict¶
Bases:
pytide.WaveTable
Manages the tidal wave table as a dictionary.
- compute_nodal_corrections(date: datetime.datetime) pytide.core.AstronomicAngle ¶
Compute nodal corrections.
- Parameters
date (datetime.datetime) – Desired date
- Returns
The astronomic angle, indicating the date on which the tide is to be calculated.
- Return type
- compute_nodal_modulations(dates: Union[List[datetime.datetime], numpy.ndarray]) Tuple[numpy.ndarray, numpy.ndarray] ¶
Compute nodal modulations for amplitude and phase.
- Parameters
dates (list, numpy.ndarray) – Desired dates
- Returns
the nodal correction for amplitude, v (greenwich argument) + u (nodal correction for phase)
- Return type
tuple
- constituents() List[str] ¶
Gets the wave constituents handled by this instance
- freq()¶
Gets the waves frequencies in radians per seconds
- harmonic_analysis(h: numpy.ndarray, f: numpy.ndarray, vu: numpy.ndarray, dtype=None) Dict[str, numpy.ndarray] ¶
Harmonic Analysis
- Parameters
h (numpy.ndarray) – Sea level.
f (numpy.ndarray) – Nodal correction coefficient applied to the amplitude of the constituents analyzed.
vu (numpy.ndarray) – Astronomical argument at time \(t\) + the nodal correction coefficient applied to the phase of the constituents analyzed
dtype (numpy.dtype, optional) – Data type of the complex number
- Returns
A mapping between the wave name and its complex number representing it.
- Return type
dict
See also
- static known_constituents() List[str] ¶
Gets the tidal waves known by this object
- static select_waves_for_analysis(duration, n_periods=2) Iterator[str] ¶
Returns the list of tidal waves such that their period is more than twice the duration of the time series analyzed.
- tide_from_mapping(self: pytide.core.WaveTable, date: handle, wave: numpy.ndarray[numpy.complex128[m, n], flags.f_contiguous]) numpy.ndarray[numpy.float64] ¶
Calculates the tide for a given tidal wave mapping.
- Parameters
date (datetime.datetime) – Mapping date
wave (numpy.ndarray) – A matrix containing the wave properties for each point on the map.
- Returns
The tide calculated on the area of interest provided.
- Return type
numpy.ndarray
- tide_from_tide_series(dates: numpy.ndarray, wave: Dict[str, numpy.complex128]) numpy.ndarray ¶
Calculates the tide of a given time series.
- Parameters
dates (numpy.ndarray) – time series data
wave (dict) – Tidal wave properties.
- Returns
The tide calculated for the time series provided.
- Return type
numpy.ndarray
- wave(*args, **kwargs)¶
Overloaded function.
wave(self: pytide.core.WaveTable, ident: pytide.core.Wave.Ident) -> pytide.core.Wave
Gets the wave properties
wave(self: pytide.core.WaveTable, ident: str) -> pytide.core.Wave
Gets the wave properties
- class pytide.WaveTable¶
Bases:
pytide.core.WaveTable
Properties of tidal constituents
- compute_nodal_corrections(date: datetime.datetime) pytide.core.AstronomicAngle ¶
Compute nodal corrections.
- Parameters
date (datetime.datetime) – Desired date
- Returns
The astronomic angle, indicating the date on which the tide is to be calculated.
- Return type
- compute_nodal_modulations(dates: Union[List[datetime.datetime], numpy.ndarray]) Tuple[numpy.ndarray, numpy.ndarray] ¶
Compute nodal modulations for amplitude and phase.
- Parameters
dates (list, numpy.ndarray) – Desired dates
- Returns
the nodal correction for amplitude, v (greenwich argument) + u (nodal correction for phase)
- Return type
tuple
- constituents() List[str] ¶
Gets the wave constituents handled by this instance
- freq() numpy.ndarray ¶
Gets the waves frequencies in radians per seconds
- static harmonic_analysis(h: numpy.ndarray, f: numpy.ndarray, vu: numpy.ndarray, dtype=None) numpy.ndarray ¶
Harmonic Analysis
The harmonic analysis method consists in expressing the ocean tidal variations as a sum of independent constituents accordingly to the tidal potential spectrum. Then the sea surface elevation at a point \((x, y)\) and time \(t\) can be expressed as a linear sum as follow:
\[S_{ap} = S_{0}(x, y) + \sum_{k=0}^n f_{k}(t)S_{k}(x, y) \times cos [\omega_{k}t + {v}_{k}(t) + u_{k}(t) - G_{k}(x,y)]\]where:
\(n\) is the number of constituents,
\(S_{0}(x, y)\) is the mean sea level,
\(S_{k}(x, y)\) is the amplitude of the constituent of index \(k\),
\(G_{k}(x, y)\) is the phase lag relative to Greenwich time,
\(w_{k}\) is the angular frequency of the constituent of index \(k\),
\(v_{k}\) is the astronomical argument at time \(t\),
\(f_{k}(t)\) is the nodal correction coefficient applied to the amplitude of the constituent of index \(k\),
\(u_{k}(t)\) is the nodal correction coefficient applied to the phase of the constituent of index \(k\).
The a priori analysis spectrum includes the most important astronomical constituents in the Darwin development, completed by Shureman in 1958, and many non-linear waves. The definition of tidal constants and astronomical arguments is taken from FES2014 tidal prediction software and a complete definition of waves is also available in Shureman (1958). This spectrum is the most commonly used for harmonic analysis due the simplification given by the nodal correction concept (\(f\) and \(u\) coefficients above) which allows dealing with slow motions of the lunar ascending node and reducing the number of constituents in the tidal spectrum.
More details about this harmonic analysis method can be found in Ponchaut et al. 1999.
- Parameters
h (numpy.ndarray) – Sea level.
f (numpy.ndarray) – Nodal correction coefficient applied to the amplitude of the constituents analyzed.
vu (numpy.ndarray) – Astronomical argument at time \(t\) + the nodal correction coefficient applied to the phase of the constituents analyzed
dtype (numpy.dtype, optional) – Data type of the complex numbers
- Returns
The complex number representing the different reconstructed waves.
- Return type
numpy.ndarray
- static known_constituents() List[str] ¶
Gets the tidal waves known by this object
- static select_waves_for_analysis(duration, n_periods=2) Iterator[str] ¶
Returns the list of tidal waves such that their period is more than twice the duration of the time series analyzed.
- tide_from_mapping(self: pytide.core.WaveTable, date: handle, wave: numpy.ndarray[numpy.complex128[m, n], flags.f_contiguous]) numpy.ndarray[numpy.float64] ¶
Calculates the tide for a given tidal wave mapping.
- Parameters
date (datetime.datetime) – Mapping date
wave (numpy.ndarray) – A matrix containing the wave properties for each point on the map.
- Returns
The tide calculated on the area of interest provided.
- Return type
numpy.ndarray
- tide_from_tide_series(self: pytide.core.WaveTable, dates: numpy.ndarray, wave: numpy.ndarray[numpy.complex128[m, 1]]) numpy.ndarray[numpy.float64] ¶
Calculates the tide of a given time series.
- Parameters
dates (numpy.ndarray) – UTC dates. The array must be one-dimensional and of type
numpy.datetime64
.wave (numpy.ndarray) – Tidal wave properties.
- Returns
The tide calculated for the time series provided.
- Return type
numpy.ndarray
- wave(*args, **kwargs)¶
Overloaded function.
wave(self: pytide.core.WaveTable, ident: pytide.core.Wave.Ident) -> pytide.core.Wave
Gets the wave properties
wave(self: pytide.core.WaveTable, ident: str) -> pytide.core.Wave
Gets the wave properties