LEVIATHANDocumentation

DOC 02FAB ENGINE

Ocean and environment models

The environment is everything around the vehicle: the water and its properties, the current and how it varies in depth, space and time, the waves and wind at the surface, the seabed, and the acoustic properties of the water column.

Water properties

The default water density is 1025 kg/m³ and gravity is 9.81 m/s². Both are part of the environment and can be changed per scenario. Temperature, salinity and pressure through the water column come from a mixed-layer, thermocline and deep-water profile, which the CTD sensor samples. Sound speed is computed from temperature, salinity and depth with the Mackenzie (1981) equation.

The optical properties of the water, such as beam attenuation and the colour of the veiling light, belong to the camera model. They are described in Camera and optics.

Currents

The total current at a point is the sum of several components, each optional.

Table 2.1 Current components. All velocities are in the NED world frame, in m/s.
ComponentModelParameters
Uniform currentA constant velocity everywherevelocity [m/s]
Depth profile (shear)Piecewise-linear velocity through (depth, velocity) breakpoints, held constant beyond the endsbreakpoints [m, m/s]
EddiesHorizontal Gaussian vortices: tangential speed rises from zero at the centre to a peak at the eddy radius, then decayscentre [m], strength [m/s], radius [m]
Tidal currentA spatially uniform oscillation A cos(2πt/T − φ) along a heading. The default period is the M2 constituent, about 12.42 hamplitude [m/s], period [s], direction [rad]
Boundary layersWind-driven surface Ekman spiral and frictional bottom boundary layer, with the interior unchanged between themwind stress, layer scales

The dynamics use the current at the vehicle's position and depth to form the relative velocity νr (see equations of motion). Because the current is applied at the vehicle's reference point, a uniform current can push a vehicle but not turn it.

Waves and wind

Regular waves are deep-water Airy waves. Water-particle velocity and acceleration decay as e−kz with depth z, where k = ω²/g.

Irregular sea states superpose regular components whose energy follows a JONSWAP or Pierson–Moskowitz spectrum. Component amplitudes are rescaled so that the realised significant wave height equals the requested one, and phases are seeded, so a sea state is reproducible.

Table 2.2 Sea-state parameters.
ParameterMeaningDefault
HsSignificant wave height0 m
TpPeak period8 s
HeadingMean propagation direction (NED)0 rad
γJONSWAP peak-enhancement factor3.3
SpreadingDirectional half-spread; zero is long-crested0 rad

Submerged vehicles feel wave orbital velocities through their relative velocity, and wave accelerations through an inertial force. Surface vessels ride the local surface elevation and slope (see Surface vessels). Wind is a steady mean with a band-limited gust and acts only on above-water areas. The Viewport draws the sea surface from the same spectrum.

Seabed and bathymetry

  • Flat seabed at a given depth, the default.
  • Shoals: Gaussian bumps of given height and width, used by several scenes to stand in for coral heads or a pillar.
  • Bathymetry grids: a regular grid of depths, interpolated bilinearly. Grids can be imported from ASCII x y z or CSV files and from GeoTIFF. Only complete, regularly spaced grids are accepted; ragged point clouds are refused rather than interpolated by guesswork.
  • Procedural terrain: multi-octave seabed heightfields, deterministic given a seed.
  • Time-varying seabed: optional components such as sand waves and scour that change depth over time.

Water-column acoustics

Sound-speed profiles

Acoustic positioning and echosounding convert travel time to range using a sound speed. LEVIATHAN models the sound-speed profile c(z) as piecewise-linear through control points. It uses the harmonic mean speed over a depth span, which is the quantity that maps travel time to range. Four built-in profiles are provided:

Table 2.3 Built-in sound-speed profiles.
ProfileShape
IsovelocityConstant speed, 1500 m/s by default
ThermoclineA mixed surface layer over a sharp decrease to deep water
CoastalA thin mixed layer in shallow water
MunkThe canonical deep sound channel, with its axis near 1300 m by default

Absorption

Frequency-dependent absorption in seawater follows Francois and Garrison (1982). It is the sum of boric-acid relaxation, magnesium-sulphate relaxation and pure-water viscous terms:

α = A1P1 f1 f² / (f² + f1²) + A2P2 f2 f² / (f² + f2²) + A3P3 f²   [dB/km](1)

The coefficients depend on temperature, salinity, depth and pH. They were transcribed from two independent published implementations that agree term for term. The tests also check them against the simplified Ainslie and McColm (1998) formula.

Validity

Absorption is accepted only inside the stated validity of Francois and Garrison, and only up to 1 MHz. Outside that range the calculation is refused rather than extrapolated. A sonar at a higher frequency still gets valid geometry, but its acoustic return is marked unsupported medium. See Imaging sonar.

Propagation

For range planning, the simulation service also provides ray-based acoustic propagation through a given sound-speed profile. It computes ray fans, eigenrays, transmission loss and sonar-equation detection range, so you can see how a thermocline shortens a sonar's useful range.

Tides as water level

Separate from the tidal current, a multi-constituent harmonic predictor gives water level in the standard form

h(t) = Z0 + Σk fk Hk cos( ak t + V0,k + uk − κk )(2)

This is the method used for published station predictions (Schureman, 1958). The hydrographic tools use it to reduce soundings to chart datum (see Mapping and navigation).

Environment presets

Each built-in scene has an analytic environment preset behind it, listed on Environments. Three further presets, Open Ocean (200 m, sheared wind-driven current), Thermocline (400 m, strong summer thermocline) and Deep Sea (2000 m, Munk sound channel), remain available to scenario requests, although the Viewport's scene list does not show them.