Settings#
Every prediction call accepts a Settings object that controls
the engine type, astronomical formulae, inference method, nodal-correction
options, and parallelism.
Two convenience subclasses provide ready-to-use defaults:
FESSettings- Darwin engine defaults (Schureman formulae, spline inference).PerthSettings- Doodson engine defaults (IERS formulae, linear inference, long-period equilibrium disabled).
All settings classes expose a fluent builder interface, so calls can be chained:
settings = pyfes.FESSettings() \
.with_num_threads(4) \
.with_time_tolerance(3600)
- class pyfes.Settings#
Settings for the tide computation.
This class provides a builder-style interface for configuring all parameters controlling tide computation, including the harmonic constituent notation system, astronomic angle formulae, inference method, parallelism, and various physical corrections.
- property astronomic_formulae#
Astronomic formulae used to calculate the astronomic angles.
- property compute_long_period_equilibrium#
Whether to compute the long period equilibrium tide.
- property engine_type#
Engine type for the tidal constituent notation system.
- property group_modulations#
Whether to use group modulation nodal corrections. Only effective with the Perth WaveTable.
- property inference_type#
Inference (admittance) interpolation type.
- property num_threads#
Number of threads to use for computation. If 0, the number of threads is automatically determined.
- property time_tolerance#
Time in seconds for which astronomical angles are considered constant. A value of 0 means angles are recomputed for every time step.
- with_astronomic_formulae(self: pyfes.core.Settings, formulae: pyfes.core.Formulae) pyfes.core.Settings#
Set the astronomic formulae.
- Parameters:
formulae – Astronomic formulae.
- Returns:
self
- with_compute_long_period_equilibrium(self: pyfes.core.Settings, compute_long_period_equilibrium: bool) pyfes.core.Settings#
Set whether to compute the long period equilibrium tide.
- Parameters:
compute_long_period_equilibrium – If true, computes the long period equilibrium tide.
- Returns:
self
- with_engine_type(self: pyfes.core.Settings, engine_type: pyfes.core.EngineType) pyfes.core.Settings#
Set the engine type for the tidal constituent notation system.
- Parameters:
engine_type – The engine type.
- Returns:
self
- with_group_modulations(self: pyfes.core.Settings, group_modulations: bool) pyfes.core.Settings#
Set whether to use group modulation nodal corrections.
- Parameters:
group_modulations – If true, uses group modulation nodal corrections. Only effective with the Perth WaveTable.
- Returns:
self
- with_inference_type(self: pyfes.core.Settings, inference_type: pyfes.core.InferenceType) pyfes.core.Settings#
Set the inference interpolation type.
- Parameters:
inference_type – The inference interpolation type.
- Returns:
self
- with_num_threads(self: pyfes.core.Settings, num_threads: SupportsInt) pyfes.core.Settings#
Set the number of threads to use for computation.
- Parameters:
num_threads – Number of threads. If 0, the number of threads is automatically determined.
- Returns:
self
- with_time_tolerance(self: pyfes.core.Settings, time_tolerance: SupportsFloat) pyfes.core.Settings#
Set the time tolerance.
- Parameters:
time_tolerance – Time tolerance in seconds during which astronomical angles are considered constant.
- Returns:
self
- class pyfes.FESSettings#
Bases:
SettingsDefault settings for FES models.
- This class provides pre-configured settings optimized for FES tidal models:
Engine type: Darwin
Astronomic formulae: Schureman order 1
Inference type: Spline
Long period equilibrium: enabled
Group modulations: N/A (not effective with the Darwin WaveTable)