About the course

Atmosphere and Ocean Dynamics: course information and a short review

Author

Pedro S. Peixoto

Published

November 23, 2026

Abstract

Basic information about the course and a short review of the mathematics used throughout the course.

1 About me

Pedro S. Peixoto is an applied mathematician at the Instituto de Matemática e Estatística (IME) of the Universidade de São Paulo, Brazil, and a visiting professor at MOX, the laboratory for modelling and scientific computing of the Department of Mathematics, Politecnico di Milano. His research is on numerical methods for weather and climate models.

Contact: ppeixoto@usp.br; web page www.ime.usp.br/~pedrosp. Office at Politecnico: Building 14 (Nave), 2nd floor, room 30b, Campus Leonardo.

2 The course

A PhD course of the Doctoral Programmes in Mathematics and Its Applications and in Environmental and Infrastructure Engineering of Politecnico di Milano, worth 5 CFU. It meets for eight sessions, 9:00–12:15 with a break, Monday to Thursday 23–26 November and 30 November–3 December 2026, in Aula Saleri, 6th floor, Building 14 (Nave), Campus Leonardo.

The course assumes vector calculus, linear algebra and basic programming; no background in fluid dynamics or in numerical methods for partial differential equations. The last section of these notes reviews the tools used most. The practical work is in Python, in Jupyter notebooks.

Its aim, in one line: the mathematical foundations, models and numerical methods for the large-scale dynamics of the atmosphere and the ocean.

3 Programme

Day Date Topic
1 Mon 23 Nov A historical overview of atmosphere and ocean dynamics
2 Tue 24 Nov The equations of motion from basic principles
3 Wed 25 Nov Reduced models: scales, balance and waves
4 Thu 26 Nov The vertical slice: buoyancy, convection and mountain waves
5 Mon 30 Nov Finite differences: time stepping, advection, stability
6 Tue 1 Dec Finite volumes: conservation; tides in the Adriatic
7 Wed 2 Dec Spectral methods and the ECMWF model; finite elements with Firedrake
8 Thu 3 Dec Modern weather, ocean and climate models; data-driven forecasts and AI models

4 Assessment (Valutazione)

Notebooks. The practical work is in Python, in Jupyter notebooks. They run in Google Colab, in the browser, from the links on the course page, or can be downloaded and run on your own computer with Python 3, numpy, scipy and matplotlib. The few notebooks that use Firedrake and Gusto install them in Colab in their first cell; that cell also says how to install them on your own computer (see Firedrake’s installation page, or its Docker image firedrakeproject/firedrake).

Hand in. Only the notebooks count. A notebook is complete when every mandatory exercise (marked with a red exclamation mark) is solved. Send the notebook file by email to ppeixoto@usp.br: the .ipynb file (in Colab: File, Download, Download .ipynb) with your name added at the end of its name, for example 01-hadley-rossby-NameSurname.ipynb.

  • 3 of the 8 notebooks of lectures 1–4 (01 to 04b);
  • 5 of the 14 notebooks of lectures 5–10 (05a to 10a, without 08d and 08e);
  • all by Friday 11 December.

The grade is A for at least 8 notebooks solved, on time.

AI assistants. The notebook exercises are meant to be easy and instructive: you should not need an AI to solve them. Use AI as a guide or an assistant, not to build your solutions. Each notebook opens with a short note on this, addressed to the student and to the assistant.

Course page. Slides, printable notes and notebooks are on www.ime.usp.br/~pedrosp/courses/polimi-cgfd, mirrored at pedrospeixoto.github.io/polimi-cgfd.

5 References

The general references of the course, in two groups.

Dynamics. Vallis (2017), the main text for the dynamics: the equations of motion, the effects of rotation and stratification, balanced flow, waves, and the circulation of the atmosphere and the ocean. Cushman-Roisin and Beckers (2011), geophysical fluid dynamics with the numerical methods alongside the physics. Holton (2004), the classic introduction to dynamic meteorology. Gill (1982), the classic on waves and adjustment in the atmosphere and the ocean. Majda (2003), a mathematical introduction to the partial differential equations and waves of the atmosphere and the ocean.

