1 |
edhill |
1.1 |
% \documentstyle[12pt]{report} |
2 |
|
|
% \renewcommand{\baselinestretch}{1} |
3 |
|
|
% \textwidth 190mm |
4 |
|
|
% \textheight 250mm |
5 |
|
|
% \topmargin -20mm |
6 |
|
|
% \oddsidemargin -15mm |
7 |
|
|
% \begin{document} |
8 |
|
|
|
9 |
|
|
\section[Offline Example]{Offline Experiments} |
10 |
jmc |
1.8 |
%\label{www:tutorials} |
11 |
|
|
\label{sec:eg-offline} |
12 |
jmc |
1.4 |
\begin{center} |
13 |
jmc |
1.7 |
(in directory: {\it verification/tutorial\_offline/})\\ |
14 |
jmc |
1.4 |
\end{center} |
15 |
edhill |
1.1 |
|
16 |
|
|
%\begin{center} |
17 |
|
|
%{\Large \bf Using MITgcm to Perform Offline Tracer Exeriments} |
18 |
|
|
% |
19 |
|
|
%\vspace*{4mm} |
20 |
|
|
% |
21 |
|
|
%\vspace*{3mm} |
22 |
|
|
%{\large September 2005} |
23 |
|
|
%\end{center} |
24 |
|
|
|
25 |
|
|
This document describes a simple experiment using the offline form of |
26 |
|
|
the MITgcm. |
27 |
|
|
|
28 |
|
|
\subsection{Overview} |
29 |
jmc |
1.8 |
%\label{www:tutorials} |
30 |
edhill |
1.1 |
|
31 |
|
|
This experiment demonstrates use of the offline form of the MITgcm to |
32 |
|
|
study advection of a passive tracer. Time-averaged flow-fields and |
33 |
|
|
mixing coefficients, deriving from a prior online run, are re-used |
34 |
|
|
leaving only the tracer equation to be integrated. |
35 |
|
|
|
36 |
jmc |
1.8 |
Figure {\it --- missing figure ---} %\ref{fig:eg-ofline_config} |
37 |
|
|
shows a movie of tracer being |
38 |
edhill |
1.1 |
advected using the offline package of the MITgcm. In the top panel the |
39 |
|
|
frames of the movie show the monthly surface evolution of an initially |
40 |
|
|
local source of passive tracer. In the lower panel, the frames of the |
41 |
|
|
movie show the changing monthly surface evolution where the initial |
42 |
|
|
tracer field had a global distribution. |
43 |
|
|
|
44 |
|
|
\subsection{Time-stepping of tracers} |
45 |
jmc |
1.8 |
%\label{www:tutorials} |
46 |
edhill |
1.1 |
|
47 |
|
|
\noindent see section 2.15 through 2.18 for details of available |
48 |
|
|
tracer time-stepping schemes and their characteristics. |
49 |
|
|
|
50 |
|
|
\subsection{Code Configuration} |
51 |
jmc |
1.8 |
%\label{www:tutorials} |
52 |
|
|
\label{sec:eg_offl_code_config} |
53 |
edhill |
1.1 |
|
54 |
|
|
\noindent The model configuration for this experiment resides under the |
55 |
molod |
1.2 |
directory {\it verification/tutorial\_offline}. The experiment files |
56 |
edhill |
1.1 |
\begin {itemize} |
57 |
|
|
\item {\it input/data} |
58 |
|
|
\item {\it input/data.off} |
59 |
|
|
\item {\it input/data.pkg} |
60 |
|
|
\item {\it input/data.ptracers} |
61 |
|
|
\item {\it input/eedata} |
62 |
|
|
\item {\it input/packages.conf} |
63 |
|
|
\item {\it code/PTRACERS\_SIZE.h} |
64 |
|
|
\item {\it code/SIZE.h}. |
65 |
|
|
\end {itemize} |
66 |
|
|
|
67 |
|
|
\noindent contain the code customisations and parameter settings |
68 |
|
|
required to run the example. In addition the following binary data |
69 |
|
|
files are required: |
70 |
|
|
|
71 |
|
|
\begin {itemize} |
72 |
|
|
\item {\it input/depth\_g77.bin} |
73 |
|
|
\item {\it input/tracer1\_.bin} |
74 |
|
|
\item {\it input/tracer2\_.bin} |
75 |
|
|
\item {\it input/input\_off/uVeltave.0000000001-12.data} |
76 |
|
|
\item {\it input/input\_off/vVeltave.0000000001-12.data} |
77 |
|
|
\item {\it input/input\_off/wVeltave.0000000001-12.data} |
78 |
|
|
\item {\it input/input\_off/Convtave.0000000001-12.data} |
79 |
|
|
\end {itemize} |
80 |
|
|
|
81 |
|
|
|
82 |
|
|
\subsubsection{File {\it input/data}} |
83 |
jmc |
1.8 |
%\label{www:tutorials} |
84 |
edhill |
1.1 |
|
85 |
|
|
\noindent This file, reproduced completely below, specifies the main |
86 |
|
|
parameters for the experiment. |
87 |
|
|
|
88 |
|
|
\begin{itemize} |
89 |
|
|
\item Line 18, 19 |
90 |
|
|
\begin {verbatim} |
91 |
|
|
nIter0 = 0, |
92 |
|
|
nTimeSteps = 720, |
93 |
|
|
\end{verbatim} |
94 |
|
|
\end{itemize} |
95 |
|
|
|
96 |
|
|
\noindent nIter0 and nTimesteps control the start time and the length |
97 |
|
|
of the run (in timesteps). If nIter0 is non-zero the model will |
98 |
|
|
require appropriate pickup files to be present in the run directory. |
99 |
|
|
Where nIter0 is zero, as here, the model makes a fresh start. In this |
100 |
|
|
case the model has been prescribed to run for 720 timesteps or 1 year. |
101 |
|
|
|
102 |
|
|
\begin{itemize} |
103 |
|
|
\item Line 20 |
104 |
|
|
\begin {verbatim} |
105 |
|
|
deltaTtracer= 43200.0, |
106 |
|
|
\end{verbatim} |
107 |
|
|
\end{itemize} |
108 |
|
|
|
109 |
|
|
\noindent deltaTtracer is the tracer timestep in seconds, in this |
110 |
|
|
case, 12 hours (43200s = 12 hours). Note that deltatTracer must be |
111 |
|
|
specified in {\it input/data} as well as specifying deltaToffline in |
112 |
|
|
{\it input/data.off}. |
113 |
|
|
|
114 |
|
|
\begin{itemize} |
115 |
|
|
\item Line 21 |
116 |
|
|
\begin {verbatim} |
117 |
|
|
deltaTClock= 43200.0, |
118 |
|
|
\end{verbatim} |
119 |
|
|
\end{itemize} |
120 |
|
|
|
121 |
|
|
\noindent When using the MITgcm in offline mode deltaTClock (an |
122 |
|
|
internal model counter) should be made equal to the value assigned to |
123 |
|
|
deltatTtracer. |
124 |
|
|
|
125 |
|
|
\begin{itemize} |
126 |
|
|
\item Line 27 |
127 |
|
|
\begin {verbatim} |
128 |
|
|
periodicExternalForcing=.TRUE., |
129 |
|
|
\end{verbatim} |
130 |
|
|
\end{itemize} |
131 |
|
|
|
132 |
|
|
\noindent periodicExternalForcing is a flag telling the model whether |
133 |
|
|
to cyclically re-use forcing data where there is external forcing (see |
134 |
|
|
`A More Complcated Example', below). Where there is no external |
135 |
|
|
forcing, as here, but where there is to be cyclic re-use of the |
136 |
|
|
offline flow and mixing fields, periodicExternalForcing must be |
137 |
|
|
assigned the value .TRUE. |
138 |
|
|
|
139 |
|
|
\begin{itemize} |
140 |
|
|
\item Line 28 |
141 |
|
|
\begin {verbatim} |
142 |
|
|
externForcingPeriod=2592000., |
143 |
|
|
\end{verbatim} |
144 |
|
|
\end{itemize} |
145 |
|
|
|
146 |
|
|
\noindent externForcingPeriod specifies the period of the external |
147 |
|
|
forcing data in seconds. In the absence of external forcing, as in |
148 |
|
|
this example, it must be made equal to the value of |
149 |
|
|
externForcingPeriod in {\it input/data.off}, in this case, monthly |
150 |
|
|
(2592000s = 1 month). |
151 |
|
|
|
152 |
|
|
\begin{itemize} |
153 |
|
|
\item Line 29 |
154 |
|
|
\begin {verbatim} |
155 |
|
|
externForcingCycle=31104000., |
156 |
|
|
\end{verbatim} |
157 |
|
|
\end{itemize} |
158 |
|
|
|
159 |
|
|
\noindent externForcingCycle specifies the duration of the external |
160 |
|
|
forcing data cycle in seconds. In the absence of external forcing, as |
161 |
|
|
in this example, it must be made equal to the value of |
162 |
|
|
externForcingCycle in {\it input/data.off}, in this case, the cycle is |
163 |
|
|
one year(31104000s = 1 year). |
164 |
|
|
|
165 |
|
|
\begin{itemize} |
166 |
|
|
\item Line 35 |
167 |
|
|
\begin {verbatim} |
168 |
|
|
usingSphericalPolarGrid=.TRUE., |
169 |
|
|
\end{verbatim} |
170 |
|
|
\end{itemize} |
171 |
|
|
|
172 |
|
|
\noindent This line requests that the simulation be performed in a |
173 |
|
|
spherical polar coordinate system. It affects the interpretation of |
174 |
|
|
grid input parameters and causes the grid generation routines to |
175 |
|
|
initialize an internal grid based on spherical polar geometry. |
176 |
|
|
|
177 |
|
|
\begin{itemize} |
178 |
|
|
\item Line 36 |
179 |
|
|
\begin {verbatim} |
180 |
|
|
delR= 50., 70., 100., 140., 190., |
181 |
|
|
240., 290., 340., 390., 440., |
182 |
|
|
490., 540., 590., 640., 690., |
183 |
|
|
\end{verbatim} |
184 |
|
|
\end{itemize} |
185 |
|
|
|
186 |
|
|
\noindent This line sets the vertical grid spacing between each |
187 |
|
|
z-coordinate line in the discrete grid. Here the total model depth is |
188 |
|
|
$5200\,{\rm m}$. |
189 |
|
|
|
190 |
|
|
\begin{itemize} |
191 |
|
|
\item Line 39 |
192 |
|
|
\begin {verbatim} |
193 |
jmc |
1.6 |
ygOrigin=-90., |
194 |
edhill |
1.1 |
\end{verbatim} |
195 |
|
|
\end{itemize} |
196 |
|
|
|
197 |
|
|
\noindent This line sets the southern boundary of the modeled domain |
198 |
jmc |
1.6 |
to $-90^{\circ}$ latitude N ($90^{\circ}$ S). This value affects both |
199 |
|
|
the generation of the |
200 |
edhill |
1.1 |
locally orthogonal grid that the model uses internally and affects the |
201 |
|
|
initialization of the coriolis force. Note - it is not required to |
202 |
|
|
set a longitude boundary, since the absolute longitude does not alter |
203 |
|
|
the kernel equation discretisation. |
204 |
|
|
|
205 |
|
|
\begin{itemize} |
206 |
|
|
\item Line 40 |
207 |
|
|
\begin {verbatim} |
208 |
|
|
dxSpacing=2.8125, |
209 |
|
|
\end{verbatim} |
210 |
|
|
\end{itemize} |
211 |
|
|
|
212 |
|
|
\noindent This line sets the horizontal grid spacing between each |
213 |
|
|
y-coordinate line in the discrete grid to $2.8125^{\circ}$ in |
214 |
|
|
longitude. |
215 |
|
|
|
216 |
|
|
\begin{itemize} |
217 |
|
|
\item Line 41 |
218 |
|
|
\begin {verbatim} |
219 |
|
|
dySpacing=2.8125, |
220 |
|
|
\end{verbatim} |
221 |
|
|
\end{itemize} |
222 |
|
|
|
223 |
|
|
\noindent This line sets the vertical grid spacing between each |
224 |
|
|
x-coordinate line in the discrete grid to $2.8125^{\circ}$ in |
225 |
|
|
latitude. |
226 |
|
|
|
227 |
|
|
\begin{itemize} |
228 |
|
|
\item Line 46 |
229 |
|
|
\begin {verbatim} |
230 |
|
|
bathyFile='depth_g77.bin', |
231 |
|
|
\end{verbatim} |
232 |
|
|
\end{itemize} |
233 |
|
|
|
234 |
|
|
\noindent This line specifies the name of the file, in this case {\it |
235 |
|
|
depth\_g77.bin}, from which the domain bathymetry is read. This file |
236 |
|
|
contains a two-dimensional ($x,y$) map of (assumed 64-bit) binary |
237 |
|
|
numbers giving the depth of the model at each grid cell, ordered with |
238 |
|
|
the x coordinate varying fastest. The points are ordered from low |
239 |
|
|
coordinate to high coordinate for both axes. The units and orientation |
240 |
|
|
of the depths in this file are the same as used in the MITgcm code. In |
241 |
|
|
this experiment, a depth of $0m$ indicates land. |
242 |
|
|
|
243 |
|
|
|
244 |
|
|
\begin {verbatim} |
245 |
|
|
1 # ==================== |
246 |
|
|
2 # | Model parameters | |
247 |
|
|
3 # ==================== |
248 |
|
|
4 # |
249 |
|
|
5 # Continuous equation parameters |
250 |
|
|
6 &PARM01 |
251 |
|
|
7 & |
252 |
|
|
8 # |
253 |
|
|
9 # Elliptic solver parameters |
254 |
|
|
10 &PARM02 |
255 |
|
|
11 cg2dMaxIters=1000, |
256 |
|
|
12 cg2dTargetResidual=1.E-13, |
257 |
|
|
13 & |
258 |
|
|
14 # |
259 |
|
|
15 |
260 |
|
|
16 # Time stepping parameters |
261 |
|
|
17 &PARM03 |
262 |
|
|
18 nIter0 = 0, |
263 |
|
|
19 nTimeSteps = 720, |
264 |
|
|
20 deltaTtracer= 43200.0, |
265 |
|
|
21 deltaTClock = 43200.0, |
266 |
|
|
22 pChkptFreq=31104000., |
267 |
|
|
23 chkptFreq= 31104000., |
268 |
|
|
24 dumpFreq= 2592000., |
269 |
|
|
25 taveFreq= 311040000., |
270 |
|
|
26 monitorFreq= 1., |
271 |
|
|
27 periodicExternalForcing=.TRUE., |
272 |
|
|
28 externForcingPeriod=2592000., |
273 |
|
|
29 externForcingCycle=31104000., |
274 |
|
|
30 & |
275 |
|
|
31 # |
276 |
|
|
32 # Gridding parameters |
277 |
|
|
33 &PARM04 |
278 |
|
|
34 usingCartesianGrid=.FALSE., |
279 |
|
|
35 usingSphericalPolarGrid=.TRUE., |
280 |
|
|
36 delR= 50., 70., 100., 140., 190., |
281 |
|
|
37 240., 290., 340., 390., 440., |
282 |
|
|
38 490., 540., 590., 640., 690., |
283 |
jmc |
1.6 |
39 ygOrigin=-90., |
284 |
edhill |
1.1 |
40 dxSpacing=2.8125, |
285 |
|
|
41 dySpacing=2.8125, |
286 |
|
|
42 & |
287 |
|
|
43 # |
288 |
|
|
44 # Input datasets |
289 |
|
|
45 &PARM05 |
290 |
|
|
46 bathyFile= 'depth_g77.bin', |
291 |
|
|
47 & |
292 |
|
|
\end{verbatim} |
293 |
|
|
|
294 |
|
|
\subsubsection{File {\it input/data.off}} |
295 |
jmc |
1.8 |
%\label{www:tutorials} |
296 |
edhill |
1.1 |
|
297 |
|
|
\noindent {\it input/data.off} provides the MITgcm offline package |
298 |
|
|
with package specific parameters. {\it input/data.off} specifies the |
299 |
|
|
location (relative to the run directory) and prefix of files |
300 |
|
|
describing the flow field (UvelFile, VvelFile, WvelFile) and the |
301 |
|
|
corresponding convective mixing coefficients (ConvFile) which together |
302 |
|
|
prescribe the three dimensional, time varying dynamic system within |
303 |
|
|
which the offline model will advect the tracer. |
304 |
|
|
|
305 |
|
|
\begin{itemize} |
306 |
|
|
\item Lines 2 to 5 |
307 |
|
|
\begin {verbatim} |
308 |
|
|
UvelFile= '../input/input_off/uVeltave', |
309 |
|
|
VvelFile= '../input/input_off/vVeltave', |
310 |
|
|
WvelFile= '../input/input_off/wVeltave', |
311 |
|
|
ConvFile= '../input/input_off/Convtave', |
312 |
|
|
\end{verbatim} |
313 |
|
|
\end{itemize} |
314 |
|
|
|
315 |
|
|
\noindent In the example the offline data is located in the |
316 |
|
|
sub-directory {\it input/input\_off}. In this directory are fields |
317 |
|
|
describing the velocity and convective mixing histories of a prior |
318 |
|
|
forward integration of the MITgcm required for the offline package and |
319 |
|
|
identified in {\it input/data\_off}. Based on the values of {\it |
320 |
|
|
deltatToffline}, {\it offlineForcingPeriod} and {\it |
321 |
|
|
offlineForcingCycle} specified in {\it input/data.off}, since {\it |
322 |
|
|
offlineForcingCycle} corresponds to 12 forcing periods {\it |
323 |
|
|
offlineForcingPeriod} and since offlineIter0 is zero, there needs to |
324 |
|
|
be 12 uVeltave, 12 vVeltave, 12 wVeltave and 12 Convtave files each |
325 |
|
|
having a 10 digit sequence identifier between 0000000001 to |
326 |
|
|
0000000012, that is, a total of 48 files. |
327 |
|
|
|
328 |
|
|
|
329 |
|
|
\begin{itemize} |
330 |
|
|
\item Line 9 |
331 |
|
|
\begin {verbatim} |
332 |
|
|
offlineIter0=0, |
333 |
|
|
\end{verbatim} |
334 |
|
|
\end{itemize} |
335 |
|
|
|
336 |
|
|
\noindent offlineIter0, here specified to be 0 timesteps, corresponds |
337 |
|
|
to the timestep at which the tracer model is initialised. Note that |
338 |
|
|
offlineIter0 and nIter0 (set in {\it input/data}) need not be the |
339 |
|
|
same. |
340 |
|
|
|
341 |
|
|
\begin{itemize} |
342 |
|
|
\item Line 10 |
343 |
|
|
\begin {verbatim} |
344 |
|
|
deltaToffline=43200., |
345 |
|
|
\end{verbatim} |
346 |
|
|
\end{itemize} |
347 |
|
|
|
348 |
|
|
|
349 |
|
|
\noindent deltatToffline sets the timestep associated with the offline |
350 |
|
|
model data in seconds, here 12 hours (43200s = 12 hours). |
351 |
|
|
|
352 |
|
|
\begin{itemize} |
353 |
|
|
\item Line 11 |
354 |
|
|
\begin {verbatim} |
355 |
|
|
offlineForcingPeriod=43200., |
356 |
|
|
\end{verbatim} |
357 |
|
|
\end{itemize} |
358 |
|
|
|
359 |
|
|
\noindent offlineForcingPeriod sets the forcing period associated with |
360 |
|
|
the offline model data in seconds. |
361 |
|
|
|
362 |
|
|
\begin{itemize} |
363 |
|
|
\item Line 12 |
364 |
|
|
\begin {verbatim} |
365 |
|
|
offlineForcingCycle=518400., |
366 |
|
|
\end{verbatim} |
367 |
|
|
\end{itemize} |
368 |
|
|
|
369 |
|
|
\noindent offlineForcingCycle sets the forcing cycle length associated |
370 |
|
|
with the offline model data in seconds. In this example the offline |
371 |
|
|
forcing cycle is 6 days, or 12 offline forcing periods. Together |
372 |
|
|
deltatToffline, offlineForcingPeriod and offlineForcingCycle determine |
373 |
|
|
the value of the 10 digit sequencing tag the model expects files in |
374 |
|
|
{\it input/input\_off} to have. |
375 |
|
|
|
376 |
|
|
|
377 |
|
|
\begin {verbatim} |
378 |
|
|
1 &OFFLINE_PARM01 |
379 |
|
|
2 UvelFile= 'input_off/uVeltave', |
380 |
|
|
3 VvelFile= 'input_off/vVeltave', |
381 |
|
|
4 WvelFile= 'input_off/wVeltave', |
382 |
|
|
5 ConvFile= 'input_off/Convtave', |
383 |
|
|
6 &end |
384 |
|
|
|
385 |
|
|
7 &OFFLINE_PARM02 |
386 |
|
|
8 offlineIter0=0, |
387 |
|
|
9 deltaToffline=43200., |
388 |
|
|
10 offlineForcingPeriod=43200., |
389 |
|
|
11 offlineForcingCycle=518400., |
390 |
|
|
12 &end |
391 |
|
|
\end{verbatim} |
392 |
|
|
|
393 |
|
|
|
394 |
|
|
\subsubsection{File {\it input/data.pkg}} |
395 |
jmc |
1.8 |
%\label{www:tutorials} |
396 |
edhill |
1.1 |
|
397 |
|
|
\noindent File {\it input/data.pkg}, reproduced completely below, |
398 |
|
|
specifies which MITgcm packages ({\it ~/MITgcm/pkg}) are to be used. |
399 |
|
|
|
400 |
|
|
|
401 |
|
|
\begin {itemize} |
402 |
|
|
\item Line 3 |
403 |
|
|
\begin {verbatim} |
404 |
|
|
usePTRACERS=.TRUE., |
405 |
|
|
\end{verbatim} |
406 |
|
|
\end{itemize} |
407 |
|
|
|
408 |
|
|
\noindent usePTRACERS is a flag invoking the ptracers package which is |
409 |
|
|
responsible for the advection of the tracer within the model. |
410 |
|
|
|
411 |
|
|
\begin {verbatim} |
412 |
|
|
1 # Packages |
413 |
|
|
2 &PACKAGES |
414 |
|
|
3 usePTRACERS=.TRUE., |
415 |
|
|
4 & |
416 |
|
|
\end{verbatim} |
417 |
|
|
|
418 |
|
|
\subsubsection{File {\it input/data.ptracers}} |
419 |
jmc |
1.8 |
%\label{www:tutorials} |
420 |
edhill |
1.1 |
|
421 |
|
|
\noindent File {\it input/data.ptracers}, reproduced completely below, |
422 |
|
|
provides the MITgcm ptracers package with package specific parameters, |
423 |
|
|
prescribing the nature of the the tracer/tracers as well as the |
424 |
|
|
variables associated with their advection. |
425 |
|
|
|
426 |
|
|
\begin{itemize} |
427 |
|
|
\item Line 2 |
428 |
|
|
\begin {verbatim} |
429 |
|
|
PTRACERS_numInUse=2, |
430 |
|
|
\end{verbatim} |
431 |
|
|
\end{itemize} |
432 |
|
|
|
433 |
|
|
\noindent PTRACERS\_numInUse tells the model how many separate tracers |
434 |
|
|
are to be advected, in this case 2. Note: The value of |
435 |
|
|
PTRACERS\_numInUse must agree with the value specified in {\it |
436 |
|
|
code/PTRACERS\_SIZE.h} - see {\it code/PTRACERS\_SIZE.h} below. |
437 |
|
|
|
438 |
|
|
\begin{itemize} |
439 |
|
|
\item Line 3 |
440 |
|
|
\begin {verbatim} |
441 |
|
|
PTRACERS_Iter0= 0, |
442 |
|
|
\end{verbatim} |
443 |
|
|
\end{itemize} |
444 |
|
|
|
445 |
|
|
\noindent PTRACERS\_Iter0 specifies the iteration at which the tracer |
446 |
|
|
is to be introduced. In this case the tracer is initialised at the |
447 |
|
|
start of the simulation. i.e. PTRACERS\_Iter0 = PTRACERS\_nIter0. |
448 |
|
|
|
449 |
|
|
\begin{itemize} |
450 |
|
|
\item Lines 5 and 10 |
451 |
|
|
\begin {verbatim} |
452 |
|
|
PTRACERS_advScheme(1)=77, |
453 |
|
|
\end{verbatim} |
454 |
|
|
\end{itemize} |
455 |
|
|
|
456 |
|
|
\noindent PTRACERS\_advScheme(n) identifies which advection scheme |
457 |
|
|
will be used for tracer n, where n is the number of the tracer up to |
458 |
|
|
PTRACERS\_numInUse. See section 2.18, 'Comparison of advection |
459 |
|
|
schemes', to identify the numerical codes used to specify different |
460 |
|
|
advection schemes (e.g. centered 2nd order, 3rd order upwind) as well |
461 |
|
|
as details of each. |
462 |
|
|
|
463 |
|
|
\begin{itemize} |
464 |
|
|
\item Lines 6 and 11 |
465 |
|
|
\begin{verbatim} |
466 |
|
|
PTRACERS_diffKh(1)=1.E3, |
467 |
|
|
\end{verbatim} |
468 |
|
|
\end{itemize} |
469 |
|
|
|
470 |
|
|
\noindent PTRACERS\_diffKh(n) is the horizontal diffusion coefficient |
471 |
|
|
for tracer n, where n is the number of the tracer up to |
472 |
|
|
PTRACERS\_numInUse. |
473 |
|
|
|
474 |
|
|
\begin {itemize} |
475 |
|
|
\item Lines 7 and 12 |
476 |
|
|
\begin{verbatim} |
477 |
|
|
PTRACERS_diffKr(1)=5.E-5, |
478 |
|
|
\end{verbatim} |
479 |
|
|
\end{itemize} |
480 |
|
|
|
481 |
|
|
\noindent PTRACERS\_diffKr(n) is the vertical diffusion coefficient |
482 |
|
|
for tracer n, where n is the number of the tracer up to |
483 |
|
|
PTRACERS\_numInUse. |
484 |
|
|
|
485 |
|
|
\begin {itemize} |
486 |
|
|
\item Lines 8 and 13 |
487 |
|
|
\begin{verbatim} |
488 |
|
|
PTRACERS_initialFile(1)='tracer1.bin', |
489 |
|
|
\end{verbatim} |
490 |
|
|
\end{itemize} |
491 |
|
|
|
492 |
|
|
\noindent PTRACERS\_initialFile(n) identifies the initial tracer field |
493 |
|
|
to be associated with tracer n, where n is the number of the tracer up |
494 |
|
|
to PTRACERS\_numInUse. In this example file {\it input/tracer1.bin} |
495 |
|
|
contains localised tracer, {\it input/tracer2.bin} contains an |
496 |
|
|
arbitrary global distribution. Included Matlab script {\it |
497 |
|
|
input/makeinitialtracer.m} provides a template for generating or |
498 |
|
|
manipulating initial tracer fields. |
499 |
|
|
|
500 |
|
|
\begin {verbatim} |
501 |
|
|
1 &PTRACERS_PARM01 |
502 |
|
|
2 PTRACERS_numInUse=2, |
503 |
|
|
3 PTRACERS_Iter0= 0, |
504 |
|
|
4 # tracer 1 |
505 |
|
|
5 PTRACERS_advScheme(1)=77, |
506 |
|
|
6 PTRACERS_diffKh(1)=1.E3, |
507 |
|
|
7 PTRACERS_diffKr(1)=5.E-5, |
508 |
|
|
8 PTRACERS_initialFile(1)='tracer1.bin', |
509 |
|
|
9 # tracer 2 |
510 |
|
|
10 PTRACERS_advScheme(2)=77, |
511 |
|
|
11 PTRACERS_diffKh(2)=1.E3, |
512 |
|
|
12 PTRACERS_diffKr(2)=5.E-5, |
513 |
|
|
13 PTRACERS_initialFile(2)='tracer2.bin', |
514 |
|
|
14 & |
515 |
|
|
\end{verbatim} |
516 |
|
|
|
517 |
|
|
\noindent Note {\it input/data.ptracers} requires a set of entries for |
518 |
|
|
each tracer. |
519 |
|
|
|
520 |
|
|
\subsubsection{File {\it input/eedata}} |
521 |
jmc |
1.8 |
%\label{www:tutorials} |
522 |
edhill |
1.1 |
\noindent This file uses standard default values and does not contain |
523 |
|
|
customisations for this experiment. |
524 |
|
|
|
525 |
|
|
\noindent The following code changes are required to run this exaperiment. |
526 |
|
|
|
527 |
|
|
\subsubsection{File {\it code/packages.conf}} |
528 |
jmc |
1.8 |
%\label{www:tutorials} |
529 |
edhill |
1.1 |
|
530 |
|
|
\noindent This file is used to invoke the model components required |
531 |
|
|
for a particuylar implementation of the MITgcm. In this case the {\it |
532 |
|
|
code/packages.conf} contains the component names: |
533 |
|
|
|
534 |
|
|
\begin {verbatim} |
535 |
|
|
ptracers |
536 |
|
|
generic_advdiff |
537 |
|
|
mdsio |
538 |
|
|
mom_fluxform |
539 |
|
|
mom_vecinv |
540 |
|
|
timeave |
541 |
|
|
rw |
542 |
|
|
monitor |
543 |
|
|
offline |
544 |
|
|
\end{verbatim} |
545 |
|
|
|
546 |
|
|
\subsubsection{File {\it code/PTRACERS\_SIZE.h}} |
547 |
jmc |
1.8 |
%\label{www:tutorials} |
548 |
edhill |
1.1 |
\begin{itemize} |
549 |
|
|
\item Line |
550 |
|
|
\begin{verbatim} |
551 |
|
|
PARAMETER(PTRACERS_num = 2 ) |
552 |
|
|
\end{verbatim} |
553 |
|
|
\end{itemize} |
554 |
|
|
|
555 |
|
|
\noindent This line sets the parameters PTRACERS\_num (the number of |
556 |
|
|
tracers to be integrated) to 2 (in agreement with {\it |
557 |
|
|
input/data.ptracers}). |
558 |
|
|
|
559 |
|
|
\subsubsection{File {\it code/SIZE.h}} |
560 |
jmc |
1.8 |
%\label{www:tutorials} |
561 |
edhill |
1.1 |
|
562 |
|
|
\noindent Two lines are customized in this file for the current |
563 |
|
|
experiment |
564 |
|
|
|
565 |
|
|
\begin{itemize} |
566 |
|
|
|
567 |
|
|
\item Line 39, |
568 |
|
|
\begin{verbatim} sNx=128, \end{verbatim} \noindent this line sets |
569 |
|
|
the lateral domain extent in grid points for the |
570 |
|
|
axis aligned with the x-coordinate. |
571 |
|
|
|
572 |
|
|
\item Line 40, |
573 |
|
|
\begin{verbatim} sNy=64, \end{verbatim} |
574 |
|
|
\noindent this line sets |
575 |
|
|
the lateral domain extent in grid points for the |
576 |
|
|
axis aligned with the y-coordinate. |
577 |
|
|
|
578 |
|
|
\item Line 49, |
579 |
|
|
\begin{verbatim} Nr=15, \end{verbatim} |
580 |
|
|
\noindent this line sets |
581 |
|
|
the vertical domain extent in grid points. |
582 |
|
|
|
583 |
|
|
\end{itemize} |
584 |
|
|
|
585 |
|
|
|
586 |
|
|
\subsection{Running The Example} |
587 |
jmc |
1.8 |
%\label{www:tutorials} |
588 |
|
|
%\label{sec:running_the_example} |
589 |
edhill |
1.1 |
|
590 |
|
|
\subsubsection{Code Download} |
591 |
jmc |
1.8 |
%\label{www:tutorials} |
592 |
edhill |
1.1 |
|
593 |
|
|
In order to run the examples you must first download the code |
594 |
|
|
distribution. Instructions for downloading the code can be found in |
595 |
jmc |
1.8 |
section \ref{sec:obtainingCode}. |
596 |
edhill |
1.1 |
|
597 |
|
|
\subsubsection{Experiment Location} |
598 |
jmc |
1.8 |
%\label{www:tutorials} |
599 |
edhill |
1.1 |
|
600 |
|
|
This example experiment is located under the release sub-directory |
601 |
|
|
|
602 |
|
|
\vspace{5mm} |
603 |
|
|
{\it verification/offline/ } |
604 |
|
|
|
605 |
|
|
\subsubsection{Running the Experiment} |
606 |
jmc |
1.8 |
%\label{www:tutorials} |
607 |
edhill |
1.1 |
|
608 |
|
|
To run the experiment |
609 |
|
|
|
610 |
|
|
\begin{enumerate} |
611 |
|
|
\item Set the current directory to {\it input/ } |
612 |
|
|
|
613 |
|
|
\begin{verbatim} |
614 |
|
|
% cd input |
615 |
|
|
\end{verbatim} |
616 |
|
|
|
617 |
|
|
\item Verify that current directory is now correct |
618 |
|
|
|
619 |
|
|
\begin{verbatim} |
620 |
|
|
% pwd |
621 |
|
|
\end{verbatim} |
622 |
|
|
|
623 |
|
|
You should see a response on the screen ending in {\it |
624 |
|
|
verification/offline/input } |
625 |
|
|
|
626 |
|
|
\item Copy the contents of {\it input/} including subdirectory {\it |
627 |
|
|
input/input\_off/} to a new directory called {\it run/} |
628 |
|
|
|
629 |
|
|
\item Listing directory {\it run/} you should see: |
630 |
|
|
|
631 |
|
|
\begin {verbatim} |
632 |
|
|
data data.pkg depth_g77.bin input_off tracer2.bin |
633 |
|
|
data.off data.ptracers eedata tracer1.bin |
634 |
|
|
\end{verbatim} |
635 |
|
|
|
636 |
|
|
|
637 |
|
|
\item Set the current directory to {\it run/ } |
638 |
|
|
|
639 |
|
|
|
640 |
|
|
\item Run the genmake script to create the experiment {\it Makefile} |
641 |
|
|
|
642 |
|
|
\begin {verbatim} |
643 |
|
|
% ../../../tools/genmake2 -mods=../code |
644 |
|
|
\end{verbatim} |
645 |
|
|
|
646 |
|
|
\item Create a list of header file dependencies in {\it Makefile} |
647 |
|
|
|
648 |
|
|
\begin {verbatim} |
649 |
|
|
% make depend |
650 |
|
|
\end{verbatim} |
651 |
|
|
|
652 |
|
|
\item Build the executable file. |
653 |
|
|
|
654 |
|
|
\begin {verbatim} |
655 |
|
|
% make |
656 |
|
|
\end{verbatim} |
657 |
|
|
|
658 |
|
|
\item Run the {\it mitgcmuv} executable |
659 |
|
|
|
660 |
|
|
\begin {verbatim} |
661 |
|
|
% ./mitgcmuv |
662 |
|
|
\end{verbatim} |
663 |
|
|
|
664 |
|
|
\end{enumerate} |
665 |
|
|
|
666 |
|
|
Besides the input files and the files the model generates describing |
667 |
|
|
the grid (prefixed Depth, DXC, DXG, hFacC, hFacS and hFacW, you should |
668 |
|
|
now have 26 single precision binary files |
669 |
|
|
PTRACER01.0000000000-0000000720.001.001.data and |
670 |
|
|
PTRACER02.0000000000-0000000720.001.001.data and their 26 |
671 |
|
|
corresponding meta files as well as a single pickup file, |
672 |
|
|
pickup\_ptracers.0000000720.001.001.data and its corresponding meta |
673 |
|
|
file pickup\_ptracers.0000000720.001.001.meta. To run on simply change |
674 |
|
|
nIter0 in file {\it run/data} to 720... |
675 |
|
|
|
676 |
|
|
\subsection{A more complicated example} |
677 |
jmc |
1.8 |
\label{sec:eg-offline-cfc} |
678 |
jmc |
1.4 |
\begin{center} |
679 |
jmc |
1.7 |
(in directory: {\it verification/tutorial\_cfc\_offline/})\\ |
680 |
jmc |
1.4 |
\end{center} |
681 |
edhill |
1.1 |
|
682 |
|
|
\noindent The last example demonstrated simple advection of a passive |
683 |
|
|
tracer using the offline form of the MITgcm. Now we present a more |
684 |
|
|
complicated example in which the model is used to explore |
685 |
|
|
contamination of the global ocean through surface exposure to CFC's |
686 |
|
|
during the last century. In invoking packages gchem, gmredi and cfc it |
687 |
|
|
provides a starting point and template for more complicated offline |
688 |
|
|
modeling, involving as it does surface forcing through wind and ice |
689 |
|
|
fields, more sophisticated mixing and a time-varying forcing funtion. |
690 |
|
|
|
691 |
|
|
\vspace{0.5cm} |
692 |
|
|
|
693 |
|
|
\noindent The model configuration for this experiment resides under |
694 |
|
|
the directory {\it verification/cfc\_offline}. The experiment files |
695 |
|
|
|
696 |
|
|
\begin{itemize} |
697 |
|
|
\item {\it input/data} |
698 |
|
|
\item {\it input/data.gchem} |
699 |
|
|
\item {\it input/data.gmredi} |
700 |
|
|
\item {\it input/data.off} |
701 |
|
|
\item {\it input/data.pkg} |
702 |
|
|
\item {\it input/data.ptracers} |
703 |
|
|
\item {\it input/eedata} |
704 |
|
|
\item {\it code/GCHEM\_OPTIONS.h} |
705 |
|
|
\item {\it code/GMREDI\_OPTIONS.h} |
706 |
|
|
\item {\it input/packages.conf} |
707 |
|
|
\item {\it code/PTRACERS\_SIZE.h} |
708 |
|
|
\item {\it code/SIZE.h}. |
709 |
|
|
\end{itemize} |
710 |
|
|
|
711 |
|
|
\noindent contain all the code customisations and parameter settings |
712 |
|
|
required. |
713 |
|
|
|
714 |
|
|
\noindent The full list of other files required becomes: |
715 |
|
|
|
716 |
|
|
\begin{verbatim} |
717 |
|
|
cfc1112.atm data.ptracers |
718 |
|
|
data depth_g77.bin pickup.0004269600.data |
719 |
|
|
data.gchem eedata |
720 |
|
|
data.gmredi ice.bin pickup_ptracers.0004269600.data |
721 |
|
|
data.off data.pkg tren_speed.bin |
722 |
|
|
\end{verbatim} |
723 |
|
|
|
724 |
|
|
\noindent and |
725 |
|
|
|
726 |
|
|
\begin{verbatim} |
727 |
|
|
input_off/: |
728 |
|
|
Convtave.0004248060.data GM_Kwz-T.0004248060.data uVeltave.0004248060.data |
729 |
|
|
Convtave.0004248060.meta GM_Kwz-T.0004248060.meta uVeltave.0004248060.meta |
730 |
|
|
Convtave.0004248720.data GM_Kwz-T.0004248720.data uVeltave.0004248720.data |
731 |
|
|
Convtave.0004248720.meta GM_Kwz-T.0004248720.meta uVeltave.0004248720.meta |
732 |
|
|
GM_Kwx-T.0004248060.data Stave.0004248060.data vVeltave.0004248060.data |
733 |
|
|
GM_Kwx-T.0004248060.meta Stave.0004248060.meta vVeltave.0004248060.meta |
734 |
|
|
GM_Kwx-T.0004248720.data Stave.0004248720.data vVeltave.0004248720.data |
735 |
|
|
GM_Kwx-T.0004248720.meta Stave.0004248720.meta vVeltave.0004248720.meta |
736 |
|
|
GM_Kwy-T.0004248060.data Ttave.0004248060.data wVeltave.0004248060.data |
737 |
|
|
GM_Kwy-T.0004248060.meta Ttave.0004248060.meta wVeltave.0004248060.meta |
738 |
|
|
GM_Kwy-T.0004248720.data Ttave.0004248720.data wVeltave.0004248720.data |
739 |
|
|
GM_Kwy-T.0004248720.meta Ttave.0004248720.meta wVeltave.0004248720.meta |
740 |
|
|
\end{verbatim} |
741 |
|
|
|
742 |
|
|
|
743 |
|
|
\subsubsection{File {\it input/data}} |
744 |
jmc |
1.8 |
%\label{www:tutorials} |
745 |
edhill |
1.1 |
|
746 |
|
|
\noindent A single line must be added (under PARM01, between lines 6 |
747 |
|
|
and 7) in file {\it input/data} from the previous example |
748 |
|
|
|
749 |
|
|
\begin{verbatim} |
750 |
|
|
&PARM01 |
751 |
|
|
implicitDiffusion=.TRUE., |
752 |
|
|
& |
753 |
|
|
\end{verbatim} |
754 |
|
|
|
755 |
|
|
\noindent When package GMREDI is used, the flag implicitDiffusion must |
756 |
|
|
be assigned the value .TRUE. For information about MITgcm package |
757 |
|
|
GMREDI see... |
758 |
|
|
|
759 |
|
|
\vspace{0.5cm} |
760 |
|
|
\noindent In this example the starting timestep nIter0 is set to |
761 |
|
|
4269600 requiring model access to pickup files with the timetag |
762 |
|
|
0004269600. The model will run for 4 timesteps (nTimeSteps = 4). In |
763 |
|
|
this case the frequencies with which permanent and rolling checkpoints |
764 |
|
|
(pChkptFreq and chkptFreq) have been set is sufficiently long to |
765 |
|
|
ensure that only one from the last timestep will be written. This is |
766 |
|
|
also true of the values that have been assigned to the frequency with |
767 |
|
|
which dumps are written (dumpFreq) and time averaging (taveFreq) is |
768 |
|
|
performed however since the model always dumps the state of the model |
769 |
|
|
when it stops without error a dump will be written with timetag |
770 |
|
|
0004269604 upon completion. |
771 |
|
|
|
772 |
|
|
|
773 |
|
|
\subsubsection{File {\it input/data.off}} |
774 |
jmc |
1.8 |
%\label{www:tutorials} |
775 |
edhill |
1.1 |
|
776 |
|
|
\noindent File {\it input/data.off}, reproduced in full below, |
777 |
|
|
specifies the prefixes and locations of additional input files |
778 |
|
|
required to run the offline model. Note that {\it input/input\_off} |
779 |
|
|
contains only as many offline files as are required to successfully |
780 |
|
|
run for 4 timesteps. Where the GMREDI scheme was used in the forward |
781 |
|
|
run, as here, package GMREDI must again be invoked when running |
782 |
|
|
offline. In this example tracer is specified as having beeen |
783 |
|
|
introduced with a non-zero starttime, at timestep 4248000. |
784 |
|
|
|
785 |
|
|
\begin {verbatim} |
786 |
|
|
1 &OFFLINE_PARM01 |
787 |
|
|
2 UvelFile= '../input/input_off/uVeltave', |
788 |
|
|
3 VvelFile= '../input/input_off/vVeltave', |
789 |
|
|
4 WvelFile= '../input/input_off/wVeltave', |
790 |
|
|
5 GMwxFile= '../input/input_off/GM_Kwx-T', |
791 |
|
|
6 GMwyFile= '../input/input_off/GM_Kwy-T', |
792 |
|
|
7 GMwzFile= '../input/input_off/GM_Kwz-T', |
793 |
|
|
8 ConvFile= '../input/input_off/Convtave', |
794 |
|
|
9 &end |
795 |
|
|
|
796 |
|
|
10 &OFFLINE_PARM02 |
797 |
|
|
11 offlineIter0=4248000, |
798 |
|
|
12 deltaToffline=43200., |
799 |
|
|
13 offlineForcingPeriod=2592000., |
800 |
|
|
14 offlineForcingCycle=31104000., |
801 |
|
|
15 &end |
802 |
|
|
\end{verbatim} |
803 |
|
|
|
804 |
|
|
\subsubsection{File {\it input/data.pkg}} |
805 |
jmc |
1.8 |
%\label{www:tutorials} |
806 |
edhill |
1.1 |
|
807 |
|
|
\noindent File {\it input/data.pkg}, reproduced completely below, |
808 |
|
|
specifies which MITgcm packages ({\it ~/MITgcm/pkg}) are to be used. |
809 |
|
|
It now invokes additional packages {\it pkg/gmredi} and {pkg/gchem}. |
810 |
|
|
|
811 |
|
|
\begin {verbatim} |
812 |
|
|
1 # Packages |
813 |
|
|
2 &PACKAGES |
814 |
|
|
3 useGMRedi=.TRUE., |
815 |
|
|
4 usePTRACERS=.TRUE., |
816 |
|
|
5 useGCHEM=.TRUE., |
817 |
|
|
6 & |
818 |
|
|
|
819 |
|
|
\end{verbatim} |
820 |
|
|
|
821 |
|
|
|
822 |
|
|
\subsubsection{File {\it input/data.ptracers}} |
823 |
jmc |
1.8 |
%\label{www:tutorials} |
824 |
edhill |
1.1 |
|
825 |
|
|
\noindent File {\it input/data.ptracers}, reproduced completely below, |
826 |
|
|
specifies parameters associated with the CFC11 and CFC12 tracer fields |
827 |
|
|
advected in this example. |
828 |
|
|
|
829 |
|
|
|
830 |
|
|
\begin{itemize} |
831 |
|
|
\item Line 3 |
832 |
|
|
\begin {verbatim} |
833 |
|
|
PTRACERS_Iter0= 4248000, |
834 |
|
|
\end{verbatim} |
835 |
|
|
\end{itemize} |
836 |
|
|
|
837 |
|
|
\noindent In this example the tracers were introduced at iteration |
838 |
|
|
4248000. |
839 |
|
|
|
840 |
|
|
\begin{itemize} |
841 |
|
|
\item Lines 7 and 14 |
842 |
|
|
\begin {verbatim} |
843 |
|
|
PTRACERS_diffKh(n)=0.E3, |
844 |
|
|
\end{verbatim} |
845 |
|
|
\end{itemize} |
846 |
|
|
|
847 |
|
|
\noindent Since package GMREDI is being used, regular horizontal |
848 |
|
|
diffusion is set to zero. |
849 |
|
|
|
850 |
|
|
\begin{itemize} |
851 |
|
|
\item Lines 9,10 and 16,17 |
852 |
|
|
\begin {verbatim} |
853 |
|
|
PTRACERS_useGMRedi(n)=.TRUE. , |
854 |
|
|
PTRACERS_useKPP(n)=.FALSE. , |
855 |
|
|
\end{verbatim} |
856 |
|
|
\end{itemize} |
857 |
|
|
|
858 |
|
|
\noindent Setting flag PTRACERS\_useGMRedi(n) to .TRUE. identifies |
859 |
|
|
that package GMREDI is to be used. Setting flag PTRACERS\_useKPP(n) to |
860 |
|
|
.FALSE. explicitly turns off KPP mixing. |
861 |
|
|
|
862 |
|
|
\begin{itemize} |
863 |
|
|
\item Lines 11 and 18 |
864 |
|
|
\begin {verbatim} |
865 |
|
|
PTRACERS_initialFile(n)=' ', |
866 |
|
|
\end{verbatim} |
867 |
|
|
\end{itemize} |
868 |
|
|
|
869 |
|
|
\noindent Since this is a `pickup' run the initial tracer files |
870 |
|
|
PTRACERS\_initialFile(1) and PTRACERS\_initialFile(2) aree not needed. |
871 |
|
|
The model will obtain the tracer state from |
872 |
|
|
pickup\_ptracers.0004269600.data |
873 |
|
|
|
874 |
|
|
\begin {verbatim} |
875 |
|
|
1 &PTRACERS_PARM01 |
876 |
|
|
2 PTRACERS_numInUse=2, |
877 |
|
|
3 PTRACERS_Iter0= 4248000, |
878 |
|
|
4 # |
879 |
|
|
5 # tracer 1 - CFC11 |
880 |
|
|
6 PTRACERS_advScheme(1)=77, |
881 |
|
|
7 PTRACERS_diffKh(1)=0.E3, |
882 |
|
|
8 PTRACERS_diffKr(1)=5.E-5, |
883 |
|
|
9 PTRACERS_useGMRedi(1)=.TRUE. , |
884 |
|
|
10 PTRACERS_useKPP(1)=.FALSE. , |
885 |
|
|
11 PTRACERS_initialFile(1)=' ', |
886 |
|
|
12 # tracer 2 - CFC12 |
887 |
|
|
13 PTRACERS_advScheme(2)=77, |
888 |
|
|
14 PTRACERS_diffKh(2)=0.E3, |
889 |
|
|
15 PTRACERS_diffKr(2)=5.E-5, |
890 |
|
|
16 PTRACERS_useGMRedi(2)=.TRUE. , |
891 |
|
|
17 PTRACERS_useKPP(2)=.FALSE. , |
892 |
|
|
18 PTRACERS_initialFile(2)=' ', |
893 |
|
|
19 & |
894 |
|
|
\end{verbatim} |
895 |
|
|
|
896 |
|
|
|
897 |
|
|
\subsubsection{File {\it input/data.gchem}} |
898 |
jmc |
1.8 |
%\label{www:tutorials} |
899 |
edhill |
1.1 |
|
900 |
|
|
\noindent File {\it input/data.gchem}, reproduced completely below, |
901 |
|
|
names the forcing files needed in package GCHEM. |
902 |
|
|
|
903 |
|
|
\begin{itemize} |
904 |
|
|
\item Line 3 |
905 |
|
|
\begin {verbatim} |
906 |
|
|
iceFile='ice.bin', |
907 |
|
|
\end{verbatim} |
908 |
|
|
\end{itemize} |
909 |
|
|
|
910 |
|
|
\noindent File {\it input/ice.bin} contains 12, monthly surface ice |
911 |
|
|
fields. |
912 |
|
|
|
913 |
|
|
\begin{itemize} |
914 |
|
|
\item Line 3 |
915 |
|
|
\begin {verbatim} |
916 |
|
|
iceFile='tren_speed.bin', |
917 |
|
|
\end{verbatim} |
918 |
|
|
\end{itemize} |
919 |
|
|
|
920 |
|
|
\noindent File {\it input/tren\_speed.bin} contains 12, monthly |
921 |
|
|
surface wind fields. |
922 |
|
|
|
923 |
|
|
\begin {verbatim} |
924 |
|
|
1 &GCHEM_PARM01 |
925 |
|
|
2 iceFile='fice.bin', |
926 |
|
|
3 windFile='tren_speed.bin', |
927 |
|
|
4 & |
928 |
|
|
\end{verbatim} |
929 |
|
|
|
930 |
|
|
\noindent Package GCHEM is described in detail in section ?? |
931 |
|
|
|
932 |
|
|
\subsubsection{File {\it input/data.gmredi}} |
933 |
jmc |
1.8 |
%\label{www:tutorials} |
934 |
edhill |
1.1 |
|
935 |
|
|
\noindent File {\it input/data.gmredi}, reproduced completely below, |
936 |
|
|
provides the parameters required for package GMREDI. |
937 |
|
|
|
938 |
|
|
\begin {verbatim} |
939 |
|
|
1 &GM_PARM01 |
940 |
|
|
2 GM_background_K = 1.e+3, |
941 |
|
|
3 GM_taper_scheme = 'gkw91', |
942 |
|
|
4 GM_maxSlope = 1.e-2, |
943 |
|
|
5 GM_Kmin_horiz = 100., |
944 |
|
|
6 GM_Scrit = 4.e-3, |
945 |
|
|
7 GM_Sd = 1.e-3, |
946 |
|
|
8 & |
947 |
|
|
\end{verbatim} |
948 |
|
|
|
949 |
|
|
\noindent Package GMREDI is described in detail in section ?? |
950 |
|
|
|
951 |
|
|
\subsubsection{File {\it input/cfc1112.atm}} |
952 |
jmc |
1.8 |
%\label{www:tutorials} |
953 |
edhill |
1.1 |
|
954 |
|
|
\noindent File {\it input/cfc1112.atm} is a text file containing the |
955 |
|
|
CFC source functions over the northern and southern hemispheres |
956 |
|
|
annually from 1931 through 1998. |
957 |
|
|
|
958 |
|
|
\subsubsection{File {\it code/packages.conf}} |
959 |
jmc |
1.8 |
%\label{www:tutorials} |
960 |
edhill |
1.1 |
|
961 |
|
|
\noindent In this example {\it code/packages.conf} additionally |
962 |
|
|
invokes components gchem, cfc and rmredi: |
963 |
|
|
|
964 |
|
|
\begin {verbatim} |
965 |
|
|
ptracers |
966 |
|
|
generic_advdiff |
967 |
|
|
mdsio |
968 |
|
|
mom_fluxform |
969 |
|
|
mom_vecinv |
970 |
|
|
timeave |
971 |
|
|
rw |
972 |
|
|
monitor |
973 |
|
|
offline |
974 |
|
|
gchem |
975 |
|
|
cfc |
976 |
|
|
gmredi |
977 |
|
|
\end{verbatim} |
978 |
|
|
|
979 |
|
|
\subsubsection{File {\it code/GCHEM\_OPTIONS.h}} |
980 |
jmc |
1.8 |
%\label{www:tutorials} |
981 |
edhill |
1.1 |
|
982 |
|
|
\noindent File {\it code/GCHEM\_OPTIONS.h}, specifies options for |
983 |
|
|
package GCHEM. In this case defining the flag ALLOW\_CFC to activate |
984 |
|
|
the cfc code. |
985 |
|
|
|
986 |
|
|
\subsubsection{File {\it code/GMREDI\_OPTIONS.h}} |
987 |
jmc |
1.8 |
%\label{www:tutorials} |
988 |
edhill |
1.1 |
|
989 |
|
|
\noindent File {\it code/GCHEM\_OPTIONS.h}, specifies options for |
990 |
|
|
package GMREDI. |
991 |
|
|
|
992 |
|
|
\subsubsection{File {\it code/PTRACERS\_SIZE.h}} |
993 |
jmc |
1.8 |
%\label{www:tutorials} |
994 |
edhill |
1.1 |
|
995 |
|
|
\noindent File {\it code/PTRACERS\_SIZE.h} is unchanged from the |
996 |
|
|
simpler example. |
997 |
|
|
|
998 |
|
|
\subsubsection{File {\it code/SIZE.h}} |
999 |
jmc |
1.8 |
%\label{www:tutorials} |
1000 |
edhill |
1.1 |
|
1001 |
|
|
\noindent File {\it code/SIZE.h} is unchanged from the simpler |
1002 |
|
|
example. |
1003 |
|
|
|
1004 |
|
|
|
1005 |
|
|
\subsubsection{Running the Experiment} |
1006 |
jmc |
1.8 |
%\label{www:tutorials} |
1007 |
edhill |
1.1 |
|
1008 |
|
|
The model is run as before and produces the files the model generates |
1009 |
|
|
describing the grid (prefixed Depth, DXC, DXG, hFacC, hFacS and hFacW) |
1010 |
|
|
as well as 2, single precision, binary files |
1011 |
|
|
PTRACER01.0004269600-0004269604.001.001.data and |
1012 |
|
|
PTRACER02.0004269600-0004269604.001.001.data and their 2 corresponding |
1013 |
|
|
meta files as well as a single pickup file, |
1014 |
|
|
pickup\_ptracers.ckptA.001.001.data and its corresponding meta file |
1015 |
|
|
pickup\_ptracers.ckptA.001.001.meta from which you could run the model |
1016 |
|
|
on. |
1017 |
|
|
|
1018 |
|
|
%% \end{document} |
1019 |
|
|
|
1020 |
|
|
|
1021 |
|
|
|