Private types

TwoDNavierStokes

GeophysicalFlows.TwoDNavierStokes.ParamsType
struct Params{T} <: AbstractParams

The parameters for a two-dimensional Navier-Stokes problem:

  • ν::Any: small-scale (hyper)-viscosity coefficient

  • nν::Int64: (hyper)-viscosity order, $≥ 1$

  • μ::Any: large-scale (hypo)-viscosity coefficient

  • nμ::Int64: (hypo)-viscosity order, $≤ 0$

  • calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$

source
GeophysicalFlows.TwoDNavierStokes.VarsType
struct Vars{Aphys, Atrans, F, P} <: TwoDNavierStokesVars

The variables for two-dimensional Navier-Stokes problem:

  • ζ: relative vorticity

  • u: x-component of velocity

  • v: y-component of velocity

  • ζh: Fourier transform of relative vorticity

  • uh: Fourier transform of $x$-component of velocity

  • vh: Fourier transform of $y$-component of velocity

  • Fh: Fourier transform of forcing

  • prevsol: sol at previous time-step

source

SingleLayerQG

GeophysicalFlows.SingleLayerQG.ParamsType
struct Params{T, Aphys, Atrans, Tℓ, TU} <: SingleLayerQGParams

The parameters for the SingleLayerQG problem.

  • β::Any: planetary vorticity $y$-gradient

  • deformation_radius::Any: Rossby radius of deformation

  • U::Any: Background flow in $x$ direction

  • eta::Any: topographic potential vorticity

  • etah::Any: Fourier transform of topographic potential vorticity

  • μ::Any: linear drag coefficient

  • ν::Any: small-scale (hyper)-viscosity coefficient

  • nν::Int64: (hyper)-viscosity order, $≥ 1$

  • calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$

  • Qx::Any: array containing $x$-gradient of PV due to eta

  • Qy::Any: array containing $y$-gradient of PV due to $U$ and topographic PV

source
GeophysicalFlows.SingleLayerQG.VarsType
struct Vars{Aphys, Atrans, F, P} <: SingleLayerQGVars

The variables for SingleLayer QG:

  • q: relative vorticity (+ vortex stretching)

  • ψ: streamfunction

  • u: $x$-component of velocity

  • v: $y$-component of velocity

  • qh: Fourier transform of relative vorticity (+ vortex stretching)

  • ψh: Fourier transform of streamfunction

  • uh: Fourier transform of $x$-component of velocity

  • vh: Fourier transform of $y$-component of velocity

  • Fh: Fourier transform of forcing

  • prevsol: sol at previous time-step

source

MultiLayerQG

GeophysicalFlows.MultiLayerQG.ParamsType
struct Params{T, Aphys3D, Aphys2D, Atrans4D, Trfft} <: AbstractParams

The parameters for the MultiLayerQG problem.

  • nlayers::Int64: number of fluid layers

  • f₀::Any: constant planetary vorticity

  • β::Any: planetary vorticity $y$-gradient

  • b::Tuple: array with Boussinesq buoyancy of each fluid layer

  • H::Tuple: array with rest height of each fluid layer

  • U::Any: array with imposed constant zonal flow $U(y)$ in each fluid layer

  • eta::Any: array containing the topographic PV

  • topographic_pv_gradient::Tuple{T, T} where T: tuple containing the $(x, y)$ components of topographic PV large-scale gradient

  • μ::Any: linear bottom drag coefficient

  • ν::Any: small-scale (hyper)-viscosity coefficient

  • nν::Int64: (hyper)-viscosity order, $≥ 1$

  • calcFq!::Function: function that calculates the Fourier transform of the forcing, $F̂$

  • g′::Tuple: array with the reduced gravity constants for each fluid interface

  • Qx::Any: array containing $x$-gradient of PV due to eta in each fluid layer

  • Qy::Any: array containing $y$-gradient of PV due to $β$, $U$, and topographic PV in each fluid layer

  • S::Any: array containing coeffients for getting PV from streamfunction

  • S⁻¹::Any: array containing coeffients for inverting PV to streamfunction

  • rfftplan::Any: rfft plan for FFTs

source
GeophysicalFlows.MultiLayerQG.SingleLayerParamsType
struct SingleLayerParams{T, Aphys3D, Aphys2D, Trfft} <: AbstractParams

The parameters for the a single-layer MultiLayerQG problem.

  • β::Any: planetary vorticity $y$-gradient

  • U::Any: array with imposed constant zonal flow $U(y)$

  • eta::Any: array containing the periodic component of the topographic PV

  • topographic_pv_gradient::Tuple{T, T} where T: tuple containing the $(x, y)$ components of topographic PV large-scale gradient

  • μ::Any: linear drag coefficient

  • ν::Any: small-scale (hyper)-viscosity coefficient

  • nν::Int64: (hyper)-viscosity order, $≥ 1$

  • calcFq!::Function: function that calculates the Fourier transform of the forcing, $F̂$

  • Qx::Any: array containing $x$-gradient of PV due to topographic PV

  • Qy::Any: array containing $y$-gradient of PV due to $β$, $U$, and topographic PV

  • rfftplan::Any: rfft plan for FFTs

