From when this project started back in 2012, the ultimate aim was always to build a prediction engine that could reliably predict tide times across the world. After a long development cycle and validation phase, this goal has become a reality.
What is the Tides Prediction Engine?
The Tides Prediction Engine builds reliable predictions for thousands of coastal locations worldwide. The Tides Prediction Engine combines several global scientific datasets and oceanographic models maintained by leading research organisations and government agencies. Rather than relying solely on third-party APIs, the system generates tidal predictions directly from established oceanographic models used in research and satellite altimetry. Moreover, it validates predictions against the world's most trusted Hydrographic organisations, such as NOAA, BOM, UKHO, and Kartverket, to ensure the correct combination of datasets is used to generate tidal predictions.
Here's an overview of the process and the scientific data sources that make it possible:

Global Tide Models (FES)
The foundation of the prediction engine is the Finite Element Solution (FES) global tide model.
This model is developed by:
- CNES - Centre National d’Études Spatiales (French Space Agency)
- CLS - Collecte Localisation Satellites
- LEGOS - Laboratoire d'Études en Géophysique et Océanographie Spatiales
The dataset is distributed through the AVISO+ oceanography data portal, operated by CNES.
The FES model describes tides globally using harmonic constituents, which represent the main gravitational tidal forces caused by the Moon and the Sun.
Examples of these tidal components include:
🔗 Find out about the FES model
- M2 – principal lunar semidiurnal tide
- S2 – principal solar semidiurnal tide
- K1 – luni-solar diurnal tide
- O1 – lunar diurnal tide
Each constituent includes:
- amplitude (strength of the tidal component)
- phase (timing of the tidal wave)
These values are provided on a global ocean grid and can be used to reconstruct tidal height at any location.
This approach is widely used in oceanographic modelling and satellite altimetry missions.
Seafloor Bathymetry (ETOPO 2022)
To improve predictions near coastlines, the engine also uses global bathymetry data.
Bathymetry describes the depth and shape of the ocean floor, which influences how tidal waves behave near the coast.
The bathymetry dataset used is ETOPO 2022, published by:
NOAA - National Oceanic and Atmospheric Administration through the National Centers for Environmental Information (NCEI).
ETOPO 2022 provides a global digital elevation model of both land and ocean at resolutions up to 15 arc-seconds (~450 m).
The dataset allows the engine to:
- distinguish land from sea
- understand coastal depth
- improve interpolation near shallow coastal areas.
🔗 Read more about the NOAA ETOPO Global Relief Model
Tide Gauge Reference Data
To verify and calibrate the model, long-term tide gauge data is used from:
PSMSL - Permanent Service for Mean Sea Level
PSMSL is an international data centre that maintains global tide gauge records and sea-level measurements collected from thousands of stations worldwide.
These datasets provide historical sea-level references that help validate tidal predictions generated by the model.
Calculating Tidal Heights
Using the harmonic constituents from the FES model, the engine reconstructs tidal heights using the classical harmonic tidal equation:
H(t) = ∑ Ai cos(ωit + ϕi)
Where:
- Ai = amplitude of a tidal constituent
- ωi = frequency of the constituent
- ϕi = phase shift
- t = time
By combining dozens of tidal constituents, the system generates a continuous tidal curve describing how water levels change over time.
Determining Chart Datum
Marine charts usually reference depths relative to Lowest Astronomical Tide (LAT), which represents the lowest predicted tide level under normal astronomical conditions.
To determine this value, the Tides Prediction Engine performs a 19-year tidal simulation, covering a full lunar nodal cycle.
The lowest predicted tide during this cycle is used to estimate LAT for that location.
This approach mirrors the methodology used by hydrographic offices when deriving tidal datums.
Detecting High and Low Tides
While global tide models provide excellent coverage, some regions have highly accurate national tidal prediction services.
Where available, authoritative datasets from organisations are used, such as:
- NOAA (United States)
- UK Hydrographic Office (UKHO)
- Canadian Hydrographic Service (CHS)
- Kartverket (Norwegian Mapping Authority)
- Bureau of Meteorology (Australia)
The global model acts as a fallback where official predictions are not available, and also as a benchmark to ensure the correct model is used when predicting future tidal events.
Why This Approach Is More Reliable Than Many Tide APIs
Many online tide APIs simply redistribute pre-computed predictions from unknown sources.
By contrast, generating predictions directly from scientific models provides several advantages:
- Transparency — the underlying data sources are publicly documented.
- Scientific validity — the models are widely used in oceanography and satellite altimetry research.
- Global coverage — predictions can be generated for virtually any coastal coordinate.
- Consistency — the same modelling approach is applied worldwide.
- Independence — predictions are generated directly from open datasets rather than third-party services.
Using data and science to predict tides
Tides are driven by complex astronomical and oceanographic processes, but modern global tide models make it possible to generate accurate predictions for thousands of coastal locations.
By combining global tide models, bathymetry data, and long-term gauge references from trusted scientific organisations, it is possible to build a reliable and transparent tidal prediction engine powered entirely by open data.
Over the coming months, Tides Today's reliance on third-party sources will be removed as the Tides Prediction Engine's data is validated and approved across all 8,039 locations that Tides Today provides predictions for.
Frequently Asked Questions
What is this tide prediction engine?
My tide prediction engine is a system that generates tidal predictions using global scientific ocean models, seafloor bathymetry, and trusted sea level reference datasets. Instead of relying entirely on third-party APIs, it calculates tide heights directly from established datasets used in oceanography and satellite altimetry.
Which datasets and organisations power the predictions?
The engine uses the FES global tide model developed by CNES, CLS and LEGOS and distributed through the AVISO+ data portal, ETOPO 2022 bathymetry published by NOAA, and sea level reference data from PSMSL. Where available, official regional sources such as NOAA, UK Hydrographic Office, Canadian Hydrographic Service, Kartverket and the Bureau of Meteorology can also be used for comparison or validation.
Why is this model more trustworthy than many tide APIs?
Many tide APIs simply redistribute predictions without clearly explaining where the data comes from. My approach is based on named scientific datasets and recognised public organisations. That means the underlying sources are transparent, the modelling approach is consistent, and the data can be traced back to organisations responsible for compiling and maintaining it.
How are tidal predictions calculated?
Tidal predictions are calculated using harmonic constituents such as M2, S2, K1 and O1. Each constituent has an amplitude and phase, and these are combined using harmonic tidal equations to reconstruct a tidal height curve over time for a given location.
How do you estimate Lowest Astronomical Tide (LAT)?
To estimate Lowest Astronomical Tide, the engine runs a long-term tidal simulation covering a full 19-year lunar nodal cycle. The lowest predicted astronomical tide during that cycle is then used as the estimated LAT for that location, helping convert modelled heights into a marine chart reference level.
How is this different from a simple tide table API?
A simple tide table API usually provides pre-calculated times and heights. My engine goes further by generating the tide curve itself from scientific models, which makes it possible to create predictions for many more coastal locations, understand the underlying reference levels, and build a more transparent and auditable prediction process.