Double-gyre wind-driven circulation

TransiFlow also implements the idealized barotropic quasi-geostrophic (QG) model of the double-gyre (DG) wind-driven circulation.

Governing Equations

Consider a rectangular ocean basin of size $L \times L \times D$ situated on a midlatitube $\beta$-plane with central latitude $\theta_0 = 45^\circ \mathrm{N}$ and Coriolis parameter $f_0=2 \Omega \sin{\theta_0}$, where $\Omega$ is the rotation rate of the Earth. The flow is forced at the surface through a wind-stress vector $(\tau^x(x, y), \tau^y(x, y))$. Flows in the basin are governed by the barotropic vorticity equation (with the streamfunction $\psi$ and the vertical component of the vorticity $\zeta$) is

\[\begin{split}\left(\frac{\partial}{\partial t} + \frac{\partial \psi}{\partial x} \frac{\partial}{\partial y} - \frac{\partial \psi}{\partial y} \frac{\partial}{\partial x}\right) (\zeta - \lambda_0 \psi) + \beta_0 \frac{\partial \psi}{\partial x} &= \frac{1}{\rho D} \left(\frac{\partial \tau^y}{\partial x} - \frac{\partial \tau^x}{\partial y}\right) - \epsilon_0 \zeta + A_H \nabla^2 \zeta\\ \zeta &= \nabla^2 \psi\end{split}\]

with boundary conditions

\[\begin{split}x &= 0, L &:~& \psi = \frac{\partial \psi}{\partial x} = 0\\ y &= 0, L &:~& \psi = \zeta = 0\end{split}\]

where $\epsilon_0$ is a damping coefficient, $\lambda_0 = f_0^2 / (g D)$ and $A_H$ is the lateral friction coefficient.

Nondimensional formulation

The above equations can be non-dimensionalized as

\[\begin{split}\left(\frac{\partial}{\partial \tilde t} + \tilde u \frac{\partial}{\partial \tilde x} + \tilde v \frac{\partial}{\partial \tilde y}\right) (\tilde \zeta - F \tilde \psi) + \beta \frac{\partial \tilde \psi}{\partial \tilde x} &= \alpha \left(\frac{\partial \tilde \tau^y}{\partial \tilde x} - \frac{\partial \tilde \tau^x}{\partial \tilde y}\right) - r_0 \tilde \zeta + \frac{1}{\mathrm{Re}} \tilde \nabla^2 \tilde \zeta\\ \tilde \zeta &= \tilde \nabla^2 \tilde \psi\end{split}\]

with boundary conditions

\[\begin{split}\tilde x &= 0, 1 &:~& \tilde \psi = \frac{\partial \tilde \psi}{\partial \tilde x} = 0\\ \tilde y &= 0, 1 &:~& \tilde \psi = \tilde \zeta = 0\end{split}\]

Here $x$, and $y$ are scaled by $L$, $\psi = \tilde \psi U L$, $\zeta = \tilde \zeta U / L$, $t = \tilde t L / U$, $\tau = \tilde \tau \tau_0$. Moreover, $u = -\partial \psi / \partial y = -U \partial \tilde \psi / \partial \tilde y = \tilde u U$ and $v = \partial \psi / \partial x = U \partial \tilde \psi / \partial \tilde x = \tilde v U$. We also define the parameters

\[Re = \frac{U L}{A_H} ~;~ r_0 = \frac{\epsilon_0 L}{U} ~;~ \beta = \frac{\beta_0 L^2}{U} ~;~ \alpha = \frac{\tau_0 L}{\rho D U^2} ~;~ F = \frac{f^2_0 L^2}{g D}\]

The wind-stress forcing is prescribed as

\[\begin{split}\tilde \tau^x(\tilde x, \tilde y) &= \frac{-1}{2 \pi} \cos{(2 \pi \tilde y)}\\ \tilde \tau^y(\tilde x, \tilde y) &= 0\end{split}\]

All other quantities are defined in Symbols.

Velocity-pressure formulation

Taking $F = r_0 = 0$, the equations we implement in TransiFlow are formulated using the velocity $\mathbf{u} = (u, v)$ and pressure $p$ as follows

\[\begin{split}\frac{\partial \tilde{\mathbf{u}}}{\partial \tilde t} + \tilde{\mathbf{u}} \cdot \tilde \nabla \tilde{\mathbf{u}} + \beta e_z \times \tilde{\mathbf{u}} &= \alpha \left(\frac{\partial \tilde \tau^y}{\partial \tilde x} - \frac{\partial \tilde \tau^x}{\partial \tilde y}\right) - \tilde \nabla p + \frac{1}{\mathrm{Re}} \tilde \nabla^2 \tilde{\mathbf{u}}\\ \tilde \nabla \cdot \tilde{\mathbf{u}} &= 0\end{split}\]

with boundary conditions

\[\begin{split}\tilde x &= 0, 1 &:~& \tilde u = \tilde v = 0\\ \tilde y &= 0, 1 &:~& \frac{\partial \tilde u}{\partial \tilde y} = 0, \tilde v = 0\end{split}\]

Parameters

These are the relevant parameters in the parameters dictionary for this problem type.

Parameter name

Default value

Notes

'Problem Type'

Set to 'Double Gyre'

'Asymmetry Parameter'

0.0

Used to get switch branches

'Reynolds Number'

1.0

'Rossby Parameter'

0.0

$\beta$

'Wind Stress Parameter'

0.0

$\alpha$