Engine-Specific Modules#
Each prediction engine provides its own Wave and WaveTable
subclasses that carry the engine-specific constituent catalogue and nodal
correction logic.
In normal usage you do not need to instantiate these directly -
pyfes.wave_table_factory() returns the appropriate
WaveTableInterface for the requested engine. The classes
documented here are useful when you need engine-specific behaviour or want to
inspect the constituent definitions.
Darwin#
The pyfes.darwin module provides the 99 constituents expressed in Darwin
notation with Schureman’s nodal corrections.
- class pyfes.darwin.WaveTable#
Bases:
WaveTableInterfaceTable of tidal constituents using Darwin’s notation system.
This table manages 99 tidal constituents used by FES models. Each constituent is represented as a Darwin wave with its astronomical arguments and nodal correction coefficients.
- class pyfes.darwin.Wave#
Bases:
WaveInterfaceA tidal wave using Darwin’s notation system.
Darwin waves are described by 11 parameters that encode the astronomical arguments and nodal correction coefficients.
- doodson_numbers(self: pyfes.core.darwin.Wave) Annotated[numpy.typing.NDArray[numpy.int8], '[7, 1]']#
Get the Doodson number of the wave.
- frequency(self: pyfes.core.darwin.Wave, unit: pyfes.core.FrequencyUnit = <FrequencyUnit.RADIAN_PER_HOUR: 0>) float#
Get the frequency of the tidal wave.
- Parameters:
unit – The frequency unit. Default is radians per hour.
- Returns:
The frequency of the tidal wave.
- property name#
The name of the tidal wave.
- property period#
The period of the wave in hours.
- property type#
The type of tidal wave.
- xdo_alphabetical(self: pyfes.core.darwin.Wave) str#
Get the XDO alphabetical representation of the wave.
- xdo_numerical(self: pyfes.core.darwin.Wave) str#
Get the XDO numerical representation of the wave.
PERTH / Doodson#
The pyfes.perth module provides the 80 constituents expressed in Doodson
number notation. Group modulations are available but disabled by default.
- class pyfes.perth.WaveTable#
Bases:
WaveTableInterfaceTable of tidal constituents using Doodson’s notation system.
This table manages 80 tidal constituents used by GOT/Perth models. Each constituent is represented as a Perth wave with its Doodson number encoding.
- class pyfes.perth.Wave#
Bases:
WaveInterfaceA tidal wave using Doodson’s notation system.
Perth waves are described by a 7-element Doodson number vector that directly encodes the tidal argument in terms of astronomical variables.
- doodson_numbers(self: pyfes.core.perth.Wave) Annotated[numpy.typing.NDArray[numpy.int8], '[7, 1]']#
Get the Doodson number of the wave.
- frequency(self: pyfes.core.perth.Wave, unit: pyfes.core.FrequencyUnit = <FrequencyUnit.RADIAN_PER_HOUR: 0>) float#
Get the frequency of the tidal wave.
- Parameters:
unit – The frequency unit. Default is radians per hour.
- Returns:
The frequency of the tidal wave.
- property name#
The name of the tidal wave.
- property period#
The period of the wave in hours.
- property type#
The type of tidal wave.
- xdo_alphabetical(self: pyfes.core.perth.Wave) str#
Get the XDO alphabetical representation of the wave.
- xdo_numerical(self: pyfes.core.perth.Wave) str#
Get the XDO numerical representation of the wave.