Implementing Super-Resolution of Non-Stationary Tides with Wavelets: An Introduction to CWT_Multi

Published In

Journal of Atmospheric and Oceanic Technology

Document Type


Publication Date



Tides are often non-stationary due to non-astronomical influences. Investigating variable tidal properties implies a tradeoff between separating adjacent frequencies (using long analysis windows) and resolving their time variations (short windows). Previous continuous wavelet transform (CWT) tidal methods resolved tidal species. Here, we present CWT_Multi, a Matlab code that: a) uses CWT linearity (via the “Response Coefficient Method”) to implement super-resolution (Munk and Hasselman 1964); b) provides a Munk-Hasselman constituent-selection criterion; and c) introduces an objective, time-variable form of inference (“dynamic inference”) based on time-varying data properties. CWT_Multi resolves tidal species on time-scales of days and multiple constituents per species with fortnightly filters. It outputs astronomical phase-lags and admittances, analyzes multiple records, and provides power spectra of the signal(s), residual(s) and reconstruction(s), confidence limits, and signal-to-noise ratios. Artificial data and water-levels from the Lower Columbia River Estuary (LCRE) and San Francisco Bay Delta (SFBD) are used to test CWT_Multi and compare it to harmonic analysis programs NS_Tide and UTide. CWT_Multi provides superior reconstruction, detiding, dynamic analysis utility, and time-resolution of constituents (but with broader confidence limits). Dynamic inference resolves closely spaced constituents (like K1, S1, and P1) on fortnightly time scales, quantifying impacts of diel power-peaking (with a 24-hour period, like S1) on water levels in the LCRE. CWT_Multi also helps quantify impacts of high flows and a salt-barrier closing on tidal properties in the SFBD. On the other hand, CWT_Multi does not excel at prediction, and results depend on analysis details, as for any method applied to non-stationary data.


Ocean tides, especially in coastal and estuarine systems, are often non-stationary, in the sense that the mean and standard deviation of tidal properties vary over time, usually in response to some non-tidal process. We introduce here a Matlab code, CWT_Multi, that uses wavelet transforms to resolve both tidal species and constituents on time-scales from a few days to months. Our code accommodates multiple scalar time-series and has typical tidal analysis features like constituent selection and inference, plus two forms of uncertainty analyses. It is flexible, allowing the user to adapt analysis properties to diverse data sets. CWT_Multi is applicable to many problems involving time-variable tides, including sea-level rise, compound flooding, sediment transport, and wetland habitat analyses. Application to vector data is a straight-forward extension; but further development of our uncertainty analysis is merited. Because non-stationary tidal analysis is rapidly advancing, we also define the features of a “well-formed” analysis code.


The article is forthcoming.

  1. Source code for the novel MATLAB package:
  2. Scripts used to perform the analysis and make the figures for this paper:

Download code below -- see Additional files, or download code directly from GitHub.

Persistent Identifier