Numerical methods and models. Durran (2010), the main text for the numerics: time stepping, finite differences, finite volumes, spectral and finite-element methods, semi-Lagrangian schemes and the fast waves. LeVeque (2002), finite-volume methods for conservation laws. Lauritzen et al. (2011), a collection of reviews of the numerical techniques of global atmospheric models. Döös et al. (2022), an introductory textbook of basic numerical methods in meteorology and oceanography. Randall (2011), course notes on the numerical modelling of the atmosphere. Kalnay (2003), atmospheric modelling, data assimilation and predictability.

For a short history of the field, Vallis (2016).

6 A short review

The mathematics used throughout the course, in brief.

6.1 Vector calculus

For a scalar field \(\phi(\mathbf x)\) and a vector field \(\mathbf F(\mathbf x)\) in three dimensions: the gradient \(\nabla\phi\) points where \(\phi\) grows fastest; the divergence \(\nabla\cdot\mathbf F\) is the net outflow per unit volume; the curl \(\nabla\times\mathbf F\) measures the local rotation, and for a velocity field it is the vorticity. Two identities are used again and again, \[ \nabla\cdot(\nabla\times\mathbf A) = 0, \qquad \nabla\times(\nabla\phi) = 0 , \] and, for a velocity \(\mathbf u\), the advection of momentum split into a gradient and a rotation part, \[ (\mathbf u\cdot\nabla)\mathbf u = \nabla\Big(\tfrac12|\mathbf u|^2\Big) + (\nabla\times\mathbf u)\times\mathbf u . \] The divergence theorem turns a volume integral into a flux through the boundary, \[ \int_V \nabla\cdot\mathbf F\,dV = \oint_{\partial V}\mathbf F\cdot\mathbf n\,dS , \] the basis of conservation laws and of finite-volume methods. Stokes’ theorem turns the integral around a closed curve \(C\) into a flux through any surface \(S\) bounded by it, \[ \oint_C \mathbf F\cdot d\mathbf l = \int_S (\nabla\times\mathbf F)\cdot\mathbf n\,dS : \] for a velocity field, the circulation around a loop equals the flux of vorticity through it. In two dimensions, \(\mathbf k\times\mathbf u = (-v, u)\) is the velocity \(\mathbf u = (u, v)\) turned by \(90^\circ\) to the left, and \(\nabla^\perp\psi = \mathbf k\times\nabla\psi = (-\partial_y\psi, \partial_x\psi)\) is the velocity of a streamfunction \(\psi\); its divergence is zero and its vorticity is \(\partial_x v - \partial_y u = \nabla^2\psi\).

6.2 Taylor series and the order of an approximation

\[ f(x + h) = f(x) + h f'(x) + \frac{h^2}{2}f''(x) + \frac{h^3}{6}f'''(x) + \dots \] Subtracting the series for \(f(x - h)\) gives \(\big(f(x+h) - f(x-h)\big)/(2h) = f'(x) + \frac{h^2}{6}f'''(x) + \dots\): an approximation of the derivative whose error falls like \(h^2\), second order. Halving \(h\) divides the error by four. The accuracy of every numerical scheme is measured in this way.

6.3 Complex exponentials, waves and dispersion

\(e^{i\theta} = \cos\theta + i\sin\theta\). A plane wave is \(\mathrm{Re}\{A\,e^{i(kx - \omega t)}\}\), with wavenumber \(k\) (wavelength \(2\pi/k\)) and frequency \(\omega\) (period \(2\pi/\omega\)). Substituting it into a linear equation gives the dispersion relation \(\omega(k)\). The crests move at the phase speed \(\omega/k\); the energy moves at the group speed \(d\omega/dk\). For \(\partial_t u + c\,\partial_x u = 0\), \(\omega = ck\): every wave moves at speed \(c\). The waves of the atmosphere and the ocean are found in exactly this way.

Any periodic function is a sum of such waves, a Fourier series: \(f(x) = \sum_k \hat f_k e^{ikx}\) on \([0, 2\pi)\), with \(\hat f_k = \frac{1}{2\pi}\int_0^{2\pi} f(x)e^{-ikx}dx\), and the functions \(e^{ikx}\) are orthogonal. Derivatives become multiplications, \(\partial_x \to ik\): the basis of the stability analysis of numerical schemes and of spectral methods.

6.4 Linear ODEs and eigenvalues

