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.