# Title: Geostrophic adjustment on a beta-plane
#
# Description:
#
# Same as before but a beta-plane, $f = f_0 + \beta y$ is used and
# the advection terms are included in the momentum equation. No
# explicit dissipation is added. As in {\cite{dupont}} we chose $\beta
# = 1.607 \times 10^{- 11}$ m$^{- 1}$s$^{- 1}$. The geostrophic eddy
# moves slowly westward through the emission of Rossby waves and
# southward due to the non-linear advection term. The resulting
# evolution of the total energy is shown on figure \ref{energy}. For
# our method, the slow decrease in the total energy is due both to the
# dissipation of potential energy induced by the approximate
# projection operator and to the dissipative properties of the BCG
# upwind advection scheme. Another run with the advection terms
# switched off (figure \ref{energy}, green curve) confirms that the
# dissipation induced by the approximate projection operator dominates
# the total dissipation. The results however compare favourably with
# the finite-element formulations tested by Dupont which all show
# significantly larger energy dissipation.
#
# \begin{figure}[htbp]
# \caption{\label{energy}Evolution
# of the total energy for the non-linear geostrophic adjustment problem. The
# C-grid model is based on Sadourny {\cite{}} and implemented by Dupont
# {\cite{dupont}}. The finite-element formulations are those studied by Dupont. LW:
# Lynch and Werner {\cite{lynch87}}, LLS: Le Roux et al {\cite{leroux98}}, PZM: Peraire et al
# {\cite{peraire86}}.}
# \begin{center}
# \includegraphics[width=\hsize]{energy.eps}
# \end{center}
# \end{figure}
#
# Author: St\'ephane Popinet
# Command: sh beta.sh beta.gfs
# Version: 100323
# Required files: beta.sh c dlw lls pzm llw energy.ref energy-nonlinear.ref
# Running time: 3 minutes
# Generated files: energy.eps
#
1 0 GfsOcean GfsBox GfsGEdge {} {
# dt = 1000 s
Time { iend = 1580 dtmax = 0.10285 }
Refine 6
# Lx = Ly = 1000 km
# H0 = 1000 m
# g = 0.01 m/s^2
PhysicalParams { g = 9.4534734306584e-4 }
ApproxProjectionParams { tolerance = 1e-6 }
Solid (z + 1.)
Init {} {
# e-folding radius = 100 km
# umax = 0.5 m/s = sqrt(200)*exp(-1/2)
U = (5.667583815e-4*200.*y*exp (-100.*(x*x + y*y)))
V = (- 5.667583815e-4*200.*x*exp (-100.*(x*x + y*y)))
P = (5.667583815e-4*exp (-100.*(x*x + y*y)))
}
# f0 = 1.0285e-4 s-1
# beta = 1.607e-11 m-1s-1
SourceCoriolis (1. + 0.156246961595*(y + 0.5))
OutputScalarSum { istep = 150 } {
awk '{print $3/1.0285e-4/3600./24. " " $5/9.683940e-11}' > energy
} { v = (Velocity2 + P*P/9.4534734306584e-4) }
}
GfsBox {
front = Boundary
}