This is Python code that solves the nonlinear QG equations for PV anomalies on a doubly-periodic domain. It consists of two parts:
- a fully-dealiased pseudo-spectral code that steps forward the PV conservation equations and
- implementations of specific model types that provide an inversion relation.
At the moment, seven model types have been implemented:
- two-dimensional dynamics (
TwoDim), - surface QG dynamics (
Surface), - multi-layer dynamics (
Layered), - Eady dynamics (
Eady), - floating Eady dynamics (
FloatingEady), - two-Eady dynamics (
TwoEady), - two-Eady dynamics with buoyancy jump (
TwoEadyJump).
See run.py for an example of how a model is initialized and run.
This model makes use of PyFFTW, a Python wrapper of FFTW. Follow the installation instructions for PyFFTW if you do not have it installed already. PyFFTW will speed up the code and allows multi-threading, but the model will also run with standard numpy FFT routines.