Shallow Water Model in Matlab


This page contains the Matlab code for a simple shallow water model suitable for use in undergraduate or graduate computer classes. The model can be used to illustrate the following phenomena:

  • Gravity waves
  • Tsunamis
  • Orographic Rossby waves
  • Upscale energy cascades
  • Barotropic instability and frontal cyclogenesis
  • Equatorial Rossby and Kelvin waves
  • Numerical instability and numerical artifacts


Section 4.6 refers to Guiying Yang's page on identifying equatorial wave structures.


Copying and distribution of these files, with or without modification, is permitted in any medium without royalty. In the case of shallow_water_model.m only, these permissions are granted provided the copyright notice at the top of the file and the license conditions are preserved. These files are offered as-is, without any warranty.


Barotropic instability

This example demonstrates how barotropic instability leads to the formation of cyclones and anticyclones on each side of a zonal jet.

Equatorial waves

This example demonstrates how waves can grow at the equator on a flow that is easterly at the equator with horizontal shear to each side.

Flow over realistic orography

This example shows how an initial zonally uniform flow over the Northern Hemisphere orography leads to a significant change of wind direction in the form of orographic Rossby waves. The black contours indicate the orography in 1000 m intervals starting at 1 m (the coastline). The initial rapid fluctuations in the height field are gravity waves.

Return to Robin's home page | Clouds Group | Dept of Meteorology | University of ReadingThis page is maintained by Robin Hogan