Skip to article frontmatterSkip to article content

Quasi-Geostrophic Equations Formulation

CNRS
MEOM

In this section, we look at how we can solve the QG equations using elements from this package.


Generalized QG Equations

Note: This formational is largely based on [Amraoui et al. (2023)]. See this paper for more information including a derivation about the energetics.

We can define two fields as via the potential vorticity (PV) and stream function (SF).

Stream Function:ψ=ψ(x,t)xΩRDs,tTR+Potential Vorticity:q=q(x,t)xΩRDs,tTR+\begin{aligned} \text{Stream Function}: && \psi & =\boldsymbol{\psi}(\vec{\mathbf{x}},t) && && \vec{\mathbf{x}}\in\Omega\sub\mathbb{R}^{D_s} , && t\in\mathcal{T}\sub\mathbb{R}^{+} \\ \text{Potential Vorticity}: && q& =\boldsymbol{q}(\vec{\mathbf{x}},t) && && \vec{\mathbf{x}}\in\Omega\sub\mathbb{R}^{D_s}, && t\in\mathcal{T}\sub\mathbb{R}^{+} \\ \end{aligned}

Let’s assume we have a stack of said fields, i.e. qk,ψkq_k,\psi_k. So we have a state defined as:

Stream Function:ψ=[ψ1,ψ2,,ψK]Potential Vorticity:q=[q1,q2,,qK]\begin{aligned} \text{Stream Function}: && \vec{\boldsymbol{\psi}} = [\psi_1, \psi_2, \ldots, \psi_K]^\top \\ \text{Potential Vorticity}: && \vec{\boldsymbol{q}} = [q_1, q_2, \ldots, q_K]^\top \\ \end{aligned}

We can write the QG PDE to describe the spatiotemporal relationship between the PV and the SF which is defined as:

tqk+ukqk=Fk+Dk\begin{aligned} \partial_t q_k + \vec{\boldsymbol{u}}_k\cdot\boldsymbol{\nabla}q_k = F_k + D_k \end{aligned}

where at each layer kk, we have uk\vec{\boldsymbol{u}}_k is the velocity vector, qkq_k is the potential vorticity, FkF_k are the forcing term(s), and DkD_k are dissipation terms. The forcing term can be made up of any external forces we deem necessary for the PDE. For example, we could have wind stress that affects the top layer or bottom friction that affects the bottom layer. The dissipation term represents all of the diffusion terms. For example, we could have some lateral friction or hyper-viscosity terms.

The advection term in equation (3) includes the velocity vector, uk\vec{\boldsymbol{u}}_k, which is defined in terms of the stream function, ψ. This is given by:

u=[u,v]=[yψ,xψ]\vec{\boldsymbol{u}} = [u, v]^\top = \left[ -\partial_y \psi, \partial_x \psi\right]^\top

The PV is the culmination of the potential energy contained within the dynamical forces, the thermal/stretching forces and the planetary forces.

Potential Vorticity Forces=Dynamical+Thermal+Planetary+\text{Potential Vorticity Forces} = \text{Dynamical} + \text{Thermal} + \text{Planetary} + \ldots

Concretely, we can define this the PV and its relationship to the SF and other forces as:

qk=Δψk+(Mψ)k+fk\begin{aligned} q_k = \boldsymbol{\Delta}\psi_k + (\mathbf{M}\psi)_k + f_k \end{aligned}

where at each layer, kk, we have the dynamical (relative) vorticity, Δψk\boldsymbol{\Delta}\psi_k, the thermal/stretching vorticity, (Mψ)k(\mathbf{M}\psi)_k, and the planetary vorticity, fkf_k.


Idealized QG Model

We can use the above formulation to describe an idealized QG model. This idealized model will be fairly abstract with parameters that represent real things but do not actually correspond to anything tangible. However, these types of flows are very well-studied and are very useful for having a controlled setting which removes all uncertainties. We will use the notation used in [Frezat et al. (2022)Srinivasan et al. (2023)] with some explanations taken from [Gupta & Brandstetter (2022)].