The solution of \(du/dt = \lambda u\) is \(u = u_0 e^{\lambda t}\): it grows if \(\mathrm{Re}\,\lambda > 0\), decays if \(\mathrm{Re}\,\lambda < 0\), and oscillates with frequency \(\mathrm{Im}\,\lambda\). An oscillation without damping is \(du/dt = i\omega u\). For a linear system \(d\mathbf u/dt = M\mathbf u\), each eigenvector of \(M\) evolves on its own, as \(e^{\lambda t}\) with its eigenvalue \(\lambda\). Time-stepping schemes are judged on this test equation, and the waves of a discretized linear equation are the eigenvectors of its matrix.

6.5 Numbers to keep in mind

Quantity Value
Earth’s rotation rate \(\Omega\) \(7.29\times10^{-5}\ \mathrm{s^{-1}}\) (one turn per sidereal day)
Earth’s radius \(a\) 6371 km
gravity \(g\) \(9.81\ \mathrm{m\,s^{-2}}\)
Coriolis parameter at Milan, \(f = 2\Omega\sin 45.5^\circ\) \(1.04\times10^{-4}\ \mathrm{s^{-1}}\) (inertial period about 17 h)
depth of the troposphere; of the ocean about 11 km; about 4 km
density of air at the ground; of sea water \(1.2\ \mathrm{kg\,m^{-3}}\); \(1025\ \mathrm{kg\,m^{-3}}\) (typical; \(1028\ \mathrm{kg\,m^{-3}}\) is the reference value of the linear equation of state of Cushman-Roisin and Beckers (2011))
typical wind; ocean current 10 m/s; 0.1–1 m/s

Where to read more

Budgets, curvilinear coordinates and vorticity: Cushman-Roisin and Beckers (2011), App. A; mass and momentum budgets: Sec. 3.1–3.2 of the same book; the conservation laws also in Vallis (2017), Sec. 1.1–1.3; the conservative form and finite volumes: Cushman-Roisin and Beckers (2011), Sec. 3.8–3.9. Waves, dispersion and group velocity: Cushman-Roisin and Beckers (2011), App. B, and Durran (2010), Sec. 1.2. Truncation error and the stability of time stepping: Durran (2010), Ch. 2; the Fourier (von Neumann) analysis of schemes: Durran (2010), Sec. 3.2.

References

Cushman-Roisin, Benoit, and Jean-Marie Beckers. 2011. Introduction to Geophysical Fluid Dynamics: Physical and Numerical Aspects. 2nd ed. Vol. 101. International Geophysics. Academic Press.
Döös, Kristofer, Peter Lundberg, and Aitor Aldama-Campino. 2022. Basic Numerical Methods in Meteorology and Oceanography. Stockholm University Press.
Durran, Dale R. 2010. Numerical Methods for Fluid Dynamics: With Applications to Geophysics. 2nd ed. Vol. 32. Texts in Applied Mathematics. Springer.
Gill, Adrian E. 1982. Atmosphere–Ocean Dynamics. Vol. 30. International Geophysics Series. Academic Press.
Holton, James R. 2004. An Introduction to Dynamic Meteorology. 4th ed. Vol. 88. International Geophysics Series. Elsevier Academic Press.
Kalnay, Eugenia. 2003. Atmospheric Modeling, Data Assimilation and Predictability. Cambridge University Press. https://doi.org/10.1017/CBO9780511802270.
Lauritzen, Peter H., Christiane Jablonowski, Mark A. Taylor, and Ramachandran D. Nair, eds. 2011. Numerical Techniques for Global Atmospheric Models. Vol. 80. Lecture Notes in Computational Science and Engineering. Springer. https://doi.org/10.1007/978-3-642-11640-7.
LeVeque, Randall J. 2002. Finite Volume Methods for Hyperbolic Problems. Cambridge University Press. https://doi.org/10.1017/CBO9780511791253.
Majda, Andrew. 2003. Introduction to PDEs and Waves for the Atmosphere and Ocean. Vol. 9. Courant Lecture Notes. American Mathematical Society.
Randall, David A. 2011. An Introduction to Numerical Modeling of the Atmosphere. Course notes, AT604, Colorado State University. http://kiwi.atmos.colostate.edu/group/dave/at604.html.
Vallis, Geoffrey K. 2016. “Geophysical Fluid Dynamics: Whence, Whither and Why?” Proceedings of the Royal Society A 472 (2192): 20160140. https://doi.org/10.1098/rspa.2016.0140.
Vallis, Geoffrey K. 2017. Atmospheric and Oceanic Fluid Dynamics: Fundamentals and Large-Scale Circulation. 2nd ed. Cambridge University Press. https://doi.org/10.1017/9781107588417.