/[MITgcm]/manual/s_examples/cfc_offline/offline_tutorial.tex
ViewVC logotype

Annotation of /manual/s_examples/cfc_offline/offline_tutorial.tex

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


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

1 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    

  ViewVC Help
Powered by ViewVC 1.1.22