Perth5 Engine#
The PERTH5 engine implements the Doodson-number-based harmonic prediction approach developed by Dr. Richard Ray at NASA Goddard Space Flight Center. It supports group modulations and multiple inference interpolation modes for enhanced tidal analysis capabilities.
Overview#
The PERTH5 (Program for the Estimation and Reconstitution of Tides, version 5) engine uses the Doodson number system to classify and compute tidal constituents. This approach provides a systematic framework for handling all periodic terms in the tide-generating potential.
This engine is specifically designed for use with GOT (Goddard Ocean Tide) series tidal models and other atlases following Doodson notation conventions.
Doodson Harmonic Notation#
The Doodson notation system, developed by Arthur Thomas Doodson in 1921, provides a systematic numerical classification of tidal constituents. Each constituent is assigned a unique identifier encoding the coefficients of fundamental astronomical arguments.
Doodson Numbers:
Each constituent is represented by a six-digit number (plus optional sign) format: \(D_1D_2D_3.D_4D_5D_6\)
The Doodson number encodes the astronomical argument:
where each \(D_i\) is obtained by adding 5 to the actual coefficient (allowing representation of negative coefficients), and:
\(\tau\): Greenwich hour angle
s: Mean longitude of the moon
h: Mean longitude of the sun
p: Longitude of the moon’s perigee
N’: Negative longitude of the moon’s ascending node
p₁: Longitude of the sun’s perihelion
Examples:
Constituent |
Doodson Number |
Description |
|---|---|---|
M₂ |
255.555 |
Principal lunar semidiurnal |
S₂ |
273.555 |
Principal solar semidiurnal |
K₁ |
165.555 |
Lunisolar diurnal |
O₁ |
145.555 |
Lunar diurnal |
N₂ |
245.655 |
Larger lunar elliptic semidiurnal |
K₂ |
275.555 |
Lunisolar semidiurnal |
This systematic encoding allows for complete classification of all tidal constituents and facilitates computational organization.
Group Modulations#
Instead of applying individual nodal corrections to each constituent, the PERTH5 engine can use group modulations. Related constituents are grouped together and modulated as a set.
Advantages of Group Modulations:
Computational efficiency: Fewer correction calculations needed
Consistent treatment: Related constituents handled together
Reduced complexity: Simplified nodal correction framework
Group modulations are particularly beneficial when working with large numbers of constituents. Enable them via:
settings = pyfes.PerthRuntimeSettings().with_group_modulations(True)
Note
Group modulations are recommended for most applications and are based on the theoretical framework developed by Richard Ray.
Inference Types#
The PERTH5 engine offers three distinct modes for handling minor constituents not explicitly provided in the tidal atlas:
Mode |
Description |
|---|---|
|
No inference performed; use only explicitly provided constituents. Best when atlas contains all needed constituents or minimal inference is desired. |
|
Linear interpolation between constituents (default). Provides good balance between accuracy and computational cost. |
|
Fourier-based admittance interpolation. Most accurate but computationally more expensive. Recommended for high-precision applications. |
Configuration Examples:
# No inference - explicit constituents only
settings = (
pyfes.PerthRuntimeSettings()
.with_inference_type(pyfes.InterpolationType.ZERO_ADMITTANCE)
)
# Linear admittance (default, recommended for most uses)
settings = (
pyfes.PerthRuntimeSettings()
.with_inference_type(pyfes.InterpolationType.LINEAR_ADMITTANCE)
)
# Maximum accuracy with Fourier interpolation
settings = (
pyfes.PerthRuntimeSettings()
.with_inference_type(pyfes.InterpolationType.FOURIER_ADMITTANCE)
)
Choose the inference type based on your accuracy requirements and available computational resources.
Supported Constituents#
The PERTH5 engine supports 123 tidal constituents, including:
Long-period tides: Sa, Ssa, Mm, Mf, Node, etc.
Diurnal tides: K₁, O₁, P₁, Q₁, etc.
Semidiurnal tides: M₂, S₂, N₂, K₂, etc.
Terdiurnal and compound tides: Various higher harmonics
The constituent set includes the “Node” constituent, which is unique to the PERTH5 formulation.
For the complete list with Doodson numbers and speeds, see PERTH Constituents.
Compatible Tidal Models#
The PERTH5 engine is designed for use with GOT-series and other Doodson-based tidal models:
GOT4.10: Earlier GOT model
GOT5.5: Improved accuracy GOT model
GOT5.6: Latest GOT model with enhanced resolution
Other models following Doodson notation conventions
These models are developed at NASA Goddard Space Flight Center and are widely used in satellite altimetry and oceanographic applications.
Configuration#
To use the PERTH5 engine, set engine: perth5 in your YAML configuration
file:
tide:
cartesian:
engine: perth5
paths:
M2: ${GOT_DATA}/got5.6_m2.nc
S2: ${GOT_DATA}/got5.6_s2.nc
K1: ${GOT_DATA}/got5.6_k1.nc
O1: ${GOT_DATA}/got5.6_o1.nc
N2: ${GOT_DATA}/got5.6_n2.nc
# ... additional constituents
radial:
cartesian:
engine: perth5
paths:
M2: ${GOT_DATA}/got5.6_load_m2.nc
S2: ${GOT_DATA}/got5.6_load_s2.nc
# ... additional constituents
Runtime settings for the PERTH5 engine:
import pyfes
settings = (
pyfes.PerthRuntimeSettings()
.with_group_modulations(True)
.with_inference_type(pyfes.InterpolationType.LINEAR_ADMITTANCE)
.with_astronomic_formulae(pyfes.Formulae.IERS)
.with_time_tolerance(3600.0)
.with_num_threads(0)
)
Astronomic Formulae#
The PERTH5 engine defaults to IERS (International Earth Rotation and Reference Systems Service) conventions for computing astronomical angles. This provides consistency with modern ephemerides and reference systems used in satellite geodesy and oceanography.
Alternative formulae options:
IERS (default): Modern IERS conventions
SCHUREMAN_ORDER_1: Schureman first-order (for historical comparison)
SCHUREMAN_ORDER_3: Schureman third-order (higher accuracy)
The IERS formulation is recommended for most PERTH5 applications.
Developer Background#
The PERTH5 approach and the GOT tide models were developed by Dr. Richard D. Ray at NASA Goddard Space Flight Center. Dr. Ray’s work on tidal modeling has been fundamental to satellite altimetry missions including TOPEX/Poseidon, Jason series, and SWOT.
The Doodson-based framework provides advantages for systematic constituent classification and is particularly well-suited for satellite altimetry applications.
References#
Key publications on the PERTH5 approach and GOT models:
Doodson, A. T. (1921). The Harmonic Development of the Tide-Generating Potential. Proceedings of the Royal Society of London A, 100(704), 305-329.
Ray, R. D. (1999). A Global Ocean Tide Model From TOPEX/POSEIDON Altimetry: GOT99.2. NASA Technical Memorandum 209478.
Ray, R. D. (2013). Precise comparisons of bottom-pressure and altimetric ocean tides. Journal of Geophysical Research: Oceans, 118, 4570-4584.
See Also#
Prediction Engines and Harmonic Notations - Comparison with FES/Darwin engine
PERTH Constituents - Complete list of 123 supported constituents
Runtime Settings - Detailed runtime configuration options
Choosing the Right Engine - Guide to selecting the appropriate engine