The domain is simplified to be periodic and defined on a 2π2\pi domain, i.e. Lx=Ly=2πLx = L_y = 2\pi. We will also assume a periodic domain. This domain is topologically equivalent to a two-dimensional torus.

We will define a final form for the idealized QG model of the vorticity-stream functions on this idealized, periodic domain as

tω+detJ(ψ,ω)=μω+ν2ωβxψ+F\partial_t \omega + \det\boldsymbol{J}(\psi,\omega) = - \mu\omega + \nu\boldsymbol{\nabla}^2\omega - \beta\partial_x\psi + F

where ω is the vorticity and ψ is the stream function. The βψx=βv\beta\psi_x =\beta v-term is geophysical system approximation that captures the effect of the differential rotation. This force is experienced within the Earth system in a tangent plane approximation, i.e. β=yf\beta = \partial_y f. This β-term is important and it allows the flow to manifest different turbulent regimes. For example, Rossby waves are common within the planetary systems and can appear when β=0\beta=0. The determinant Jacobian term encapsulates the advection term seen in (3). It is defined as:

Determinant Jacobian:detJ(ψ,ω)=xψyωyψxω\begin{aligned} \text{Determinant Jacobian}: && && \det \boldsymbol{J}(\psi,\omega) &= \partial_x\psi\partial_y \omega - \partial_y\psi\partial_x \omega \end{aligned}

We see from that it is directly related to the advection term seen in (3) but written in a different way.

The forcing term is typically chosen to be a constant wind forcing

Fω(x)=kf[cos(kfx)+cos(kfy)]\boldsymbol{F}_\omega(\vec{\mathbf{x}}) = k_f \left[ \cos (k_f x) + \cos (k_f y)\right]

Case Studies

Flow Regimes

In [Frezat et al. (2022)], they were looking at how the QG model could be help train surrogate models to fill in missing dynamics. They did the whole training regime online.


Toy QG

In this section, we will briefly outline an idealized QG model with terms that correspond to real quantities in nature. This was taken from the lab that’s available online (PDF | Course | Notebook | Code). It features a great step-by-step introduction to a complete toy problem.

tq+uq=1ρHH×τκHψ+a4ΔH2βxψ\partial_t q + \vec{\boldsymbol{u}}\cdot q = \frac{1}{\rho H}\boldsymbol{\nabla}_H\times\vec{\boldsymbol{\tau}} - \kappa\boldsymbol{\nabla}_H\psi + a_4\boldsymbol{\Delta}_H^2 - \beta\partial_x\psi

where q=2ψq=\boldsymbol{\nabla}^2\psi is the PV. This PDE describes the transport of the PV with respect to the following

tq+Advection=Wind Stress+Bottom Friction+Dissipation+Planetary Forces\partial_t q + \text{Advection} = \text{Wind Stress} + \text{Bottom Friction} + \text{Dissipation} + \text{Planetary Forces}

which correspond to all of the terms in equation (22).

Horizontal Operators. Apart from the partial derivative operators, we have some horizontal operators which means that they only operate on the horizontal axis, i.e. (x,y)(x,y). H\boldsymbol{\nabla}_H is the horizontal gradient operator defined as H=[x,y]\boldsymbol{\nabla}_H = [\partial_x, \partial_y]^\top. ΔH\boldsymbol{\Delta}_H is the horizontal Laplacian operator defined as ΔH=[x2,y2]\boldsymbol{\Delta}_H = [\partial^2_x, \partial^2_y]^\top. ΔH2\boldsymbol{\Delta}_H^2 is the hyper-Laplacian operator which is normally applied sequentially, i.e. ΔHΔH\boldsymbol{\Delta}_H\circ\boldsymbol{\Delta}_H.

Advection. We have the advection term defined as the dot product velocity vector (equation (4)) defined via the stream function. As mentioned above, there are many ways to write this advection term, for example the determinant Jacobian.

