Air–Sea Interaction¶
Air–sea fluxes drive the surface boundary conditions for the momentum, temperature, and salinity equations.
Momentum Flux¶
The surface wind stress \((\tau_x, \tau_y)\) is applied as a Neumann boundary condition at the top interface of the momentum equations. The surface friction velocity is
The bottom stress (drag) is computed from a logarithmic drag law using the bottom roughness length \(z_{0b}\):
where \(\kappa = 0.4\) is the von Kármán constant and \(z_1\) is the height of the first model level.
Heat Flux¶
The net surface heat flux is split into two components:
Non-penetrative flux \(Q_0\) — applies at the surface as a Neumann boundary condition for the temperature equation. Includes latent heat, sensible heat, and net long-wave radiation.
Short-wave radiation \(I(z)\) — penetrates into the water column and is absorbed according to a Beer–Lambert extinction law. The extinction depth (e-folding scale) is configurable.
The divergence of the short-wave flux, \(-\partial I / \partial z\), enters as a source term in the temperature equation at every interior level.
Freshwater Flux¶
Precipitation minus evaporation (\(P - E\)) is applied as a salt flux (virtual salt flux method) at the surface. No explicit dilution or concentration of the water column is computed; the salt flux maintains consistency with the prescribed surface salinity.
Configuring Air–Sea Forcing¶
All surface fluxes are read from the GOTM YAML configuration via the
surface section. Supported sources:
Constant prescribed values
Time series from file (linear interpolation between records)
Bulk formulae (Kondo 1975, COARE) — available when the full air–sea module is enabled in the configuration
API Reference¶
See Air–Sea Interaction for the full API reference.