External Archives
My recent data and software are primarily archived at the University of Minnesota Digital Conservancy.
The source code for the Coupled-Mode Shallow Water model (CSW) global model is available at:
https://bitbucket.org/smkelly/
The CSW equations were derived and applied regionally in:
Savage, A. C., A. F. Waterhouse, and S. M. Kelly (2020), Internal tide nonstationarity and wave-mesoscale interactions in the Tasman Sea J. Phys. Oceanogr., 50, 2931–2951, 10.1175/JPO-D-19-0283.1.
Kelly, S. M., P. F. J. Lermusiaux, T. F. Duda, and P. J. Haley Jr. (2016), A Coupled-mode Shallow Water model for tidal analysis: Internal-tide reflection and refraction by the Gulf Stream, J. Phys. Oceanogr., 46, 3661-3679, doi: 10.1175/JPO-D-16-0018.1.
Global results were presented in:
Kelly, S. M., A. F. Waterhouse, and A. C. Savage (2021), Global dynamics of the stationary M2 Mode-1 internal tide Geophys. Res. Lett., 48, e2020GL091692. 10.1029/2020GL091692.
CELT Model
The Coupling Equations for linear tides (CELT) model computes internal-wave scattering over a series of topographic steps. It is a flexible model that can include (i) an arbitrary number of steps, (ii) realistic stratification that varies with horizontal location, (iii) forcing by either an incoming internal wave or a barotropic transport, (iv) vertical viscosity, and (v) the Coriolis force. Matlab functions I have written to solve the equations are:
Which can be tested using the example script:
test.mPlease contact me if you have questions or concerns about the functions.
Most recently, Gaspard Geoffroy re-wrote the code in Python and modified CELT_Q.m to examine internal-tide generation along the continental margins.
Geoffroy, G., S. M. Kelly and J. Nycander (2025), Tidal conversion into vertical normal modes by continental margins Geophys. Res. Lett., 52, e2024GL112865, doi:10.1029/2024GL112865
Details of the original model are presented in
Kelly, S. M., N. L. Jones, and J. D. Nash (2013), A coupled model for the vertical modes of Laplace's tidal equation in a two-dimension fluid of variable depth, J. Phys. Oceanogr., 43, 1780-1797, doi:10.1175/JPO-D-12-0147.1.
The model was also used in:
Kelly, S. M., N. L. Jones, J. D. Nash and A. F. Waterhouse (2013), The geography of mode-1 internal tide energy loss, Geophys. Res. Lett., 40, 4689-4693, doi:10.1002/grl.50872.
T. M. S. Johnston, D. L. Rudnick, and S. M. Kelly, (2015), Standing Internal Tides in Tasman Sea Observed by Gliders, J. Phys. Oceanogr., 45, 2715-237, doi:10.1175/JPO-D-15-0038.1.
Klymak J. M., H. L. Simmons, D. Braznikov, S. M. Kelly, J. A. MacKinnon, M. H. Alford, R. Pinkel, and J. D. Nash (2016), Refection of linear internal tides from realistic topography: The Tasman continental slope, J. Phys. Oceanogr., 46, 3321-3337, doi:10.1175/JPO-D-16-0061.1
Marques, O. B., M. H. Alford, R. Pinkel, J. A. MacKinnon, J. M. Klymak, J. D. Nash, A. F. Waterhouse, S. M. Kelly, H. L. Simmons, and D. Braznikov (2021), Internal Tide Structure and Temporal Variability on the Reflective Continental Slope of Southeastern Tasmania J. Phys. Oceanogr., 51, 611-631, doi:10.1175/JPO-D-20-0044.1.
Coastal Trapped Wave mode solver
This function finds 2D Coastal Trapped Wave modes, providing fields for velocity and pressure depend on depth and cross-shore distance. The user defines the wave frequency and the eigenvalue provides the alongshore wavenumber. The modes are orthogonal with respect to spatially-integrated along-shore energy flux.
The code was in:
Kelly, S. M. and S. Ogbuka (2022), The geography of mode-1 internal tide energy loss, J. Phys. Oceanogr., 52, 1835-1848, doi:10.1175/JPO-D-21-0220.1.
2D basin mode solver
This function finds 2D modes in enclosed basins using the "Proudman-Rao method", providing fields for transport (the vertical integral of velocity) and surface elevation that depend on the horizontal coordinate. The user provides bottom bathymetry and the eigenvalue provides the modal frequency. The modes are orthogonal with respect area integrals of mechanical energy.
The method is developed and explained in:
D. B. Rao and D. J. Schwab (1976), Two dimensional normal modes in arbitrary enclosed basins on a rotating Earth: application to Lakes Ontario and Superiror, Phil. Trans. Roy. Soc. London A, 281, 63-96, doi:10.1098/rsta.1976.0021
This specific matlab code was used in:
Kelly, S. M., M. Mansur and E. L. Green (2024), Predicting surface oscillations in Lake Superior from normal mode dynamics, J. Phys. Oceanogr., 54, 427-444, doi:10.1175/JPO-D-23-0079.1.
Other Matlab functions
Some useful functions for analyzing internal tides are:
MODES.m uses a finite-difference algorithm to compute hydrostatic normal vertical modes with a rigid lid, flat bottom, and arbitrary stratification. MODES_FS.m uses a spectral algorithm to compute hydrostatic normal vertical modes with a free-surface (or rigid-lid), flat bottom, and arbitrary stratification. MODES_FAST.m solves the rigid-lid problem very quickly by using the Fast Fourier Transform (FFT) and analytical solutions to the coupling integrals. POTENTIAL.m computes the tidal potential and equilibrium tide using the methods of
Munk, W. H., and D. E. Cartwright (1966), Tidal spectroscopy and prediction, Phil. Trans. Roy. Soc. London A, 259, 533-581.
MODES.m and POTENTIAL.m were used in
Kelly, S. M., N. L. Jones, G. N. Ivey, and R. J. Lowe (2015), Internal tide spectroscopy and prediction in the Timor Sea, J. Phys. Oceanogr., 45, e-View, doi:10.1175/JPO-D-14-0007.1.
The spectral algorithm used in MODES_FS.m is derived and tested in
Kelly, S. M. (2016), The Vertical Mode Decomposition of Tides in the Presence of a Free Surface and Arbitrary Topography, J. Phys. Oceanogr., Submitted.