skillfed

utide

Python distribution of the MatLab package UTide

utide v0.3.1 118.5K downloads/30d#12,117 on PyPI166
Permissive license MIT Active released

What it is and what it does

UTide is a Python port of the Matlab UTide package for unified tidal analysis and prediction. It takes time series observations of water velocity or elevation and decomposes them into tidal constituents using harmonic analysis, then allows reconstruction of predicted tidal signals from those coefficients. The package depends on numpy and scipy for numerical computation and is actively maintained, supporting Python 3.9 through 3.13.

The package is designed for oceanographic and coastal engineering applications where understanding tidal components is essential. It implements the methods described in Codiga (2011) and provides a Python-native interface, though the user interface differs from the original Matlab implementation—developers must consult docstrings rather than relying on direct API parity. The project is still in active development, so the API and available functionality may change.

Use it for:

  • Extract tidal constituents from observed water velocity or elevation time series at a specific latitude.
  • Generate tidal predictions for future time periods based on harmonic coefficients from historical observations.
  • Analyze coastal water dynamics by decomposing observed signals into individual tidal harmonics.
  • Support oceanographic research requiring harmonic tidal analysis as part of a larger data processing pipeline.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

UTide performs tidal analysis and prediction on time series data, decomposing water velocity or elevation into tidal constituents and reconstructing predictions from those coefficients.

Yes, if you need tidal harmonic analysis in Python. The package has low install friction, active maintenance, no known vulnerabilities, and a permissive license. However, verify that the specific functionality you need is implemented—the documentation notes that some Matlab features are not yet available, and the API differs from the original, requiring careful reference to docstrings.

Install

utide on PyPI

pip

pip install utide

uv

uv add utide

poetry

poetry add utide

Installing utide

Before you install

Low friction installation with only numpy and scipy as dependencies. Repository is active with recent commits and a permissive MIT license. Supports modern Python versions from 3.9 onward.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both academic and commercial projects.

Quickstart

pip install utide

from utide import solve, reconstruct

coef = solve(
    time,
    time_series_u,
    time_series_v,
    lat=30,
    nodal=False,
    trend=False,
    method="ols",
    conf_int="linear",
    Rayleigh_min=0.95,
)

Requires time series data as numpy arrays and knowledge of the observation latitude; the user interface differs from the Matlab version, so refer to function docstrings for parameter specification.

Verify before relying

  • Whether all Matlab UTide functionality is available in this Python port, or what specific features remain unimplemented
  • Performance characteristics compared to the original Matlab implementation for large datasets
  • Whether the package handles edge cases in tidal analysis (e.g., polar regions, shallow water)

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 2 — numpy, scipy
Maintenance actively maintained — 473 days since the last release
Last repo commit
First released
Downloads 118,468/month — #12,117 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: utide-0.3.1-py3-none-any.whl

Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9

Tags

tidal analysis pythontidal harmonic decompositiontidal predictionutide matlab pythonocean tide analysistidal constituent extractionharmonic tidal modeling
oceanographyharmonic-analysistime-series

More Scientific/Engineering packages