1 |
\subsection{GMREDI: Gent-McWilliams/Redi SGS Eddy Parameterization} |
2 |
\label{sec:pkg:gmredi} |
3 |
\begin{rawhtml} |
4 |
<!-- CMIREDIR:gmredi: --> |
5 |
\end{rawhtml} |
6 |
|
7 |
There are two parts to the Redi/GM parameterization of geostrophic |
8 |
eddies. The first, the Redi scheme \citep{re82}, aims to mix tracer properties |
9 |
along isentropes (neutral surfaces) by means of a diffusion operator oriented |
10 |
along the local isentropic surface. |
11 |
The second part, GM \citep{gen-mcw:90,gen-eta:95}, adiabatically |
12 |
re-arranges tracers through an advective flux where the advecting flow |
13 |
is a function of slope of the isentropic surfaces. |
14 |
|
15 |
The first GCM implementation of the Redi scheme was by \cite{Cox87} in the |
16 |
GFDL ocean circulation model. The original approach failed to |
17 |
distinguish between isopycnals and surfaces of locally referenced |
18 |
potential density (now called neutral surfaces) which are proper |
19 |
isentropes for the ocean. As will be discussed later, it also appears |
20 |
that the Cox implementation is susceptible to a computational mode. |
21 |
Due to this mode, the Cox scheme requires a background lateral |
22 |
diffusion to be present to conserve the integrity of the model fields. |
23 |
|
24 |
The GM parameterization was then added to the GFDL code in the form of |
25 |
a non-divergent bolus velocity. The method defines two |
26 |
stream-functions expressed in terms of the isoneutral slopes subject |
27 |
to the boundary condition of zero value on upper and lower |
28 |
boundaries. The horizontal bolus velocities are then the vertical |
29 |
derivative of these functions. Here in lies a problem highlighted by |
30 |
\cite{gretal:98}: the bolus velocities involve multiple |
31 |
derivatives on the potential density field, which can consequently |
32 |
give rise to noise. Griffies et al. point out that the GM bolus fluxes |
33 |
can be identically written as a skew flux which involves fewer |
34 |
differential operators. Further, combining the skew flux formulation |
35 |
and Redi scheme, substantial cancellations take place to the point |
36 |
that the horizontal fluxes are unmodified from the lateral diffusion |
37 |
parameterization. |
38 |
|
39 |
\subsubsection{Redi scheme: Isopycnal diffusion} |
40 |
|
41 |
The Redi scheme diffuses tracers along isopycnals and introduces a |
42 |
term in the tendency (rhs) of such a tracer (here $\tau$) of the form: |
43 |
\begin{equation} |
44 |
\bf{\nabla} \cdot \kappa_\rho \bf{K}_{Redi} \bf{\nabla} \tau |
45 |
\end{equation} |
46 |
where $\kappa_\rho$ is the along isopycnal diffusivity and |
47 |
$\bf{K}_{Redi}$ is a rank 2 tensor that projects the gradient of |
48 |
$\tau$ onto the isopycnal surface. The unapproximated projection tensor is: |
49 |
\begin{equation} |
50 |
\bf{K}_{Redi} = \frac{1}{1 + |S|^2} \left( |
51 |
\begin{array}{ccc} |
52 |
1 + S_y^2& -S_x S_y & S_x \\ |
53 |
-S_x S_y & 1 + S_x^2 & S_y \\ |
54 |
S_x & S_y & |S|^2 \\ |
55 |
\end{array} |
56 |
\right) |
57 |
\end{equation} |
58 |
Here, $S_x = -\partial_x \sigma / \partial_z \sigma$ and $S_y = |
59 |
-\partial_y \sigma / \partial_z \sigma$ are the components of the |
60 |
isoneutral slope. |
61 |
|
62 |
The first point to note is that a typical slope in the ocean interior |
63 |
is small, say of the order $10^{-4}$. A maximum slope might be of |
64 |
order $10^{-2}$ and only exceeds such in unstratified regions where |
65 |
the slope is ill defined. It is therefore justifiable, and |
66 |
customary, to make the small slope approximation, $|S| << 1$. The Redi |
67 |
projection tensor then becomes: |
68 |
\begin{equation} |
69 |
\bf{K}_{Redi} = \left( |
70 |
\begin{array}{ccc} |
71 |
1 & 0 & S_x \\ |
72 |
0 & 1 & S_y \\ |
73 |
S_x & S_y & |S|^2 \\ |
74 |
\end{array} |
75 |
\right) |
76 |
\end{equation} |
77 |
|
78 |
|
79 |
\subsubsection{GM parameterization} |
80 |
|
81 |
The GM parameterization aims to represent the ``advective'' or |
82 |
``transport'' effect of geostrophic eddies by means of a ``bolus'' |
83 |
velocity, $\bf{u}^\star$. The divergence of this advective flux is added |
84 |
to the tracer tendency equation (on the rhs): |
85 |
\begin{equation} |
86 |
- \bf{\nabla} \cdot \tau \bf{u}^\star |
87 |
\end{equation} |
88 |
|
89 |
The bolus velocity $\bf{u}^\star$ is defined as the rotational of a |
90 |
streamfunction $\bf{F}^\star$=$(F_x^\star,F_y^\star,0)$: |
91 |
\begin{equation} |
92 |
\bf{u}^\star = \nabla \times \bf{F}^\star = |
93 |
\left( \begin{array}{c} |
94 |
- \partial_z F_y^\star \\ |
95 |
+ \partial_z F_x^\star \\ |
96 |
\partial_x F_y^\star - \partial_y F_x^\star |
97 |
\end{array} \right), |
98 |
\end{equation} |
99 |
and thus is automatically non-divergent. In the GM parameterization, the streamfunction is |
100 |
specified in terms of the isoneutral slopes $S_x$ and $S_y$: |
101 |
\begin{eqnarray} |
102 |
F_x^\star & = & -\kappa_{GM} S_y \\ |
103 |
F_y^\star & = & \kappa_{GM} S_x |
104 |
\end{eqnarray} |
105 |
with boundary conditions $F_x^\star=F_y^\star=0$ on upper and lower boundaries. |
106 |
In the end, the bolus transport in the GM parameterization is given by: |
107 |
\begin{equation} |
108 |
\bf{u}^\star = \left( |
109 |
\begin{array}{c} |
110 |
u^\star \\ |
111 |
v^\star \\ |
112 |
w^\star |
113 |
\end{array} |
114 |
\right) = \left( |
115 |
\begin{array}{c} |
116 |
- \partial_z (\kappa_{GM} S_x) \\ |
117 |
- \partial_z (\kappa_{GM} S_y) \\ |
118 |
\partial_x (\kappa_{GM} S_x) + \partial_y (\kappa_{GM} S_y) |
119 |
\end{array} |
120 |
\right) |
121 |
\end{equation} |
122 |
|
123 |
This is the form of the GM parameterization as applied by Donabasaglu, |
124 |
1997, in MOM versions 1 and 2. |
125 |
|
126 |
Note that in the MITgcm, the variables containing the GM bolus streamfunction are: |
127 |
\begin{equation} |
128 |
\left( |
129 |
\begin{array}{c} |
130 |
GM\_PsiX \\ |
131 |
GM\_PsiY |
132 |
\end{array} |
133 |
\right) = \left( |
134 |
\begin{array}{c} |
135 |
\kappa_{GM} S_x \\ |
136 |
\kappa_{GM} S_y |
137 |
\end{array} |
138 |
\right)= \left( |
139 |
\begin{array}{c} |
140 |
F_y^\star \\ |
141 |
-F_x^\star |
142 |
\end{array} |
143 |
\right). |
144 |
\end{equation} |
145 |
|
146 |
\subsubsection{Griffies Skew Flux} |
147 |
|
148 |
\cite{gr:98} notes that the discretisation of bolus velocities involves |
149 |
multiple layers of differencing and interpolation that potentially |
150 |
lead to noisy fields and computational modes. He pointed out that the |
151 |
bolus flux can be re-written in terms of a non-divergent flux and a |
152 |
skew-flux: |
153 |
\begin{eqnarray*} |
154 |
\bf{u}^\star \tau |
155 |
& = & |
156 |
\left( \begin{array}{c} |
157 |
- \partial_z ( \kappa_{GM} S_x ) \tau \\ |
158 |
- \partial_z ( \kappa_{GM} S_y ) \tau \\ |
159 |
(\partial_x \kappa_{GM} S_x + \partial_y \kappa_{GM} S_y)\tau |
160 |
\end{array} \right) |
161 |
\\ |
162 |
& = & |
163 |
\left( \begin{array}{c} |
164 |
- \partial_z ( \kappa_{GM} S_x \tau) \\ |
165 |
- \partial_z ( \kappa_{GM} S_y \tau) \\ |
166 |
\partial_x ( \kappa_{GM} S_x \tau) + \partial_y ( \kappa_{GM} S_y \tau) |
167 |
\end{array} \right) |
168 |
+ \left( \begin{array}{c} |
169 |
\kappa_{GM} S_x \partial_z \tau \\ |
170 |
\kappa_{GM} S_y \partial_z \tau \\ |
171 |
- \kappa_{GM} S_x \partial_x \tau - \kappa_{GM} S_y \partial_y \tau |
172 |
\end{array} \right) |
173 |
\end{eqnarray*} |
174 |
The first vector is non-divergent and thus has no effect on the tracer |
175 |
field and can be dropped. The remaining flux can be written: |
176 |
\begin{equation} |
177 |
\bf{u}^\star \tau = - \kappa_{GM} \bf{K}_{GM} \bf{\nabla} \tau |
178 |
\end{equation} |
179 |
where |
180 |
\begin{equation} |
181 |
\bf{K}_{GM} = |
182 |
\left( |
183 |
\begin{array}{ccc} |
184 |
0 & 0 & -S_x \\ |
185 |
0 & 0 & -S_y \\ |
186 |
S_x & S_y & 0 |
187 |
\end{array} |
188 |
\right) |
189 |
\end{equation} |
190 |
is an anti-symmetric tensor. |
191 |
|
192 |
This formulation of the GM parameterization involves fewer derivatives |
193 |
than the original and also involves only terms that already appear in |
194 |
the Redi mixing scheme. Indeed, a somewhat fortunate cancellation |
195 |
becomes apparent when we use the GM parameterization in conjunction |
196 |
with the Redi isoneutral mixing scheme: |
197 |
\begin{equation} |
198 |
\kappa_\rho \bf{K}_{Redi} \bf{\nabla} \tau |
199 |
- u^\star \tau = |
200 |
( \kappa_\rho \bf{K}_{Redi} + \kappa_{GM} \bf{K}_{GM} ) \bf{\nabla} \tau |
201 |
\end{equation} |
202 |
In the instance that $\kappa_{GM} = \kappa_{\rho}$ then |
203 |
\begin{equation} |
204 |
\kappa_\rho \bf{K}_{Redi} + \kappa_{GM} \bf{K}_{GM} = |
205 |
\kappa_\rho |
206 |
\left( \begin{array}{ccc} |
207 |
1 & 0 & 0 \\ |
208 |
0 & 1 & 0 \\ |
209 |
2 S_x & 2 S_y & |S|^2 |
210 |
\end{array} |
211 |
\right) |
212 |
\end{equation} |
213 |
which differs from the variable Laplacian diffusion tensor by only |
214 |
two non-zero elements in the $z$-row. |
215 |
|
216 |
\fbox{ \begin{minipage}{4.75in} |
217 |
{\em S/R GMREDI\_CALC\_TENSOR} ({\em pkg/gmredi/gmredi\_calc\_tensor.F}) |
218 |
|
219 |
$\sigma_x$: {\bf SlopeX} (argument on entry) |
220 |
|
221 |
$\sigma_y$: {\bf SlopeY} (argument on entry) |
222 |
|
223 |
$\sigma_z$: {\bf SlopeY} (argument) |
224 |
|
225 |
$S_x$: {\bf SlopeX} (argument on exit) |
226 |
|
227 |
$S_y$: {\bf SlopeY} (argument on exit) |
228 |
|
229 |
\end{minipage} } |
230 |
|
231 |
|
232 |
|
233 |
\subsubsection{Variable $\kappa_{GM}$} |
234 |
|
235 |
\cite{visbeck:97} suggest making the eddy coefficient, |
236 |
$\kappa_{GM}$, a function of the Eady growth rate, |
237 |
$|f|/\sqrt{Ri}$. The formula involves a non-dimensional constant, |
238 |
$\alpha$, and a length-scale $L$: |
239 |
\begin{displaymath} |
240 |
\kappa_{GM} = \alpha L^2 \overline{ \frac{|f|}{\sqrt{Ri}} }^z |
241 |
\end{displaymath} |
242 |
where the Eady growth rate has been depth averaged (indicated by the |
243 |
over-line). A local Richardson number is defined $Ri = N^2 / (\partial |
244 |
u/\partial z)^2$ which, when combined with thermal wind gives: |
245 |
\begin{displaymath} |
246 |
\frac{1}{Ri} = \frac{(\frac{\partial u}{\partial z})^2}{N^2} = |
247 |
\frac{ ( \frac{g}{f \rho_o} | {\bf \nabla} \sigma | )^2 }{N^2} = |
248 |
\frac{ M^4 }{ |f|^2 N^2 } |
249 |
\end{displaymath} |
250 |
where $M^2$ is defined $M^2 = \frac{g}{\rho_o} |{\bf \nabla} \sigma|$. |
251 |
Substituting into the formula for $\kappa_{GM}$ gives: |
252 |
\begin{displaymath} |
253 |
\kappa_{GM} = \alpha L^2 \overline{ \frac{M^2}{N} }^z = |
254 |
\alpha L^2 \overline{ \frac{M^2}{N^2} N }^z = |
255 |
\alpha L^2 \overline{ |S| N }^z |
256 |
\end{displaymath} |
257 |
|
258 |
|
259 |
\subsubsection{Tapering and stability} |
260 |
|
261 |
Experience with the GFDL model showed that the GM scheme has to be |
262 |
matched to the convective parameterization. This was originally |
263 |
expressed in connection with the introduction of the KPP boundary |
264 |
layer scheme \citep{lar-eta:94} but in fact, as subsequent experience |
265 |
with the MIT model has found, is necessary for any convective |
266 |
parameterization. |
267 |
|
268 |
\fbox{ \begin{minipage}{4.75in} |
269 |
{\em S/R GMREDI\_SLOPE\_LIMIT} ({\em |
270 |
pkg/gmredi/gmredi\_slope\_limit.F}) |
271 |
|
272 |
$\sigma_x, s_x$: {\bf SlopeX} (argument) |
273 |
|
274 |
$\sigma_y, s_y$: {\bf SlopeY} (argument) |
275 |
|
276 |
$\sigma_z$: {\bf dSigmadRReal} (argument) |
277 |
|
278 |
$z_\sigma^{*}$: {\bf dRdSigmaLtd} (argument) |
279 |
|
280 |
\end{minipage} } |
281 |
|
282 |
\begin{figure} |
283 |
\begin{center} |
284 |
\resizebox{5.0in}{3.0in}{\includegraphics{s_phys_pkgs/figs/tapers.eps}} |
285 |
\end{center} |
286 |
\caption{Taper functions used in GKW91 and DM95.} |
287 |
\label{fig:tapers} |
288 |
\end{figure} |
289 |
|
290 |
\begin{figure} |
291 |
\begin{center} |
292 |
\resizebox{5.0in}{3.0in}{\includegraphics{s_phys_pkgs/figs/effective_slopes.eps}} |
293 |
\end{center} |
294 |
\caption{Effective slope as a function of ``true'' slope using Cox |
295 |
slope clipping, GKW91 limiting and DM95 limiting.} |
296 |
\label{fig:effective_slopes} |
297 |
\end{figure} |
298 |
|
299 |
|
300 |
\subsubsection*{Slope clipping} |
301 |
|
302 |
Deep convection sites and the mixed layer are indicated by |
303 |
homogenized, unstable or nearly unstable stratification. The slopes in |
304 |
such regions can be either infinite, very large with a sign reversal |
305 |
or simply very large. From a numerical point of view, large slopes |
306 |
lead to large variations in the tensor elements (implying large bolus |
307 |
flow) and can be numerically unstable. This was first recognized by |
308 |
\cite{Cox87} who implemented ``slope clipping'' in the isopycnal mixing |
309 |
tensor. Here, the slope magnitude is simply restricted by an upper |
310 |
limit: |
311 |
\begin{eqnarray} |
312 |
|\nabla \sigma| & = & \sqrt{ \sigma_x^2 + \sigma_y^2 } \\ |
313 |
S_{lim} & = & - \frac{|\nabla \sigma|}{ S_{max} } |
314 |
\;\;\;\;\;\;\;\; \mbox{where $S_{max}$ is a parameter} \\ |
315 |
\sigma_z^\star & = & \min( \sigma_z , S_{lim} ) \\ |
316 |
{[s_x,s_y]} & = & - \frac{ [\sigma_x,\sigma_y] }{\sigma_z^\star} |
317 |
\end{eqnarray} |
318 |
Notice that this algorithm assumes stable stratification through the |
319 |
``min'' function. In the case where the fluid is well stratified ($\sigma_z < S_{lim}$) then the slopes evaluate to: |
320 |
\begin{equation} |
321 |
{[s_x,s_y]} = - \frac{ [\sigma_x,\sigma_y] }{\sigma_z} |
322 |
\end{equation} |
323 |
while in the limited regions ($\sigma_z > S_{lim}$) the slopes become: |
324 |
\begin{equation} |
325 |
{[s_x,s_y]} = \frac{ [\sigma_x,\sigma_y] }{|\nabla \sigma|/S_{max}} |
326 |
\end{equation} |
327 |
so that the slope magnitude is limited $\sqrt{s_x^2 + s_y^2} = |
328 |
S_{max}$. |
329 |
|
330 |
The slope clipping scheme is activated in the model by setting {\bf |
331 |
GM\_tap\-er\_scheme = 'clipping'} in {\em data.gmredi}. |
332 |
|
333 |
Even using slope clipping, it is normally the case that the vertical |
334 |
diffusion term (with coefficient $\kappa_\rho{\bf K}_{33} = |
335 |
\kappa_\rho S_{max}^2$) is large and must be time-stepped using an |
336 |
implicit procedure (see section on discretisation and code later). |
337 |
Fig. \ref{fig-mixedlayer} shows the mixed layer depth resulting from |
338 |
a) using the GM scheme with clipping and b) no GM scheme (horizontal |
339 |
diffusion). The classic result of dramatically reduced mixed layers is |
340 |
evident. Indeed, the deep convection sites to just one or two points |
341 |
each and are much shallower than we might prefer. This, it turns out, |
342 |
is due to the over zealous re-stratification due to the bolus transport |
343 |
parameterization. Limiting the slopes also breaks the adiabatic nature |
344 |
of the GM/Redi parameterization, re-introducing diabatic fluxes in |
345 |
regions where the limiting is in effect. |
346 |
|
347 |
\subsubsection*{Tapering: Gerdes, Koberle and Willebrand, Clim. Dyn. 1991} |
348 |
|
349 |
The tapering scheme used in \cite{gkw:91} |
350 |
addressed two issues with the clipping method: the introduction of |
351 |
large vertical fluxes in addition to convective adjustment fluxes is |
352 |
avoided by tapering the GM/Redi slopes back to zero in |
353 |
low-stratification regions; the adjustment of slopes is replaced by a |
354 |
tapering of the entire GM/Redi tensor. This means the direction of |
355 |
fluxes is unaffected as the amplitude is scaled. |
356 |
|
357 |
The scheme inserts a tapering function, $f_1(S)$, in front of the |
358 |
GM/Redi tensor: |
359 |
\begin{equation} |
360 |
f_1(S) = \min \left[ 1, \left( \frac{S_{max}}{|S|}\right)^2 \right] |
361 |
\end{equation} |
362 |
where $S_{max}$ is the maximum slope you want allowed. Where the |
363 |
slopes, $|S|<S_{max}$ then $f_1(S) = 1$ and the tensor is un-tapered |
364 |
but where $|S| \ge S_{max}$ then $f_1(S)$ scales down the tensor so |
365 |
that the effective vertical diffusivity term $\kappa f_1(S) |S|^2 = |
366 |
\kappa S_{max}^2$. |
367 |
|
368 |
The GKW91 tapering scheme is activated in the model by setting {\bf |
369 |
GM\_tap\-er\_scheme = 'gkw91'} in {\em data.gmredi}. |
370 |
|
371 |
\subsubsection*{Tapering: Danabasoglu and McWilliams, J. Clim. 1995} |
372 |
|
373 |
The tapering scheme used by \cite{dm:95} followed a similar procedure but used a different |
374 |
tapering function, $f_1(S)$: |
375 |
\begin{equation} |
376 |
f_1(S) = \frac{1}{2} \left( 1+\tanh \left[ \frac{S_c - |S|}{S_d} \right] \right) |
377 |
\end{equation} |
378 |
where $S_c = 0.004$ is a cut-off slope and $S_d=0.001$ is a scale over |
379 |
which the slopes are smoothly tapered. Functionally, the operates in |
380 |
the same way as the GKW91 scheme but has a substantially lower |
381 |
cut-off, turning off the GM/Redi SGS parameterization for weaker |
382 |
slopes. |
383 |
|
384 |
The DM95 tapering scheme is activated in the model by setting {\bf |
385 |
GM\_tap\-er\_scheme = 'dm95'} in {\em data.gmredi}. |
386 |
|
387 |
\subsubsection*{Tapering: Large, Danabasoglu and Doney, JPO 1997} |
388 |
|
389 |
The tapering used in \cite{lar-eta:97} is based on the |
390 |
DM95 tapering scheme, but also tapers the scheme with an additional |
391 |
function of height, $f_2(z)$, so that the GM/Redi SGS fluxes are |
392 |
reduced near the surface: |
393 |
\begin{equation} |
394 |
f_2(z) = \frac{1}{2} \left( 1 + \sin(\pi \frac{z}{D} - \frac{\pi}{2})\right) |
395 |
\end{equation} |
396 |
where $D = L_\rho |S|$ is a depth-scale and $L_\rho=c/f$ with |
397 |
$c=2$~m~s$^{-1}$. This tapering with height was introduced to fix |
398 |
some spurious interaction with the mixed-layer KPP parameterization. |
399 |
|
400 |
The LDD97 tapering scheme is activated in the model by setting {\bf |
401 |
GM\_tap\-er\_scheme = 'ldd97'} in {\em data.gmredi}. |
402 |
|
403 |
|
404 |
|
405 |
|
406 |
\begin{figure} |
407 |
\begin{center} |
408 |
%\includegraphics{mixedlayer-cox.eps} |
409 |
%\includegraphics{mixedlayer-diff.eps} |
410 |
Figure missing. |
411 |
\end{center} |
412 |
\caption{Mixed layer depth using GM parameterization with a) Cox slope |
413 |
clipping and for comparison b) using horizontal constant diffusion.} |
414 |
\label{fig-mixedlayer} |
415 |
\end{figure} |
416 |
|
417 |
\subsubsection{Package Reference} |
418 |
\label{sec:pkg:gmredi:diagnostics} |
419 |
|
420 |
{\footnotesize |
421 |
\begin{verbatim} |
422 |
------------------------------------------------------------------------ |
423 |
<-Name->|Levs|<-parsing code->|<-- Units -->|<- Tile (max=80c) |
424 |
------------------------------------------------------------------------ |
425 |
GM_VisbK| 1 |SM P M1 |m^2/s |Mixing coefficient from Visbeck etal parameterization |
426 |
GM_Kux | 15 |UU P 177MR |m^2/s |K_11 element (U.point, X.dir) of GM-Redi tensor |
427 |
GM_Kvy | 15 |VV P 176MR |m^2/s |K_22 element (V.point, Y.dir) of GM-Redi tensor |
428 |
GM_Kuz | 15 |UU 179MR |m^2/s |K_13 element (U.point, Z.dir) of GM-Redi tensor |
429 |
GM_Kvz | 15 |VV 178MR |m^2/s |K_23 element (V.point, Z.dir) of GM-Redi tensor |
430 |
GM_Kwx | 15 |UM 181LR |m^2/s |K_31 element (W.point, X.dir) of GM-Redi tensor |
431 |
GM_Kwy | 15 |VM 180LR |m^2/s |K_32 element (W.point, Y.dir) of GM-Redi tensor |
432 |
GM_Kwz | 15 |WM P LR |m^2/s |K_33 element (W.point, Z.dir) of GM-Redi tensor |
433 |
GM_PsiX | 15 |UU 184LR |m^2/s |GM Bolus transport stream-function : X component |
434 |
GM_PsiY | 15 |VV 183LR |m^2/s |GM Bolus transport stream-function : Y component |
435 |
GM_KuzTz| 15 |UU 186MR |degC.m^3/s |Redi Off-diagonal Tempetature flux: X component |
436 |
GM_KvzTz| 15 |VV 185MR |degC.m^3/s |Redi Off-diagonal Tempetature flux: Y component |
437 |
\end{verbatim} |
438 |
} |
439 |
|
440 |
\subsubsection{Experiments and tutorials that use gmredi} |
441 |
\label{sec:pkg:gmredi:experiments} |
442 |
|
443 |
\begin{itemize} |
444 |
\item{Global Ocean tutorial, in tutorial\_global\_oce\_latlon verification directory, |
445 |
described in section \ref{sec:eg-global} } |
446 |
\item{ Front Relax experiment, in front\_relax verification directory.} |
447 |
\item{ Ideal 2D Ocean experiment, in ideal\_2D\_oce verification directory.} |
448 |
\end{itemize} |
449 |
|
450 |
% DO NOT EDIT HERE |
451 |
|
452 |
|
453 |
|