1 |
mlosch |
1.1 |
% $Header: |
2 |
|
|
% $Name: |
3 |
|
|
|
4 |
edhill |
1.4 |
\section[P coordinate Global Ocean MITgcm Example]{Global Ocean Simulation at $4^\circ$ Resolution in Pressure |
5 |
mlosch |
1.1 |
Coordinates} |
6 |
|
|
\label{www:tutorials} |
7 |
|
|
\label{sect:eg-globalpressure} |
8 |
edhill |
1.3 |
\begin{rawhtml} |
9 |
|
|
<!-- CMIREDIR:eg-globalpressure: --> |
10 |
|
|
\end{rawhtml} |
11 |
jmc |
1.7 |
\begin{center} |
12 |
|
|
(in directory: {\it verification/tutorial\_global\_oce\_in\_p/}) |
13 |
|
|
\end{center} |
14 |
mlosch |
1.1 |
|
15 |
|
|
\bodytext{bgcolor="#FFFFFFFF"} |
16 |
|
|
|
17 |
|
|
This example experiment demonstrates using the MITgcm to simulate the |
18 |
|
|
planetary ocean circulation in pressure coordinates, that is, without |
19 |
molod |
1.5 |
making the Boussinesq approximations. The files for this experiment |
20 |
|
|
can be found in the verification directory under tutorial\_global\_oce\_in\_p. |
21 |
|
|
The simulation is configured |
22 |
mlosch |
1.1 |
with realistic geography and bathymetry on a $4^{\circ} \times |
23 |
|
|
4^{\circ}$ spherical polar grid. Fifteen levels are used in the |
24 |
|
|
vertical, ranging in thickness from |
25 |
|
|
$50.4089\mbox{\,dbar}\approx50\mbox{\,m}$ at the surface to |
26 |
|
|
$710.33\mbox{\,dbar}\approx690\mbox{\,m}$ at depth, giving a maximum |
27 |
|
|
model depth of $5302.3122\mbox{\,dbar}\approx5200\mbox{\,km}$. At |
28 |
|
|
this resolution, the configuration can be integrated forward for |
29 |
|
|
thousands of years on a single processor desktop computer. |
30 |
|
|
|
31 |
|
|
|
32 |
|
|
\subsection{Overview} |
33 |
|
|
\label{www:tutorials} |
34 |
|
|
|
35 |
|
|
The model is forced with climatological wind stress data from |
36 |
|
|
Trenberth \cite{trenberth90} and surface flux data from Jiang et~al.\ |
37 |
|
|
\cite{jiang99}. Climatological data from Levitus \cite{Levitus94} is |
38 |
|
|
used to initialize the model hydrography. Levitus seasonal |
39 |
|
|
climatology data is also used throughout the calculation to provide |
40 |
|
|
additional air-sea fluxes. These fluxes are combined with the Jiang |
41 |
|
|
climatological estimates of surface heat flux, resulting in a mixed |
42 |
|
|
boundary condition of the style described in Haney \cite{Haney}. |
43 |
|
|
Altogether, this yields the following forcing applied in the model |
44 |
|
|
surface layer. |
45 |
|
|
|
46 |
|
|
\begin{eqnarray} |
47 |
|
|
\label{EQ:eg-global_forcing_pcoord} |
48 |
|
|
\label{EQ:eg-global_forcing_fu_pcoord} |
49 |
|
|
{\cal F}_{u} & = & g\frac{\tau_{x}}{\Delta p_{s}} |
50 |
|
|
\\ |
51 |
|
|
\label{EQ:eg-global_forcing_fv_pcoord} |
52 |
|
|
{\cal F}_{v} & = & g\frac{\tau_{y}}{\Delta p_{s}} |
53 |
|
|
\\ |
54 |
|
|
\label{EQ:eg-global_forcing_ft_pcoord} |
55 |
|
|
{\cal F}_{\theta} & = & - g\lambda_{\theta} ( \theta - \theta^{\ast} ) |
56 |
|
|
- \frac{1}{C_{p} \Delta p_{s}}{\cal Q} |
57 |
|
|
\\ |
58 |
|
|
\label{EQ:eg-global_forcing_fs_pcoord} |
59 |
|
|
{\cal F}_{s} & = & |
60 |
|
|
+ g\rho_{FW}\frac{S}{\rho\Delta p_{s}}({\cal E} - {\cal P} - {\cal R}) |
61 |
|
|
\end{eqnarray} |
62 |
|
|
|
63 |
|
|
\noindent where ${\cal F}_{u}$, ${\cal F}_{v}$, ${\cal F}_{\theta}$, |
64 |
|
|
${\cal F}_{s}$ are the forcing terms in the zonal and meridional |
65 |
|
|
momentum and in the potential temperature and salinity equations |
66 |
|
|
respectively. The term $\Delta p_{s}$ represents the top ocean layer |
67 |
|
|
thickness in Pa. It is used in conjunction with a reference density, |
68 |
|
|
$\rho_{FW}$ (here set to $999.8\,{\rm kg\,m^{-3}}$), the surface |
69 |
|
|
salinity, $S$, and a specific heat capacity, $C_{p}$ (here set to |
70 |
|
|
$4000~{\rm J}~^{\circ}{\rm C}^{-1}~{\rm kg}^{-1}$), to convert input |
71 |
|
|
dataset values into time tendencies of potential temperature (with |
72 |
|
|
units of $^{\circ}{\rm C}~{\rm s}^{-1}$), salinity (with units ${\rm |
73 |
|
|
ppt}~s^{-1}$) and velocity (with units ${\rm m}~{\rm s}^{-2}$). The |
74 |
|
|
externally supplied forcing fields used in this experiment are |
75 |
|
|
$\tau_{x}$, $\tau_{y}$, $\theta^{\ast}$, $\cal{Q}$ and |
76 |
|
|
$\cal{E}-\cal{P}-\cal{R}$. The wind stress fields ($\tau_x$, $\tau_y$) |
77 |
|
|
have units of ${\rm N}~{\rm m}^{-2}$. The temperature forcing fields |
78 |
|
|
($\theta^{\ast}$ and $Q$) have units of $^{\circ}{\rm C}$ and ${\rm |
79 |
|
|
W}~{\rm m}^{-2}$ respectively. The salinity forcing fields |
80 |
|
|
($\cal{E}-\cal{P}-\cal{R}$) has units of ${\rm m}~{\rm s}^{-1}$ |
81 |
|
|
respectively. The source files and procedures for ingesting these data |
82 |
|
|
into the simulation are described in the experiment configuration |
83 |
|
|
discussion in section \ref{SEC:eg-global-clim_ocn_examp_exp_config}. |
84 |
|
|
|
85 |
|
|
|
86 |
|
|
\subsection{Discrete Numerical Configuration} |
87 |
|
|
\label{www:tutorials} |
88 |
|
|
|
89 |
|
|
|
90 |
|
|
Due to the pressure coordinate, the model can only be hydrostatic |
91 |
|
|
\cite{szoeke02}. The domain is discretized with a uniform grid |
92 |
|
|
spacing in latitude and longitude on the sphere $\Delta \phi=\Delta |
93 |
|
|
\lambda=4^{\circ}$, so that there are ninety grid cells in the zonal |
94 |
|
|
and forty in the meridional direction. The internal model coordinate |
95 |
|
|
variables $x$ and $y$ are initialized according to |
96 |
|
|
\begin{eqnarray} |
97 |
|
|
x=r\cos(\phi),~\Delta x & = &r\cos(\Delta \phi) \\ |
98 |
|
|
y=r\lambda,~\Delta y &= &r\Delta \lambda |
99 |
|
|
\end{eqnarray} |
100 |
|
|
|
101 |
|
|
Arctic polar regions are not included in this experiment. Meridionally |
102 |
|
|
the model extends from $80^{\circ}{\rm S}$ to $80^{\circ}{\rm N}$. |
103 |
|
|
Vertically the model is configured with fifteen layers with the |
104 |
|
|
following thicknesses % |
105 |
|
|
\begin{eqnarray*} |
106 |
|
|
\Delta p_{1} &=& 7103300.720021\mbox{\,Pa},\\ |
107 |
|
|
\Delta p_{2} &=& 6570548.440790\mbox{\,Pa},\\ |
108 |
|
|
\Delta p_{3} &=& 6041670.010249\mbox{\,Pa},\\ |
109 |
|
|
\Delta p_{4} &=& 5516436.666057\mbox{\,Pa},\\ |
110 |
|
|
\Delta p_{5} &=& 4994602.034410\mbox{\,Pa},\\ |
111 |
|
|
\Delta p_{6} &=& 4475903.435290\mbox{\,Pa},\\ |
112 |
|
|
\Delta p_{7} &=& 3960063.245801\mbox{\,Pa},\\ |
113 |
|
|
\Delta p_{8} &=& 3446790.312651\mbox{\,Pa},\\ |
114 |
|
|
\Delta p_{9} &=& 2935781.405664\mbox{\,Pa},\\ |
115 |
|
|
\Delta p_{10}&=& 2426722.705046\mbox{\,Pa},\\ |
116 |
|
|
\Delta p_{11}&=& 1919291.315988\mbox{\,Pa},\\ |
117 |
|
|
\Delta p_{12}&=& 1413156.804970\mbox{\,Pa},\\ |
118 |
|
|
\Delta p_{13}&=& 1008846.750166\mbox{\,Pa},\\ |
119 |
|
|
\Delta p_{14}&=& 705919.025481\mbox{\,Pa},\\ |
120 |
|
|
\Delta p_{15}&=& 504089.693499\mbox{\,Pa}, |
121 |
|
|
\end{eqnarray*} |
122 |
|
|
(here the numeric subscript indicates the model level index number, |
123 |
|
|
${\tt k}$; note, that the surface layer has the highest index number 15) to |
124 |
|
|
give a total depth, $H$, of $-5200{\rm m}$. In pressure, this is |
125 |
|
|
$p_{b}^{0}=53023122.566084\mbox{\,Pa}$. |
126 |
|
|
The implicit free surface form of the pressure equation described in |
127 |
|
|
Marshall et al. \cite{marshall:97a} with the nonlinear extension by |
128 |
|
|
Campin et al. \cite{campin:02} is employed. A Laplacian operator, $\nabla^2$, provides viscous |
129 |
|
|
dissipation. Thermal and haline diffusion is also represented by a Laplacian operator. |
130 |
|
|
|
131 |
|
|
Wind-stress forcing is added to the momentum equations in (\ref{EQ:eg-global-model_equations_pcoord}) |
132 |
|
|
for both the zonal flow, $u$ and the meridional flow $v$, according to equations |
133 |
|
|
(\ref{EQ:eg-global_forcing_fu_pcoord}) and (\ref{EQ:eg-global_forcing_fv_pcoord}). |
134 |
|
|
Thermodynamic forcing inputs are added to the equations |
135 |
|
|
in (\ref{EQ:eg-global-model_equations_pcoord}) for |
136 |
|
|
potential temperature, $\theta$, and salinity, $S$, according to equations |
137 |
|
|
(\ref{EQ:eg-global_forcing_ft_pcoord}) and (\ref{EQ:eg-global_forcing_fs_pcoord}). |
138 |
|
|
This produces a set of equations solved in this configuration as follows: |
139 |
|
|
|
140 |
|
|
\begin{eqnarray} |
141 |
|
|
\label{EQ:eg-global-model_equations_pcoord} |
142 |
|
|
\frac{Du}{Dt} - fv + |
143 |
|
|
\frac{1}{\rho}\frac{\partial \Phi^{'}}{\partial x} - |
144 |
|
|
\nabla_{h}\cdot A_{h}\nabla_{h}u - |
145 |
|
|
(g\rho_0)^2\frac{\partial}{\partial p}A_{r}\frac{\partial u}{\partial p} |
146 |
|
|
& = & |
147 |
|
|
\begin{cases} |
148 |
|
|
{\cal F}_u & \text{(surface)} \\ |
149 |
|
|
0 & \text{(interior)} |
150 |
|
|
\end{cases} |
151 |
|
|
\\ |
152 |
|
|
\frac{Dv}{Dt} + fu + |
153 |
|
|
\frac{1}{\rho}\frac{\partial \Phi^{'}}{\partial y} - |
154 |
|
|
\nabla_{h}\cdot A_{h}\nabla_{h}v - |
155 |
|
|
(g\rho_0)^2\frac{\partial}{\partial p}A_{r}\frac{\partial v}{\partial p} |
156 |
|
|
& = & |
157 |
|
|
\begin{cases} |
158 |
|
|
{\cal F}_v & \text{(surface)} \\ |
159 |
|
|
0 & \text{(interior)} |
160 |
|
|
\end{cases} |
161 |
|
|
\\ |
162 |
|
|
\frac{\partial p_{b}}{\partial t} + \nabla_{h}\cdot \vec{u} |
163 |
|
|
&=& |
164 |
|
|
0 |
165 |
|
|
\\ |
166 |
|
|
\frac{D\theta}{Dt} - |
167 |
|
|
\nabla_{h}\cdot K_{h}\nabla_{h}\theta |
168 |
|
|
- (g\rho_0)^2\frac{\partial}{\partial p}\Gamma(K_{r})\frac{\partial\theta}{\partial p} |
169 |
|
|
& = & |
170 |
|
|
\begin{cases} |
171 |
|
|
{\cal F}_\theta & \text{(surface)} \\ |
172 |
|
|
0 & \text{(interior)} |
173 |
|
|
\end{cases} |
174 |
|
|
\\ |
175 |
|
|
\frac{D s}{Dt} - |
176 |
|
|
\nabla_{h}\cdot K_{h}\nabla_{h}s |
177 |
|
|
- (g\rho_0)^2\frac{\partial}{\partial p}\Gamma(K_{r})\frac{\partial S}{\partial p} |
178 |
|
|
& = & |
179 |
|
|
\begin{cases} |
180 |
|
|
{\cal F}_s & \text{(surface)} \\ |
181 |
|
|
0 & \text{(interior)} |
182 |
|
|
\end{cases} |
183 |
|
|
\\ |
184 |
|
|
\Phi_{-H}'^{(0)} + \alpha_{0}p_{b}+ \int^{p}_{0}\alpha' dp & = & \Phi' |
185 |
|
|
\end{eqnarray} |
186 |
|
|
|
187 |
|
|
\noindent where $u=\frac{Dx}{Dt}=r \cos(\phi)\frac{D \lambda}{Dt}$ and |
188 |
|
|
$v=\frac{Dy}{Dt}=r \frac{D \phi}{Dt}$ are the zonal and meridional |
189 |
|
|
components of the flow vector, $\vec{u}$, on the sphere. As described |
190 |
|
|
in MITgcm Numerical Solution Procedure \ref{chap:discretization}, the |
191 |
|
|
time evolution of potential temperature, $\theta$, equation is solved |
192 |
|
|
prognostically. The full geopotential height, $\Phi$, is diagnosed by |
193 |
|
|
summing the geopotential height anomalies $\Phi'$ due to bottom |
194 |
|
|
pressure $p_{b}$ and density variations. The integration of the |
195 |
|
|
hydrostatic equation is started at the bottom of the domain. The |
196 |
|
|
condition of $p=0$ at the sea surface requires a time-independent |
197 |
|
|
integration constant for the height anomaly due to density variations |
198 |
|
|
$\Phi_{-H}'^{(0)}$, which is provided as an input field. |
199 |
|
|
|
200 |
|
|
|
201 |
|
|
\subsection{Experiment Configuration} |
202 |
|
|
\label{www:tutorials} |
203 |
|
|
\label{SEC:eg-globalpressure-config} |
204 |
|
|
|
205 |
|
|
The model configuration for this experiment resides under the |
206 |
|
|
directory {\it tutorial\_examples/global\_ocean\_circulation/}. |
207 |
|
|
The experiment files |
208 |
|
|
|
209 |
|
|
\begin{itemize} |
210 |
|
|
\item {\it input/data} |
211 |
|
|
\item {\it input/data.pkg} |
212 |
|
|
\item {\it input/eedata}, |
213 |
|
|
\item {\it input/topog.bin}, |
214 |
|
|
\item {\it input/deltageopotjmd95.bin}, |
215 |
|
|
\item {\it input/lev\_s.bin}, |
216 |
|
|
\item {\it input/lev\_t.bin}, |
217 |
|
|
\item {\it input/trenberth\_taux.bin}, |
218 |
|
|
\item {\it input/trenberth\_tauy.bin}, |
219 |
|
|
\item {\it input/lev\_sst.bin}, |
220 |
|
|
\item {\it input/shi\_qnet.bin}, |
221 |
|
|
\item {\it input/shi\_empmr.bin}, |
222 |
|
|
\item {\it code/CPP\_EEOPTIONS.h} |
223 |
|
|
\item {\it code/CPP\_OPTIONS.h}, |
224 |
|
|
\item {\it code/SIZE.h}. |
225 |
|
|
\end{itemize} |
226 |
|
|
contain the code customizations and parameter settings for these |
227 |
|
|
experiments. Below we describe the customizations |
228 |
|
|
to these files associated with this experiment. |
229 |
|
|
|
230 |
|
|
\subsubsection{Driving Datasets} |
231 |
|
|
\label{www:tutorials} |
232 |
|
|
|
233 |
|
|
Figures (\ref{FIG:sim_config_tclim_pcoord}-\ref{FIG:sim_config_empmr_pcoord}) show |
234 |
|
|
the relaxation temperature ($\theta^{\ast}$) and salinity ($S^{\ast}$) |
235 |
|
|
fields, the wind stress components ($\tau_x$ and $\tau_y$), the heat |
236 |
|
|
flux ($Q$) and the net fresh water flux (${\cal E} - {\cal P} - {\cal |
237 |
|
|
R}$) used in equations |
238 |
|
|
\ref{EQ:eg-global_forcing_fu_pcoord}-\ref{EQ:eg-global_forcing_fs_pcoord}. |
239 |
|
|
The figures also indicate the lateral extent and coastline used in the |
240 |
|
|
experiment. Figure ({\ref{FIG:model_bathymetry_pcoord}) shows the depth |
241 |
|
|
contours of the model domain. |
242 |
|
|
\begin{figure}[t] |
243 |
|
|
\begin{center} |
244 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/sst} |
245 |
edhill |
1.4 |
\caption{Annual mean of relaxation temperature [$^{\circ}\mathrm{C}$]} |
246 |
mlosch |
1.1 |
\label{FIG:sim_config_tclim_pcoord} |
247 |
|
|
\end{center} |
248 |
|
|
\end{figure} |
249 |
|
|
\begin{figure}[t] |
250 |
|
|
\begin{center} |
251 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/sss} |
252 |
mlosch |
1.1 |
\caption{Annual mean of relaxation salinity [PSU]} |
253 |
|
|
\label{FIG:sim_config_sclim_pcoord} |
254 |
|
|
\end{center} |
255 |
|
|
\end{figure} |
256 |
|
|
\begin{figure}[t] |
257 |
|
|
\begin{center} |
258 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/tx} |
259 |
mlosch |
1.1 |
\caption{Annual mean of zonal wind stress component [Nm\,m$^{-2}$]} |
260 |
dfer |
1.8 |
\label{FIG:sim_config_taux_pcoord} |
261 |
mlosch |
1.1 |
\end{center} |
262 |
|
|
\end{figure} |
263 |
|
|
\begin{figure}[t] |
264 |
|
|
\begin{center} |
265 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/ty} |
266 |
mlosch |
1.1 |
\caption{Annual mean of meridional wind stress component [Nm\,m$^{-2}$]} |
267 |
|
|
\label{FIG:sim_config_tauy_pcoord} |
268 |
|
|
\end{center} |
269 |
|
|
\end{figure} |
270 |
|
|
\begin{figure}[t] |
271 |
|
|
\begin{center} |
272 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/qnet} |
273 |
mlosch |
1.1 |
\caption{Annual mean heat flux [W\,m$^{-2}$]} |
274 |
|
|
\label{FIG:sim_config_qnet_pcoord} |
275 |
|
|
\end{center} |
276 |
|
|
\end{figure} |
277 |
|
|
\begin{figure}[t] |
278 |
|
|
\begin{center} |
279 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/emp} |
280 |
mlosch |
1.1 |
\caption{Annual mean fresh water flux (Evaporation-Precipitation) [m\,s$^{-1}$]} |
281 |
|
|
\label{FIG:sim_config_empmr_pcoord} |
282 |
|
|
\end{center} |
283 |
|
|
\end{figure} |
284 |
|
|
\begin{figure}[t] |
285 |
|
|
\begin{center} |
286 |
jmc |
1.9 |
\includegraphics[width=.9\textwidth]{s_examples/global_oce_in_p/pb0} |
287 |
mlosch |
1.1 |
\caption{Model bathymetry in pressure units [Pa]} |
288 |
|
|
\label{FIG:model_bathymetry_pcoord} |
289 |
|
|
\end{center} |
290 |
|
|
\end{figure} |
291 |
|
|
|
292 |
|
|
\subsubsection{File {\it input/data}} |
293 |
|
|
\label{www:tutorials} |
294 |
|
|
|
295 |
|
|
This file, reproduced completely below, specifies the main parameters |
296 |
|
|
for the experiment. The parameters that are significant for this configuration |
297 |
|
|
are |
298 |
|
|
|
299 |
|
|
\begin{itemize} |
300 |
|
|
|
301 |
|
|
\item Line 15, |
302 |
|
|
\begin{verbatim} viscAr=1.721611620915750E+05, \end{verbatim} |
303 |
|
|
this line sets the vertical Laplacian dissipation coefficient to |
304 |
|
|
$1.72161162091575 \times 10^{5} {\rm Pa^{2}s^{-1}}$. Note that, the factor |
305 |
|
|
$(g\rho)^2$ needs to be included in this line. Boundary conditions |
306 |
|
|
for this operator are specified later. This variable is copied into |
307 |
|
|
model general vertical coordinate variable {\bf viscAr}. |
308 |
|
|
|
309 |
|
|
\fbox{ |
310 |
|
|
\begin{minipage}{5.0in} |
311 |
|
|
{\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F}) |
312 |
|
|
\end{minipage} |
313 |
|
|
} |
314 |
|
|
|
315 |
|
|
\item Line 9--10, |
316 |
|
|
\begin{verbatim} |
317 |
|
|
viscAh=3.E5, |
318 |
|
|
no_slip_sides=.TRUE. |
319 |
|
|
\end{verbatim} |
320 |
|
|
these lines set the horizontal Laplacian frictional dissipation |
321 |
|
|
coefficient to $3 \times 10^{5} {\rm m^{2}s^{-1}}$ and specify a |
322 |
|
|
no-slip boundary condition for this operator, that is, $u=0$ along |
323 |
|
|
boundaries in $y$ and $v=0$ along boundaries in $x$. |
324 |
|
|
|
325 |
|
|
\item Lines 11-13, |
326 |
|
|
\begin{verbatim} |
327 |
|
|
viscAr =1.721611620915750e5, |
328 |
|
|
#viscAz =1.67E-3, |
329 |
|
|
no_slip_bottom=.FALSE., |
330 |
|
|
\end{verbatim} |
331 |
|
|
These lines set the vertical Laplacian frictional dissipation |
332 |
|
|
coefficient to $1.721611620915750 \times |
333 |
|
|
10^{5}\mbox{\,Pa$^{2}$s$^{-1}$}$, which corresponds to |
334 |
|
|
$1.67\times10^{-3}\mbox{\,m$^{2}$s$^{-1}$}$ in the commented line, and |
335 |
|
|
specify a free slip boundary condition for this operator, that is, |
336 |
|
|
$\frac{\partial u}{\partial p}=\frac{\partial v}{\partial p}=0$ at |
337 |
|
|
$p=p_{b}^{0}$, where $p_{b}^{0}$ is the local bottom pressure of the |
338 |
|
|
domain at rest. Note that, the factor $(g\rho)^2$ needs to be |
339 |
|
|
included in this line. |
340 |
|
|
|
341 |
|
|
\item Line 14, |
342 |
|
|
\begin{verbatim} |
343 |
|
|
diffKhT=1.E3, |
344 |
|
|
\end{verbatim} |
345 |
|
|
this line sets the horizontal diffusion coefficient for temperature |
346 |
|
|
to $1000\,{\rm m^{2}s^{-1}}$. The boundary condition on this |
347 |
|
|
operator is $\frac{\partial}{\partial x}=\frac{\partial}{\partial |
348 |
|
|
y}=0$ on all boundaries. |
349 |
|
|
|
350 |
|
|
\item Line 15--16, |
351 |
|
|
\begin{verbatim} |
352 |
|
|
diffKrT=5.154525811125000e3, |
353 |
|
|
#diffKzT=0.5E-4, |
354 |
|
|
\end{verbatim} |
355 |
|
|
this line sets the vertical diffusion coefficient for temperature to |
356 |
|
|
$5.154525811125 \times 10^{3}\,{\rm Pa^{2}s^{-1}}$, which |
357 |
|
|
corresponds to $5\times10^{-4}\mbox{\,m$^{2}$s$^{-1}$}$ in the commented |
358 |
|
|
line. Note that, the factor $(g\rho)^2$ needs to be included in this |
359 |
|
|
line. The boundary condition on this operator is |
360 |
|
|
$\frac{\partial}{\partial p}=0$ at both the upper and lower |
361 |
|
|
boundaries. |
362 |
|
|
|
363 |
|
|
\item Line 17--19, |
364 |
|
|
\begin{verbatim} |
365 |
|
|
diffKhS=1.E3, |
366 |
|
|
diffKrS=5.154525811125000e3, |
367 |
|
|
#diffKzS=0.5E-4, |
368 |
|
|
\end{verbatim} |
369 |
|
|
These lines set the same values for the diffusion coefficients for |
370 |
|
|
salinity as for temperature. |
371 |
|
|
|
372 |
|
|
\item Line 20--22, |
373 |
|
|
\begin{verbatim} |
374 |
|
|
implicitDiffusion=.TRUE., |
375 |
|
|
ivdc_kappa=1.030905162225000E9, |
376 |
|
|
#ivdc_kappa=10.0, |
377 |
|
|
\end{verbatim} |
378 |
|
|
Select implicit diffusion as a convection scheme and set coefficient |
379 |
|
|
for implicit vertical diffusion to $1.030905162225\times10^{9}\,{\rm |
380 |
|
|
Pa^{2}s^{-1}}$, which corresponds to $10\mbox{\,m$^{2}$\,s$^{-1}$}$. |
381 |
|
|
|
382 |
|
|
\item Line 23-24, |
383 |
|
|
\begin{verbatim} |
384 |
|
|
gravity=9.81, |
385 |
|
|
gravitySign=-1.D0, |
386 |
|
|
\end{verbatim} |
387 |
|
|
These lines set the gravitational acceleration coefficient to |
388 |
|
|
$9.81{\rm m}{\rm s}^{-1}$ and define the upward direction relative |
389 |
|
|
to the direction of increasing vertical coordinate (in pressure |
390 |
|
|
coordinates, up is in the direction of decreasing pressure) |
391 |
|
|
\item Line 25, |
392 |
|
|
\begin{verbatim} |
393 |
|
|
rhoNil=1035., |
394 |
|
|
\end{verbatim} |
395 |
|
|
sets the reference density of sea water to $1035\mbox{\,kg\,m$^{-3}$}$.\\ |
396 |
|
|
\fbox{ |
397 |
|
|
\begin{minipage}{5.0in} |
398 |
|
|
{\it S/R CALC\_PHI\_HYD}~({\it calc\_phi\_hyd.F})\\ |
399 |
|
|
{\it S/R INI\_CG2D}~({\it ini\_cg2d.F})\\ |
400 |
|
|
{\it S/R INI\_CG3D}~({\it ini\_cg3d.F})\\ |
401 |
|
|
{\it S/R INI\_PARMS}~({\it ini\_parms.F})\\ |
402 |
|
|
{\it S/R SOLVE\_FOR\_PRESSURE}~({\it solve\_for\_pressure.F}) |
403 |
|
|
\end{minipage} |
404 |
|
|
} |
405 |
|
|
|
406 |
|
|
\item Line 28 |
407 |
|
|
\begin{verbatim} |
408 |
|
|
eosType='JMD95P', |
409 |
|
|
\end{verbatim} |
410 |
|
|
Selects the full equation of state according to Jackett and McDougall |
411 |
|
|
\cite{jackett95}. The only other sensible choice is the equation of |
412 |
|
|
state by McDougall et al. \cite{mcdougall03}, 'MDJFW'. All other |
413 |
|
|
equations of state do not make sense in this configuration.\\ |
414 |
|
|
\fbox{ |
415 |
|
|
\begin{minipage}{5.0in} |
416 |
|
|
{\it S/R FIND\_RHO}~({\it find\_rho.F})\\ |
417 |
|
|
{\it S/R FIND\_ALPHA}~({\it find\_alpha.F}) |
418 |
|
|
\end{minipage} |
419 |
|
|
} |
420 |
|
|
|
421 |
|
|
\item Line 28-29, |
422 |
|
|
\begin{verbatim} |
423 |
|
|
rigidLid=.FALSE., |
424 |
|
|
implicitFreeSurface=.TRUE., |
425 |
|
|
\end{verbatim} |
426 |
|
|
Selects the barotropic pressure equation to be the implicit free |
427 |
|
|
surface formulation. |
428 |
|
|
\item Line 30 |
429 |
|
|
\begin{verbatim} |
430 |
|
|
exactConserv=.TRUE., |
431 |
|
|
\end{verbatim} |
432 |
|
|
Select a more accurate conservation of properties at the surface |
433 |
|
|
layer by including the horizontal velocity divergence to update the |
434 |
|
|
free surface. |
435 |
|
|
\item Line 31--33 |
436 |
|
|
\begin{verbatim} |
437 |
|
|
nonlinFreeSurf=3, |
438 |
|
|
hFacInf=0.2, |
439 |
|
|
hFacSup=2.0, |
440 |
|
|
\end{verbatim} |
441 |
|
|
Select the nonlinear free surface formulation and set lower and |
442 |
|
|
upper limits for the free surface excursions. |
443 |
|
|
\item Line 34 |
444 |
|
|
\begin{verbatim} |
445 |
|
|
useRealFreshWaterFlux=.FALSE., |
446 |
|
|
\end{verbatim} |
447 |
|
|
Select virtual salt flux boundary condition for salinity. The |
448 |
|
|
freshwater flux at the surface only affect the surface salinity, but |
449 |
|
|
has no mass flux associated with it |
450 |
|
|
|
451 |
|
|
\item Line 35--36, |
452 |
|
|
\begin{verbatim} |
453 |
|
|
readBinaryPrec=64, |
454 |
|
|
writeBinaryPrec=64, |
455 |
|
|
\end{verbatim} |
456 |
|
|
Sets format for reading binary input datasets and |
457 |
|
|
writing binary output datasets holding model fields to |
458 |
|
|
use 64-bit representation for floating-point numbers.\\ |
459 |
|
|
\fbox{ |
460 |
|
|
\begin{minipage}{5.0in} |
461 |
|
|
{\it S/R READ\_WRITE\_FLD}~({\it read\_write\_fld.F})\\ |
462 |
|
|
{\it S/R READ\_WRITE\_REC}~({\it read\_write\_rec.F}) |
463 |
|
|
\end{minipage} |
464 |
|
|
} |
465 |
|
|
|
466 |
|
|
\item Line 42, |
467 |
|
|
\begin{verbatim} |
468 |
|
|
cg2dMaxIters=200, |
469 |
|
|
\end{verbatim} |
470 |
|
|
Sets maximum number of iterations the two-dimensional, conjugate |
471 |
|
|
gradient solver will use, {\bf irrespective of convergence |
472 |
|
|
criteria being met}.\\ |
473 |
|
|
\fbox{ |
474 |
|
|
\begin{minipage}{5.0in} |
475 |
|
|
{\it S/R CG2D}~({\it cg2d.F}) |
476 |
|
|
\end{minipage} |
477 |
|
|
} |
478 |
|
|
|
479 |
|
|
\item Line 43, |
480 |
|
|
\begin{verbatim} |
481 |
|
|
cg2dTargetResidual=1.E-13, |
482 |
|
|
\end{verbatim} |
483 |
|
|
Sets the tolerance which the two-dimensional, conjugate |
484 |
|
|
gradient solver will use to test for convergence in equation |
485 |
|
|
\ref{EQ:congrad_2d_resid} to $1 \times 10^{-9}$. |
486 |
|
|
Solver will iterate until |
487 |
|
|
tolerance falls below this value or until the maximum number of |
488 |
|
|
solver iterations is reached.\\ |
489 |
|
|
\fbox{ |
490 |
|
|
\begin{minipage}{5.0in} |
491 |
|
|
{\it S/R CG2D}~({\it cg2d.F}) |
492 |
|
|
\end{minipage} |
493 |
|
|
} |
494 |
|
|
|
495 |
|
|
\item Line 48, |
496 |
|
|
\begin{verbatim} |
497 |
|
|
startTime=0, |
498 |
|
|
\end{verbatim} |
499 |
|
|
Sets the starting time for the model internal time counter. |
500 |
|
|
When set to non-zero this option implicitly requests a |
501 |
|
|
checkpoint file be read for initial state. |
502 |
|
|
By default the checkpoint file is named according to |
503 |
|
|
the integer number of time steps in the {\bf startTime} value. |
504 |
|
|
The internal time counter works in seconds. |
505 |
|
|
|
506 |
|
|
\item Line 49--50, |
507 |
|
|
\begin{verbatim} |
508 |
|
|
endTime=8640000., |
509 |
|
|
#endTime=62208000000, |
510 |
|
|
\end{verbatim} |
511 |
|
|
Sets the time (in seconds) at which this simulation will terminate. |
512 |
|
|
At the end of a simulation a checkpoint file is automatically |
513 |
|
|
written so that a numerical experiment can consist of multiple |
514 |
|
|
stages. The commented out setting for endTime is for a 2000 year |
515 |
|
|
simulation. |
516 |
|
|
|
517 |
|
|
\item Line 51--53, |
518 |
|
|
\begin{verbatim} |
519 |
|
|
deltaTmom = 1200.0, |
520 |
|
|
deltaTtracer = 172800.0, |
521 |
|
|
deltaTfreesurf = 172800.0, |
522 |
|
|
\end{verbatim} |
523 |
|
|
Sets the timestep $\delta t_{v}$ used in the momentum equations to |
524 |
|
|
$20~{\rm mins}$ and the timesteps $\delta t_{\theta}$ in the tracer |
525 |
|
|
equations and $\delta t_{\eta}$ in the implicit free surface |
526 |
|
|
equation to $48\mbox{\,hours}$. See section |
527 |
|
|
\ref{SEC:mom_time_stepping}.\\ |
528 |
|
|
\fbox{ |
529 |
|
|
\begin{minipage}{5.0in} |
530 |
|
|
{\it S/R TIMESTEP}({\it timestep.F}) \\ |
531 |
|
|
{\it S/R INI\_PARMS}({\it ini\_parms.F})\\ |
532 |
jmc |
1.6 |
{\it S/R MOM\_FLUXFORM}({\it mom\_fluxform.F}) \\ |
533 |
mlosch |
1.1 |
{\it S/R TIMESTEP\_TRACER}({\it timestep\_tracer.F}) |
534 |
|
|
\end{minipage} |
535 |
|
|
} |
536 |
|
|
|
537 |
|
|
\item Line 55, |
538 |
|
|
\begin{verbatim} |
539 |
|
|
pChkptFreq =3110400000., |
540 |
|
|
\end{verbatim} |
541 |
|
|
write a pick-up file every 100 years of integration. |
542 |
|
|
|
543 |
|
|
\item Line 56--58 |
544 |
|
|
\begin{verbatim} |
545 |
|
|
dumpFreq = 3110400000., |
546 |
|
|
taveFreq = 3110400000., |
547 |
|
|
monitorFreq = 31104000., |
548 |
|
|
\end{verbatim} |
549 |
|
|
write model output and time-averaged model output every 100 years, |
550 |
|
|
and monitor statisitics every year. |
551 |
|
|
|
552 |
|
|
\item Line 59--61 |
553 |
|
|
\begin{verbatim} |
554 |
|
|
periodicExternalForcing=.TRUE., |
555 |
|
|
externForcingPeriod=2592000., |
556 |
|
|
externForcingCycle=31104000., |
557 |
|
|
\end{verbatim} |
558 |
|
|
Allow periodic external forcing, set forcing period, during which |
559 |
|
|
one set of data is valid, to 1 month and the repeat cycle to 1 year.\\ |
560 |
|
|
\fbox{ |
561 |
|
|
\begin{minipage}{5.0in} |
562 |
|
|
{\it S/R EXTERNAL\_FORCING\_SURF}({\it external\_forcing\_surf.F}) |
563 |
|
|
\end{minipage} |
564 |
|
|
} |
565 |
|
|
\item Line 62 |
566 |
|
|
\begin{verbatim} |
567 |
|
|
tauThetaClimRelax=5184000.0, |
568 |
|
|
\end{verbatim} |
569 |
|
|
Set the restoring timescale to 2 months.\\ |
570 |
|
|
\fbox{ |
571 |
|
|
\begin{minipage}{5.0in} |
572 |
|
|
{\it S/R EXTERNAL\_FORCING\_SURF}({\it external\_forcing\_surf.F}) |
573 |
|
|
\end{minipage} |
574 |
|
|
} |
575 |
|
|
|
576 |
|
|
\item Line 63 |
577 |
|
|
\begin{verbatim} |
578 |
|
|
abEps=0.1, |
579 |
|
|
\end{verbatim} |
580 |
|
|
Adams-Bashford factor (see section \ref{sect:adams-bashforth}) |
581 |
|
|
|
582 |
|
|
\item Line 68--69 |
583 |
|
|
\begin{verbatim} |
584 |
|
|
usingCartesianGrid=.FALSE., |
585 |
|
|
usingSphericalPolarGrid=.TRUE., |
586 |
|
|
\end{verbatim} |
587 |
|
|
Select spherical grid. |
588 |
|
|
\item Line 70--71 |
589 |
|
|
\begin{verbatim} |
590 |
|
|
dXspacing=4., |
591 |
|
|
dYspacing=4., |
592 |
|
|
\end{verbatim} |
593 |
|
|
Set the horizontal grid spacing in degrees spherical distance. |
594 |
|
|
\item Line 72 |
595 |
|
|
\begin{verbatim} |
596 |
|
|
Ro_SeaLevel=53023122.566084, |
597 |
|
|
\end{verbatim} |
598 |
|
|
specifies the total height (in $r$-units, i.e., pressure units) of the |
599 |
|
|
sea surface at rest. This is a reference value. |
600 |
|
|
\item Line 73 |
601 |
|
|
\begin{verbatim} |
602 |
|
|
groundAtK1=.TRUE., |
603 |
|
|
\end{verbatim} |
604 |
|
|
specifies the reversal of the vertical indexing. The vertical index is |
605 |
|
|
1 at the bottom of the doman and maximal (i.e., 15) at the surface. |
606 |
|
|
\item Line 74--78 |
607 |
|
|
\begin{verbatim} |
608 |
|
|
delR=7103300.720021, \ldots |
609 |
|
|
\end{verbatim} |
610 |
|
|
set the layer thickness in pressure units, starting with the bottom |
611 |
|
|
layer. |
612 |
|
|
|
613 |
|
|
\item Line 84--93, |
614 |
|
|
\begin{verbatim} |
615 |
|
|
bathyFile='topog.box' |
616 |
|
|
ploadFile='deltageopotjmd95.bin' |
617 |
|
|
hydrogThetaFile='lev_t.bin', |
618 |
|
|
hydrogSaltFile ='lev_s.bin', |
619 |
|
|
zonalWindFile ='trenberth_taux.bin', |
620 |
|
|
meridWindFile ='trenberth_tauy.bin', |
621 |
|
|
thetaClimFile ='lev_sst.bin', |
622 |
|
|
surfQFile ='shi_qnet.bin', |
623 |
|
|
EmPmRFile ='shi_empmr.bin', |
624 |
|
|
\end{verbatim} |
625 |
|
|
This line specifies the names of the files holding the bathymetry |
626 |
|
|
data set, the |
627 |
|
|
time-independent geopotential height anomaly at the bottom, initial |
628 |
|
|
conditions of temperature and salinity, wind stress forcing fields, |
629 |
|
|
sea surface temperature climatology, heat flux, and fresh water flux |
630 |
|
|
(evaporation minus precipitation minus run-off) at the surface. |
631 |
|
|
See file descriptions in section \ref{SEC:eg-globalpressure-config}. |
632 |
|
|
|
633 |
|
|
\end{itemize} |
634 |
|
|
|
635 |
|
|
\noindent other lines in the file {\it input/data} are standard values |
636 |
|
|
that are described in the MITgcm Getting Started and MITgcm Parameters |
637 |
|
|
notes. |
638 |
|
|
|
639 |
|
|
\begin{small} |
640 |
jmc |
1.9 |
\input{s_examples/global_oce_in_p/input/data} |
641 |
mlosch |
1.1 |
\end{small} |
642 |
|
|
|
643 |
|
|
\subsubsection{File {\it input/data.pkg}} |
644 |
|
|
\label{www:tutorials} |
645 |
|
|
|
646 |
|
|
This file uses standard default values and does not contain |
647 |
|
|
customisations for this experiment. |
648 |
|
|
|
649 |
|
|
\subsubsection{File {\it input/eedata}} |
650 |
|
|
\label{www:tutorials} |
651 |
|
|
|
652 |
|
|
This file uses standard default values and does not contain |
653 |
|
|
customisations for this experiment. |
654 |
|
|
|
655 |
|
|
\subsubsection{File {\it input/topog.bin}} |
656 |
|
|
\label{www:tutorials} |
657 |
|
|
|
658 |
|
|
This file is a two-dimensional ($x,y$) map of |
659 |
|
|
depths. This file is assumed to contain 64-bit binary numbers giving |
660 |
|
|
the depth of the model at each grid cell, ordered with the x |
661 |
|
|
coordinate varying fastest. The points are ordered from low |
662 |
|
|
coordinate to high coordinate for both axes. The units and |
663 |
|
|
orientation of the depths in this file are the same as used in the |
664 |
|
|
MITgcm code (Pa for this experiment). In this experiment, a depth of |
665 |
|
|
$0\mbox{\,Pa}$ indicates a land point wall and a depth of |
666 |
|
|
$>0\mbox{\,Pa}$ indicates open ocean. |
667 |
|
|
|
668 |
|
|
\subsubsection{File {\it input/deltageopotjmd95.box}} |
669 |
|
|
\label{www:tutorials} |
670 |
|
|
|
671 |
|
|
The file contains 12 identical two dimensional maps ($x,y$) of |
672 |
|
|
geopotential height anomaly at the bottom at rest. The values have |
673 |
|
|
been obtained by vertically integrating the hydrostatic equation with |
674 |
|
|
the initial density field (from {\it input/lev\_t/s.bin}). This file |
675 |
|
|
has to be consitent with the temperature and salinity field at rest |
676 |
|
|
and the choice of equation of state! |
677 |
|
|
|
678 |
|
|
\subsubsection{File {\it input/lev\_t/s.bin}} |
679 |
|
|
\label{www:tutorials} |
680 |
|
|
|
681 |
|
|
The files {\it input/lev\_t/s.bin} specify the initial conditions for |
682 |
|
|
temperature and salinity for every grid point in a three dimensional |
683 |
|
|
array ($x,y,z$). The data are obtain by interpolating Levitus |
684 |
|
|
\cite{Levitus94} monthly mean values for January onto the model |
685 |
|
|
grid. Keep in mind, that the first index corresponds to the bottom |
686 |
|
|
layer and highest index to the surface layer. |
687 |
|
|
|
688 |
|
|
\subsubsection{File {\it input/trenberth\_taux/y.bin}} |
689 |
|
|
\label{www:tutorials} |
690 |
|
|
|
691 |
|
|
Each of the {\it input/trenberth\_taux/y.bin} files specifies 12 |
692 |
|
|
two-dimensional ($x,y,t$) maps of zonal and meridional wind stress |
693 |
|
|
values, $\tau_{x}$ and $\tau_{y}$, that is monthly mean values from |
694 |
|
|
Trenberth \cite{trenberth90}. The units used are $Nm^{-2}$. |
695 |
|
|
|
696 |
|
|
\subsubsection{File {\it input/lev\_sst.bin}} |
697 |
|
|
\label{www:tutorials} |
698 |
|
|
|
699 |
|
|
The file {\it input/lev\_sst.bin} contains 12 monthly surface |
700 |
|
|
temperature climatologies from Levitus \cite{Levitus94} in a three |
701 |
|
|
dimensional array ($x,y,t$). |
702 |
|
|
|
703 |
|
|
\subsubsection{File {\it input/shi\_qnet/empmr.bin}} |
704 |
|
|
\label{www:tutorials} |
705 |
|
|
|
706 |
|
|
The files {\it input/shi\_qnet/empmr.bin} contain 12 monthly surface |
707 |
|
|
fluxes of heat (qnet) and freshwater (empmr) by Jiang et al. |
708 |
|
|
\cite{jiang99} in three dimensional arrays ($x,y,t$). Both fluxes are |
709 |
|
|
normalized so that of one year there is no net flux into the |
710 |
|
|
ocean. The freshwater flux is actually constant in time. |
711 |
|
|
|
712 |
|
|
\subsubsection{File {\it code/SIZE.h}} |
713 |
|
|
\label{www:tutorials} |
714 |
|
|
|
715 |
|
|
Three lines are customized in this file for the current experiment |
716 |
|
|
|
717 |
|
|
\begin{itemize} |
718 |
|
|
|
719 |
|
|
\item Line 39, |
720 |
|
|
\begin{verbatim} sNx=90, \end{verbatim} this line sets |
721 |
|
|
the lateral domain extent in grid points for the |
722 |
|
|
axis aligned with the x-coordinate. |
723 |
|
|
|
724 |
|
|
\item Line 40, |
725 |
|
|
\begin{verbatim} sNy=40, \end{verbatim} this line sets |
726 |
|
|
the lateral domain extent in grid points for the |
727 |
|
|
axis aligned with the y-coordinate. |
728 |
|
|
|
729 |
|
|
\item Line 49, |
730 |
|
|
\begin{verbatim} Nr=15, \end{verbatim} this line sets |
731 |
|
|
the vertical domain extent in grid points. |
732 |
|
|
|
733 |
|
|
\end{itemize} |
734 |
|
|
|
735 |
|
|
\begin{small} |
736 |
jmc |
1.9 |
\input{s_examples/global_oce_in_p/code/SIZE.h} |
737 |
mlosch |
1.1 |
\end{small} |
738 |
|
|
|
739 |
|
|
\subsubsection{File {\it code/CPP\_OPTIONS.h}} |
740 |
|
|
\label{www:tutorials} |
741 |
|
|
|
742 |
|
|
This file uses mostly standard default values except for: |
743 |
|
|
\begin{itemize} |
744 |
|
|
\item \verb+#define ATMOSPHERIC_LOADING+\\ |
745 |
|
|
enable pressure loading which is abused to include the initial |
746 |
|
|
geopotential height anomaly |
747 |
|
|
\item \verb+#define EXACT_CONSERV+\\ |
748 |
|
|
enable more accurate conservation properties to include the |
749 |
|
|
horizontal mass divergence in the free surface |
750 |
|
|
\item \verb+#define NONLIN_FRSURF+\\ |
751 |
|
|
enable the nonlinear free surface |
752 |
|
|
\end{itemize} |
753 |
|
|
|
754 |
|
|
|
755 |
|
|
\subsubsection{File {\it code/CPP\_EEOPTIONS.h}} |
756 |
|
|
\label{www:tutorials} |
757 |
|
|
|
758 |
|
|
This file uses standard default values and does not contain |
759 |
|
|
customisations for this experiment. |
760 |
|
|
|
761 |
|
|
|