1 |
\chapter{Model diagnostics and output}\label{ch:output} |
---|
2 |
|
---|
3 |
While it is possible to run a POP ocean simulation |
---|
4 |
without generating any output at all, most users desire |
---|
5 |
a means of looking at the results of their simulation. |
---|
6 |
POP offers several types of model output with choices |
---|
7 |
governed by several types of model input. The following |
---|
8 |
sections describe all of the options currently available. |
---|
9 |
|
---|
10 |
\section{Output formats}\label{sec:output-formats} |
---|
11 |
|
---|
12 |
POP now supports both netCDF and binary output formats. |
---|
13 |
The format for a particular type of file is chosen at |
---|
14 |
run time through namelist input for each of the output |
---|
15 |
types. In both cases, most output is in single precision |
---|
16 |
(32-bit). The exception is restart files which are written |
---|
17 |
in full double precision (64-bit) format. There are |
---|
18 |
advantages and disadvantages of using each format which |
---|
19 |
are discussed below. |
---|
20 |
|
---|
21 |
\subsection{netCDF}\label{sec:output-format-netCDF} |
---|
22 |
|
---|
23 |
The netCDF output format provides a self-describing |
---|
24 |
output file which is portable across machines. It is |
---|
25 |
also recognized by many graphics and post-processing |
---|
26 |
utilities. These are important and very useful features |
---|
27 |
and are the reasons a netCDF option has been included |
---|
28 |
in POP. However, there are two disadvantages to using |
---|
29 |
this format. |
---|
30 |
|
---|
31 |
The most serious disadvantage with netCDF format is that |
---|
32 |
netCDF does not currently permit parallel I/O; all |
---|
33 |
netCDF operations are funneled through a single processor. |
---|
34 |
For high resolution simulations, this can present a serious |
---|
35 |
performance bottleneck as the model attempts to pass |
---|
36 |
several Gbytes through a single processor. If netCDF |
---|
37 |
output is desired and is proving to be too slow, the |
---|
38 |
user should switch to binary format and convert the |
---|
39 |
binary files off-line to netCDF. |
---|
40 |
|
---|
41 |
Currently, the data portion of a netCDF file utilizes |
---|
42 |
IEEE binary format. For portability, if a |
---|
43 |
machine does not use IEEE format for its native binary |
---|
44 |
format, netCDF will be performing a conversion (hidden |
---|
45 |
to the user) to this format. In such a case, loss |
---|
46 |
of precision during this conversion will occur and |
---|
47 |
exact restart can not be guaranteed. To avoid this, |
---|
48 |
binary format should typically be chosen for all restart |
---|
49 |
files. |
---|
50 |
|
---|
51 |
\subsection{binary}\label{sec:output-format-binary} |
---|
52 |
|
---|
53 |
The binary format option creates files in local machine |
---|
54 |
binary format. These files are written as Fortran |
---|
55 |
direct-access files so there are no record headers or |
---|
56 |
footers and the file can be read by other applications |
---|
57 |
as a pure binary stream. Typically, each record in |
---|
58 |
the file contains a horizontal slice of a particular |
---|
59 |
field (so the record length is the size of a horizontal |
---|
60 |
slice of the global data). On parallel machines, fast |
---|
61 |
parallel I/O is achieved by reading/writing each |
---|
62 |
of these slices from a different processor |
---|
63 |
with the number of processors reading/writing data |
---|
64 |
specified in the |
---|
65 |
\hyperref{I/O namelist.} |
---|
66 |
{I/O namelist (see Sec.}{).} |
---|
67 |
{sec:op-io} |
---|
68 |
|
---|
69 |
Unlike netCDF, these binary files contain no information |
---|
70 |
about themselves (not self-describing) and no information |
---|
71 |
about the fields in the files. To remedy this, each |
---|
72 |
binary file written by POP is accompanied by a `header |
---|
73 |
file' with the same name as the binary file and an |
---|
74 |
additional suffix `.hdr'. This header file is an ASCII |
---|
75 |
file which contains all the information you would find in |
---|
76 |
a netCDF file, including file attributes, fields in the file |
---|
77 |
and attributes of those fields. As part of the field |
---|
78 |
attributes, the starting record of the field in the |
---|
79 |
binary file is included. Such a header file provides |
---|
80 |
some of the capability of a self-describing data format |
---|
81 |
and also provides information for easy conversion to |
---|
82 |
netCDF (or other self-describing format). |
---|
83 |
|
---|
84 |
Because binary formats differ across machines, binary |
---|
85 |
files are not typically portable across machines. |
---|
86 |
To achieve portability, the user is encouraged to |
---|
87 |
convert the binary files to a more portable data format |
---|
88 |
like netCDF. |
---|
89 |
|
---|
90 |
\section{File-naming convention}\label{sec:names} |
---|
91 |
|
---|
92 |
All output file names have the form: |
---|
93 |
{\tt root-filename.runid.time-indicator.output-format}. |
---|
94 |
Here {\tt root-filename} is a name defined by the user |
---|
95 |
through namelist input for each file type, |
---|
96 |
\hyperref{{\tt runid}} |
---|
97 |
{{\tt runid} (see Sec. }{)} |
---|
98 |
{sec:op-timemanager} |
---|
99 |
is a character identifier for the run sequence, |
---|
100 |
{\tt time-indicator} depends on the output frequency |
---|
101 |
chosen and {\tt output-format} is either `nc' for netCDF |
---|
102 |
files or `bin' for binary files. If the output file is written |
---|
103 |
at a frequency of {\tt nday, nmonth} or {\tt nyear}, the |
---|
104 |
{\tt time-indicator} is typically the date in yyyymmdd |
---|
105 |
(where yyyy, mm and dd can be optionally separated by a |
---|
106 |
character defined in the time manager namelist). If the |
---|
107 |
output file is written every {\tt nstep} steps, the |
---|
108 |
{\tt time-indicator} is the step number. |
---|
109 |
|
---|
110 |
A convention has been developed for naming POP output files |
---|
111 |
in which the root filenames for {\em restart, time-averaged |
---|
112 |
history, snapshot history,} and {\em movie}files are |
---|
113 |
simply the one-letter names `d', `t', `h', `m' respectively. |
---|
114 |
These are the default values in the namelists for each |
---|
115 |
of these options, but the user is not required to follow |
---|
116 |
this convention. Come up with your own convention. We don't |
---|
117 |
mind. Really. Have fun with it. The only requirement |
---|
118 |
is that the {\tt root-filename} must be distinct for each |
---|
119 |
type of output file. |
---|
120 |
Because `.' is used to delimit {\tt runid} in file names and |
---|
121 |
`/' is reserved as a separator in Unix path names, neither |
---|
122 |
should be used within {\tt runid}. |
---|
123 |
|
---|
124 |
\section{Model diagnostics}\label{sec:diagnostics} |
---|
125 |
|
---|
126 |
The progress of a POP simulation is recorded in a `log file' |
---|
127 |
that is either written to standard output (stdout) or |
---|
128 |
redirected to an optional |
---|
129 |
\hyperref{log file} |
---|
130 |
{log file (see Sec.}{)} |
---|
131 |
{sec:op-io}. |
---|
132 |
A new log file is created each time the model is started. |
---|
133 |
Values of the model version number, release date, date and |
---|
134 |
time of the run, input namelist parameters, and initial or |
---|
135 |
restart conditions are documented at the beginning of each |
---|
136 |
log file. After the introductory information, the log file |
---|
137 |
will contain output from model timers and all the |
---|
138 |
scalar diagnostics. |
---|
139 |
|
---|
140 |
There are three types of scalar diagnostics available. |
---|
141 |
Global diagnostics compute a variety of globally-averaged |
---|
142 |
values of tracers, kinetic energy and several tendencies for |
---|
143 |
checking balances. CFL diagnostics compute the Courant numbers |
---|
144 |
for advection and diffusion terms. Transport diagnostics |
---|
145 |
compute mass, heat and salt transports through various regions |
---|
146 |
defined in an input file. |
---|
147 |
|
---|
148 |
These diagnostics are chosen by setting the frequency |
---|
149 |
{\tt freq\_opt} at which each diagnostic is computed. |
---|
150 |
If diagnostics are chosen, the diagnostics are written |
---|
151 |
both to the log file (or stdout) and to a separate |
---|
152 |
diagnostics output file. Monitoring this output |
---|
153 |
as the model runs is a useful way of making sure the |
---|
154 |
model is behaving reasonably. For example, the Courant |
---|
155 |
numbers reported in the CFL diagnostics should remain small |
---|
156 |
and various tendencies reported in the global diagnostics |
---|
157 |
should remain balanced. |
---|
158 |
|
---|
159 |
In addition to printing these diagnostics to a log file, the |
---|
160 |
diagnostics are printed to other output files in a format |
---|
161 |
more suitable for various graphics programs. The output |
---|
162 |
files are ASCII files with each line containing {\tt tday} |
---|
163 |
(decimal time in days for the entire simulation), the value |
---|
164 |
of the diagnostic and a name for the diagnostic. The name |
---|
165 |
of these output files can be changed using the variables |
---|
166 |
{\tt diag\_outfile, diag\_transport\_outfile}. |
---|
167 |
|
---|
168 |
\begin{table}\caption{Diagnostics namelist}\label{tab:nmldiag} |
---|
169 |
\begin{tabular}{|p{1in}|p{1in}|p{2.25in}|} |
---|
170 |
\hline |
---|
171 |
{\bf \&diagnostics\_nml} & |
---|
172 |
{\bf } & |
---|
173 |
{\bf generation of model diagnostics} \\ |
---|
174 |
\hline |
---|
175 |
diag\_global\_freq\_opt & |
---|
176 |
[`never'], `nstep', `nyear', `nmonth', `nday', `nhour', `nsecond' & |
---|
177 |
units of time for 'diag\_global\_freq' \\ |
---|
178 |
\hline |
---|
179 |
diag\_global\_freq & |
---|
180 |
[100000] & |
---|
181 |
how often (in above units) to compute and print global diagnostics \\ |
---|
182 |
\hline |
---|
183 |
diag\_cfl\_freq\_opt & |
---|
184 |
[`never'], `nstep', `nyear', `nmonth', `nday', `nhour', `nsecond' & |
---|
185 |
units of time for 'diag\_cfl\_freq' \\ |
---|
186 |
\hline |
---|
187 |
diag\_cfl\_freq & |
---|
188 |
[100000] & |
---|
189 |
how often (in above units) to compute and print CFL stability |
---|
190 |
diagnostics \\ |
---|
191 |
\hline |
---|
192 |
diag\_transp\_freq\_opt & |
---|
193 |
[`never'], `nstep', `nyear', `nmonth', `nday', `nhour', `nsecond' & |
---|
194 |
units of time for 'diag\_transp\_freq' \\ |
---|
195 |
\hline |
---|
196 |
diag\_transp\_freq & |
---|
197 |
[100000] & |
---|
198 |
how often (in above units) to compute and print transport |
---|
199 |
diagnostics \\ |
---|
200 |
\hline |
---|
201 |
diag\_transport\_file & |
---|
202 |
`sample\_transport\_file' & |
---|
203 |
input filename (with path) describing requested transports \\ |
---|
204 |
\hline |
---|
205 |
diag\_outfile & |
---|
206 |
`pop\_diag' & |
---|
207 |
file to which global and cfl diagnostics are to be written \\ |
---|
208 |
\hline |
---|
209 |
diag\_transport\_outfile & |
---|
210 |
`pop\_transp' & |
---|
211 |
file to which transport diagnostics are to be written \\ |
---|
212 |
\hline |
---|
213 |
diag\_all\_levels & |
---|
214 |
[.false.] & |
---|
215 |
if true, tracer mean diagnostics at all vertical levels are output \\ |
---|
216 |
\hline |
---|
217 |
cfl\_all\_levels & |
---|
218 |
[.false.] & |
---|
219 |
if true, cfl diagnostics at all vertical levels are output \\ |
---|
220 |
\hline |
---|
221 |
/ & |
---|
222 |
& |
---|
223 |
\\ |
---|
224 |
\hline |
---|
225 |
\end{tabular} |
---|
226 |
\end{table} |
---|
227 |
|
---|
228 |
\subsection{Transport diagnostics}\label{sec:diag-transport} |
---|
229 |
|
---|
230 |
Computing transport diagnostics requires an input file describing |
---|
231 |
the requested transports. A sample transport input file is |
---|
232 |
provided with the distribution. The transport input file |
---|
233 |
must contain the number of transport regions in the first record. |
---|
234 |
Each following record must contain 6 integers |
---|
235 |
{\tt imin, imax, jmin, jmax, kmin, kmax} which are global |
---|
236 |
array indices which define the transport region. Note that |
---|
237 |
the region must be a plane so that one of the horizontal |
---|
238 |
dimensions must be fixed. Following these integers must be |
---|
239 |
a 5-character string that specifies `zonal' or `merid' |
---|
240 |
transport. Note that this descriptor defines the orientation |
---|
241 |
of the {\em section} and not the direction of the velocity |
---|
242 |
normal to it. A `zonal' section implies the transport across |
---|
243 |
that section uses the meridional velocity (velocity |
---|
244 |
perpendicular to the section). The last item in each record |
---|
245 |
is a name for the transport region (e.g. `Drake Passage'). |
---|
246 |
|
---|
247 |
\begin{table}\caption{Transport descriptions}\label{tab:diag-transp} |
---|
248 |
\begin{tabular}{|l|l|l|l|l|l|l|l|} |
---|
249 |
\hline |
---|
250 |
{\bf imin} & |
---|
251 |
{\bf imax} & |
---|
252 |
{\bf jmin} & |
---|
253 |
{\bf jmax} & |
---|
254 |
{\bf kmin} & |
---|
255 |
{\bf kmax} & |
---|
256 |
{\bf section} & |
---|
257 |
{\bf label} \\ |
---|
258 |
\hline |
---|
259 |
64 & |
---|
260 |
64 & |
---|
261 |
1 & |
---|
262 |
128 & |
---|
263 |
1 & |
---|
264 |
20 & |
---|
265 |
merid & |
---|
266 |
sample meridional section \\ |
---|
267 |
\hline |
---|
268 |
1 & |
---|
269 |
192 & |
---|
270 |
64 & |
---|
271 |
64 & |
---|
272 |
1 & |
---|
273 |
10 & |
---|
274 |
zonal & |
---|
275 |
sample zonal section \\ |
---|
276 |
\hline |
---|
277 |
\end{tabular} |
---|
278 |
\end{table} |
---|
279 |
|
---|
280 |
\section{Model output files}\label{sec:output} |
---|
281 |
|
---|
282 |
In this section, we often refer to `model dates' and `model |
---|
283 |
times' as corresponding to actual dates and times in the |
---|
284 |
real world. This is only true if the model initial time |
---|
285 |
was set appropriately and only has true meaning if the model |
---|
286 |
is forced by actual observed forcing fields with proper dates |
---|
287 |
associated with them. Otherwise, `model time' simply refers |
---|
288 |
to the model's internal calendar. |
---|
289 |
|
---|
290 |
\subsection{Time-averaged history files }\label{sec:output-tavg} |
---|
291 |
|
---|
292 |
The namelist {\tt tavg\_nml} controls the frequency and |
---|
293 |
content of time-averaged history files. These files are |
---|
294 |
constructed by accumulating in memory at each time-step |
---|
295 |
the running sums of selected variables or correlation of |
---|
296 |
variables. Consequently, time averaging can be very memory |
---|
297 |
intensive and may not be feasible on your computer. Snapshot |
---|
298 |
\hyperref{history files} |
---|
299 |
{history files (see Sec.}{)} |
---|
300 |
{sec:output-history} |
---|
301 |
provide an alternative, but at the price of having to recall |
---|
302 |
many files from archival storage to compute the sums. The |
---|
303 |
{\tt tavg\_freq} determines both the frequency at which the |
---|
304 |
files are written as well as the interval over which the |
---|
305 |
time average is to be performed. |
---|
306 |
|
---|
307 |
Because the time averages are running averages, {\tt tavg} |
---|
308 |
restart files are written whenever a model restart file is |
---|
309 |
written so that the averaging can continue upon restart. |
---|
310 |
Note that the fields in the output files are normalized by |
---|
311 |
the accumulated time since the start of the time average. |
---|
312 |
The time interval used for this normalization is output |
---|
313 |
as the file attribute {\tt tavg\_sum}. When the model |
---|
314 |
restarts from a restart file, the sums are de-normalized |
---|
315 |
before continuing the accumulated sum. |
---|
316 |
|
---|
317 |
The user may also control when the time averaging will |
---|
318 |
begin. For example, if the time averaging should be |
---|
319 |
started after the model has equilibrated, the user can |
---|
320 |
specify when time averaging should start through the |
---|
321 |
{\tt tavg\_start} variables. The choices are similar |
---|
322 |
to the model start options. |
---|
323 |
|
---|
324 |
\begin{table}\caption{Time-average file namelist}\label{tab:nmltavg} |
---|
325 |
\begin{tabular}{|p{1in}|p{1.25in}|p{2in}|} |
---|
326 |
\hline |
---|
327 |
{\bf \&tavg\_nml} & |
---|
328 |
{\bf } & |
---|
329 |
{\bf generation of time-average history files} \\ |
---|
330 |
\hline |
---|
331 |
tavg\_freq\_opt & |
---|
332 |
[`never'], `nyear', `nmonth', `nday', `nhour', `nsecond', `nstep' & |
---|
333 |
units of time for `tavg\_freq' \\ |
---|
334 |
\hline |
---|
335 |
tavg\_freq & |
---|
336 |
[100000] & |
---|
337 |
interval in above units for computation and output of time-average |
---|
338 |
history files \\ |
---|
339 |
\hline |
---|
340 |
tavg\_start\_opt & |
---|
341 |
[`nstep'], `nyear', `nmonth', `nday', `date' & |
---|
342 |
units for tavg\_start (`date' implies yyyymmdd) \\ |
---|
343 |
\hline |
---|
344 |
tavg\_start & |
---|
345 |
[100000] & |
---|
346 |
time in above units after which to start accumulating time average \\ |
---|
347 |
\hline |
---|
348 |
tavg\_infile & |
---|
349 |
[`unknown'] & |
---|
350 |
restart file for partial tavg sums if starting from restart |
---|
351 |
(ignored if luse\_pointer\_files is enabled) \\ |
---|
352 |
\hline |
---|
353 |
tavg\_fmt\_in & |
---|
354 |
[`bin'],`nc' & |
---|
355 |
format for tavg restart file (binary or netCDF) \\ |
---|
356 |
\hline |
---|
357 |
tavg\_outfile & |
---|
358 |
[`unknown'] & |
---|
359 |
root filename (with path) for tavg output files (suffixes |
---|
360 |
will be added) \\ |
---|
361 |
\hline |
---|
362 |
tavg\_fmt\_out & |
---|
363 |
[`bin'],`nc' & |
---|
364 |
format for tavg output files (binary or netCDF) \\ |
---|
365 |
\hline |
---|
366 |
tavg\_contents & |
---|
367 |
`sample\_tavg\_contents' & |
---|
368 |
file name for input file containing names of fields requested for |
---|
369 |
tavg output \\ |
---|
370 |
\hline |
---|
371 |
/ & |
---|
372 |
& |
---|
373 |
\\ |
---|
374 |
\hline |
---|
375 |
\end{tabular} |
---|
376 |
\end{table} |
---|
377 |
|
---|
378 |
|
---|
379 |
{\bf IMPORTANT}: Before a new run-sequence is begun, careful |
---|
380 |
thought should be given to the contents of the time-average |
---|
381 |
history files. The same considerations apply to snapshot |
---|
382 |
history and movie files. Although it is possible to redefine |
---|
383 |
the contents at any time during the sequence, this is not |
---|
384 |
recommended. Changing the contents can greatly complicate |
---|
385 |
the process of combining short-interval (e.g., monthly) files |
---|
386 |
into longer-interval files, such as seasonal, annual and |
---|
387 |
multi-year composite files. |
---|
388 |
|
---|
389 |
For time-averaged output, a {\tt tavg\_contents} file |
---|
390 |
is required containing a simple list (one field per line) |
---|
391 |
of accepted short names for all the fields desired for the |
---|
392 |
output file. A {\tt sample\_tavg\_contents} file is supplied |
---|
393 |
containing a large list of fields available for tavg output. |
---|
394 |
It is meant for the user to use as a template, modifying it |
---|
395 |
for their own needs by deleting entries or adding new ones. |
---|
396 |
If a user wishes to add a field that is currently not available, |
---|
397 |
the user must modify the code to add that field using other |
---|
398 |
available fields as a template. |
---|
399 |
|
---|
400 |
\begin{table}[!h]\caption{Current available tavg fields} |
---|
401 |
\label{tab:tavgfields} |
---|
402 |
\begin{tabular}{|p{1in}|p{1in}|p{2.25in}|} |
---|
403 |
\hline |
---|
404 |
{\bf Name} & |
---|
405 |
{\bf Units} & |
---|
406 |
{\bf Description} \\ |
---|
407 |
\hline |
---|
408 |
SHF & |
---|
409 |
$W/m^2$ & |
---|
410 |
Surface Heat Flux \\ |
---|
411 |
\hline |
---|
412 |
SFWF & |
---|
413 |
mm/day & |
---|
414 |
Surface Freshwater Flux (p-e) \\ |
---|
415 |
\hline |
---|
416 |
SSH & |
---|
417 |
cm & |
---|
418 |
Sea Surface Height \\ |
---|
419 |
\hline |
---|
420 |
H2 & |
---|
421 |
$cm^2$ & |
---|
422 |
${\rm SSH}^2$ \\ |
---|
423 |
\hline |
---|
424 |
H3 & |
---|
425 |
unitless & |
---|
426 |
$(\Delta_x(SSH))^2 + (\Delta_y(SSH))^2$ \\ |
---|
427 |
\hline |
---|
428 |
TAUX & |
---|
429 |
$dyne/cm^2$ & |
---|
430 |
Zonal windstress \\ |
---|
431 |
\hline |
---|
432 |
TAUY & |
---|
433 |
$dyne/cm^2$ & |
---|
434 |
Meridional windstress \\ |
---|
435 |
\hline |
---|
436 |
UVEL & |
---|
437 |
cm/s & |
---|
438 |
Zonal Velocity \\ |
---|
439 |
\hline |
---|
440 |
VVEL & |
---|
441 |
cm/s & |
---|
442 |
Meridional Velocity \\ |
---|
443 |
\hline |
---|
444 |
KE & |
---|
445 |
$cm^2/s^2$ & |
---|
446 |
Horizontal Kinetic Energy $(U^2+V^2)/2$ \\ |
---|
447 |
\hline |
---|
448 |
TEMP & |
---|
449 |
${\ }^\circ C $ & |
---|
450 |
Potential Temperature \\ |
---|
451 |
\hline |
---|
452 |
SALT & |
---|
453 |
g/g & |
---|
454 |
Salinity \\ |
---|
455 |
\hline |
---|
456 |
TEMP2 & |
---|
457 |
${\ }^\circ C^2$ & |
---|
458 |
${\rm Temperature}^2$ \\ |
---|
459 |
\hline |
---|
460 |
SALT2 & |
---|
461 |
$(g/g)^2$ & |
---|
462 |
${\rm Salinity}^2$ \\ |
---|
463 |
\hline |
---|
464 |
UET & |
---|
465 |
${\ }^\circ C/s$ & |
---|
466 |
East Flux of Heat \\ |
---|
467 |
\hline |
---|
468 |
VNT & |
---|
469 |
${\ }^\circ C/s$ & |
---|
470 |
North Flux of Heat \\ |
---|
471 |
\hline |
---|
472 |
WTT & |
---|
473 |
${\ }^\circ C/s$ & |
---|
474 |
Top Flux of Heat \\ |
---|
475 |
\hline |
---|
476 |
UES & |
---|
477 |
g/g/s & |
---|
478 |
East Flux of Salt \\ |
---|
479 |
\hline |
---|
480 |
VNS & |
---|
481 |
g/g/s & |
---|
482 |
North Flux of Salt \\ |
---|
483 |
\hline |
---|
484 |
WTS & |
---|
485 |
g/g/s & |
---|
486 |
Top Flux of Salt \\ |
---|
487 |
\hline |
---|
488 |
UEU & |
---|
489 |
$cm/s^2$ & |
---|
490 |
East Flux of Zonal Momentum \\ |
---|
491 |
\hline |
---|
492 |
VNU & |
---|
493 |
$cm/s^2$ & |
---|
494 |
North Flux of Zonal Momentum \\ |
---|
495 |
\hline |
---|
496 |
UEV & |
---|
497 |
$cm/s^2$ & |
---|
498 |
East Flux of Meridional Momentum \\ |
---|
499 |
\hline |
---|
500 |
VNV & |
---|
501 |
$cm/s^2$ & |
---|
502 |
North Flux of Meridional Momentum \\ |
---|
503 |
\hline |
---|
504 |
PV & |
---|
505 |
1/s & |
---|
506 |
Potential Vorticity \\ |
---|
507 |
\hline |
---|
508 |
Q & |
---|
509 |
$g/cm^4$ & |
---|
510 |
z-derivative of potential density \\ |
---|
511 |
\hline |
---|
512 |
PD & |
---|
513 |
$g/cm^3$ & |
---|
514 |
Potential density referenced to surface \\ |
---|
515 |
\hline |
---|
516 |
UDP & |
---|
517 |
erg & |
---|
518 |
Pressure work \\ |
---|
519 |
\hline |
---|
520 |
PEC & |
---|
521 |
$g/cm^3$ & |
---|
522 |
Potential energy release due to convection \\ |
---|
523 |
\hline |
---|
524 |
NCNV & |
---|
525 |
adjustments/s & |
---|
526 |
Convective adjustments per second \\ |
---|
527 |
\hline |
---|
528 |
WTU & |
---|
529 |
$cm/s^2$ & |
---|
530 |
Top flux of Zonal Momentum \\ |
---|
531 |
\hline |
---|
532 |
WTV & |
---|
533 |
$cm/s^2$ & |
---|
534 |
Top flux of Meridional Momentum \\ |
---|
535 |
\hline |
---|
536 |
ST & |
---|
537 |
${\ }^\circ Cg/g$ & |
---|
538 |
Temperature*Salinity \\ |
---|
539 |
\hline |
---|
540 |
RHO & |
---|
541 |
$g/cm^3$ & |
---|
542 |
In-situ density \\ |
---|
543 |
\hline |
---|
544 |
\end{tabular} |
---|
545 |
\end{table} |
---|
546 |
|
---|
547 |
\newpage |
---|
548 |
\subsection{Snapshot history files }\label{sec:output-history} |
---|
549 |
|
---|
550 |
If sufficient memory is not available for run-time |
---|
551 |
accumulation of time-averaged history files or if the user |
---|
552 |
simply needs an instantaneous view of the ocean state, snapshot |
---|
553 |
history files can be written at regular intervals. |
---|
554 |
The interval must be short enough that whatever time-averaging |
---|
555 |
interval may be desired in the future, there will be three or |
---|
556 |
more samples (snapshots) per averaging-interval. For monthly |
---|
557 |
averages, snapshots should be collected at intervals of 10 days |
---|
558 |
or less. Only one time-level of the prognostic |
---|
559 |
variables and selected diagnostic variables needs to be saved, since |
---|
560 |
second-moments and correlations can be computed later from these snapshot |
---|
561 |
files, at the cost of retrieving a potentially large number of snapshot |
---|
562 |
files. To choose which fields are written to the history files, |
---|
563 |
a history contents file must be supplied with a list of fields |
---|
564 |
desired. A sample file is included which contains all the |
---|
565 |
currently available fields; the user may edit this file to |
---|
566 |
select the desired fields. If a field is not currently included |
---|
567 |
in the list of available fields, the user must modify the source |
---|
568 |
code to make that field available (see the Reference Manual). |
---|
569 |
|
---|
570 |
\begin{table}[h]\caption{History file namelist}\label{tab:nmlhist} |
---|
571 |
\begin{tabular}{|p{1in}|p{1in}|p{2.25in}|} |
---|
572 |
\hline |
---|
573 |
{\bf \&history\_nml} & |
---|
574 |
{\bf } & |
---|
575 |
{\bf Generation of snapshot history files} \\ |
---|
576 |
\hline |
---|
577 |
history\_freq\_opt & |
---|
578 |
[`never'],`nstep', `nyear', `nmonth', `nday', `nhour', `nsecond' & |
---|
579 |
units of time for history\_freq \\ |
---|
580 |
\hline |
---|
581 |
history\_freq & |
---|
582 |
[100000] & |
---|
583 |
number of units between output of snapshot history files \\ |
---|
584 |
\hline |
---|
585 |
history\_outfile & |
---|
586 |
[`unknown'] & |
---|
587 |
root filename with path of history file output |
---|
588 |
(suffixes will be added) \\ |
---|
589 |
\hline |
---|
590 |
history\_fmt & |
---|
591 |
[`bin'],`nc' & |
---|
592 |
format for history files (binary or netCDF) \\ |
---|
593 |
\hline |
---|
594 |
history\_contents & |
---|
595 |
[`history\_contents'] & |
---|
596 |
input file containing names of fields requested to be output \\ |
---|
597 |
\hline |
---|
598 |
/ & |
---|
599 |
& |
---|
600 |
\\ |
---|
601 |
\hline |
---|
602 |
\end{tabular} |
---|
603 |
\end{table} |
---|
604 |
|
---|
605 |
|
---|
606 |
\begin{table}[!h]\caption{Currently available history fields} |
---|
607 |
\label{tab:histfields} |
---|
608 |
\begin{tabular}{|p{1in}|p{1in}|p{2.25in}|} |
---|
609 |
\hline |
---|
610 |
{\bf Name} & |
---|
611 |
{\bf Units} & |
---|
612 |
{\bf Description} \\ |
---|
613 |
\hline |
---|
614 |
SHGT & |
---|
615 |
cm & |
---|
616 |
surface height \\ |
---|
617 |
\hline |
---|
618 |
UBTROP & |
---|
619 |
cm/s & |
---|
620 |
barotropic `zonal' velocity \\ |
---|
621 |
\hline |
---|
622 |
VBTROP & |
---|
623 |
cm/s & |
---|
624 |
barotropic `meridional' velocity \\ |
---|
625 |
\hline |
---|
626 |
UVEL & |
---|
627 |
cm/s & |
---|
628 |
`zonal' velocity \\ |
---|
629 |
\hline |
---|
630 |
VVEL & |
---|
631 |
cm/s & |
---|
632 |
`meridional' velocity \\ |
---|
633 |
\hline |
---|
634 |
TEMP & |
---|
635 |
${\ }^\circ C$ & |
---|
636 |
potential temperature \\ |
---|
637 |
\hline |
---|
638 |
SALT & |
---|
639 |
g/g (msu) & |
---|
640 |
salinity \\ |
---|
641 |
\hline |
---|
642 |
SUF & |
---|
643 |
$cm^2/s^2$ & |
---|
644 |
surface velocity flux in U direction \\ |
---|
645 |
\hline |
---|
646 |
SVF & |
---|
647 |
$cm^2/s^2$ & |
---|
648 |
surface velocity flux in V direction \\ |
---|
649 |
\hline |
---|
650 |
SHF & |
---|
651 |
$W/m^2$ & |
---|
652 |
surface heat flux \\ |
---|
653 |
\hline |
---|
654 |
SFWF & |
---|
655 |
m/year & |
---|
656 |
surface fresh water flux \\ |
---|
657 |
\hline |
---|
658 |
SOLAR & |
---|
659 |
$W/m^2$ & |
---|
660 |
solar short wave flux at surface \\ |
---|
661 |
\hline |
---|
662 |
\end{tabular} |
---|
663 |
\end{table} |
---|
664 |
|
---|
665 |
\newpage |
---|
666 |
\subsection{Movie files }\label{sec:output-movie} |
---|
667 |
|
---|
668 |
One of the most exciting aspects of ocean simulation is the |
---|
669 |
opportunity to visualize and animate the evolution of the |
---|
670 |
model variables in time and space. Making movies that |
---|
671 |
progress smoothly requires either output of model variables |
---|
672 |
frequently enough to avoid jerkiness or temporal interpolation |
---|
673 |
of model variables to similarly frequent intervals. Experience |
---|
674 |
has shown that a snapshot every three days (see {\tt movie\_freq}) |
---|
675 |
gives satisfactory results. Any variable can be output, but to |
---|
676 |
reduce archiving cost and retrieval time, movie |
---|
677 |
files typically contain only a few two-dimensional arrays, such |
---|
678 |
as sea-surface temperature, salinity and height, and a few |
---|
679 |
sub-surface variables. The choice of fields is made through |
---|
680 |
an input movie contents file containing the names (one per |
---|
681 |
line) of the fields requested. A sample file is included |
---|
682 |
with a list of available fields; the user may modify this |
---|
683 |
list to choose the desired fields. If a field does not appear |
---|
684 |
in the list of available fields, the user may add fields by |
---|
685 |
modifying the source code as described in the Reference |
---|
686 |
Manual. |
---|
687 |
|
---|
688 |
\begin{table}[h]\caption{Movie file namelist}\label{tab:nmlmovie} |
---|
689 |
\begin{tabular}{|p{1in}|p{1in}|p{2.25in}|} |
---|
690 |
\hline |
---|
691 |
{\bf \&movie\_nml} & |
---|
692 |
{\bf } & |
---|
693 |
{\bf generation of snapshot movie files} \\ |
---|
694 |
\hline |
---|
695 |
movie\_freq\_opt & |
---|
696 |
[`never'], `nstep', `nyear',`nmonth',`nday', `nhour',`nsecond' & |
---|
697 |
units of time for movie\_freq \\ |
---|
698 |
\hline |
---|
699 |
movie\_freq & |
---|
700 |
[100000] & |
---|
701 |
number of units between output of movie files \\ |
---|
702 |
\hline |
---|
703 |
movie\_outfile & |
---|
704 |
['unknown'] & |
---|
705 |
root filename with path of movie file output |
---|
706 |
(suffixes will be added) \\ |
---|
707 |
\hline |
---|
708 |
movie\_fmt & |
---|
709 |
[`bin'],`nc' & |
---|
710 |
format for movie file output (binary or netCDF) \\ |
---|
711 |
\hline |
---|
712 |
movie\_contents & |
---|
713 |
[`sample\_movie\_contents'] & |
---|
714 |
input file containing names of fields requested |
---|
715 |
for movie output \\ |
---|
716 |
\hline |
---|
717 |
/ & |
---|
718 |
& |
---|
719 |
\\ |
---|
720 |
\hline |
---|
721 |
\end{tabular} |
---|
722 |
\end{table} |
---|
723 |
|
---|
724 |
\begin{table}[h]\caption{Currently available movie fields} |
---|
725 |
\label{tab:moviefields} |
---|
726 |
\begin{tabular}{|p{1in}|p{1in}|p{2.25in}|} |
---|
727 |
\hline |
---|
728 |
{\bf Name} & |
---|
729 |
{\bf Units} & |
---|
730 |
{\bf Description} \\ |
---|
731 |
\hline |
---|
732 |
SHGT & |
---|
733 |
cm & |
---|
734 |
surface height \\ |
---|
735 |
\hline |
---|
736 |
UTRANS & |
---|
737 |
$cm^2/s$ & |
---|
738 |
vertically integrated `zonal' transport \\ |
---|
739 |
\hline |
---|
740 |
VTRANS & |
---|
741 |
$cm^2/s$ & |
---|
742 |
vertically integrated `meridional' transport \\ |
---|
743 |
\hline |
---|
744 |
TEMP1\_2 & |
---|
745 |
${\rm }^\circ C$ & |
---|
746 |
potential temperature averaged over levels 1,2 \\ |
---|
747 |
\hline |
---|
748 |
SALT1\_2 & |
---|
749 |
g/g (msu) & |
---|
750 |
salinity averaged over levels 1,2 \\ |
---|
751 |
\hline |
---|
752 |
TEMP6 & |
---|
753 |
${\rm }^\circ C$ & |
---|
754 |
potential temperature at level 6 \\ |
---|
755 |
\hline |
---|
756 |
SALT6 & |
---|
757 |
g/g (msu) & |
---|
758 |
salinity at level 6 \\ |
---|
759 |
\hline |
---|
760 |
VORT & |
---|
761 |
1/s & |
---|
762 |
relative vorticity at surface \\ |
---|
763 |
\hline |
---|
764 |
\end{tabular} |
---|
765 |
\end{table} |
---|
766 |
|
---|
767 |
\newpage |
---|
768 |
\subsection{Current meters, drifters and hydrographic sections.} |
---|
769 |
\label{sec:output-cmeters} |
---|
770 |
|
---|
771 |
Versions of these exist for some machines but these are not |
---|
772 |
yet included in the present version of the code. They will be |
---|
773 |
added soon. |
---|
774 |
|
---|