WaveVortexModel

WaveVortexModel represents rotating, stratified Boussinesq flow on an energetically orthogonal basis of internal waves, inertial oscillations, geostrophic motions, and mean-density anomalies.

Use a WVTransform to decompose a fluid state, reconstruct physical fields, and calculate diagnostics. Use WVModel to integrate the state while advecting particles and tracers, sampling observing systems, and writing restartable NetCDF output.

Quick start

Create a small constant-stratification transform, initialize one internal wave, inspect its velocity field, and advance the state with analytical linear dynamics:

wvt = WVTransformConstantStratification( ...
    [40e3 40e3 1000], [16 16 9], N0=5.2e-3, latitude=45);

[omega,k,l] = wvt.initWithWaveModes( ...
    kMode=1, lMode=0, j=1, phi=0, u=0.05, sign=1);
[u,v,w] = wvt.variableWithName('u','v','w');

model = WVModel(wvt,shouldUseLinearDynamics=true);
model.integrateToTime(600,shouldShowIntegrationDiagnostics=false);

The transform stores the decomposed state in Ap, Am, and A0. Variables such as velocity, density, pressure, energy, and potential vorticity are reconstructed from those coefficients when requested.

Start here

Goal Documentation
Install the package Installation
Choose and construct a transform Using WVTransform
Understand the main objects Introduction
Add forcing and closures Adding forcing
Write output and restart a model Reading and writing files
Check a capability or limitation Capabilities and limitations
Browse classes and methods API reference

Scientific basis

The generalized decomposition is described by Early, Lelong, and Sundermeyer (2021). The available-potential-vorticity formulation is described by Early et al. (2024). See Acknowledgements and citations for software citation information and BibTeX downloads.


This site uses Just the Docs, a documentation theme for Jekyll.