Wind Stress. We have defined a wind stress term which is the cross product of the horizontal gradient and the wind stress, τ\vec{\boldsymbol{\tau}}. As shown above, this term is a 2D vector field for the x and y directions.

τ:=τ(x,y)=[τx(x,y),τy(x,y)]\vec{\boldsymbol{\tau}} := \vec{\boldsymbol{\tau}}(x,y) = \left[ \tau_x(x,y), \tau_y(x,y)\right]^\top

An “ideal” example os to assume the ocean is a “box” that extends from the equator to a latitude of about 60°. The winds are typically constant and easterly near the equation and turn westerly at middle latitudes. In ideal setting, this is prescribed as a constant cosine forcing τ=τmax(cosy,0)\vec{\boldsymbol{\tau}}=\vec\tau_{\text{max}}(-\cos y,0) which is similar to the idealized QG model listed above. This product is then scaled according to the inverse of the density of water, ρ, and the height of the layer, HH.

Bottom Friction. The bottom friction parameter is a scaling constant that dissipates the energy. The constant, κ, is defined as inversely proportional to the product of the height, HH, and the square-root of the vertical Eddy viscosity constant and the Coriolis parameter. This constant is multiplied with the Laplacian of the stream function.

Dissipation. There is a dissipation term which features the hyper-viscosity term. The horizontal hyper-Laplacian of the stream function is multiplied by some constant νH\nu_H which represents the lateral Eddy viscosity that may occur in the system.

Planetary Forcing The planetary forcing within this toy model is given by the β-plane approximation for the planetary vorticity. This is given by the β term which is defined as

βyf\beta \approx \partial_y f

where ff is the planetary forcing function given by equation (28). The only term in this function that depends upon yy is the second term so we approximate this as β.


QG for Sea Surface Height

In this section, we will briefly outline how the QG equations can be used to represent the

There is a known relationship between sea surface height (SSH) and the stream function. This is given by

η=f0gψ\eta = \frac{f_0}{g}\psi

where f0f_0 and gg is the Coriolis and gravity constant respectively.

This relationship has been exploited in various works in the literature, especially within the data assimilation literature. For example [Le Guillou et al. (2021)Le Guillou et al. (2023)Amraoui et al. (2023)] used a 1 layer QG model to assimilate NADIR alongtrack SSH observations. A related example was in [Le Guillou et al. (2021)] where they used a simple 1 layer QG model and a 1 layer linear SW model to model the balanced motions and the internal tides respectively. This was also used to assimilate NADIR and SWOT alongtrack SSH observations.

To write out the PDE, we will use the same formulation listed in equation (3). However, we will change this to reflect the relationship between SSH, the SF and now the PV.

q=(2f02c2)ψ+fq = (\boldsymbol{\nabla}^2 - \frac{f_0^2}{c^2})\psi + f

where ff is the planetary forcing given by equation (28), f0f_0 is the Coriolis parameter and cc is the phase speed. This formulation is very similar to the PV listed in (6) except for the coefficient listed in front of the ψ component. This can be summarized as the barotrophic deformation wavenumber

k=f0c=1LRk = \frac{f_0}{c}=\frac{1}{L_R}

where LRL_R is the Rossby radius of deformation. In an idealized setting, this is equal to LR=gH/f0L_R = \sqrt{gH}/f_0 It is a helpful parameter that can be used for the QG model of choice. For example, in [Le Guillou et al. (2021)], they used a Rossby radius of 30km for a 10×1010^\circ\times 10^\circ domain.

Case Studies

The most common case study I have seen for this would be applied to data assimilation. In particular, the QG model has been used to assimilate SSH satellite observations [Amraoui et al. (2023)].

In [Amraoui et al. (2023)], the authors did a free-run of the QG model for an assimilation task of 21 days. Their target area was over the North Atlantic (NA) domain. A slight change to the above formulation is that they used a forcing term as the constant wind forcing term outlined above. Note: They needed to do \sim10,000 spinup steps to get a good running simulation.