source
GeophysicalFlows.MultiLayerQG.TwoLayerParamsType
struct TwoLayerParams{T, Aphys3D, Aphys2D, Trfft} <: AbstractParams

The parameters for the a two-layer MultiLayerQG problem.

  • f₀::Any: constant planetary vorticity

  • β::Any: planetary vorticity $y$-gradient

  • b::Tuple: array with Boussinesq buoyancy of each fluid layer

  • H::Tuple: tuple with rest height of each fluid layer

  • U::Any: array with imposed constant zonal flow $U(y)$ in each fluid layer

  • eta::Any: array containing periodic component of the topographic PV

  • topographic_pv_gradient::Tuple{T, T} where T: tuple containing the $(x, y)$ components of topographic PV large-scale gradient

  • μ::Any: linear bottom drag coefficient

  • ν::Any: small-scale (hyper)-viscosity coefficient

  • nν::Int64: (hyper)-viscosity order, $≥ 1$

  • calcFq!::Function: function that calculates the Fourier transform of the forcing, $F̂$

  • g′::Any: the reduced gravity constants for the fluid interface

  • Qx::Any: array containing $x$-gradient of PV due to topographic PV in each fluid layer

  • Qy::Any: array containing $y$-gradient of PV due to $β$, $U$, and topographic PV in each fluid layer

  • rfftplan::Any: rfft plan for FFTs

source
GeophysicalFlows.MultiLayerQG.VarsType
struct Vars{Aphys, Atrans, F, P} <: AbstractVars

The variables for multi-layer QG problem.

  • q: relative vorticity + vortex stretching

  • ψ: streamfunction

  • u: x-component of velocity

  • v: y-component of velocity

  • qh: Fourier transform of relative vorticity + vortex stretching

  • ψh: Fourier transform of streamfunction

  • uh: Fourier transform of $x$-component of velocity

  • vh: Fourier transform of $y$-component of velocity

  • Fqh: Fourier transform of forcing

  • prevsol: sol at previous time-step

source

SurfaceQG

GeophysicalFlows.SurfaceQG.ParamsType
Params{T}(ν, nν, calcF!)

A struct containing the parameters for Surface QG dynamics. Included are:

  • ν::Any: buoyancy (hyper)-viscosity coefficient

  • nν::Int64: buoyancy (hyper)-viscosity order

  • calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$

source
GeophysicalFlows.SurfaceQG.VarsType
Vars{Aphys, Atrans, F, P}(b, u, v, bh, uh, vh, Fh, prevsol)

The variables for surface QG problem:

  • b: buoyancy

  • u: $x$-component of velocity

  • v: $y$-component of velocity

  • bh: Fourier transform of buoyancy

  • uh: Fourier transform of $x$-component of velocity

  • vh: Fourier transform of $y$-component of velocity

  • Fh: Fourier transform of forcing

  • prevsol: sol at previous time-step

source

BarotropicQGQL

GeophysicalFlows.BarotropicQGQL.ParamsType
Params{T, Aphys, Atrans}(β, eta, etah, μ, ν, nν, calcF!)

A struct containing the parameters for a barotropic QL QG problem. Included are:

  • β::Any: planetary vorticity $y$-gradient

  • eta::Any: topographic potential vorticity

  • etah::Any: Fourier transform of topographic potential vorticity

  • μ::Any: linear drag coefficient

  • ν::Any: small-scale (hyper)-viscosity coefficient

  • nν::Int64: (hyper)-viscosity order, $≥ 1$

  • calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$

source
GeophysicalFlows.BarotropicQGQL.VarsType
Vars{Aphys, Atrans, F, P}(u, v, U, uzeta, vzeta, zeta, Zeta, psi, Psi, N, NZ, uh, vh, Uh, zetah, Zetah, psih, Psih, Fh, prevsol)

The variables for barotropic QL QG:

  • u: $x$-component of small-scale velocity

  • v: $y$-component of small-scale velocity

  • U: $x$-component of large-scale velocity

  • uzeta: small-scale $u′ζ′$

  • vzeta: small-scale $v′ζ′$

  • zeta: small-scale relative vorticity

  • Zeta: large-scale relative vorticity

  • psi: small-scale streamfunction

  • Psi: large-scale streamfunction

  • Nz: small-scale nonlinear term

  • NZ: large-scale nonlinear term

  • uh: Fourier transform of $x$-component of small-scale velocity

  • vh: Fourier transform of $y$-component of small-scale velocity

  • Uh: Fourier transform of $x$-component of large-scale velocity

  • zetah: Fourier transform of small-scale relative vorticity

  • Zetah: Fourier transform of large-scale relative vorticity

  • psih: Fourier transform of small-scale relative vorticity

  • Psih: Fourier transform of large-scale relative vorticity

  • Fh: Fourier transform of forcing

  • prevsol: sol at previous time-step

source