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 nonlinear 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 nonlinear model integration:
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');
wvt.addForcing(WVAdaptiveDamping(wvt));
model = WVModel(wvt);
model.integrateToTime(600);
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.