Below is an outline of the configuration.


Stacked QG Model

In this section, we will look at the formulation from the stacked QG model. The majority of this section comes from papers by [Thiry et al. (2022)Thiry et al. (2023)] with some inspiration from the Q-GCM numerical model.

In this case, we are similar to the generalized QG model outlined in equation (3). We will change the notation slightly. Let’s have a stacked set of PV and SF vectors denoted as q\vec{\boldsymbol{q}} and ψ\vec{\boldsymbol{\psi}} respectively. We consider the stream function and the potential vorticity to be NZN_Z stacked isopycnal layers. This is already outlined in equation (2) Now, we will write the stacked model in vector format as

tq+uq=BF+D\partial_t \vec{\boldsymbol{q}} + \vec{\boldsymbol{u}}\cdot\boldsymbol{\nabla} \vec{\boldsymbol{q}} = \mathbf{BF} + \mathbf{D}

where FF is a vector of forcing terms to be applied at each layer, kk, B\mathbf{B} is a matrix of interlayer height scaling factors and D\mathbf{D} is a vector of dissipation terms to be applied at each layer, kk. This is analogous to equation (3) but in vector format instead of a component-wise.

We can also define the PV equation in vectorized format (analogous to equation (6)) as

q=(2f02M)ψ+βy\vec{\boldsymbol{q}} = \left(\boldsymbol{\nabla}^2 - f_0^2\mathbf{M}\right)\psi + \beta y

Below, we will go over some key components of these two formulations.

Inter-Connected Layers

We define B\mathbf{B} as the matrix which connects the inter-layer interactions. This is a bi-diagonal matrix which only maps the corresponding layer kk and k1k-1.

B=[1H11H1001H11H21HN11HN101HN1HN]\mathbf{B} = \begin{bmatrix} \frac{1}{H_1} & \frac{-1}{H_1} & 0 & \ldots & \ldots \\ 0 & \frac{1}{H_1} & \frac{-1}{H_2} & \ldots & \ldots \\ \ldots & \ldots & \ldots & \ldots & \ldots \\ \ldots & \ldots & \frac{-1}{H_{N-1} } & \frac{1}{H_{N-1}} & 0 \\ \ldots & \ldots& \ldots & \frac{-1}{H_N} & \frac{1}{H_N} \\ \end{bmatrix}

We also have M\mathbf{M} as the matrix connecting the layers of the stream function

M=[1H1g11H1g21H2g11H1(1g1+1g2)1H2g21Hn1gn21Hn1(1gn2+1gn1)1Hn1gn21Hngn11Hngn1]\mathbf{M} = \begin{bmatrix} \frac{1}{H_1 g_1'} & \frac{-1}{H_1 g_2'} & \ldots & \ldots & \ldots \\ \frac{-1}{H_2 g_1'} & \frac{1}{H_1}\left(\frac{1}{g_1'} + \frac{1}{g_2'} \right) & \frac{-1}{H_2 g_2'} & \ldots & \ldots \\ \ldots & \ldots & \ldots & \ldots & \ldots \\ \ldots & \ldots & \frac{-1}{H_{n-1} g_{n-2}'} & \frac{1}{H_{n-1}}\left(\frac{1}{g_{n-2}'} + \frac{1}{g_{n-1}'} \right) & \frac{-1}{H_{n-1} g_{n-2}'} \\ \ldots & \ldots& \ldots & \frac{-1}{H_n g_{n-1}'} & \frac{1}{H_n g_{n-1}'} \\ \end{bmatrix}

This matrix is a tri-diagonal matrix as each layer, kk, within the stacked layers will influence or be influenced by the neighbours, k1,k+1k-1,k+1

Forcing

We have a forcing vector/matrix F\mathbf{F} which defines the forcing we apply at each layer. For example, the top layer could have wind forcing and/or atmospheric forcing. The bottom layer could have bottom friction due to the topography.

