Tide Model Driver for MATLAB, version 3.0. This is a fast, user-friendly, well-documented rewrite of ESR's classic Tide Model Driver by Svetlana Erofeeva.
To start predicting tides, just add TMD to MATLAB and download your favorite tide model data. Each step is described in the links below:
For most applications, tmd_predict
is the only function you will need to call directly, although you may occasionally want tmd_interp
to retrieve bathymetry, tmd_ellipse
to get tidal current characteristics, or tmd_conlist
for a quick list of tidal constituents in a given model. Complete documentation is provided for the functions whose names are hyperlinked below, and simple text documentation can be found in the headers of all functions.
tmd_predict
predicts tidal elevation, transport, or current velocities for given location(s) and time(s).tmd_interp
provides water column thickness, land/ocean mask, ice shelf flexure, and tidal constituent parameters at specified geographic locations, for a given tide model.tmd_data
loads gridded tide model data without interpolation.tmd_conlist
returns a list of tidal constituents in a TMD3.0 compatible consolidated NetCDF tide model file.tmd_ellipse
gives tidal ellipse parameters at specified location(s).
tidal_range
calculates the peak-to-peak tidal height range.tmd_astrol
computes the basic astronomical mean longitudes s, h, p, N.tmd_constit
returns amplitude, phase, frequency, alpha, species for tidal constituents.tmd_harp
predicts tidal time series using harmonic constants.tmd_InferMinor
returns correction for 16 minor tidal constiuents.tmd_nodal
calculates the nodal corrections for tidal constituents.tmd_ll2ps
converts geographic coordinates to polar stereographic kilometers for polar models.tmd_ps2ll
converts polar stereographic kilometers geographic coordinates for polar models.
For any of the TMD functions listed above, you can get plain-text help in the Command Window by typing help
followed by the name of the function. For example:
>> help tmd_predict
To access formatted documentation with lots of examples for any of the Main functions listed above, type tmd
followed by the function name. For example:
>> tmd tmd_predict
If you're not sure what function name you're looking for, just type tmd
into the Command Window, and it will bring up a complete function list:
>> tmd
Be sure to check out the documentation for each of the Main functions. There, you'll find multiple examples of how to use each function. In addition, the following tutorials and other documentation may be of interest:
- TMD Getting Started
- What's new in TMD 3.0?
- TMD Model file format
- Tide Model Intercomparison
- How to: Analyze ADCP current data
- How to: Separate climatological phenomena from gravitational tides
- How to: Calculate tidal range
- How to: Animate tidal motion
Don't like MATLAB? No worries, just try one of these alternatives:
- Python: pyTMD is a tidal prediction software that can read OTIS, GOT and FES formatted tidal solutions for predicting ocean and load tides.
- Fortran: A Fortran version of this package is made available through OSU: OSU Tidal Prediction software (OTPS).
- Octave: It is possible that TMD3.0 works with Octave as it is currently written. I haven't checked, but most of the TMD functions are pretty basic, so Octave's functions might be exact clones. If you use Octave and you want to give TMD3.0 a try, please let me know how it goes!
TMD3.0 was written by Chad A. Greene, Svetlana Erofeeva, Laurie Padman, Susan Howard, Tyler Sutterley, and Gary Egbert. If you use TMD3.0, please cite:
Greene, Chad A., Svetlana Erofeeva, Laurie Padman, Susan L. Howard, Tyler Sutterley, and Gary Egbert. "Tide Model Driver for MATLAB." Journal of Open Source Software 9, no. 95 (2024): 6018, https://doi.org/10.21105/joss.06018.
If you find a bug or have suggestions for how to improve TMD, please open up an issue.