InternalModesBase
Define the shared contract for all internal-mode solvers.
Declaration
classdef (Abstract) InternalModesBase < handleOverview
InternalModesBase is the abstract base class for the concrete
solver implementations. It stores the common physical parameters,
normalization choices, and boundary-condition state, and it defines
the shared public interface for requesting modes at fixed wavenumber
or fixed frequency.
Following Section 2.3 of Early, Lelong, and Smith (2020), the package centers on the vertical structure functions \(F_j(z)\) and \(G_j(z)\) with equivalent depths \(h_j\), connected by
\[(N^2 - \omega^2) G_j = -g \, \partial_z F_j, \qquad F_j = h_j \, \partial_z G_j.\]Concrete subclasses solve either the fixed-\(K\) or fixed-\(\omega\) eigenvalue problems using spectral, finite-difference, analytical, or WKB-based formulations, but they all expose the same shared state documented here.
Topics
- Inspect grids and stratification
LzTotal water-column depth \(D = zMax - zMin\).N2Buoyancy frequency squared sampled onzOut.f0Coriolis parameter at the selected latitude.latitudein degrees used to computef0.rhoBackground density sampled onzOut.rho0Reference surface density.rho_zFirst depth derivative of the background density sampled onzOut.rho_zzSecond depth derivative of the background density sampled onzOut.rotationRatePlanetary rotation rate in radians per second.zOutput depth grid on which public profiles and modes are returned.zDomainTwo-element depth domain[zMin zMax].zMaxMaximum depth inzDomain.zMinMinimum depth inzDomain.
- Configure normalization and boundaries
lowerBoundaryLower boundary condition at the ocean bottom.normalizationMode normalization convention.upperBoundaryUpper boundary condition at the ocean surface.
- Compute modes
modesAtFrequencyReturn vertical modes for a fixed frequency.modesAtWavenumberReturn vertical modes for a fixed horizontal wavenumber.nModesOptional cap on the number of modes returned.
Developer Topics
These items document internal implementation details and are not part of the primary public API.
- Developer topics
gridFrequencyLast fixed frequency used to build an adaptive grid, when applicable.requiresMonotonicDensityFlag indicating whether the concrete solver requires monotonic density.shouldShowDiagnosticsToggle diagnostic messages from the active solver.