F=[F0,0,,0,FN]\mathbf{F} = \left[ F_0, 0, \ldots, 0, F_N\right]^\top

where we have the wind stress and the bottom friction. The wind forcing could be

F0=xτyyτxτ=τ0ρ0H1[cos(2πy/Ly),0]\begin{aligned} F_0 =& \partial_x\tau_y - \partial_y\tau_x \\ \vec{\boldsymbol{\tau}} =& \frac{\tau_0}{\rho_0 H_1} \left[ -\cos(2\pi y/L_y), 0\right]^\top \end{aligned}

and the bottom friction could be described as

FN=δek2HNψN\begin{aligned} F_N =& \frac{\delta_{ek}}{2H_N} \boldsymbol{\nabla}\psi_N \end{aligned}

where δek\delta_{ek} is the Ekman coefficient.

Dissipation

We have a very similar dissipation stategy as listed above in .... Here, we define this as

Viscosity:D1=a2Δ2ψHyperViscosity:D2=a4Δ3ψ\begin{aligned} \text{Viscosity}: && && D_1 &= a_2 \boldsymbol{\Delta}^2\psi \\ \text{HyperViscosity}: && && D_2 &= - a_4 \boldsymbol{\Delta}^3\psi \end{aligned}

Case Studies

Q-GCM

There is an open-source QG GCM model (Q-GCM) that is available. It has a coupled model for the atmosphere and ocean where the atmospheric component is a stacked QG model and the oceanic component is a stacked QG model. They describe in detail two configurations for the double-gyre (North Atlantic) and the southern ocean. We outline in detail their


Dissipation Studies

In the paper [Thiry et al., 2023], they were investigating the impact of implicit dissipation via numerical methods or explicit dissipation via a hyper-viscosity parameter. For their experiments, they use the stacked QG model that was listed above to do a canonical double gyre experiment.

tq+uHq=a2ΔH2ψa4ΔH3ψ+τ0ρ0H1[xτyyτx,0,0]δek2HNZ[0,,0,ΔψN]\partial_t \vec{\boldsymbol{q}} + \vec{\boldsymbol{u}}\cdot\boldsymbol{\nabla}_H \vec{\boldsymbol{q}} = a_2\boldsymbol{\Delta}_H^2\psi -a_4\boldsymbol{\Delta}_H^3\psi + \frac{\tau_0}{\rho_0H_1}\left[\partial_x\tau_y - \partial_y\tau_x, 0\cdots,0\right] - \frac{\delta_{ek}}{2H_{N_Z}} \left[0,\cdots,0,\Delta\psi_N\right]

Using this model, they modified the configuration of the spatial resolution and the hyper-viscosity which coincide with Eddy non-resolving, Eddy permitting, and Eddy resolving cases. They showcased how the numerical scheme they used was better than explicitly prescribing the dissipation.


Data Assimilation Benchmark

In [Laloyaux et al. (2020)], they were exploring the effectiveness of a data assimilation method (4DVar) when applied to observation data.

They used a simple 2-Layer QG model with the stream function ψk\psi_k and the potential vorticity, qkq_k, as shown in equation (29). In the equation, they don’t have any explicit forcing but they do mention some optional constant wind forcing.

They have a two layer system so their M-equation will be

M=[f02H1gf02H1gf02Hngf02Hng]\mathbf{M} = \begin{bmatrix} \frac{f_0^2}{H_1 g} & \frac{-f_0^2}{H_1 g} \\ \frac{-f_0^2}{H_n g} & \frac{f_0^2}{H_n g} \\ \end{bmatrix}

which is similar to equation (32) except they put the constant Coriolis parmater inside. In addition, they don’t have any reduced gravities, just a constant gravity for each term.

This was designed for speed, stability, and convenience instead of accuracy and conservation.

Important Quantities

Quasi-Geostrophic Equations

