/[MITgcm]/manual/s_examples/held_suarez_cs/held_suarez_cs.tex
ViewVC logotype

Contents of /manual/s_examples/held_suarez_cs/held_suarez_cs.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.10 - (show annotations) (download) (as text)
Mon Aug 30 23:09:20 2010 UTC (14 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint01, HEAD
Changes since 1.9: +36 -36 lines
File MIME type: application/x-tex
clean-up latex built:
 (remove multiple definition of label; fix missing reference; replace
  non-standard latex stuff; ...)

1 % $Header: /u/gcmpack/manual/s_examples/held_suarez_cs/held_suarez_cs.tex,v 1.9 2010/08/27 13:25:32 jmc Exp $
2 % $Name: $
3
4 \section[Held-Suarez Atmosphere MITgcm Example]{Held-Suarez atmospheric simulation
5 on cube-sphere grid with 32 square cube faces.}
6 %\label{www:tutorials}
7 \label{sec:eg-hs}
8 \begin{rawhtml}
9 <!-- CMIREDIR:eg-hs: -->
10 \end{rawhtml}
11 \begin{center}
12 (in directory: {\it verification/tutorial\_held\_suarez\_cs/})
13 \end{center}
14
15 \bodytext{bgcolor="#FFFFFFFF"}
16
17 %\begin{center}
18 %{\Large \bf Using MITgcm to Simulate Global Climatological Ocean Circulation
19 %At Four Degree Resolution with Asynchronous Time Stepping}
20 %
21 %\vspace*{4mm}
22 %
23 %\vspace*{3mm}
24 %{\large May 2001}
25 %\end{center}
26
27 This example illustrates the use of the MITgcm as an Atmospheric GCM,
28 using simple \cite{held-suar:94} forcing
29 to simulate Atmospheric Dynamics on global scale.
30 The set-up use the rescaled pressure coordinate ($p^*$)\cite[]{adcroft:04a}
31 in the vertical direction, with 20 equaly-spaced levels, and
32 the conformal cube-sphere grid (C32) \cite[]{adcroft:04b}.
33 The files for this experiment can be found in the verification directory
34 under tutorial\_held\_suarez\_cs.
35
36 \subsection{Overview}
37 %\label{www:tutorials}
38
39 This example demonstrates using the MITgcm to simulate
40 the planetary atmospheric circulation, with flat orography
41 and simplified forcing.
42 In particular, only dry air processes are considered and
43 radiation effects are represented by a simple newtownien cooling,
44 Thus this example does not rely on any particular atmospheric
45 physics package.
46 This kind of simplified atmospheric simulation has been widely
47 used in GFD-type experiments and in intercomparison projects of
48 AGCM dynamical cores \cite[]{held-suar:94}.
49
50 The horizontal grid is obtain from the projection of a uniform gridded cube
51 to the sphere. Each of the 6 faces has the same resolution, with
52 $32 \times 32$ grid points. The equator line coincide with a grid line
53 and crosses, right in the midle, 4 of the 6 faces, leaving 2 faces
54 for the Northern and Southern polar regions.
55 This curvilinear grid requires the use of the 2nd generation exchange
56 topology ({\it pkg/exch2}) to connect tile and face edges,
57 but without any limitation on the number of processors.
58
59 The use of the $p^*$ coordinate with 20 equally spaced levels
60 ($20 \times 50\,{\rm mb}$, from $p^*=1000,{\rm mb}$ to $0$ at the
61 top of the atmosphere) follows the choice of \cite{held-suar:94}.
62 Note that without topography, the $p^*$ coordinate and the normalized
63 pressure coordinate ($\sigma_p$) coincide exactly.
64 No viscosity and zero diffusion are used here, but
65 a $8^th$ order \cite{Shapiro_70} filter is applied to both momentum and
66 potential temperature, to remove selectively grid scale noise.
67 Apart from the horizontal grid, this experiment is made very similar to
68 the grid-point model case used in \cite{held-suar:94} study.
69
70 At this resolution, the configuration can be integrated forward
71 for many years on a single processor desktop computer.
72 \\
73
74 \subsection{Forcing}
75 %\label{www:tutorials}
76
77 The model is forced by relaxation to a radiative equilibrium temperature from
78 \cite{held-suar:94}.
79 A linear frictional drag (Rayleigh damping) is applied in the lower
80 part of the atmosphere and account from surface friction and momentum
81 dissipation in the boundary layer.
82 Altogether, this yields the following forcing
83 \cite[from][]{held-suar:94} that is applied to the fluid:
84
85 \begin{eqnarray}
86 \label{eq:eg-hs-global_forcing}
87 \label{eq:eg-hs-global_forcing_fv}
88 \vec{{\cal F}_\mathbf{v}} & = & -k_\mathbf{v}(p)\vec{\mathbf{v}}_h
89 \\
90 \label{eq:eg-hs-global_forcing_ft}
91 {\cal F}_{\theta} & = & -k_{\theta}(\varphi,p)[\theta-\theta_{eq}(\varphi,p)]
92 \end{eqnarray}
93
94 \noindent where $\vec{\cal F}_\mathbf{v}$, ${\cal F}_{\theta}$,
95 are the forcing terms in the zonal and meridional
96 momentum and in the potential temperature equations respectively.
97 The term $k_\mathbf{v}$ in equation (\ref{eq:eg-hs-global_forcing_fv}) applies a
98 Rayleigh damping that is active within the planetary boundary layer.
99 It is defined so as to decay as pressure decreases according to
100 \begin{eqnarray*}
101 \label{eq:eg-hs-define_kv}
102 k_\mathbf{v} & = & k_{f}~\max[0,~(p^*/P^{0}_{s}-\sigma_{b})/(1-\sigma_{b})]
103 \\
104 \sigma_{b} & = & 0.7 ~~{\rm and}~~
105 k_{f} = 1/86400 ~{\rm s}^{-1}
106 \end{eqnarray*}
107
108 where $p^*$ is the pressure level of the cell center
109 and $P^{0}_{s}$ is the pressure at the base of the atmospheric column,
110 which is constant and uniform here ($= 10^5 {\rm Pa}$), in the absence
111 of topography.
112
113 The Equilibrium temperature $\theta_{eq}$ and relaxation time scale $k_{\theta}$
114 are set to:
115 \begin{eqnarray}
116 \label{eq:eg-hs-define_Teq}
117 \theta_{eq}(\varphi,p^*) & = & \max \{ 200.K (P^{0}_{s}/p^*)^\kappa,\\
118 \nonumber
119 & & \hspace{8mm} 315.K - \Delta T_y~\sin^2(\varphi)
120 - \Delta \theta_z \cos^2(\varphi) \log(p^*/P^{0}_s) \}
121 \\
122 \label{eq:eg-hs-define_kT}
123 k_{\theta}(\varphi,p^*) & = &
124 k_a + (k_s -k_a)~\cos^4(\varphi)~\max[0,(p^*/P^{0}_{s}-\sigma_{b})/(1-\sigma_{b})]
125 \end{eqnarray}
126 with:
127 \begin{eqnarray*}
128 \Delta T_y = 60.K & k_a = 1/(40 \cdot 86400) ~{\rm s}^{-1}\\
129 \Delta \theta_z = 10.K & k_s = 1/(4 \cdot 86400) ~{\rm s}^{-1}
130 \end{eqnarray*}
131
132 Initial conditions correspond to a resting state with horizontally uniform
133 stratified fluid. The initial temperature profile is simply the
134 horizontally average of the radiative equilibrium temperature.
135
136 \subsection{Set-up description}
137 %\subsection{Discrete Numerical Configuration}
138 %\label{www:tutorials}
139
140 The model is configured in hydrostatic form, using non-boussinesq
141 $p^*$ coordinate.
142 The vertical resolution is uniform, $\Delta p^* = 50.10^2 Pa$,
143 with 20 levels, from $p^*=10^5 Pa$ to $0$ at the top.
144 The domain is discretised using C32 cube-sphere grid \cite[]{adcroft:04b}
145 that cover the whole sphere with a relatively uniform grid-spacing.
146 The resolution at the equator or along the Greenwitch meridian
147 is similar to the $128 \times 64$ equaly spaced longitude-latitude grid,
148 but requires $25\%$ less grid points.
149 Grid spacing and grid-point location are not computed by the model but
150 read from files.
151
152 The vector-invariant form of the momentum equation (see section
153 \ref{sec:vect-inv_momentum_equations}) is used so that no explicit
154 metrics are necessary.
155
156 Applying the vector-invariant discretization to the
157 atmospheric equations \ref{eq:atmos-prime}, and adding the
158 forcing term
159 (\ref{eq:eg-hs-global_forcing_fv}, \ref{eq:eg-hs-global_forcing_ft})
160 on the right-hand-side,
161 leads to the set of equations that are solved in this configuration:
162
163 %the The set of equations solved here is der
164 %Wind-stress forcing is added to the momentum equations for both
165 %the zonal flow, $u$ and the meridional flow $v$, according to equations
166 %(\ref{eq:eg-hs-global_forcing_fv}) and (\ref{eq:eg-hs-global_forcing_fv}).
167 %Thermodynamic forcing inputs are added to the equations for
168 %potential temperature, $\theta$, and salinity, $S$, according to equations
169 %(\ref{eq:eg-hs-global_forcing_ft}) and (\ref{eq:eg-hs-global_forcing_fs}).
170
171 \begin{eqnarray}
172 \label{eq:eg-hs-model_equations}
173 \frac{\partial \vec{\mathbf{v}}_h}{\partial t}
174 +(f + \zeta)\hat{\mathbf{k}} \times \vec{\mathbf{v}}_h
175 %+\mathbf{\nabla }_{p} ({\rm KE})
176 +\mathbf{\nabla }_{p} (\mbox{\sc ke})
177 + \omega \frac{\partial \vec{\mathbf{v}}_h }{\partial p}
178 +\mathbf{\nabla }_p \Phi ^{\prime }
179 &=&
180 % \vec{{\cal F}_v} =
181 -k_\mathbf{v}\vec{\mathbf{v}}_h
182 \\
183 \frac{\partial \Phi ^{\prime }}{\partial p}
184 +\frac{\partial \Pi }{\partial p}\theta ^{\prime } &=&0
185 \\
186 \mathbf{\nabla }_{p}\cdot \vec{\mathbf{v}}_h+\frac{\partial \omega }{
187 \partial p} &=&0
188 \\
189 \frac{\partial \theta }{\partial t}
190 + \mathbf{\nabla }_{p}\cdot (\theta \vec{\mathbf{v}}_h)
191 + \frac{\partial (\theta \omega)}{\partial p}
192 %= \frac{\mathcal{Q}}{\Pi }
193 &=& -k_{\theta}[\theta-\theta_{eq}]
194 \end{eqnarray}
195
196 %\begin{equation}
197 %\partial_t \vec{v} + ( 2\vec{\Omega} + \vec{\zeta}) \wedge \vec{v}
198 %- b \hat{r}
199 %+ \vec{\nabla} B = \vec{\nabla} \cdot \vec{\bf \tau}
200 %\end{equation}
201 %{\cal F}_{\theta} & = & -k_{\theta}(\varphi,p)[\theta-\theta_{eq}(\varphi,p)]
202
203 \noindent where $\vec{\mathbf{v}}_h$ and $\omega = \frac{Dp}{Dt}$
204 are the horizontal velocity vector and the vertical velocity in pressure coordinate,
205 $\zeta$ is the relative vorticity and $f$ the Coriolis parameter,
206 $\hat{\mathbf{k}}$ is the vertical unity vector,
207 {\sc ke} is the kinetic energy, $\Phi$ is the geopotential
208 and $\Pi$ the Exner function
209 ($\Pi = C_p (p/p_c)^\kappa ~{\rm with}~ p_c = 10^5 Pa$).
210 Variables marked with ' corresponds to anomaly from
211 the resting, uniformly stratified state.
212
213 As described in MITgcm Numerical Solution Procedure \ref{chap:discretization},
214 the continuity equation is integrated vertically, to give a prognostic
215 equation for the surface pressure $p_s$:
216 \begin{equation}
217 \frac{\partial p_s}{\partial t} + \nabla_{h}\cdot \int_{0}^{p_s} \vec{\mathbf{v}}_h dp
218 = 0
219 \end{equation}
220
221 The implicit free surface form of the pressure equation described in
222 \cite{marshall:97a} is employed to solve for $p_s$;
223 Integrating vertically the hydrostatic balance
224 gives the geopotential $\Phi'$ and allow to step forward the momentum equation
225 \ref{eq:eg-hs-model_equations}.
226 The potential temperature, $\theta$, is stepped forward using the
227 new velocity field ({\it staggered time-step}, section
228 \ref{sec:adams-bashforth-staggered}).
229 \\
230
231 \subsubsection{Numerical Stability Criteria}
232 %\label{www:tutorials}
233
234 \noindent The numerical stability for inertial oscillations
235 \cite{adcroft:95}
236
237 \begin{eqnarray}
238 \label{eq:eg-hs-inertial_stability}
239 S_{i} = f^{2} {\Delta t}^2
240 \end{eqnarray}
241
242 \noindent evaluates to $4.\times10^{-3}$ at the poles,
243 for $f=2\Omega\sin(\pi / 2) =1.45\times10^{-4}~{\rm s}^{-1}$,
244 which is well below the $S_{i} < 1$ upper limit for stability.
245 \\
246
247 \noindent The advective CFL \cite{adcroft:95}
248 for a extreme maximum horizontal flow speed of $ | \vec{u} | = 90. {\rm m/s}$~
249 and the smallest horizontal grid spacing $ \Delta x = 1.1\times10^5 {\rm m}$~:
250
251 \begin{eqnarray}
252 \label{eq:eg-hs-cfl_stability}
253 S_{a} = \frac{| \vec{u} | \Delta t}{ \Delta x}
254 \end{eqnarray}
255
256 \noindent evaluates to $0.37$, which is close to the stability
257 limit of 0.5.
258 \\
259
260 \noindent The stability parameter for internal gravity waves propagating
261 with a maximum speed of $c_{g}=100~{\rm m/s}$
262 \cite{adcroft:95}
263
264 \begin{eqnarray}
265 \label{eq:eg-hs-gfl_stability}
266 S_{c} = \frac{c_{g} \Delta t}{ \Delta x}
267 \end{eqnarray}
268
269 \noindent evaluates to $4 \times 10^{-1}$. This is close to the linear
270 stability limit of 0.5.
271
272 \subsection{Experiment Configuration}
273 %\label{www:tutorials}
274 \label{sec:eg-hs_examp_exp_config}
275
276 The model configuration for this experiment resides under the
277 directory {\it verification/tutorial\_held\_suarez\_cs}. The experiment files
278 \begin{itemize}
279 \item {\it input/data}
280 \item {\it input/data.pkg}
281 \item {\it input/eedata},
282 \item {\it input/data.shap},
283 \item {\it code/packages.conf},
284 \item {\it code/CPP\_OPTIONS.h},
285 \item {\it code/SIZE.h},
286 \item {\it code/DIAGNOSTICS\_SIZE.h},
287 \item {\it code/external\_forcing.F},
288 \end{itemize}
289 contain the code customizations and parameter settings for these
290 experiments. Below we describe the customizations
291 to these files associated with this experiment.
292
293 \subsubsection{File {\it input/data}}
294 %\label{www:tutorials}
295
296 \input{s_examples/held_suarez_cs/inp_data}
297
298 \subsubsection{File {\it input/data.pkg}}
299 %\label{www:tutorials}
300
301 \input{s_examples/held_suarez_cs/inp_data.pkg}
302
303 \subsubsection{File {\it input/eedata}}
304 %\label{www:tutorials}
305
306 This file uses standard default values except line 6:
307 \begin{verbatim}
308 useCubedSphereExchange=.TRUE.,
309 \end{verbatim}
310 This line selects the cubed-sphere specific exchanges to
311 to connect tiles and faces edges.
312
313 \subsubsection{File {\it input/data.shap}}
314 %\label{www:tutorials}
315
316 \input{s_examples/held_suarez_cs/inp_data.shap}
317
318 \subsubsection{File {\it code/SIZE.h}}
319 %\label{www:tutorials}
320
321 Four lines are customized in this file for the current experiment
322
323 \begin{itemize}
324
325 \item Line 39,
326 \begin{verbatim} sNx=32, \end{verbatim}
327 sets the lateral domain extent in grid points along the x-direction,
328 for 1 face.
329
330 \item Line 40,
331 \begin{verbatim} sNy=32, \end{verbatim}
332 sets the lateral domain extent in grid points along the y-direction,
333 for 1 face.
334
335 \item Line 43,
336 \begin{verbatim} nSx=6, \end{verbatim}
337 sets the number of tiles in the x-direction, for the model domain
338 decomposition. In this simple case (one processor and 1 tile per
339 face), this number corresponds to the total number of faces.
340
341 \item Line 49,
342 \begin{verbatim} Nr=20, \end{verbatim}
343 sets the vertical domain extent in grid points.
344
345 \end{itemize}
346
347 %\begin{small}
348 %\input{s_examples/held_suarez_cs/code/SIZE.h}
349 %\end{small}
350
351 \subsubsection{File {\it code/packages.conf}}
352 %\label{www:tutorials}
353
354 \input{s_examples/held_suarez_cs/cod_packages.conf}
355
356 \subsubsection{File {\it code/CPP\_OPTIONS.h}}
357 %\label{www:tutorials}
358
359 This file uses standard default except for Line 40\\
360 ({\it diff CPP\_OPTIONS.h ../../../model/inc}):
361 \begin{verbatim}
362 #define NONLIN_FRSURF
363 \end{verbatim}
364 This line allow to use the non-linear free-surface part of the code,
365 which is required for the $p^*$ coordinate formulation.
366
367 \subsubsection{Other Files }
368 %\label{www:tutorials}
369
370 Other files relevant to this experiment are
371 \begin{itemize}
372 \item {\it code/external\_forcing.F}
373 \item {\it input/grid\_cs32.face00[n].bin}, with $n=1,2,3,4,5,6$
374 \end{itemize}
375 contain the code customisations and binary input files for this
376 experiments. Below we describe the customisations
377 to these files associated with this experiment.\\
378
379 The file {\it code/external\_forcing.F} contains 4 subroutines
380 that calculate the forcing terms (Right-Hand side term) in the
381 momentum equation (\ref{eq:eg-hs-global_forcing_fv},
382 {\it S/R EXTERNAL\_FORCING\_U} and {\it EXTERNAL\_FORCING\_V})
383 and in the potential temperature equation
384 (\ref{eq:eg-hs-global_forcing_ft}, {\it S/R EXTERNAL\_FORCING\_T}).
385 The water-vapour forcing subroutine ({\it S/R EXTERNAL\_FORCING\_S})
386 is left empty for this experiment.\\
387
388 The grid-files {\it input/grid\_cs32.face00[n].bin}, with $n=1,2,3,4,5,6$,
389 are binary files (direct-access, big-endian 64.bits real) that
390 contains all the cubed-sphere grid lengths, areas and grid-point
391 positions, with one file per face.
392 Each file contains 18 2-D arrays (dimension $33 \times 33$) that correspond
393 to the model variables:
394 {\it
395 XC YC DXF DYF RA XG YG DXV DYU RAZ DXC DYC RAW RAS DXG DYG AngleCS AngleSN
396 }
397 (see {\it GRID.h} file)
398

  ViewVC Help
Powered by ViewVC 1.1.22