pygetm.vertical_mixing module

class pygetm.vertical_mixing.GOTM(path: None | PathLike[str] | str = None)[source]

Bases: VerticalMixing

Calculate the turbulent viscosity num and diffusivity nuh using the General Ocean Turbulence Model (GOTM).

advance(timestep: float, ustar_s: Array, ustar_b: Array, z0s: Array, z0b: Array, NN: Array, SS: Array)[source]

Update turbulent quantities and calculate turbulent diffusivity nuh and turbulent viscosity num

Parameters:
  • timestep – time step (s)

  • ustar_s – surface friction velocity (m s-1)

  • ustar_b – bottom friction velocity (m s-1)

  • z0s – hydrodynamic surface roughness (m)

  • z0b – hydrodynamic bottom roughness (m)

  • NN – squared buoyancy frequency (s-2)

  • SS – squared shear frequency (s-2)

initialize(grid: Grid, logger: Logger)[source]
class pygetm.vertical_mixing.VerticalMixing[source]

Bases: object

Base class that provides the turbulent viscosity num and diffusivity nuh. When using this class directly, viscosity and diffusivity are prescribed, not calculated. In this case, both default to zero; assign to num/nuh or call num.set/nuh.set to change this.

advance(timestep: float, ustar_s: Array, ustar_b: Array, z0s: Array, z0b: Array, NN: Array, SS: Array)[source]
initialize(grid: Grid, logger: Logger)[source]