Private types
TwoDNavierStokes
GeophysicalFlows.TwoDNavierStokes.Params — Typestruct Params{T} <: AbstractParamsThe parameters for a two-dimensional Navier-Stokes problem.
ν::Any: small-scale (hyper)-viscosity coefficientnν::Int64: (hyper)-viscosity order,nν$≥ 1$μ::Any: large-scale (hypo)-viscosity coefficientnμ::Int64: (hypo)-viscosity order,nμ$≤ 0$calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$
GeophysicalFlows.TwoDNavierStokes.Vars — Typestruct Vars{Aphys, Atrans, F, P} <: TwoDNavierStokesVarsThe variables for two-dimensional Navier-Stokes problem.
ζ: relative vorticityu: x-component of velocityv: y-component of velocityζh: Fourier transform of relative vorticityuh: Fourier transform of $x$-component of velocityvh: Fourier transform of $y$-component of velocityFh: Fourier transform of forcingprevsol:solat previous time-step
GeophysicalFlows.TwoDNavierStokes.DecayingVars — TypeDecayingVars(dev, grid)Return the variables for unforced two-dimensional Navier-Stokes problem on grid.
GeophysicalFlows.TwoDNavierStokes.ForcedVars — TypeForcedVars(grid)Return the variables for forced two-dimensional Navier-Stokes on grid.
GeophysicalFlows.TwoDNavierStokes.StochasticForcedVars — TypeStochasticForcedVars(grid)Return the variables for stochastically forced two-dimensional Navier-Stokes on grid.
SingleLayerQG
GeophysicalFlows.SingleLayerQG.Params — Typestruct Params{T, Aphys, Atrans, Tℓ, TU} <: SingleLayerQGParamsThe parameters for the SingleLayerQG problem.
β::Any: planetary vorticity $y$-gradientdeformation_radius::Any: Rossby radius of deformationU::Any: Background flow in $x$ directioneta::Any: topographic potential vorticityetah::Any: Fourier transform of topographic potential vorticityμ::Any: linear drag coefficientν::Any: small-scale (hyper)-viscosity coefficientnν::Int64: (hyper)-viscosity order,nν$≥ 1$calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$Qx::Any: array containing $x$-gradient of PV due to etaQy::Any: array containing $y$-gradient of PV due to $U$ and topographic PV
GeophysicalFlows.SingleLayerQG.BarotropicQGParams — TypeBarotropicQGParams(grid, β, U, eta, μ, ν, nν, calcF)Return the parameters for a Barotropic QG problem (i.e., with infinite Rossby radius of deformation).
GeophysicalFlows.SingleLayerQG.EquivalentBarotropicQGParams — TypeEquivalentBarotropicQGParams(grid, deformation_radius, β, U, eta, μ, ν, nν, calcF)Return the parameters for an Equivalent Barotropic QG problem (i.e., with finite Rossby radius of deformation).
GeophysicalFlows.SingleLayerQG.Vars — Typestruct Vars{Aphys, Atrans, F, P} <: SingleLayerQGVarsThe variables for SingleLayerQG problem.
q: relative vorticity (+ vortex stretching)ψ: streamfunctionu: $x$-component of velocityv: $y$-component of velocityqh: Fourier transform of relative vorticity (+ vortex stretching)ψh: Fourier transform of streamfunctionuh: Fourier transform of $x$-component of velocityvh: Fourier transform of $y$-component of velocityFh: Fourier transform of forcingprevsol:solat previous time-step
GeophysicalFlows.SingleLayerQG.DecayingVars — FunctionDecayingVars(grid)Return the variables for unforced single-layer QG problem on grid.
GeophysicalFlows.SingleLayerQG.ForcedVars — TypeForcedVars(grid)Return the variables for forced single-layer QG problem on grid.
GeophysicalFlows.SingleLayerQG.StochasticForcedVars — TypeStochasticForcedVars(grid)Return the variables for stochastically forced barotropic QG problem on grid.
MultiLayerQG
GeophysicalFlows.MultiLayerQG.Params — Typestruct Params{T, Aphys3D, Aphys2D, Atrans4D, Trfft} <: AbstractParamsThe parameters for the MultiLayerQG problem.
nlayers::Int64: number of fluid layersf₀::Any: constant planetary vorticityβ::Any: planetary vorticity $y$-gradientb::Tuple: tuple with Boussinesq buoyancy of each fluid layerH::Tuple: tuple with rest height of each fluid layerU::Any: array with imposed constant zonal flow $U(y)$ in each fluid layereta::Any: array containing the topographic PVtopographic_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 coefficientnν::Int64: (hyper)-viscosity order,nν$≥ 1$calcFq!::Function: function that calculates the Fourier transform of the forcing, $F̂$g′::Tuple: tuple with the reduced gravity constants for each fluid interfaceQx::Any: array containing $x$-gradient of PV due to eta in each fluid layerQy::Any: array containing $y$-gradient of PV due to $β$, $U$, and topographic PV in each fluid layerS::Any: array containing coefficients for getting PV from streamfunctionS⁻¹::Any: array containing coefficients for inverting PV to streamfunctionrfftplan::Any: rfft plan for FFTs
GeophysicalFlows.MultiLayerQG.SingleLayerParams — Typestruct SingleLayerParams{T, Aphys3D, Aphys2D, Trfft} <: AbstractParamsThe parameters for a single-layer MultiLayerQG problem.
β::Any: planetary vorticity $y$-gradientU::Any: array with imposed constant zonal flow $U(y)$eta::Any: array containing the periodic component of the topographic PVtopographic_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 coefficientnν::Int64: (hyper)-viscosity order,nν$≥ 1$calcFq!::Function: function that calculates the Fourier transform of the forcing, $F̂$Qx::Any: array containing $x$-gradient of PV due to topographic PVQy::Any: array containing $y$-gradient of PV due to $β$, $U$, and topographic PVrfftplan::Any: rfft plan for FFTs
GeophysicalFlows.MultiLayerQG.Vars — Typestruct Vars{Aphys, Atrans, F, P} <: AbstractVarsThe variables for multi-layer QG problem.
q: relative vorticity + vortex stretchingψ: streamfunctionu: $x$-component of velocityv: $y$-component of velocityqh: Fourier transform of relative vorticity + vortex stretchingψh: Fourier transform of streamfunctionuh: Fourier transform of $x$-component of velocityvh: Fourier transform of $y$-component of velocityFqh: Fourier transform of forcingprevsol:solat previous time-step
GeophysicalFlows.MultiLayerQG.DecayingVars — TypeDecayingVars(grid, params)Return the variables for an unforced multi-layer QG problem with grid and params.
GeophysicalFlows.MultiLayerQG.ForcedVars — TypeForcedVars(grid, params)Return the variables for a forced multi-layer QG problem with grid and params.
GeophysicalFlows.MultiLayerQG.StochasticForcedVars — TypeStochasticForcedVars(grid, params)Return the variables for a forced multi-layer QG problem with grid and params.
SurfaceQG
GeophysicalFlows.SurfaceQG.Params — Typestruct Params{T, Atrans <: AbstractArray} <: SurfaceQGParamsThe parameters for a Surface QG dynamics problem.
H::Any: layer depthν::Any: buoyancy (hyper)-viscosity coefficientnν::Int64: buoyancy (hyper)-viscosity ordercalcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$ψhfrombh::AbstractArray: array containing Dirichlet-to-Neumann operator for buoyancy-streamfunction relation
GeophysicalFlows.SurfaceQG.Vars — Typestruct Vars{Aphys, Atrans, F, P} <: SurfaceQGVarsThe variables for a surface QG problem.
b: buoyancyu: $x$-component of velocityv: $y$-component of velocitybh: Fourier transform of buoyancyuh: Fourier transform of $x$-component of velocityvh: Fourier transform of $y$-component of velocityFh: Fourier transform of forcingprevsol:solat previous time-step
GeophysicalFlows.SurfaceQG.DecayingVars — TypeDecayingVars(grid)Return the variables for unforced surface QG dynamics on grid.
GeophysicalFlows.SurfaceQG.ForcedVars — TypeForcedVars(grid)Return the variables for forced surface QG dynamics on grid.
GeophysicalFlows.SurfaceQG.StochasticForcedVars — TypeStochasticForcedVars(grid)Return the variables for stochastically forced surface QG dynamics on grid.
BarotropicQGQL
GeophysicalFlows.BarotropicQGQL.Params — Typestruct Params{T, Aphys, Atrans} <: AbstractParamsThe parameters for a quasi-linear barotropic QG problem.
β::Any: planetary vorticity $y$-gradienteta::Any: topographic potential vorticityetah::Any: Fourier transform of topographic potential vorticityμ::Any: linear drag coefficientν::Any: small-scale (hyper)-viscosity coefficientnν::Int64: (hyper)-viscosity order,nν$≥ 1$calcF!::Function: function that calculates the Fourier transform of the forcing, $F̂$
GeophysicalFlows.BarotropicQGQL.Vars — Typemutable struct Vars{Aphys, Atrans, F, P} <: BarotropicQGQLVarsThe variables for a quasi-linear barotropic QG problem.
u: $x$-component of small-scale velocityv: $y$-component of small-scale velocityU: $x$-component of large-scale velocityuzeta: small-scale $u′ζ′$vzeta: small-scale $v′ζ′$zeta: small-scale relative vorticityZeta: large-scale relative vorticitypsi: small-scale streamfunctionPsi: large-scale streamfunctionNz: small-scale nonlinear termNZ: large-scale nonlinear termuh: Fourier transform of $x$-component of small-scale velocityvh: Fourier transform of $y$-component of small-scale velocityUh: Fourier transform of $x$-component of large-scale velocityzetah: Fourier transform of small-scale relative vorticityZetah: Fourier transform of large-scale relative vorticitypsih: Fourier transform of small-scale relative vorticityPsih: Fourier transform of large-scale relative vorticityFh: Fourier transform of forcingprevsol:solat previous time-step
GeophysicalFlows.BarotropicQGQL.DecayingVars — TypeDecayingVars(grid)Return the variables for an unforced quasi-linear barotropic QG problem on grid.
GeophysicalFlows.BarotropicQGQL.ForcedVars — TypeForcedVars(grid)Return the variables for a forced quasi-linear barotropic QG problem on grid.
GeophysicalFlows.BarotropicQGQL.StochasticForcedVars — TypeStochasticForcedVars(grid)Return the variables for a stochastically-forced two-dimensional quasi-linear barotropic QG problem on grid.