WVForcing

Computes a forcing


Declaration

classdef WVForcing < handle

Overview

WVForcing is an abstract class that defines how forcing gets added to a WVTransform. You can use one the built-in forcing operations, or make your own.

Forcing is applied at two stages:

  1. in the spatial domain to 1a. non-hydrostatic flow d/dt(u,v,w,eta) = (Fu,Fv,Fw,Feta) or 1b. hydrostatic flow d/dt(u,v,eta) = (Fu,Fv,Feta) and
  2. in the spectral domain to d/dt(Ap,Am,A0) = (Fp,Fm,F0)

Each WVForcingFluxOperation must choose one of the two options and override either,

  1. [Fu, Fv, Fw, Feta] = addSpatialForcing(wvt, Fu, Fv, Fw, Feta) or,
  2. [Fp, Fm, F0] = addSpectralForcing( wvt, Fp, Fm, F0)

Regardless of which method is chosen, the energy flux from the forcing can always be deduced at each moment in time.

Here’s how this fits together: There are several WVNonlinearFluxOperations, including

  1. WVHydrostaticFlux
  2. WVNonhydrostaticFlux
  3. WVQuasigeostrophicFlux

You can add forcing to a WVT, and it will automatically inform the flux about it. The flux then cycles through the forcing components Note that initialize of the three flux types still will take parameters for bottom drag and viscosity, because why not?

Topics