Geostrophic Wind:ug=1f0k^×ΨMomentum Equation:DgugDt=f0k^×ugβyk×ugContinuity Equation:xua+yva+pω=0Thermodynamic Equation:(t+ug)(pΨ)σω=κJpAuxillary Eqn. I:κ=RdcpAuxillary Eqn II:σ=RdT0plnθ0p\begin{aligned} \text{Geostrophic Wind}: && && \vec{\boldsymbol{u}}_g &= \frac{1}{f_0}\hat{\boldsymbol{k}} \times \nabla\Psi \\ \text{Momentum Equation}: && && \frac{D_g \vec{\boldsymbol{u}}_g}{D_t} &= - f_0\hat{\boldsymbol{k}}\times \vec{\boldsymbol{u}}_g - \beta y \vec{\boldsymbol{k}} \times \vec{\boldsymbol{u}}_g \\ \text{Continuity Equation}: && && \partial_x u_a &+ \partial_y v_a + \partial_p \omega = 0 \\ \text{Thermodynamic Equation}: && && \left(\partial_t + \vec{\boldsymbol{u}}_g \cdot \nabla\right) &\left( - \partial_p \Psi\right) - \sigma \omega = \frac{\kappa J}{p} \\ \text{Auxillary Eqn. I}: && && \kappa &= \frac{R_d}{c_p} \\ \text{Auxillary Eqn II}: && && \sigma &= - \frac{R_d T_0}{p}\frac{\ln \theta_0}{p} \end{aligned}

Source


Potential Vorticity

Barotropic PV:PV=ζg+fh,m1s1\begin{aligned} \text{Barotropic PV}: && && \text{PV} &= \frac{\zeta_g + f}{h}, && && \text{m}^{-1}\text{s}^{-1} \end{aligned}
Quasi-Geostrophic PV:q=1f02ψ+f+p(f0σpΨ)m1\begin{aligned} \text{Quasi-Geostrophic PV}: && && \text{q} &= \frac{1}{f_0}\nabla^2\psi + f + \partial_p \left(\frac{f_0}{\sigma}\partial_p \Psi\right) && && \text{m}^{-1} \end{aligned}

The first 2 terms in the equation is the absolute vorticity and the second term is the vertical stretching, i.e., the change in thickness with height.

Definitions

Barotropic: A barotropic fluid is a where a fluids density only depends on pressure.

ρ=ρ(s,t,p)\rho = \rho(s, t, p)

Baroclinic: A baroclinic fluid is where a fluids density depends on pressure and temperature.

ρ=ρ(s,t,p,T)\rho = \rho(s, t, p, T)
References
  1. Amraoui, S., Auroux, D., Blum, J., & Cosme, E. (2023). Back-and-forth nudging for the quasi-geostrophic ocean dynamics with altimetry: Theoretical convergence study and numerical experiments with the future SWOT observations. Discrete and Continuous Dynamical Systems - S, 16(2), 197–219. 10.3934/dcdss.2022058
  2. Frezat, H., Sommer, J. L., Fablet, R., Balarac, G., & Lguensat, R. (2022). A posteriori learning for quasi-geostrophic turbulence parametrization. 10.48550/ARXIV.2204.03911
  3. Srinivasan, K., Chekroun, M. D., & McWilliams, J. C. (2023). Turbulence closure with small, local neural networks: Forced two-dimensional and β-plane flows. arXiv. 10.48550/ARXIV.2304.05029
  4. Gupta, J. K., & Brandstetter, J. (2022). Towards Multi-spatiotemporal-scale Generalized PDE Modeling. arXiv. 10.48550/ARXIV.2209.15616
  5. Guan, Y., Subel, A., Chattopadhyay, A., & Hassanzadeh, P. (2023). Learning physics-constrained subgrid-scale closures in the small-data regime for stable and accurate LES. Physica D: Nonlinear Phenomena, 443, 133568. 10.1016/j.physd.2022.133568