GeophysicalFlows.jl Documentation


GeophysicalFlows.jl is a collection of modules which leverage the FourierFlows.jl framework to provide solvers for problems in Geophysical Fluid Dynamics, on periodic domains using Fourier-based pseudospectral methods.


Examples aim to demonstrate the main functionalities of each module. Have a look at our Examples collection!

Fourier transforms normalization

Fourier-based pseudospectral methods rely on Fourier expansions. Throughout the documentation we denote symbols with hat, e.g., $\hat{u}$, to be the Fourier transform of $u$ like, e.g.,

\[u(x) = \sum_{k_x} \hat{u}(k_x) \, e^{i k_x x} .\]

The convention used in the modules is that the Fourier transform of a variable, e.g., u is denoted with uh (where the trailing h is there to imply "hat"). Note, however, that uh is obtained via a FFT of u and due to different normalization factors that the FFT algorithm uses, uh is not exactly the same as $\hat{u}$ above. Instead,

\[\hat{u}(k_x) = \frac{𝚞𝚑}{n_x e^{i k_x x_0}} ,\]

where $n_x$ is the total number of grid points in $x$ and $x_0$ is the left-most point of our $x$-grid.

Read more in the FourierFlows.jl Documentation; see Grids section.


Oftentimes unicode symbols are used in modules for certain variables or parameters. For example, ψ is commonly used to denote the streamfunction of the flow, or is used to denote partial differentiation. Unicode symbols can be entered in the Julia REPL by typing, e.g., \psi or \partial followed by the tab key.

Read more about Unicode symbols in the Julia Documentation.


The development of GeophysicalFlows.jl started during the 21st AOFD Meeting 2017 by Navid C. Constantinou and Gregory L. Wagner. Since then various people have contributed, including Lia Siegelman, Brodie Pearson, André Palóczy (see the example in FourierFlows.jl), and others.


If you use GeophysicalFlows.jl in research, teaching, or other activities, we would be grateful if you could mention GeophysicalFlows.jl and cite our paper in JOSS:

Constantinou et al., (2021). GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs & GPUs. Journal of Open Source Software, 6(60), 3053, doi:10.21105/joss.03053.

The bibtex entry for the paper is:

  doi = {10.21105/joss.03053},
  url = {},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {60},
  pages = {3053},
  author = {Navid C. Constantinou and Gregory LeClaire Wagner and Lia Siegelman and Brodie C. Pearson and André Palóczy},
  title = {GeophysicalFlows.jl: Solvers for geophysical fluid dynamics problems in periodic domains on CPUs \& GPUs},
  journal = {Journal of Open Source Software}

Papers using GeophysicalFlows.jl

  1. Parfenyev, V. (2024) Statistical analysis of vortex condensate motion in two-dimensional turbulence. Physics of Fluids, 36, 015148, doi:10.1063/5.0187030.

  2. LaCasce, J. H., Palóczy, A., and Trodahl, M. (2024). Vortices over bathymetry. Journal of Fluid Mechanics, 979, A32, doi:10.1017/jfm.2023.1084.

  3. Drivas, T. D. and Elgindi, T. M. (2023). Singularity formation in the incompressible Euler equation in finite and infinite time. EMS Surveys in Mathematical Sciences, 10(1), 1–100, doi:10.4171/emss/66.

  4. Shokar, I. J. S., Kerswell, R. R., and Haynes, P. H. (2023) Stochastic latent transformer: Efficient modelling of stochastically forced zonal jets. arXiv preprint arXiv:2310.16741, doi:10.48550/arXiv.2310.16741.

  5. Bischoff, T. and Deck, K. (2023) Unpaired downscaling of fluid flows with diffusion bridges. arXiv preprint arXiv:2305.01822, doi:10.48550/arXiv.2305.01822.

  6. Siegelman, L. and Young, W. R. (2023). Two-dimensional turbulence above topography: Vortices and potential vorticity homogenization. Proceedings of the National Academy of Sciences, 120(44), e2308018120, doi:10.1073/pnas.2308018120.

  7. Bisits, J. I., Stanley G. J., and Zika, J. D. (2023). Can we accurately quantify a lateral diffusivity using a single tracer release? Journal of Physical Oceanography, 53(2), 647–659, doi:10.1175/JPO-D-22-0145.1.

  8. Parfenyev, V. (2022) Profile of a two-dimensional vortex condensate beyond the universal limit. Phys. Rev. E, 106, 025102, doi:10.1103/PhysRevE.106.025102.

  9. Siegelman, L., Young, W. R., and Ingersoll, A. P. (2022). Polar vortex crystals: Emergence and structure Proceedings of the National Academy of Sciences, 119(17), e2120486119, doi:10.1073/pnas.2120486119.

  10. Dolce, M. and Drivas, T. D. (2022). On maximally mixed equilibria of two-dimensional perfect fluids. Archive for Rational Mechanics and Analysis, 246, 735–770, doi:10.1007/s00205-022-01825-w.

  11. Palóczy, A. and LaCasce, J. H. (2022). Instability of a surface jet over rough topography. Journal of Physical Oceanography, 52(11), 2725-2740, doi:10.1175/JPO-D-22-0079.1.

  12. Karrasch, D. and Schilling, N. (2020). Fast and robust computation of coherent Lagrangian vortices on very large two-dimensional domains. The SMAI Journal of Computational Mathematics, 6, 101-124, doi:10.5802/smai-jcm.63.