[cig-commits] r5401 - mc/3D/CitcomS/trunk/doc/manual

sue at geodynamics.org sue at geodynamics.org
Thu Nov 30 15:38:47 PST 2006


Author: sue
Date: 2006-11-30 15:38:30 -0800 (Thu, 30 Nov 2006)
New Revision: 5401

Modified:
   mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
Log:
fixed sentence in A.1.2 last row

Modified: mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
===================================================================
--- mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx	2006-11-30 23:08:42 UTC (rev 5400)
+++ mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx	2006-11-30 23:38:30 UTC (rev 5401)
@@ -1,16015 +1,16015 @@
-#LyX 1.4.2 created this file. For more info see http://www.lyx.org/
-\lyxformat 245
-\begin_document
-\begin_header
-\textclass book
-\begin_preamble
-\usepackage{hyperref}
-
-\let\myUrl\url
-\renewcommand{\url}[1]{(\myUrl{#1})}
-
-\raggedbottom
-\end_preamble
-\language english
-\inputencoding auto
-\fontscheme default
-\graphics default
-\paperfontsize default
-\spacing single
-\papersize default
-\use_geometry true
-\use_amsmath 0
-\cite_engine basic
-\use_bibtopic false
-\paperorientation portrait
-\leftmargin 1in
-\topmargin 1in
-\rightmargin 1in
-\bottommargin 1in
-\secnumdepth 3
-\tocdepth 5
-\paragraph_separation indent
-\defskip medskip
-\quotes_language swedish
-\papercolumns 1
-\papersides 2
-\paperpagestyle headings
-\tracking_changes false
-\output_changes true
-\end_header
-
-\begin_body
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\begin_inset Graphics
-	filename graphics/citcoms_cover.pdf
-	display color
-	width 75page%
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-thispagestyle{empty}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Title
-CitComS.py User Manual
-\end_layout
-
-\begin_layout Author
-California Institute of Technology
-\newline
-Version 2.1.0
-\end_layout
-
-\begin_layout Date
-\noindent
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-today
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset LatexCommand \tableofcontents{}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset FloatList figure
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Part
-Preface
-\end_layout
-
-\begin_layout Chapter*
-Preface
-\end_layout
-
-\begin_layout Section*
-About This Document
-\end_layout
-
-\begin_layout Standard
-This document is organized into three parts.
- Part I consists of traditional book front matter, including this preface.
- Part II begins with an introduction to Pyre and the Pyre-compatible version
- of CitComS and their capabilities and proceeds to the details of implementation
-, including a "cookbook" of short tutorials.
- Part III provides appendices and references.
-\end_layout
-
-\begin_layout Standard
-The style of this publication is based on the 
-\begin_inset LatexCommand \htmlurl[Apple Publications Style Guide]{developer.apple.com/documentation/UserExperience/Conceptual/APStyleGuide/AppleStyleGuide2003.pdf}
-
-\end_inset
-
-, as recommended by 
-\begin_inset LatexCommand \htmlurl[Python.org]{www.python.org}
-
-\end_inset
-
-.
- The documentation was produced using 
-\begin_inset LatexCommand \htmlurl[LyX]{www.lyx.org}
-
-\end_inset
-
- to facilitate the transformation of files from one format to another.
- LyX is a document processor that encourages an approach to writing based
- on the structure of your documents, not their appearance.
- It is released under a Free Software/Open Source license.
-\end_layout
-
-\begin_layout Standard
-Errors and bug fixes in this manual should be directed to the 
-\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section*
-Who Will Use This Document
-\end_layout
-
-\begin_layout Standard
-This documentation is aimed at two categories of users: scientists who prefer
- to use prepackaged and specialized analysis tools, and experienced computationa
-l Earth scientists.
- Of the latter, there are likely to be two classes of users: those who just
- run models, and those who modify the source code.
- Users who modify the source are likely to have familiarity with scripting,
- software installation, and programming, but are not necessarily professional
- programmers.
-\end_layout
-
-\begin_layout Standard
-The manual was written for the usage of CitComS.py on a variety of different
- platforms.
- CitComS.py has run on shared memory computers (Sun, Hewlett-Packard, SGI,
- and IBM), commercial distributed memory machines (Intel and Cray/SGI),
- and clusters (including machines on the NSF TeraGrid).
- 
-\end_layout
-
-\begin_layout Section*
-Citation
-\end_layout
-
-\begin_layout Standard
-Computational Infrastructure for Geodynamics (CIG) is making this source
- code available to you in the hope that the software will enhance your research
- in geophysics.
- The underlying C code for the finite element package and the Python bindings
- for the framework were donated to CIG in July of 2005.
- A number of individuals have contributed a significant portion of their
- careers toward the development of CitComS.py and Pyre.
- It is essential that you recognize these individuals in the normal scientific
- practice by citing the appropriate peer reviewed papers and making appropriate
- acknowledgements.
- 
-\end_layout
-
-\begin_layout Standard
-The CitComS development team asks that you cite both of the following:
-\end_layout
-
-\begin_layout Itemize
-Zhong, S., M.
- T.
- Zuber, L.N.
- Moresi, and M.
- Gurnis (2000), The role of temperature-dependent viscosity and surface
- plates in spherical shell models of mantle convection.
- 
-\emph on
-J.
- Geophys.
- Res.,
-\series bold
-\emph default
- 
-\series default
-\emph on
-105
-\series bold
-, 
-\series default
-\emph default
-11,063-11,082 
-\end_layout
-
-\begin_layout Itemize
-Tan, E., E.
- Choi, P.
- Thoutireddy, M.
- Gurnis, and M.
- Aivazis (2006), GeoFramework: Coupling multiple models of mantle convection
- within a computational framework,  
-\emph on
-Geochem., Geophys., Geosyst.
- 7,
-\series bold
- 
-\series default
-\emph default
-Q06001, doi:10.1029/2005GC001155.
- 
-\end_layout
-
-\begin_layout Standard
-The developers also request that in your oral presentations and in your
- paper acknowledgements that you indicate your use of this code, the authors
- of the code, and 
-\begin_inset LatexCommand \htmlurl[CIG]{www.geodynamics.org}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section*
-Support
-\end_layout
-
-\begin_layout Standard
-Pyre development is funded by the 
-\begin_inset LatexCommand \htmlurl[U.S. Dept. of Energy's Advanced Simulation and Computing program]{www.sandia.gov/NNSA/ASC}
-
-\end_inset
-
- and the 
-\begin_inset LatexCommand \htmlurl[National Science Foundation's]{www.nsf.gov}
-
-\end_inset
-
- Information Technology Research (ITR) program (grant #0205653).
- Continued support of CitComS.py is made possible under NSF EAR-0406751.
-\end_layout
-
-\begin_layout Section*
-Conventions
-\end_layout
-
-\begin_layout Standard
-Throughout this documentation CitComS.py refers to the Pyre-compatible version
- of CitComS unless specifically stated otherwise.
- Any mention of "username" is meant to indicate the user, meaning you should
- substitute your account name in its place.
-\end_layout
-
-\begin_layout Part
-Chapters
-\end_layout
-
-\begin_layout Chapter
-Introduction
-\end_layout
-
-\begin_layout Standard
-CitComS is a finite element code designed to solve thermal convection problems
- relevant to earth's mantle.
- Written in C, the code runs on a variety of parallel processing computers,
- including shared and distributed memory platforms.
- In an effort to increase the functionality of CitComS to include greater
- control during simulations on large parallel systems, the software has
- been reengineered from previous versions of CitComS to work with a Python-based
- modeling framework called Pyre.
- With Pyre, CitComS can be dynamically coupled with other CitComS simulations
- or with other codes such as SNAC, which solves crustal and lithospheric
- problems.
- 
-\end_layout
-
-\begin_layout Section
-About CitComS
-\end_layout
-
-\begin_layout Standard
-CitComS is a finite element code written in C that solves for thermal convection
- within a spherical shell.
- It has two variants, 
-\family typewriter
-CitcomSFull
-\family default
- and 
-\family typewriter
-CitcomSRegional
-\family default
-; the first solves for problems within a full spherical domain, and the
- second, for a restricted domain of a full sphere.
- Although the code is capable of solving many different kinds of convection
- problems using the flexibility of finite elements, there are aspects of
- CitComS which make it well-suited for solving problems in which the plate
- tectonic history is incorporated.
- CitComS.py allows easy use of either one of these two geometries by simply
- changing command line options.
-\end_layout
-
-\begin_layout Standard
-The fundamental basis for the numerical solution of any time-dependent convectio
-n problem is the sequential solution of an equation of motion and an energy
- equation.
- Convection problems are initially valued with boundary conditions, including
- all of the problems which are solved with CitComS.py.
- The normal sequence of steps for the solution of convection problems starts
- with an initial temperature field.
- First, the momentum equation is solved.
- The solution of this equation gives us the velocity from which we then
- solve the advection-diffusion equation, giving us a new temperature.
- CitComS.py uses this interleaved strategy.
- It is possible to run convection backward in time so as to guess an initial
- condition for a normal forward running initial and boundary value problem.
- However, users should be aware that even specialists in mantle convection
- modeling are just now starting to explore methods in this area and, as
- such, this is an emerging area of research.
- There are versions of CitCom which solve for these classes of forward and
- backward problems.
- Variable viscosity, including temperature-, pressure-, position-, composition-,
- and stress-dependent viscosity are all possible, although they may not
- be fully implemented in the current version.
- 
-\end_layout
-
-\begin_layout Standard
-This code uses an iterative solution scheme to solve for the velocity and
- pressure and, as such, a converged solution cannot be guaranteed.
- Nested inside the iterative scheme, the code uses either a conjugant gradient
- solver or a full multi-grid solver to solve the discretized matrix equations.
- 
-\end_layout
-
-\begin_layout Section
-History
-\end_layout
-
-\begin_layout Standard
-CitCom (for 
-\series bold
-C
-\series default
-alifornia 
-\series bold
-I
-\series default
-nstitute of 
-\series bold
-T
-\series default
-echnology 
-\series bold
-Co
-\series default
-nvection in the 
-\series bold
-M
-\series default
-antle) was originally written in the early 1990's by Louis Moresi.
- Although the code for three-dimensional problems was incorporated from
- its inception, early versions of the software only solved for time-dependent
- convection problems within two-dimensional Cartesian domains.
- Moresi's original code turned out to be incredibly modular and easily extensibl
-e.
- Consequently, the fundamental finite element infrastructure which Louis
- wrote is still in place and forms the basis for much of the code contained
- in the present release.
- 
-\end_layout
-
-\begin_layout Standard
-In the mid-1990's Moresi wrote versions of the code that solved the equations
- within three-dimensional Cartesian domains.
- Then Shijie Zhong successfully parallelized CitCom using message passing
- routines on a limited release Intel supercomputer.
- Zhong then created a spherical version of the code which he named CitComS.
- Lijie Han then created a regional version of CitComS as well as an alternate
- version of message passing for an arbitrarily large number of processors.
- Clint Conrad created the first Beowulf implementations of the code, then
- Conrad and Eh Tan re-coded the message passing of the fully spherical version
- so that problems run on arbitrarily large numbers of processors could also
- be solved.
- A plethora of different versions of CitCom exist both on computers at the
- California Institute of Technology and around the world.
- 
-\end_layout
-
-\begin_layout Standard
-Consequently, by 2002, there were so many different versions of the code
- that some rationalization was in order.
- The software was migrated into a version control system and Eh Tan and
- Eun-seo Choi created a version of the CitComS that generates either a fully
- spherical or regional model, 
-\family typewriter
-CitcomSFull
-\family default
- and 
-\family typewriter
-CitcomSRegional
-\family default
- respectively.
- CitComS was released to the community through the former GeoFramework project
- as version 1.0 and 1.1.
- 
-\end_layout
-
-\begin_layout Standard
-By 2004, in order to increase the functionality of CitComS, the developers
- began to reengineer the code into an object-oriented environment specifically
- so it could work with a Python-based modeling framework called Pyre.
- This release of the software, now named CitComS.py, is essentially the product
- of those reengineering efforts.
- Eh Tan was the principal developer of CitComS.py, with considerable help
- from Eun-seo Choi, Puru Thoutireddy, and Michael Aivazis.
-\end_layout
-
-\begin_layout Standard
-CitComS is one component of a larger collection of software encompassed
- by the GeoFramework, a collaborative project between the 
-\begin_inset LatexCommand \htmlurl[Center for Advanced Computing Research (CACR)]{www.cacr.caltech.edu}
-
-\end_inset
-
- and the 
-\begin_inset LatexCommand \htmlurl[Seismological Laboratory]{www.gps.caltech.edu/seismo}
-
-\end_inset
-
-, both at Caltech, and the 
-\begin_inset LatexCommand \htmlurl[Victorian Partnership for Advanced Computing]{www.vpac.org}
-
-\end_inset
-
- in Australia.
- The GeoFramework project has been developing a suite of tools to model
- multi-scale deformation for Earth science problems.
- This effort was motivated by the need to understand interactions between
- the long-term evolution of plate tectonics and shorter term processes such
- as the evolution of faults during and between earthquakes.
- During 2005 and 2006 much of the remaining software developed by GeoFramework
- was released under a GPL license and made available from 
-\begin_inset LatexCommand \htmlurl[CIG]{www.geodynamics.org}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-The second major release of CitComS (2.0) incorporated the software framework
- Pyre, free surface modeling methods, and stress boundary conditions on
- the top and bottom surfaces.
- In the summer of 2005, as part of the 2.0.1 release, CIG replaced the old
- build procedure with the GNU Build System.
- A subsequent release, version 2.0.2, could compile and run on 64-bit systems.
- 
-\end_layout
-
-\begin_layout Standard
-This release of CitComS (2.1) incorporates new features and functionality,
- the most important being the use of HDF5 (a parallel version of the Hierarchica
-l Data Format).
- The HDF5 format allows you to deal with the massive data output created
- for production runs (see Chapter
-\begin_inset LatexCommand \ref{cha:Working-with-HDF5}
-
-\end_inset
-
-).
- The new version incorporates 
-\family typewriter
-.cfg
-\family default
- files on input that allow input files to be created with greater ease and
- clarity.
-\end_layout
-
-\begin_layout Standard
-Other improvements include the incorporation of geoid calculations that
- had been left out of earlier releases, as well as new scripts to allow
- results to be visualized with 
-\begin_inset LatexCommand \htmlurl[MayaVi]{mayavi.sourceforge.net}
-
-\end_inset
-
- in addition to 
-\begin_inset LatexCommand \htmlurl[Generic Mapping Tools (GMT)]{gmt.soest.hawaii.edu}
-
-\end_inset
-
- and 
-\begin_inset LatexCommand \htmlurl[OpenDX]{www.opendx.org}
-
-\end_inset
-
-.
- Finally, you will find instructions on using this version as a preinstalled
- package on some of the NSF TeraGrid sites.
-\end_layout
-
-\begin_layout Section
-About Pyre
-\end_layout
-
-\begin_layout Standard
-Pyre is an object-oriented environment capable of specifying and launching
- numerical simulations on multiple platforms, including Beowulf class parallel
- computers and grid computing systems.
- Pyre allows the binding of multiple components such as solid and fluid
- models used in Earth science simulations, and different meshers.
- The Pyre framework enables the elegant setup, modification and launching
- of massively parallel three-dimensional solver applications.
- 
-\end_layout
-
-\begin_layout Standard
-Pyre is a framework, a combination of software and design philosophy that
- promotes the reuse of code.
- In their canonical software design book, 
-\emph on
-Design Patterns
-\emph default
-, Erich Gamma 
-\emph on
-et al
-\emph default
- condense the concept of a framework concept down to, "When you use a framework,
- you reuse the main body and write the code it calls." In the context of
- frameworks and object-oriented programming, Pyre can be thought of as a
- collection of classes and the way their instances interact.
- Programming applications based on Pyre will look similar to those written
- in any other object-oriented language.
- The Pyre framework contains a subset of parts that make up the overall
- framework.
- Each of those parts is designed to solve a specific problem.
- 
-\end_layout
-
-\begin_layout Standard
-The framework approach to computation offers many advantages.
- It permits the exchange of codes and promotes the reuse of standardized
- software while preserving efficiency.
- Frameworks are also an efficient way to handle changes in computer architecture.
- They present programmers and scientists with a unified and well-defined
- task and allow for shared costs of the housekeeping aspects of software
- development.
- They provide greater institutional continuity to model development than
- piecemeal approaches.
-\end_layout
-
-\begin_layout Standard
-The Pyre framework incorporates features aimed at enabling the scientific
- non-expert to perform tasks easily without hindering the expert.
- Target features for end users allow complete and intuitive simulation specifica
-tion, reasonable defaults, consistency checks of input, good diagnostics,
- easy access to remote facilities, and status monitoring.
- Target features for developers include easy access to user input, a shorter
- development cycle, and good debugging support.
- 
-\end_layout
-
-\begin_layout Section
-Pyre and CitComS.py
-\end_layout
-
-\begin_layout Standard
-Pyre provides a simulation framework that includes solver integration and
- coupling, uniform access to facilities, and integrated visualization.
- The framework offers a way to add new solvers to CitComS.py and to fine-tune
- CitComS.py simulations.
- Future versions of this documentation will cover coupled simulations generated
- via an "exchanger" module.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Description
-\begin_inset LatexCommand \label{Pyre-Architecture}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-	filename graphics/c_fig1.eps
-	scale 85
-	rotateOrigin center
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Pyre Architecture.
- The integration framework is a set of cooperating abstract services.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Developers have created Pyre classes for CitComS.py to facilitate simulation
- setup.
- However, they are not independent classes in a strict sense.
- They still share the same underlying data structure and their functionality
- is not divided clearly.
- CitComS.py was not designed to be object-oriented and to make it so would
- require significant investment of effort with little return.
- However, the lack of object-oriented features does not hinder the coupling
- of CitComS.py with other solvers.
- 
-\end_layout
-
-\begin_layout Standard
-This version of CitComS.py "attaches" to Pyre via the use of bindings.
- They are included with CitComS.py, eliminating the need for users to write
- or alter them.
-\end_layout
-
-\begin_layout Section
-Governing Equations
-\end_layout
-
-\begin_layout Standard
-With CitComS, the mantle is treated as an incompressible viscous spherical
- shell.
- With these assumptions, thermal convection is governed by the equations
- for conservation of mass, momentum, and energy:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-u_{i,i}=0\label{eq:conservation of mass}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula $ $
-\end_inset
-
-
-\begin_inset Formula \begin{equation}
--P_{,i}+(\eta u_{i,j}+\eta u_{j,i})_{,j}+\delta\rho g\delta_{ir}=0\label{eq:conservation of momentum}\end{equation}
-
-\end_inset
-
- 
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-T_{,t}+u_{i}T_{,i}=\kappa T_{,ii}+H\label{eq:conservation of energy}\end{equation}
-
-\end_inset
-
- 
-\end_layout
-
-\begin_layout Standard
-\noindent
-where 
-\emph on
-u 
-\emph default
-is the velocity, 
-\emph on
-P
-\emph default
- is the dynamic pressure, 
-\begin_inset Formula $\delta\rho$
-\end_inset
-
- is the density anomaly, 
-\emph on
-g
-\emph default
- is the gravitational acceleration, 
-\begin_inset Formula $\eta$
-\end_inset
-
- is the viscosity, 
-\emph on
-T
-\emph default
- is the temperature, 
-\begin_inset Formula $\kappa$
-\end_inset
-
- is the thermal diffusivity, and 
-\emph on
-H
-\emph default
- is the heat production rate.
- 
-\begin_inset Formula $X_{,y}$
-\end_inset
-
- represents the derivative of 
-\emph on
-X
-\emph default
- with respect to 
-\emph on
-y
-\emph default
-, 
-\emph on
-i
-\emph default
- and 
-\emph on
-j
-\emph default
- are spatial indices, 
-\emph on
-r
-\emph default
- is the radial direction, and 
-\emph on
-t
-\emph default
- is time.
- Without phase transitions, the density anomalies are:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\delta\rho=-\alpha\rho_{0}(T-T_{0})\label{eq:density anomalies}\end{equation}
-
-\end_inset
-
- 
-\end_layout
-
-\begin_layout Standard
-These equations lead to the following normalization in which primed quantities
- are nondimensional:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-x_{i}=R_{0}x_{i}^{'}\label{eq:5}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \begin{equation}
-u_{i}=\frac{\kappa}{R_{0}}u_{i}^{'}\label{eq:6}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-T=\Delta TT'+T_{0}\label{eq:7}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-t=\frac{R_{0}^{2}}{\kappa}t^{'}\label{eq:8}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\gamma=\frac{HR_{0}^{2}}{\kappa\Delta T}\label{eq:9}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\eta=\eta_{0}\eta^{'}\label{eq:10}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-P=\frac{\eta_{0}\kappa}{R_{0}^{2}}P^{'}\label{eq:11}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-where 
-\begin_inset Formula $R_{0}$
-\end_inset
-
- is the radius of the Earth, 
-\begin_inset Formula $\eta_{0}$
-\end_inset
-
- is a reference viscosity, and 
-\begin_inset Formula $\Delta T$
-\end_inset
-
- is the superadiabatic temperature drop from the core-mantle boundary (CMB)
- to the surface.
- Dropping the primes, the equations become:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \begin{equation}
-u_{i,i}=0\label{eq:12}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \begin{equation}
--P_{,i}+(\eta u_{i,j}+\eta u_{j,i})_{,j}+RaT\delta_{ir}=0\label{eq:13}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-T_{,t}+u_{i}T_{,i}=T_{,ii}+\gamma\label{eq:14}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-where 
-\emph on
-Ra
-\emph default
-, a Rayleigh number, is defined as:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-Ra=\frac{\rho g\alpha\Delta TR_{0}^{3}}{\eta_{0}\kappa}\label{eq:Ra, a Rayleigh number}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-This is not the usual definition of the Raleigh number that is based on
- layer thickness, not 
-\begin_inset Formula $R_{0}.$
-\end_inset
-
- So for mantle convection problems where 
-\begin_inset Formula $R_{0}$
-\end_inset
-
- is about twice the layer thickness, our 
-\begin_inset Formula $Ra$
-\end_inset
-
- are about a factor of 8 larger than by the usual definition.
-\end_layout
-
-\begin_layout Standard
-If there is a phase change, 
-\begin_inset LatexCommand \ref{eq:Ra, a Rayleigh number}
-
-\end_inset
-
- is modified to:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
--P_{,i}+(\eta u_{i,j}+\eta u_{j,i})_{,j}+(RaT+R_{b}\Gamma)\delta_{ir}=0\label{eq:16}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\Gamma=\frac{1}{2}\left(1+\tanh\left(\frac{1-r-d_{ph}-s(T-T_{ph})}{w_{ph}}\right)\right)\label{eq:17}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-where 
-\begin_inset Formula $d_{ph}$
-\end_inset
-
- and 
-\begin_inset Formula $T_{ph}$
-\end_inset
-
- are the ambient depth and temperature of a phase change,
-\emph on
- s
-\emph default
- is the Clapeyron slope of a phase change, and 
-\begin_inset Formula $w_{ph}$
-\end_inset
-
- is the width of a phase transition.
- The phase-change Rayleigh number, 
-\begin_inset Formula $R_{b}$
-\end_inset
-
-, is defined as:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-R_{b}=\frac{\Delta\rho_{ph}gR_{0}^{3}}{\eta_{0}\kappa}\label{eq:Rb, the phase-change Rayleigh number}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-where 
-\begin_inset Formula $\Delta\rho_{ph}$
-\end_inset
-
- is the density jump across a phase change.
-\end_layout
-
-\begin_layout Section
-Numerical Methods
-\end_layout
-
-\begin_layout Standard
-The governing equations are solved with the finite element method 
-\begin_inset LatexCommand \cite{Hughes The Finite Element Method}
-
-\end_inset
-
-.
- CitComS employs an Uzawa algorithm to solve the momentum equation coupled
- with the incompressibility constraints 
-\begin_inset LatexCommand \cite{Moresi/Gurnis Contraints,Ramage/Wathen Iterative solution}
-
-\end_inset
-
-.
- The energy equation is solved with a Petrov-Galerkin method 
-\begin_inset LatexCommand \cite{Brooks A.N.}
-
-\end_inset
-
-.
- Brick elements are used, such as eight velocity nodes with trilinear shape
- functions and one constant pressure node for each element.
- The use of brick elements in 3D (or rectangular elements in 2D) is important
- for accurately determining the pressure, such as dynamic topography, in
- incompressible Stokes' flow 
-\begin_inset LatexCommand \cite{Hughes The Finite Element Method}
-
-\end_inset
-
-.
- The discrete form of equations 
-\begin_inset LatexCommand \ref{eq:12}
-
-\end_inset
-
- and 
-\begin_inset LatexCommand \ref{eq:13}
-
-\end_inset
-
- may be written in the following matrix form 
-\begin_inset LatexCommand \cite{Zhong et al The role of temperature}
-
-\end_inset
-
-:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\mathrm{\mathbf{B}^{\mathit{T}}\mathit{u=0}}\label{eq:19}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\mathbf{A\mathit{u+}}\mathbf{B\mathit{p=f}}\label{eq:20}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\noindent
-where 
-\begin_inset Formula $\mathbf{A}$
-\end_inset
-
- is the "stiffness" matrix, 
-\emph on
-u
-\emph default
- is a vector of unknown velocities; 
-\begin_inset Formula $\mathbf{B}$
-\end_inset
-
- is the discrete gradient operator, 
-\emph on
-p
-\emph default
- is a vector of unknown pressures, and 
-\emph on
-f 
-\emph default
-is a vector composed of the body and boundary forces acting on the fluid.
- The individual entries of 
-\begin_inset Formula $\mathbf{A}$
-\end_inset
-
-, 
-\begin_inset Formula $\mathbf{B}$
-\end_inset
-
-, and 
-\emph on
-f
-\emph default
- are obtained using a standard finite element formulation, see 
-\begin_inset LatexCommand \cite{Zhong et al The role of temperature}
-
-\end_inset
-
- for the explicit entries.
- Equation 
-\begin_inset LatexCommand \ref{eq:20}
-
-\end_inset
-
- can be transformed by premultiplying by 
-\begin_inset Formula $\mathrm{\mathbf{B}^{\mathit{T}}\mathit{\mathbf{A}^{\mathbf{\mathit{-1}}}}}$
-\end_inset
-
- and using equation 
-\begin_inset LatexCommand \ref{eq:19}
-
-\end_inset
-
- to eliminate the velocity unknowns:
-\end_layout
-
-\begin_layout Standard
-\align right
-\begin_inset Formula \begin{equation}
-\mathbf{B}^{\mathit{T}}\mathit{\mathbf{A}^{\mathbf{\mathit{-1}}}\mathbf{B}\mathit{p=\mathbf{B^{\mathit{T}}A^{\mathit{-1}}\mathit{f}}}}\label{eq:21}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-This equation is solved using the Uzawa algorithm, an established method
- for solving the minimization of a dual function 
-\begin_inset LatexCommand \cite{Cahouet/Chabard Some fast 3D}
-
-\end_inset
-
-, which simultaneously yields the velocity field.
- A conjugate gradient scheme for this iteration is described by 
-\begin_inset LatexCommand \cite{Ramage/Wathen Iterative solution,Atanga/Silvester Iterative methods}
-
-\end_inset
-
-, and forms the basis for the technique used in CitComS.
-\end_layout
-
-\begin_layout Section
-Meshes and Geometry
-\end_layout
-
-\begin_layout Standard
-There are two forms of meshes and geometries for CitComS.
- By default CitComS will produce a mesh within a regional geometry that
- is bound by lines of constant latitude and longitude.
- For regional mesh there is an option for mesh refinement in which the mesh
- is refined as a function of latitude, longitude, or radius.
- Such refinement is suitable for higher resolutions near boundary layers
- or within the center of the map domain, but is incapable of increasing
- the resolution near a curvilinear feature, as a plate boundary, unless
- that plate boundary is orientated north-south or east-west.
- CitComS is also capable of generating a mesh for an entire spherical shell
- in which elements in map view are approximately equal area.
- In the full spherical mode, CitComS has 12 caps numbered 0 to 11.
- The caps are approximately square in map view so that the edges of the
- square are orientated diagonally with respect to latitude and longitude.
- The four corners of the domain are connected by great circles (Figure 
-\begin_inset LatexCommand \ref{fig:Orthographic-projection-of}
-
-\end_inset
-
-).
- One would normally associate at least one processor with one cap.
- However, CitComS can further automatically generate meshes with domain
- decomposition such that additional processors are used to divide caps uniformly
- along the two edges of the caps (Figure 
-\begin_inset LatexCommand \ref{fig:Orthographic-projection-of}
-
-\end_inset
-
-) as well as in radius.
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status collapsed
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-	filename graphics/proc_mesh.eps
-	scale 85
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Orthographic-projection-of}
-
-\end_inset
-
-Orthographic projection of processors from a full CitComS mesh in which
- there are 16 processors in map view for each cap.
- The CitComS cap is shown as distinct colors while the processor domains
- within the caps are indicated by the intensity of the color.
- This example was produced for a run with 2 processors in radius such that
- the total number of processors was 12x16x2=384.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Chapter
-Installation and Getting Help
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-To install CitComS.py, you follow the procedure that is commonly used with
- other open source software packages.
- First, download the source package (in the form of a compressed 
-\family typewriter
-tar
-\family default
- file) from the 
-\begin_inset LatexCommand \htmlurl[Geodynamics Software Packages web page]{www.geodynamics.org/cig/software/packages}
-
-\end_inset
-
-.
- After unpacking the source, you run a prepackaged shell script to configure
- CitComS for your system.
- Finally, you use the 
-\family typewriter
-make
-\family default
- utility to build and install CitComS from source.
- 
-\end_layout
-
-\begin_layout Standard
-Advanced users and software developers may be interested in downloading
- the latest CitComS source code directly from the CIG source code repository,
- instead of using the prepared source package; see Section 
-\begin_inset LatexCommand \ref{sec:Software-Repository}
-
-\end_inset
-
- later in this chapter.
-\end_layout
-
-\begin_layout Standard
-CitComS.py has been tested on Linux, Mac OS X, and several NSF TeraGrid platforms.
- 
-\end_layout
-
-\begin_layout Section
-Getting Help
-\end_layout
-
-\begin_layout Standard
-For help, send e-mail to the 
-\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
-
-\end_inset
-
-.
- You can subscribe to the Mailing List and view archived discussion at the
- 
-\begin_inset LatexCommand \htmlurl[Geodynamics Mail Lists web page]{www.geodynamics.org/cig/lists}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section
-System Requirements
-\end_layout
-
-\begin_layout Standard
-Installation of CitComS.py requires the following:
-\end_layout
-
-\begin_layout Itemize
-A C compiler
-\end_layout
-
-\begin_layout Itemize
-An MPI library
-\end_layout
-
-\begin_layout Itemize
-Python 2.3 or greater
-\end_layout
-
-\begin_layout Standard
-MPI installations are typically configured for a particular compiler, and
- provide a special wrapper command to invoke the right compiler.
- Therefore, the choice of MPI implementation often determines which C compiler
- to use.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-Note:
-\series default
- Users familiar with older versions of CitComS may prefer to install only
- the legacy CitComS tools, 
-\family typewriter
-CitcomSFull
-\family default
- and 
-\family typewriter
-CitcomSRegional
-\family default
-, and forgo use of Python and the Pyre framework.
- This process requires only a C compiler and an MPI library.
- For more information, see Section 
-\begin_inset LatexCommand \ref{sec:Installing-without-Pyre}
-
-\end_inset
-
-, later in this chapter.
-\end_layout
-
-\begin_layout Standard
-Optionally, CitcomS can be configured to use a parallel HDF5 library.
- See Section 
-\begin_inset LatexCommand \ref{sec:HDF5-Configuration}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-C Compiler
-\end_layout
-
-\begin_layout Standard
-On Unix or Linux systems, there is a high likelihood that a usable C compiler
- is already installed.
- To check, type 
-\family typewriter
-cc
-\family default
- at the shell prompt:
-\end_layout
-
-\begin_layout LyX-Code
-$ cc
-\end_layout
-
-\begin_layout LyX-Code
-cc: no input files
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-On Linux, if the 
-\family typewriter
-cc
-\family default
- command is not found, install GCC using the package manager for your distributi
-on.
-\end_layout
-
-\begin_layout Standard
-The Mac OS X version of GCC is included in a software development suite
- called Xcode.
- Xcode is available as a free download at the 
-\begin_inset LatexCommand \htmlurl[Apple Developer Connection]{developer.apple.com}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-MPI Library
-\end_layout
-
-\begin_layout Standard
-CitcomS requires a library which implements the MPI standard (either version
- 1 or 2).
- Several free, open-source implementations of MPI are available.
-\end_layout
-
-\begin_layout Standard
-A popular choice is 
-\begin_inset LatexCommand \htmlurl[MPICH]{www-unix.mcs.anl.gov/mpi/mpich}
-
-\end_inset
-
-.
- Installing MPICH from source involves walking through the standard GNU
- build procedure (
-\family typewriter
-configure && make && make install
-\family default
-).
-\end_layout
-
-\begin_layout Standard
-Linux users may have a prebuilt MPI package available for their distribution.
- On Mac OS X, the Fink package manager offers a prepackaged version of 
-\begin_inset LatexCommand \htmlurl[LAM/MPI]{www.lam-mpi.org}
-
-\end_inset
-
-; so if you have 
-\begin_inset LatexCommand \htmlurl[Fink]{fink.sourceforge.net}
-
-\end_inset
-
- installed, simply enter the following command from a Terminal window to
- install LAM/MPI:
-\end_layout
-
-\begin_layout LyX-Code
-$ fink install lammpi lammpi-dev
-\end_layout
-
-\begin_layout Subsubsection*
-MPI C Compiler Command
-\end_layout
-
-\begin_layout Standard
-Once you have an MPI library installed, make sure its C complier command
- is on your PATH.
- Unfortunately, the name of this command varies from one MPI implementation
- to the next.
- The CitcomS configuration script searches for the following MPI C command
- names:
-\end_layout
-
-\begin_layout LyX-Code
-mpicc hcc mpcc mpcc_r mpxlc cmpicc
-\end_layout
-
-\begin_layout Subsection
-Python
-\end_layout
-
-\begin_layout Standard
-Your system may already have a suitable Python interpreter installed.
- To check, type the 'python' command:
-\end_layout
-
-\begin_layout LyX-Code
-$ python -V
-\end_layout
-
-\begin_layout LyX-Code
-Python 2.3.4
-\end_layout
-
-\begin_layout Standard
-Mac OS X 10.3 and later ships with a suitable version of Python preinstalled.
- If you're using an older version of Mac OS X, or for more information in
- general, see 
-\begin_inset LatexCommand \htmlurl[Python on the Mac]{www.python.org/download/mac}
-
-\end_inset
-
- at the Python web site.
-\end_layout
-
-\begin_layout Standard
-On Linux, simply install the binary system package available for your distributi
-on.
- Be sure to select the Python development package (typically called 
-\family typewriter
-python-dev
-\family default
-) in addition to the core Python package -- even if you don't plan on doing
- any Python software development.
- The development package contains the Python include files, which are necessary
- for building CitcomS.
-\end_layout
-
-\begin_layout Standard
-If you are working on a cluster and 
-\family typewriter
-python
-\family default
- is too old, try poking around a little.
- Sometimes multiple versions of Python are installed on the same system:
-\end_layout
-
-\begin_layout LyX-Code
-$ python -V
-\end_layout
-
-\begin_layout LyX-Code
-Python 2.2.3
-\end_layout
-
-\begin_layout LyX-Code
-$ which python
-\end_layout
-
-\begin_layout LyX-Code
-/usr/bin/python
-\end_layout
-
-\begin_layout LyX-Code
-$ ls /usr/bin/python*
-\end_layout
-
-\begin_layout LyX-Code
-/usr/bin/python /usr/bin/python2 /usr/bin/python2.2
-\end_layout
-
-\begin_layout LyX-Code
-/usr/bin/python24 /usr/bin/python2.4
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-In the above scenario, it is useful to create an alias to the newer Python:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd ~/bin
-\end_layout
-
-\begin_layout LyX-Code
-$ ln -s /usr/bin/python2.4 python
-\end_layout
-
-\begin_layout LyX-Code
-$ cd
-\end_layout
-
-\begin_layout LyX-Code
-$ hash -r
-\end_layout
-
-\begin_layout LyX-Code
-$ which python
-\end_layout
-
-\begin_layout LyX-Code
-~/bin/python
-\end_layout
-
-\begin_layout LyX-Code
-$ python -V
-\end_layout
-
-\begin_layout LyX-Code
-Python 2.4.1
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-If absolutely necessary, one can easily build Python from source using a
- C compiler.
- You can download Python from the 
-\begin_inset LatexCommand \htmlurl[Python website]{www.python.org}
-
-\end_inset
-
-.
- 
-\end_layout
-
-\begin_layout Section
-Downloading and Unpacking Source
-\end_layout
-
-\begin_layout Standard
-Download CitComS.py from the 
-\begin_inset LatexCommand \htmlurl[Geodynamics website]{www.geodynamics.org}
-
-\end_inset
-
-.
- Click the 
-\family sans
-software
-\family default
- tab at the top of the page.
- Then click 
-\family sans
-Software Packages
-\family default
-, then 
-\family sans
-Mantle Convection
-\family default
-.
- Once you click the CitComS link, download the source archive and unpack
- it using the 
-\family typewriter
-tar
-\family default
- command: 
-\end_layout
-
-\begin_layout LyX-Code
-$ tar xzf CitcomS-2.1.0.tar.gz
-\end_layout
-
-\begin_layout Standard
-If you don't have GNU Tar, try the following command instead: 
-\end_layout
-
-\begin_layout LyX-Code
-$ gunzip -c CitcomS-2.1.0.tar.gz | tar xf -
-\end_layout
-
-\begin_layout Section
-Installation Procedure
-\end_layout
-
-\begin_layout Standard
-After unpacking the source, use the following procedure to install CitComS:
-\end_layout
-
-\begin_layout Enumerate
-Navigate (i.e., 
-\family typewriter
-cd
-\family default
-) to the directory containing the CitComS source
-\family typewriter
-.
-\newline
-
-\newline
-$ cd CitcomS-2.1.0
-\end_layout
-
-\begin_layout Enumerate
-Type .
-\family typewriter
-/configure
-\family default
- to configure the package for your system
-\family typewriter
-.
-\newline
-
-\newline
-$ ./configure
-\end_layout
-
-\begin_layout Enumerate
-Type 
-\family typewriter
-make
-\family default
- to build the package.
-\family typewriter
-
-\newline
-
-\newline
-$ make
-\end_layout
-
-\begin_layout Standard
-If you are content to run CitcomS from the build directory, then you are
- done.
- Upon successful completion, the 
-\family typewriter
-make
-\family default
- command creates a script called 
-\family typewriter
-citcoms
-\family default
- in the 
-\family typewriter
-bin
-\family default
- subdirectory; this is the script you will use to run CitcomS.
- You may wish to add the 
-\family typewriter
-bin
-\family default
- directory to your 
-\family typewriter
-PATH
-\family default
-.
-\end_layout
-
-\begin_layout Standard
-For more details about 
-\family typewriter
-configure
-\family default
-, see the Configuration section below.
-\end_layout
-
-\begin_layout Subsubsection
-Installing to a Secondary Location
-\end_layout
-
-\begin_layout Standard
-Optionally, after building CitcomS, you can install it to a secondary location
- using the 
-\family typewriter
-make install
-\family default
- command.
-\end_layout
-
-\begin_layout Quotation
-
-\series bold
-Note:
-\series default
- The following is not recommended if you plan on modifying the CitcomS source.
-\end_layout
-
-\begin_layout Standard
-By default, CitcomS is configured to install under 
-\family typewriter
-/usr/local
-\family default
-, which requires that you become 
-\family typewriter
-root
-\family default
- before issuing the 
-\family typewriter
-make install
-\family default
- command.
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-$ su
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-Password:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-# make install
-\end_layout
-
-\begin_layout Standard
-To install as an ordinary user instead of 
-\family typewriter
-root
-\family default
-, give 
-\family typewriter
-configure
-\family default
- the 
-\family typewriter
---prefix
-\family default
- option, specifying a directory to which you have write access:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd CitcomS-2.1.0
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --prefix=$HOME/cig
-\end_layout
-
-\begin_layout LyX-Code
-$ make
-\end_layout
-
-\begin_layout LyX-Code
-$ make install
-\end_layout
-
-\begin_layout Standard
-The above commands will install CitcomS under 
-\family typewriter
-$HOME/cig
-\family default
-.
- Afterwards, you may wish to add 
-\family typewriter
-PREFIX/bin
-\family default
- (
-\family typewriter
-$HOME/cig/bin
-\family default
-, in this example) to your 
-\family typewriter
-PATH
-\family default
-.
-\end_layout
-
-\begin_layout Standard
-After running 
-\family typewriter
-make install
-\family default
-, you may (if desired) run 
-\family typewriter
-make clean
-\family default
- in the build directory to save disk space.
- You are also free to delete the source/build directory altogether.
- (Note that 
-\family typewriter
-make install
-\family default
- installs the examples under 
-\family typewriter
-PREFIX/share/CitcomS/examples
-\family default
-.)
-\end_layout
-
-\begin_layout Section
-Configuration
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script checks for various system features.
- As it runs, it prints messages informing you of which features it is checking
- for.
- Upon successful completion, it generates a 
-\family typewriter
-Makefile
-\family default
- in each source directory of the package.
- It also generates a 
-\family typewriter
-config.h
-\family default
- header file, which contains system-dependent definitions.
- 
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script will attempt to guess the correct values of various installation
- parameters.
- In the event that the default values used by 
-\family typewriter
-configure
-\family default
- are incorrect for your system, or 
-\family typewriter
-configure
-\family default
- is unable to guess the value a certain parameter, you may have to specify
- the correct value by hand.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-Important:
-\series default
- If the 
-\family typewriter
-configure
-\family default
- script fails, and you don't know what went wrong, examine the log file
- 
-\family typewriter
-config.log
-\family default
-.
- This file contains a detailed transcript of all the checks 
-\family typewriter
-configure
-\family default
- performed.
- Most importantly, it includes the error output (if any) from your compiler.
- When seeking help for 
-\family typewriter
-configure
-\family default
- failures on the 
-\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
-
-\end_inset
-
-, please send 
-\family typewriter
-config.log
-\family default
- as an attachment.
-\end_layout
-
-\begin_layout Standard
-Upon successful completion, 
-\family typewriter
-configure
-\family default
- will print a brief configuration summary.
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script will automatically check for needed Python dependencies, including
- the Pythia package (which includes the Pyre framework).
- If necessary, 
-\family typewriter
-configure
-\family default
- will download missing Python packages from the Internet.
-\end_layout
-
-\begin_layout Standard
-CitcomS v2.1 requires Pythia v0.8.1.x, which 
-\family typewriter
-configure
-\family default
- downloads directly from CIG.
- (Pythia v0.8.1.x is distinct from Pythia v0.8, which you may have installed
- previously.) Pythia v0.8.1.x is pure Python, and resides in a file or directory
- with the extension 
-\family typewriter
-.egg
-\family default
- (e.g., 
-\family typewriter
-pythia-0.8.1.0.egg
-\family default
-).
- The 
-\family typewriter
-configure
-\family default
- script may download other 
-\family typewriter
-.egg
-\family default
- packages, in addition to Pythia.
- These are Python packages which are required (either directly or indirectly)
- by CitcomS.py.
-\end_layout
-
-\begin_layout Subsection
-Configure Usage
-\end_layout
-
-\begin_layout Standard
-For a detailed list of 
-\family typewriter
-configure
-\family default
- variables and options, give 
-\family typewriter
-configure
-\family default
- the 
-\family typewriter
---help
-\family default
- option:
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --help
-\end_layout
-
-\begin_layout Standard
-The following is a summary of the variables and options that are important
- when installing CitComS.
- 
-\end_layout
-
-\begin_layout Subsection
-Environment Variables
-\end_layout
-
-\begin_layout Standard
-Environment variables may be specified as arguments to 
-\family typewriter
-configure
-\family default
-, e.g.,
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure CC=icc # use the Intel compiler
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float table
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align left
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features>
-<column alignment="center" valignment="top" leftline="true" width="1in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\series bold
-Variable
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\series bold
-Description
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-PYTHON
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Python interpreter.
- This is useful if you have Python installed in a non-standard location,
- e.g.,
-\end_layout
-
-\begin_layout Standard
-
-\family typewriter
-\InsetSpace ~
-\InsetSpace ~
-./configure 
-\backslash
-
-\end_layout
-
-\begin_layout Standard
-
-\family typewriter
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-PYTHON=/opt/python2.3/bin/python
-\family default
- 
-\end_layout
-
-\begin_layout Standard
-By default, 
-\family typewriter
-configure
-\family default
- will search for a suitable Python interpreter using your 
-\family typewriter
-PATH
-\family default
- environment variable.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-CC
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-C compiler command.
- This is usually set to the name of an MPI wrapper command.
- See Section 
-\begin_inset LatexCommand \ref{sec:MPI-Configuration}
-
-\end_inset
-
- for details and examples.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-CPPFLAGS
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-C preprocessor flags; e.g., 
-\family typewriter
--I<dir>
-\family default
- if you have headers in a nonstandard directory.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-LDFLAGS
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-linker flags; e.g., 
-\family typewriter
--L<dir>
-\family default
- if you have libraries in a nonstandard directory.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-\begin_inset LatexCommand \label{sec:MPI-Configuration}
-
-\end_inset
-
-MPI Configuration
-\end_layout
-
-\begin_layout Standard
-By default, 
-\family typewriter
-configure
-\family default
- will search for a C compiler using your 
-\family typewriter
-PATH
-\family default
- environment variable.
- It prefers MPI wrapper commands (such as
-\family typewriter
- mpicc
-\family default
-) to ordinary compiler commands (such as 
-\family typewriter
-cc
-\family default
- or 
-\family typewriter
-gcc
-\family default
-).
- You may specify the compiler command name manually using the 
-\family typewriter
-CC
-\family default
- variable:
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure CC=/opt/mpich-1.2.6/bin/mpicc
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-configure
-\family default
- script will test for the presence of the MPI header (
-\family typewriter
-mpi.h
-\family default
-) and an MPI library using the C compiler command.
- If 
-\family typewriter
-CC
-\family default
- is set to an MPI wrapper command such as 
-\family typewriter
-mpicc
-\family default
-, and/or the MPI header and library files are installed in a standard location
- (i.e., 
-\family typewriter
-/usr/include
-\family default
- and 
-\family typewriter
-/usr/lib
-\family default
-), these 
-\family typewriter
-configure
-\family default
- tests should succeed without difficulty.
-\end_layout
-
-\begin_layout Standard
-But if CC is set to an ordinary compiler command name (e.g., 
-\family typewriter
-cc
-\family default
- or 
-\family typewriter
-gcc
-\family default
-) and MPI is installed in a non-standard location, you must manually specify
- 
-\family typewriter
-CPPFLAGS
-\family default
- and 
-\family typewriter
-LDFLAGS
-\family default
-, so that the compiler can find the MPI header files and libraries.
-\end_layout
-
-\begin_layout Subsubsection
-Manually Specifying MPI 
-\family typewriter
-include
-\family default
- and 
-\family typewriter
-lib
-\family default
- Directories
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-CPPFLAGS="-I/opt/mpich-1.2.6/include" 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-LDFLAGS="-L/opt/mpich-1.2.6/lib -lmpich"
-\end_layout
-
-\begin_layout Subsubsection
-Manually Specifying MPI 
-\family typewriter
-include
-\family default
- and 
-\family typewriter
-lib
-\family default
- Directories and an Alternative Compiler
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-CC=icc 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-CPPFLAGS="-I/opt/mpich-1.2.6/include" 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-LDFLAGS="-L/opt/mpich-1.2.6/lib -lmpich"
-\end_layout
-
-\begin_layout Standard
-Note that it may be necessary to specify the name of the MPI library itself
- in 
-\family typewriter
-LDFLAGS
-\family default
- using the 
-\family typewriter
--l
-\family default
- compiler option.
- If a library name is not given -- or if the given option doesn't work --
- 
-\family typewriter
-configure
-\family default
- will automatically try linking using 
-\family typewriter
--lmpi
-\family default
- and, if that fails, 
-\family typewriter
--lmpich
-\family default
-.
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:HDF5-Configuration}
-
-\end_inset
-
-HDF5 Configuration (optional)
-\end_layout
-
-\begin_layout Standard
-For writing its output in binary format, CitComS requires parallel HDF5
- (PHDF5).
- In turn, PHDF5 requires an MPI compiler with MPI-IO support and a parallel
- file system.
- If an existing installation of the PHDF5 library is not available on your
- cluster, you can compile it from source by following the instructions in
- the file release docs/INSTALL parallel under the HDF5 source tree.
- Under Debian Linux, you may simply install the 
-\family typewriter
-libhdf5-mpich
-\family default
-, 
-\family typewriter
-libhdf5-mpich-dev
-\family default
- and 
-\family typewriter
-hdf5-tools
-\family default
- packages.
-\end_layout
-
-\begin_layout Standard
-By default, CitComS will attempt to auto-detect your PHDF5 installation,
- and will disable HDF5 support if it is not found.
- You may explicitly specify the location of your PHDF5 installation by setting
- the PHDF5_HOME environment variable to the appropriate installation prefix.
-\end_layout
-
-\begin_layout LyX-Code
-$ export PHDF5_HOME=/opt/phdf5/1.6.5
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --with-hdf5 --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Subsection
-Additional Tools
-\end_layout
-
-\begin_layout Standard
-While the following software is not necessary for the normal operation of
- CitComS, you may find it useful for accessing CitComS data in HDF5 files.
-\end_layout
-
-\begin_layout Subsubsection
-NumPy
-\end_layout
-
-\begin_layout Standard
-NumPy is an extension to Python which adds support for multi-dimensional
- arrays for use in scientific computing.
- You may download NumPy from the 
-\begin_inset LatexCommand \htmlurl[NumPy home page]{numpy.scipy.org}
-
-\end_inset
-
-.
- To compile and install this extension, download it and issue the following
- commands:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd numpy-1.0.x
-\end_layout
-
-\begin_layout LyX-Code
-$ python setup.py install --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Standard
-Alternatively, under Debian Linux you can install the 
-\family typewriter
-python-numpy
-\family default
- package.
- On Gentoo Linux, NumPy is available in the 
-\family typewriter
-dev-python/numpy
-\family default
- ebuild.
-\end_layout
-
-\begin_layout Subsubsection
-PyTables
-\end_layout
-
-\begin_layout Standard
-PyTables is an extension to Python and can expose HDF5 array datasets as
- Python NumPy arrays.
- It is available at 
-\begin_inset LatexCommand \htmlurl[PyTables]{www.pytables.org}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-To compile and install this extension, download it and issue the following
- commands:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd pytables-2.0.x
-\end_layout
-
-\begin_layout LyX-Code
-$ python setup.py install --prefix=$HOME/cig
-\end_layout
-
-\begin_layout Standard
-To install on Debian Linux, you may use the 
-\family typewriter
-python-tables
-\family default
- package instead.
- On Gentoo Linux, it is available in the 
-\family typewriter
-dev-python/pytables
-\family default
- ebuild.
-\end_layout
-
-\begin_layout Subsubsection
-HDFView
-\end_layout
-
-\begin_layout Standard
-HDFView is a visual tool written in Java for browsing and editing HDF5 files.
- You may download it from the 
-\begin_inset LatexCommand \htmlurl[HDFView home page]{hdf.ncsa.uiuc.edu/hdf-java-html/hdfview}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsubsection
-\begin_inset LatexCommand \label{sub:OpenDXutils}
-
-\end_inset
-
-OpenDXutils
-\end_layout
-
-\begin_layout Standard
-In order to import HDF5 files into OpenDX, you need the OpenDXutils package
- from the Cactus project.
- Go to the 
-\begin_inset LatexCommand \url[OpenDXutils package website]{www.cactuscode.org/Visualization/openDX}
-
-\end_inset
-
- and follow the instructions to download and install the package.
- Note that you will need to set both 
-\family typewriter
-DXMODULES
-\family default
- and 
-\family typewriter
-DXMDF
-\family default
- environment variables before running OpenDX to load the package.
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Batch-System-Configuration}
-
-\end_inset
-
-Batch System Configuration
-\end_layout
-
-\begin_layout Standard
-If you are installing CitComS on a cluster with a batch system, you can
- configure Pyre such that the 
-\family typewriter
-citcoms
-\family default
- command automatically submits jobs to the batch queue.
- Pyre contains support for the LSF, PBS, and Globus batch systems.
-\end_layout
-
-\begin_layout Standard
-The command to submit a batch job depends upon the particular batch system
- used.
- Further, the command used in a batch script to launch an MPI program varies
- from one cluster to the next.
- This command can vary between two clusters, even if the clusters use the
- same batch system! On some systems, 
-\family typewriter
-mpirun
-\family default
- is invoked directly from the batch script.
- On others, a special wrapper is used instead.
-\end_layout
-
-\begin_layout Standard
-Properly configured, Pyre can handle job submission automatically, insulating
- users from the details of the batch system and the site configuration.
- This feature has the most value when the system administrator installs
- a global Pyre configuration file on the cluster (under 
-\family typewriter
-/etc/pythia-0.8
-\family default
-), for the benefit of all users and all Pyre-based applications.
-\end_layout
-
-\begin_layout Standard
-For more information on configuring Pyre for your batch system, see CIG's
- 
-\begin_inset LatexCommand \htmlurl[Pythia page]{www.geodynamics.org/cig/software/packages/cs/pythia}
-
-\end_inset
-
-.
- For more information on batch system configuration as it pertains to running
- CitcomS, see Section 
-\begin_inset LatexCommand \vref{sub:Launchers-and-Schedulers}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Installing-without-Pyre}
-
-\end_inset
-
-Installing without Pyre
-\end_layout
-
-\begin_layout Standard
-To build just the CitComS tools (or "drivers") from the legacy C code, give
- 
-\family typewriter
-configure
-\family default
- the 
-\family typewriter
---without-pyre
-\family default
- option:
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure --without-pyre
-\end_layout
-
-\begin_layout Standard
-The only system requirements for this configuration are an MPI library and
- a C compiler.
- The 
-\family typewriter
-make 
-\family default
-command will build two command-line tools, 
-\family typewriter
-CitcomSFull
-\family default
- and 
-\family typewriter
-CitcomSRegional
-\family default
-, for running the full solver and the regional solver, respectively.
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Software-Repository}
-
-\end_inset
-
-Installing from the Software Repository
-\end_layout
-
-\begin_layout Standard
-The CitComS source code is available via a Subversion server at the 
-\begin_inset LatexCommand \htmlurl[Geodynamics website]{www.geodynamics.org}
-
-\end_inset
-
-.
- This allows users to view the revision history of the code, and check out
- the most recent development version of the software.
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-NOTE: 
-\series default
-If you are content with the prepared source package, you should skip this
- section.
-\end_layout
-
-\begin_layout Subsection
-Tools You Will Need
-\end_layout
-
-\begin_layout Standard
-In addition to the usual system requirements, you will need a handful of
- additional development tools installed in order to work with the source
- from the CIG software repository.
-\end_layout
-
-\begin_layout Standard
-First, you must have a Subversion client installed.
- To check, type 
-\family typewriter
-svn
-\family default
-; it should return a usage message.
-\end_layout
-
-\begin_layout LyX-Code
-$ svn
-\end_layout
-
-\begin_layout LyX-Code
-Type 'svn help' for usage.
-\end_layout
-
-\begin_layout Standard
-For more information on Subversion, visit the 
-\begin_inset LatexCommand \htmlurl[Subversion website]{subversion.tigris.org}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-Second, you must have the GNU tools Autoconf, Automake, and Libtool installed.
- To check, enter the following commands:
-\end_layout
-
-\begin_layout LyX-Code
-$ autoconf --version
-\end_layout
-
-\begin_layout LyX-Code
-$ automake --version
-\end_layout
-
-\begin_layout LyX-Code
-$ libtoolize --version
-\end_layout
-
-\begin_layout Standard
-For more information about these GNU tools, see the 
-\begin_inset LatexCommand \htmlurl[GNU website]{www.gnu.org/software}
-
-\end_inset
-
-.
- The CitComS v2.1.0 source package was created with Autoconf 2.59, Automake
- 1.9.2, and Libtool 1.5.6.
-\end_layout
-
-\begin_layout Subsection
-Download Source from Subversion
-\end_layout
-
-\begin_layout Standard
-To check out the latest version of the software, use the 
-\family typewriter
-svn checkout
-\family default
- command:
-\end_layout
-
-\begin_layout LyX-Code
-$ svn checkout http://geodynamics.org/svn/cig/mc/3D/CitcomS/trunk CitcomS
-\end_layout
-
-\begin_layout Standard
-This will create the local directory 
-\family typewriter
-CitcomS
-\family default
- (if it doesn't already exist) and fill it with the latest CitcomS source
- from the CIG software repository.
-\end_layout
-
-\begin_layout Standard
-The CitcomS directory thus created is called a 
-\emph on
-working copy
-\emph default
-.
- To merge the lastest changes into an existing working copy, use the 
-\family typewriter
-svn update
-\family default
- command:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd CitcomS
-\end_layout
-
-\begin_layout LyX-Code
-$ svn update
-\end_layout
-
-\begin_layout Standard
-This will preserve any local changes you have made to your working copy.
-\end_layout
-
-\begin_layout Subsection
-Generating the GNU Build System
-\end_layout
-
-\begin_layout Standard
-Your working directory should now contain a fresh checkout of CitcomS:
-\end_layout
-
-\begin_layout LyX-Code
-$ ls
-\end_layout
-
-\begin_layout LyX-Code
-CitcomS
-\end_layout
-
-\begin_layout LyX-Code
-$
-\end_layout
-
-\begin_layout Standard
-But before you can run 
-\family typewriter
-configure
-\family default
- or 
-\family typewriter
-make
-\family default
-, you must generate the necessary files using the GNU tools.
- The easiest way to do this is to run 
-\family typewriter
-autoreconf -i
-\family default
-:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd CitcomS
-\end_layout
-
-\begin_layout LyX-Code
-$ autoreconf -i
-\end_layout
-
-\begin_layout LyX-Code
-$ ./configure
-\end_layout
-
-\begin_layout LyX-Code
-$ make
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-autoreconf
-\family default
- tool runs Autoconf to generate the 
-\family typewriter
-configure
-\family default
- script from 
-\family typewriter
-configure.ac
-\family default
-.
- It also runs Automake to generate 
-\family typewriter
-Makefile.in
-\family default
- from 
-\family typewriter
-Makefile.am
-\family default
- in each source directory.
-\end_layout
-
-\begin_layout Chapter
-Running CitComS.py
-\end_layout
-
-\begin_layout Section
-Using CitComS without Pyre
-\end_layout
-
-\begin_layout Standard
-When you build CitComS, two binary executables, 
-\family typewriter
-CitcomSRegional
-\family default
- and 
-\family typewriter
-CitcomSFull
-\family default
-, are placed under the 
-\family typewriter
-bin
-\family default
- directory.
- These programs do not use Python or the Pyre framework (even if CitcomS
- was configured to use the Pyre framework).
- Each program has the same usage:
-\end_layout
-
-\begin_layout LyX-Code
-$ mpirun [mpi_options] CitcomSRegional inputfile
-\newline
-$ mpirun [mpi_options] CitcomSFu
-ll inputfile
-\end_layout
-
-\begin_layout Standard
-Two input file examples, one for a regional spherical model and one for
- a full spherical model, are provided in the 
-\family typewriter
-examples/Regional
-\family default
- and 
-\family typewriter
-examples/Full
-\family default
- directories, respectively.
- The meaning of the input parameters is described in Appendix 
-\begin_inset LatexCommand \vref{cha:Appendix-A:-Input}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section
-Using CitComS with Pyre
-\end_layout
-
-\begin_layout Standard
-If you build CitComS.py with the Pyre framework, an additional executable,
- 
-\family typewriter
-citcoms
-\family default
-, is placed under the 
-\family typewriter
-bin
-\family default
- directory.
- The 
-\family typewriter
-citcoms
-\family default
- executable is a Python script used for running both the regional and full
- spherical models using Pyre.
- Executed without any command line options, 
-\family typewriter
-citcoms
-\family default
- will run a regional model with default parameters.
- It can also run a full spherical model if the correct parameters are set
- (see Section 
-\begin_inset LatexCommand \vref{sec:Cookbook-1:-Global}
-
-\end_inset
-
- for an example).
-\end_layout
-
-\begin_layout Standard
-On input, CitComS.py needs numerous parameters to be specified (see Appendix
- 
-\begin_inset LatexCommand \vref{cha:Appendix-A:-Input}
-
-\end_inset
-
- for full list).
- All parameters have sensible default values.
- Since you will likely want to specify the parameters of your CitComS.py
- runs, you will need to alter both computational details (such as the number
- of time steps) and controlling parameters specific to your problem (such
- as the Rayleigh number).
- These input parameters, or properties in the Pyre terminology, are grouped
- under several Pyre components.
-\end_layout
-
-\begin_layout Standard
-Most of the properties you will set using CitComS.py have identical names
- as the parameters for the old CitComS, which is described in Appendix 
-\begin_inset LatexCommand \ref{cha:Appendix-A:-Input}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section
-Changing Parameters 
-\end_layout
-
-\begin_layout Standard
-There are several methods to set the input parameters for CitComS.py: via
- the command line, or by using a configuration file in 
-\family typewriter
-.cfg
-\family default
- or 
-\family typewriter
-.pml
-\family default
- format.
-\end_layout
-
-\begin_layout Subsection
-Using the Command Line
-\end_layout
-
-\begin_layout Standard
-Pyre uses the following syntax to change properties from the command line.
- To change the value of a property of a component, use:
-\end_layout
-
-\begin_layout LyX-Code
---[component].[property]=[value]
-\end_layout
-
-\begin_layout Standard
-Each component is attached to a facility, so the option above can also be
- written as: 
-\end_layout
-
-\begin_layout LyX-Code
---[facility].[property]=[value]
-\end_layout
-
-\begin_layout Standard
-Each facility has a default component attached to it.
- A different component can be attached to a facility by:
-\end_layout
-
-\begin_layout LyX-Code
---[facility]=[new_component] 
-\end_layout
-
-\begin_layout Subsection
-Using a 
-\family typewriter
-.cfg
-\family default
- File
-\end_layout
-
-\begin_layout Standard
-Entering all those parameters via the command line involves the risk of
- typographical errors, which can lead to undesired results.
- You may find it easier to write a brief a 
-\family typewriter
-.cfg
-\family default
- input file that contains the parameters.
- This file has a format similar to a Windows INI file.
- The file is composed of one or more sections which are formatted as follows:
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS.component1.component2]
-\newline
-# this is a comment
-\newline
-property1 = value1
-\newline
-property2
- = value2  ; this is another comment
-\end_layout
-
-\begin_layout Standard
-We strongly recommend that you use 
-\family typewriter
-.cfg
-\family default
- files for your work.
- The files are syntax-colored by the 
-\family typewriter
-vim
-\family default
- editor.
- (Upon termination of each run, all of the parameters are logged in a 
-\family typewriter
-.cfg
-\family default
- file.)
-\end_layout
-
-\begin_layout Subsection
-Using a 
-\family typewriter
-.pml
-\family default
- File
-\end_layout
-
-\begin_layout Standard
-A 
-\family typewriter
-.pml
-\family default
- file is an XML file that specifies parameter values in a highly structured
- format.
- It is composed of nested sections which are formatted as follows:
-\end_layout
-
-\begin_layout LyX-Code
-<component name='component1'>
-\newline
-    <component name='component2'>
-\newline
-        <property
- name='property1'>value1</property>
-\newline
-        <property name='property2'>value2</pr
-operty>
-\newline
-    </component>
-\newline
-</component>
-\end_layout
-
-\begin_layout Standard
-XML files are intended to be read and written by machines, not edited manually
- by humans.
- The 
-\family typewriter
-.pml
-\family default
- file format is intended for applications in which CitcomS input files are
- generated by another program; for example, a GUI, web application, or a
- high-level structured editor.
- This file fomat will not be discussed further here.
- But if you are interested in using 
-\family typewriter
-.pml
-\family default
- files, note that 
-\family typewriter
-.pml
-\family default
- files and 
-\family typewriter
-.cfg
-\family default
- files can be used interchangeably: in the following discussion, a file
- with a 
-\family typewriter
-.pml
-\family default
- extension can be substituted anywhere a 
-\family typewriter
-.cfg
-\family default
- file can be used.
-\end_layout
-
-\begin_layout Subsection
-Specfication and Placement of Configuration Files
-\end_layout
-
-\begin_layout Standard
-Configuration files may be specified on the command line:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms example.cfg
-\end_layout
-
-\begin_layout Standard
-In addition, the Pyre framework searches for configuration files named 
-\family typewriter
-CitcomS.cfg
-\family default
- in several predefined locations.
- You may put settings in any or all of these locations, depending on the
- scope you want the settings to have:
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-PREFIX/etc/CitcomS.cfg
-\family default
-, for system-wide settings;
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-$HOME/.pyre/CitcomS.cfg
-\family default
-, for user settings and preferences;
-\end_layout
-
-\begin_layout Enumerate
-the current directory (
-\family typewriter
-./CitcomS.cfg
-\family default
-), for local overrides.
- 
-\end_layout
-
-\begin_layout Standard
-Parameters given directly on the command line will override any input contained
- in a configuration file.
- Configuration files given on the command line override all others.
- The 
-\family typewriter
-CitcomS.cfg
-\family default
- files placed in (3) will override those in (2), (2) overrides (1), and
- (1) overrides only the built-in defaults.
-\end_layout
-
-\begin_layout Section
-Coordinate System and Mesh
-\end_layout
-
-\begin_layout Standard
-In general, CitComS uses meshes that are regular, although considerable
- flexibility exists for grid refinement in the regional models.
- In regional meshes, 
-\emph on
-theta
-\emph default
- (or x) is the colatitude measured from the north pole, 
-\emph on
-fi
-\emph default
- (or y) is the east longitude, and z is the radius.
- 
-\emph on
-theta
-\emph default
- and 
-\emph on
-fi
-\emph default
- are in units of radians.
- Figure 
-\begin_inset LatexCommand \ref{fig:Global-Node-Numbering.}
-
-\end_inset
-
- shows the organization of the mesh in a regional problem.
- The numbering of the nodes is z-direction first, then x-direction, then
- y-direction.
- This numbering convention is used for the input and output data.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status collapsed
-
-\begin_layout Description
-\begin_inset Graphics
-	filename graphics/c_fig3.jpg
-	lyxscale 75
-	width 75page%
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Global-Node-Numbering.}
-
-\end_inset
-
-Global Node Numbering.
- Left: Global node numbering starts at the base of arrow A (theta_min, fi_min,
- radius_inner), and advances from 1 at the base to 
-\emph on
-nodez
-\emph default
- at the tip.
- Upon reaching the tip, numbering continues from the base of arrow B (
-\emph on
-nodez
-\emph default
-+1) to its tip (2 
-\emph on
-nodez
-\emph default
-), and so on for all nodes on the plane fi = fi_min.
- Right: After completing each theta radius plane, the fi index is incremented
- and numbering commences from (theta_min, radius_inner) as on the left.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Uniprocessor Example
-\end_layout
-
-\begin_layout Standard
-CitComS runs similarly in full spherical or regional modes.
- For the purpose of this example, you will perform a test run of the regional
- version on a workstation.
- Execute the following on the command line:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms --steps=10 --controller.monitoringFrequency=5 
-\backslash
-
-\newline
---solver.datafile=example0 --solver.mesher.nodex=17 --solver.mesher.nodey=17
-\end_layout
-
-\begin_layout Standard
-This runs a default convection problem in a regional domain for 10 time
- steps and with a mesh of 17 
-\begin_inset Formula $\times$
-\end_inset
-
- 17 
-\begin_inset Formula $\times$
-\end_inset
-
- 9 nodal points.
- The model results are writen to files 
-\family typewriter
-example0.*
-\family default
- with an interval of 5 time steps.
- 
-\end_layout
-
-\begin_layout Standard
-Instead of writing the input parameters on the command line, you can put
- them in a 
-\family typewriter
-.cfg
-\family default
- file.
- The CitComS.py source package contains an 
-\family typewriter
-examples
-\family default
- directory (the 
-\family typewriter
-make install
-\family default
- command installs the examples under 
-\family typewriter
-PREFIX/share/CitcomS/examples
-\family default
-, where 
-\family typewriter
-PREFIX
-\family default
- is the CitcomS installation directory).
- In this directory, you will find a configuration file equivalent the previous
- example: 
-\family typewriter
-example0.cfg
-\family default
-.
- You can run the model using:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example0.cfg
-\end_layout
-
-\begin_layout Subsubsection
-Example: Uniprocessor, example0.cfg
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-steps = 5
-\newline
-
-\newline
-[CitcomS.controller]
-\newline
-monitoringFrequency = 1
-\newline
-
-\newline
-[CitcomS.solver]
-\newline
-dataf
-ile = example0
-\newline
-
-\newline
-[CitcomS.solver.mesher]
-\newline
-nprocx = 1
-\newline
-nprocy = 1
-\newline
-nodex =  9
-\newline
-nodey =
-  9
-\newline
-nodez =  9
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Multiprocessor-Example}
-
-\end_inset
-
-Multiprocessor Example
-\end_layout
-
-\begin_layout Standard
-In order to run this example, you should be on a Beowulf cluster with four
- or more processors, or on a supercomputer; and you should be in the directory
- in which the input file is located, in this case, the 
-\family typewriter
-examples
-\family default
- directory.
- CitComS.py has been extensively used on both environments, using up to several
- hundred processors.
- How to run a multiprocessor CitComS.py model depends on your hardware and
- software settings, e.g., whether a batch system is used, what the names of
- the computers in a cluster are, and how the file system is organized.
- This section will lead you through the different settings of a parallel
- environment.
- 
-\end_layout
-
-\begin_layout Subsubsection
-Example: Multiprocessor, 
-\family typewriter
-example1.cfg 
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-steps = 71
-\newline
-
-\newline
-[CitcomS.controller]
-\newline
-monitoringFrequency = 10
-\newline
-
-\newline
-[CitcomS.solver]
-\newline
-dat
-afile = example1
-\newline
-
-\newline
-[CitcomS.solver.mesher]
-\newline
-nprocx =  2
-\newline
-nprocy =  2
-\newline
-nodex  = 17
-\newline
-nodey
-  = 17
-\newline
-nodez  =  9                                                      
-                          
-\end_layout
-
-\begin_layout Standard
-This example uses 2 processors in colatitude (x-coordinate), 2 in longitude
- (y-direction), and 1 in the radial (z-direction), i.e., it uses 4 processors
- in total.
- In addition, there will be 17 nodes in x (theta), 17 nodes in y (fi), and
- 9 nodes in z (radius_inner).
- The model will run for 71 time steps and the code will output the results
- every 10 time steps.
-\end_layout
-
-\begin_layout Standard
-It is important to realize that within the example script (and in finite
- element method, FEM) the term "node" refers to the mesh points defining
- the corners of the elements.
- In 
-\family typewriter
-example1.cfg
-\family default
-, this is indicated with:
-\end_layout
-
-\begin_layout LyX-Code
-nodex  = 17
-\newline
-nodey  = 17
-\newline
-nodez  =  9 
-\end_layout
-
-\begin_layout Standard
-These quantities refer to the total number of FEM nodes in a given direction
- for the complete problem, and for the example it works out that within
- a given processor there will be 9 
-\begin_inset Formula $\times$
-\end_inset
-
- 9 
-\begin_inset Formula $\times$
-\end_inset
-
- 9 nodes.
- Note that in the x-direction (or y) that for the entire problem there are
- 17 nodes and there is one node shared between two processors.
- This shared node is duplicated in two adjacent processors.
- Unfortunately, "nodes" sometimes also refer to the individual computers
- which make up a Beowulf cluster or supercomputer.
- In the example scripts, this is indicated with:
-\end_layout
-
-\begin_layout LyX-Code
-nprocx =  2
-\newline
-nprocy =  2
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status collapsed
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook2.eps
-	width 50page%
-	keepAspectRatio
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Computational Domain.
- Map view on the configuration of the top layer of the computational nodes
- and the processors.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Output Directories and Output Formats
-\end_layout
-
-\begin_layout Standard
-CitComS.py potentially generates a large number of ASCII files.
- This means that you will have to organize your directories carefully when
- running CitComS.py so that you can manage these files as well as use a post-proc
-essing program contained in this distribution.
- 
-\end_layout
-
-\begin_layout Standard
-How to best manage this large output depends on whether you will use a local
- file system or a parallel file system.
- For example, if you have a local hard disk on every machine (node) on a
- Beowulf cluster, with each hard disk mounted locally to the machine, this
- scenario is referred to as a local file system in this section.
- Or you might use some kind of parallel file system on your computer (e.g.,
- NFS, GPFS, PVFS, to name a few), which is mounted on all of the nodes.
- Usually your home directory is mounted on the parallel file system.
- The local file system is usually more cost- and time-efficient than the
- parallel file system.
- 
-\end_layout
-
-\begin_layout Standard
-If you want CitComS.py to write its output to the local hard disks, you need
- to have a common directory structure on all of the local hard disks.
- For example, if the directory 
-\family typewriter
-/scratch
-\family default
- exists on all local hard disks, you can run the example script with:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example1.cfg
-\family default
- --solver.datadir=/scratch
-\end_layout
-
-\begin_layout Standard
-The additional command line option will override the 
-\family typewriter
-datadir
-\family default
- property, which specifies the output directory.
- The output files are then placed in 
-\family typewriter
-/scratch
-\family default
- on each individual machine with a filename prefix 
-\family typewriter
-example1.
-\end_layout
-
-\begin_layout Standard
-However, if the output directory name on each local hard disk depends on
- the machine hostname, you can run the example script with:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example1.cfg
-\family default
- --solver.datadir=/scratch_%HOSTNAME
-\end_layout
-
-\begin_layout Standard
-The special string 
-\family typewriter
-%HOSTNAME
-\family default
- will be substituted by the hostname of each machine.
- As the final example for a local file system, you can specify an arbitrary
- output directory for each machine.
- To do so, you must write a program to be executed on each machine which
- will print the output directory.
- The program must be named 
-\family typewriter
-citcoms_datadir
-\family default
- and must reside on your path.
- An example of 
-\family typewriter
-citcoms_datadir
-\family default
- can be found in the 
-\family typewriter
-visual/
-\family default
- directory.
- Then you can run the example script with:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example1.cfg
-\family default
- --solver.datadir=%DATADIR
-\end_layout
-
-\begin_layout Standard
-The special string 
-\family typewriter
-%DATADIR
-\family default
- will be substituted by the output of 
-\family typewriter
-citcoms_datadir
-\family default
- for each machine.
-\end_layout
-
-\begin_layout Standard
-If you want CitComS.py to write its output to a parallel file system, you
- have several choices.
- You can run the example script as follows (substitute 
-\family typewriter
-\emph on
-username
-\family default
-\emph default
- with your own username):
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example1.cfg
-\family default
- --solver.datadir=/home/
-\emph on
-username
-\end_layout
-
-\begin_layout Standard
-The output files are then placed in your home directory with a filename
- prefix 
-\family typewriter
-example1
-\family default
-.
- A potential problem with this approach is that the directory 
-\family typewriter
-/home/
-\emph on
-username
-\family default
-\emph default
- will be flooded with hundreds of files, perhaps even tens of thousands
- of files if you are running a model using several tens of processors for
- thousands of time steps.
- Alternatively you can have each machine write its output to its own directory,
- according to its MPI rank.
- You can run the example script with:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example1.cfg
-\family default
- --solver.datadir=/home/
-\emph on
-username
-\emph default
-/%RANK
-\end_layout
-
-\begin_layout Standard
-The special string 
-\family typewriter
-%RANK
-\family default
- will be substituted by the MPI rank of each processor.
- You will see four new directories 
-\family typewriter
-/home/
-\emph on
-username
-\emph default
-/0
-\family default
-, 
-\family typewriter
-/home/
-\emph on
-username
-\emph default
-/1
-\family default
-, 
-\family typewriter
-/home/
-\emph on
-username
-\emph default
-/2
-\family default
-, and 
-\family typewriter
-/home/
-\emph on
-username
-\emph default
-/3
-\family default
-.
- The processor of MPI rank 0 will write its output in 
-\family typewriter
-/home/
-\emph on
-username
-\emph default
-/0
-\family default
- with a filename prefix 
-\family typewriter
-example1
-\family default
- (defined by the property 
-\family typewriter
-datafile
-\family default
- inside 
-\family typewriter
-example1.cfg
-\family default
-) and so on.
- 
-\end_layout
-
-\begin_layout Standard
-The last choice is the most powerful one.
- Instead of writing many ASCII files, CitComS.py can write its result into
- a single HDF5 (Hierarchical Data Format) file.
- The HDF5 file takes less disk space than all the ASCII files combined and
- doesn't require additional post-processing to be visualized in OpenDX.
- In order to use this feature, you must compile CitComS.py with the parallel
- HDF5 library if you haven't done so already (see Section 
-\begin_inset LatexCommand \vref{sec:HDF5-Configuration}
-
-\end_inset
-
-).
- You can run the example script with:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms 
-\family typewriter
-example1.cfg
-\family default
- --solver.datadir=/home/
-\emph on
-username
-\emph default
- 
-\backslash
-
-\newline
---solver.output.output_format=hdf5
-\end_layout
-
-\begin_layout Standard
-The output files will be stored in 
-\family typewriter
-/home/
-\emph on
-username
-\emph default
-/ 
-\family default
-with a filename prefix 
-\family typewriter
-example1 
-\family default
-and a filename suffix 
-\family typewriter
-h5
-\family default
-.
- See Chapter 
-\begin_inset LatexCommand \ref{cha:Working-with-HDF5}
-
-\end_inset
-
- for more information on how to work with the HDF5 output.
-\end_layout
-
-\begin_layout Subsection
-\begin_inset LatexCommand \label{sub:Launchers-and-Schedulers}
-
-\end_inset
-
-Launchers and Schedulers
-\end_layout
-
-\begin_layout Standard
-If you have used MPI before, you know that 
-\family typewriter
-mpirun
-\family default
- requires several command line options to launch a parallel job.
- Or if you have used one of the batch systems, you will know that the batch
- system requires you to write a script to launch a job.
- Fortunately, launching a parallel CitComS.py job is simplified by Pyre's
- 
-\family typewriter
-launcher
-\family default
- and 
-\family typewriter
-scheduler
-\family default
- facilities.
- Many properties associated with 
-\family typewriter
-launcher
-\family default
- and 
-\family typewriter
-scheduler
-\family default
- are pertinent to the cluster you are on, and are best customized in a configura
-tion file.
- Your personal CitcomS configuration file (
-\family typewriter
-~/.pyre/CitcomS/CitcomS.cfg
-\family default
-) is suitable for this purpose.
- On a cluster, the ideal setup is to install a system-wide configuration
- file under 
-\family typewriter
-/etc/pythia-0.8
-\family default
-, for the benefit of all users.
-\end_layout
-
-\begin_layout Standard
-Pyre's 
-\family typewriter
-scheduler
-\family default
- facility is used to specify the type of batch system you are using (if
- any):
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\end_layout
-
-\begin_layout LyX-Code
-scheduler = lsf
-\end_layout
-
-\begin_layout Standard
-The valid values for 
-\family typewriter
-scheduler
-\family default
- are 
-\family typewriter
-lsf
-\family default
-, 
-\family typewriter
-pbs
-\family default
-, 
-\family typewriter
-globus
-\family default
-, and 
-\family typewriter
-none
-\family default
-.
-\end_layout
-
-\begin_layout Standard
-Pyre's 
-\family typewriter
-launcher
-\family default
- facility is used to specify which MPI implementation you are using:
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\end_layout
-
-\begin_layout LyX-Code
-launcher = mpich
-\end_layout
-
-\begin_layout Standard
-The valid values for 
-\family typewriter
-launcher
-\family default
- include 
-\family typewriter
-mpich
-\family default
- and 
-\family typewriter
-lam-mpi
-\family default
-.
-\end_layout
-
-\begin_layout Standard
-You may find the 
-\family typewriter
-dry
-\family default
- option useful while debugging the 
-\family typewriter
-launcher
-\family default
- and 
-\family typewriter
-scheduler
-\family default
- configuration.
- To debug the scheduler configuration, use the 
-\family typewriter
---scheduler.dry
-\family default
- option:
-\end_layout
-
-\begin_layout LyX-Code
-citcoms --scheduler.dry
-\end_layout
-
-\begin_layout Standard
-This option will cause CitComS to perform a "dry run," dumping the batch
- script to the console, instead of actually submitting it for execution
- (the output is only meaningful if you're using a batch system).
- Likewise, to debug the launcher configuration, use the 
-\family typewriter
---launcher.dry
-\family default
- option:
-\end_layout
-
-\begin_layout LyX-Code
-citcoms --launcher.dry
-\end_layout
-
-\begin_layout Standard
-This option will cause CitcomS to print the 
-\family typewriter
-mpirun
-\family default
- command, instead of actually executing it.
- (If you're using a batch system, a job will be submitted for execution;
- when it runs, CitcomS will simply print the 
-\family typewriter
-mpirun
-\family default
- command, and the job will immediately terminate.)
-\end_layout
-
-\begin_layout Subsubsection
-Running without a Batch System
-\end_layout
-
-\begin_layout Standard
-On a cluster without a batch system, you need to explicitly specify the
- machines on which the job will run.
- Supposing the machines on your cluster are named n001, n002, \SpecialChar \ldots{}
-, etc., but
- you want to run the job on machines n001, n003, n004, and n005 (maybe n002
- is down for the moment).
- To run the example, create a file named 
-\family typewriter
-mymachines.cfg
-\family default
- which specifies the machines to use:
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS.launcher]
-\end_layout
-
-\begin_layout LyX-Code
-nodegen = n%03d
-\end_layout
-
-\begin_layout LyX-Code
-nodelist = [1,3-5]
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-nodegen
-\family default
- property is a printf-style format string, used in conjunction with 
-\family typewriter
-nodelist
-\family default
- to generate the list of machine names.
- The 
-\family typewriter
-nodelist
-\family default
- property is a comma-separated list of machine names in square brackets.
-\end_layout
-
-\begin_layout Standard
-Now, invoke the following:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms example1.cfg mymachines.cfg
-\end_layout
-
-\begin_layout Standard
-This strategy gives you the flexibility to create an assortment of 
-\family typewriter
-.cfg
-\family default
- files (with one 
-\family typewriter
-.cfg
-\family default
- file for each machine list) which can be easily paired with different parameter
- files.
-\end_layout
-
-\begin_layout Standard
-If your machine list does not change often, you may find it more convenient
- to specify default values for 
-\family typewriter
-nodegen
-\family default
- and 
-\family typewriter
-nodelist
-\family default
- in 
-\family typewriter
-~/.pyre/CitcomS/CitcomS.cfg
-\family default
- (which is read automatically).
- Then, you can run any simulation with no additional arguments:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms example1.cfg
-\end_layout
-
-\begin_layout Standard
-This assumes your machine list has enough nodes for the simulation in question,
- of course!
-\end_layout
-
-\begin_layout Standard
-You will notice that a machine file 
-\family typewriter
-mpirun.nodes
-\family default
- is generated.
- It will contain a list of the nodes where CitComS.py has run.
- Save the machine file as it will be useful in the postprocessing step.
-\end_layout
-
-\begin_layout Subsubsection
-Using a Batch System
-\end_layout
-
-\begin_layout Standard
-The settings which are important when using batch system are summarized
- in the sample configuration file which follows.
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\end_layout
-
-\begin_layout LyX-Code
-scheduler = lsf    ; the type of the installed batch system
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS.lsf]
-\end_layout
-
-\begin_layout LyX-Code
-bsub-options = [-a mpich_gm]    ; special options for 'bsub'
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS.launcher]
-\end_layout
-
-\begin_layout LyX-Code
-command = mpirun.lsf    ; 'mpirun' command to use on our cluster
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS.job]
-\end_layout
-
-\begin_layout LyX-Code
-queue = normal    ; default queue for jobs
-\end_layout
-
-\begin_layout Standard
-These settings are usually placed in 
-\family typewriter
-~/.pyre/CitcomS/CitcomS.cfg
-\family default
- or a system-wide configuration file.
- They can be overridden on the command line, where one typically specifies
- the job name and the allotted time for the job:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms example1.cfg --job.queue=debug 
-\backslash
-
-\end_layout
-
-\begin_layout LyX-Code
-    --job.name=example1 --job.walltime=5*minute
-\end_layout
-
-\begin_layout Standard
-The number of nodes to allocate for the job is determined automatically
- based upon the simulation parameters.
-\end_layout
-
-\begin_layout Subsection
-Monitoring Your Jobs
-\end_layout
-
-\begin_layout Standard
-Once launched, CitComS.py will print the progress of the model to the standard
- error stream (stderr).
- Usually, the stderr is directed to your terminal so that you can monitor
- the progress.
- On some system, the stderr is redirected to a file.
- In any case, the progress is always saved in a log file.
- The log file contains the convergence progress of the computation and,
- if an error occurs, debugging output.
- The time file contains the elapsed model time (in non-dimensional units)
- and CPU time (in seconds) of every time step.
- The format of the time file can be found in Appendix 
-\begin_inset LatexCommand \vref{cha:Appendix-C:-CitComS,}
-
-\end_inset
-
-.
- The log and time files are output by the rank-0 processor only.
- 
-\end_layout
-
-\begin_layout Standard
-Following your successful run, you will want to retrieve the output files
- from all the nodes and process them so they can be visualized with the
- visualization program OpenDX (see Chapter
-\begin_inset LatexCommand \vref{cha:Postprocessing-and-Graphics}
-
-\end_inset
-
-).
-\end_layout
-
-\begin_layout Section
-Using CitComS.py on the TeraGrid
-\end_layout
-
-\begin_layout Standard
-The TeraGrid is an open scientific discovery infrastructure combining leadership
- class resources at eight partner sites to create an integrated, persistent
- computational resource.
- The TeraGrid takes its name from two concepts from high-end computing:
- "Tera" is the metric prefix for "trillions" as in teraflops (trillions
- of calculations per second) and terabytes (trillions of bytes) and reflects
- the scale of the computing power provided by the TeraGrid; the "Grid" portion
- of TeraGrid reflects the idea of harnessing and using distributed computers,
- data storage systems, networks, and other resources as if they were a single
- massive system.
- In other words, Grid computing uses software technologies to allow researchers
- to create "virtual supercomputers" far larger than individual hardware
- components.
- Since TeraGrid software is based on commodity clusters, Linux/Unix, and
- Globus, it should be easier to scale from a laboratory development environment
- to a high-end environment in a straightforward manner which promotes applicatio
-n performance.
- 
-\end_layout
-
-\begin_layout Standard
-Although the TeraGrid is a high-end resource, it was developed to be accessible
- to the general community of scientists and engineers as a production facility.
- TeraGrid accounts for small allocations are available directly from CIG.
-\end_layout
-
-\begin_layout Standard
-CitComS.py has already been installed and tested on several NSF TeraGrid
- platforms, includes NCSA, SDSC and TACC.
- To use CitComS.py on these machines, please log in to your TeraGrid account
- and read the instructions at 
-\family typewriter
-$TG_COMMUNITY/CIG/CitcomS/TG_README
-\family default
-.
- 
-\end_layout
-
-\begin_layout Chapter
-\begin_inset LatexCommand \label{cha:Working-with-HDF5}
-
-\end_inset
-
-Working with CitComS HDF5 Files
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-A typical run of CitComS can create thousands if not millions of ASCII output
- files.
- This situation is inefficient since it requires an extra post-processing
- step for assembling the results from each processor (see Chapter 
-\begin_inset LatexCommand \ref{cha:Postprocessing-and-Graphics}
-
-\end_inset
-
-).
- 
-\end_layout
-
-\begin_layout Standard
-The CitComS.py 2.1 release solves this problem for parallel file systems by
- assembling a binary HDF5 file in parallel I/O mode.
- 
-\end_layout
-
-\begin_layout Section
-About HDF5
-\end_layout
-
-\begin_layout Standard
-HDF (Hierarchical Data Format) is a portable file format and software developed
- at the 
-\begin_inset LatexCommand \htmlurl[National Center for Supercomputing Applications (NCSA)]{hdf.ncsa.uiuc.edu/HDF5}
-
-\end_inset
-
-.
- It is designed for storing, retrieving, analyzing, visualizing, and converting
- scientific data.
- The current and most popular version is HDF5, which stores multi-dimensional
- arrays together with ancillary data in a portable self-describing format.
- It uses a hierarchical structure that provides application programmers
- with a host of options for organizing how data is stored in HDF5 files.
-\end_layout
-
-\begin_layout Standard
-HDF5 files are organized in a hierarchical structure, similar to a UNIX
- file system.
- Two types of primary objects, groups and datasets, are stored in this structure.
- A group contains instances of zero or more groups or datasets, while a
- dataset stores a multi-dimensional array of data elements.
- Both kinds of objects are accompanied by supporting metadata.
-\end_layout
-
-\begin_layout Standard
-A dataset is physically stored in two parts: a header and a data array.
- The header contains miscellaneous metadata describing the dataset as well
- as information that is needed to interpret the array portion of the dataset.
- Essentially, it includes the name, datatype, dataspace, and storage layout
- of the dataset.
- The name is a text string identifying the dataset.
- The datatype describes the type of the data array elements.
- The dataspace defines the dimensionality of the dataset, i.e., the size and
- shape of the multi-dimensional array.
- The dimensions of a dataset can be either fixed or unlimited (extensible).
- The storage layout specifies how the data arrays are arranged in the file.
-\end_layout
-
-\begin_layout Standard
-The data array contains the values of the array elements and can be either
- stored together in a contiguous file space or split into smaller 
-\shape italic
-chunks
-\shape default
- stored at any allocated location.
- Chunks are defined as equally-sized multi-dimensional subarrays (blocks)
- of the whole data array and each chunk is stored in a separate contiguous
- file space.
- Extensible datasets whose dimensions can grow are required to be stored
- in chunks.
- One dimension is increased by allocating new chunks at the end of the file
- to cover the extension.
-\end_layout
-
-\begin_layout Standard
-HDF5 also supports access to portions (or selections) of a dataset by 
-\shape italic
-hyperslabs
-\shape default
-, which consist of a subarray or strided subarray of the multi-dimensional
- dataset.
- The selection is performed in the file dataspace for the dataset.
- HDF5 also supports parallel I/O.
- Parallel access is supported through MPI-IO.
- The file and datasets are collectively created/opened by all participating
- processes.
- Each process accesses part of a dataset by defining its own file dataspace
- for that dataset.
- When accessing data, the data transfer property specifies whether each
- process will perform independent I/O or all processes will perform collective
- I/O.
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Data-Layout}
-
-\end_inset
-
-Data Layout
-\end_layout
-
-\begin_layout Standard
-Most of the output data from CitComS is specified at the nodes of a logically
- cartesian grid and is therefore well represented by multi-dimensional arrays.
- These data arrays consist of various parts, appearing in the following
- order: First, time-dependent arrays are addressed by a time-dimension index
- called a frame.
- Next, a cap dimension is defined for addressing each of the CitComS caps,
- followed by three spatial indices 
-\begin_inset Formula $(i,j,k)$
-\end_inset
-
- in the case of 3D data, or two spatial indices 
-\begin_inset Formula $(i,j)$
-\end_inset
-
- in the case of 2D surface data.
- Finally, an additional dimension is provided for storing the components
- of vector and tensor data.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float table
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="25" columns="2">
-<features>
-<column alignment="left" valignment="top" leftline="true" width="0">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="0">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\series bold
-Dataset
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\series bold
-Shape
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/coord
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodex, nodey, nodez, 3)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/connectivity
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(cap_elements, 8)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/velocity
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, nodez, 3)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/temperature
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/viscosity
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/pressure
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/stress
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, nodez, 6)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/surf/coord
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodex, nodey, 2)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/surf/velocity
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, 2)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/surf/heatflux
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/surf/topography
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/botm/coord
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodex, nodey, 2)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/botm/velocity
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey, 2)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/botm/heatflux
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/botm/topography
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(frames, caps, nodex, nodey)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/horiz_avg/coord
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/horiz_avg/temperature
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/horiz_avg/velocity_xy
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-/horiz_avg/velocity_z
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\family typewriter
-(caps, nodez)
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Input Parameters
-\end_layout
-
-\begin_layout Standard
-To enable HDF5 output in CitComS, all you need to do is include the following
- section in your 
-\family typewriter
-.cfg
-\family default
- input file.
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-[CitcomS.solver.output]
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-output_format = hdf5
-\end_layout
-
-\begin_layout Standard
-Alternatively, you can specify the option 
-\family typewriter
---solver.output.output_format=hdf5
-\family default
- on the command line.
- The resulting filename will simply consist of 
-\family typewriter
-.h5
-\family default
- appended to the value of your specified 
-\family typewriter
-datafile
-\family default
- input parameter.
-\end_layout
-
-\begin_layout Subsection
-Optimizing Parallel I/O
-\end_layout
-
-\begin_layout Standard
-There are several platform-dependent parameters used by the HDF5 library
- and the underlying MPI-IO routines to optimize the performance of parallel
- I/O.
- The optimal values for these parameters may vary from file system to file
- system.
- Ideally, before compiling CitComS, the build procedure would configure
- these parameters based on your platform.
- 
-\end_layout
-
-\begin_layout Standard
-In order to facilitate the process of gathering I/O performance data from
- a variety of parallel file systems such as GPFS, PVFS, IBRIX FusionFS,
- etc., you can specify the following parameters in the CitComS input file.
- You may use these to tune the performance of the parallel I/O on your system,
- although in future versions of CitComS this might become unnecessary for
- supported file systems.
-\end_layout
-
-\begin_layout Standard
-All values are assumed to be specified in bytes, unless otherwise indicated.
-\end_layout
-
-\begin_layout Enumerate
-MPI file hints for collective buffering file access.
-\end_layout
-
-\begin_deeper
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-cb_block_size
-\family default
-\size default
-: Target nodes will access data in chunks of this size.
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-cb_buffer_size
-\family default
-\size default
-: Specifies the total buffer space on each target node.
- Set this parameter to a multiple of 
-\family typewriter
-\size small
-cb_block_size
-\family default
-\size default
-.
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
-HDF5 file access properties.
-\end_layout
-
-\begin_deeper
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-sieve_buf_size
-\family default
-\size default
-: Maximum size of data sieve buffer.
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-output_alignment
-\family default
-\size default
-: Alignment interval size in bytes.
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-output_alignment_threshold
-\family default
-\size default
-: Allocation requests above this size will be aligned on a memory address
- that is a multiple of 
-\family typewriter
-\size small
-output_alignment
-\family default
-\size default
-.
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-cache_rdcc_nelmts
-\family default
-\size default
-: Maximum number of chunks that can be stored in the raw data chunk cache.
-\end_layout
-
-\begin_layout Enumerate
-
-\family typewriter
-\size small
-cache_rdcc_nbytes
-\family default
-\size default
-: Size of raw data chunk cache in bytes.
-\newline
-
-\end_layout
-
-\end_deeper
-\begin_layout Standard
-For more details, you can refer to the following references: 
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-\begin_inset LatexCommand \htmlurl[MPI-2: Extensions to the Message-Passing Interface, section 9.2.8]{www-unix.mcs.anl.gov/mpi/mpi-standard/mpi-report-2.0/node182.htm}
-
-\end_inset
-
-
-\series default
- provides a list of MPI-IO reserved file hints, also available in Section
- 7.2.8 of the MPI-2 reference book.
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-\begin_inset LatexCommand \htmlurl[HDF5 documentation]{hdf.ncsa.uiuc.edu/HDF5/doc/UG/08_TheFile.html}
-
-\end_inset
-
-
-\series default
-, Chapter 2, Section 7.3, contains a list of HDF5 file access properties.
-\end_layout
-
-\begin_layout Itemize
-
-\series bold
-\begin_inset LatexCommand \htmlurl[HDF5 User's Guide: Data Caching]{hdf.ncsa.uiuc.edu/HDF5/doc/Caching.html}
-
-\end_inset
-
-
-\series default
- offers a short explanation of raw data chunk caching.
-\end_layout
-
-\begin_layout Standard
-You should also refer to the documentation for your particular parallel
- file system and check if there are any other MPI or HDF5 hints that could
- improve your parallel I/O performance.
-\end_layout
-
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_deeper
-\begin_layout Standard
-
-\family roman
-Finally, here is an example section that would appear in a CitComS input
- file:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-[CitcomS.solver.output]
-\end_layout
-
-\begin_layout LyX-Code
-cb_block_size=1048576              # 1 MiB
-\end_layout
-
-\begin_layout LyX-Code
-cb_buffer_size=4194304             # 4 MiB
-\end_layout
-
-\begin_layout LyX-Code
-sieve_buf_size=1048576             # 1 MiB
-\end_layout
-
-\begin_layout LyX-Code
-output_alignment=262144            # 256 KiB
-\end_layout
-
-\begin_layout LyX-Code
-output_alignment_threshold=524288  # 512 KiB
-\end_layout
-
-\begin_layout LyX-Code
-cache_rdcc_nelmts=521
-\end_layout
-
-\begin_layout LyX-Code
-cache_rdcc_nbytes=1048576
-\end_layout
-
-\end_deeper
-\begin_layout LyX-Code
-
-\end_layout
-
-\begin_layout Section
-Accessing Data
-\end_layout
-
-\begin_layout Standard
-As previously indicated, HDF5 is a self-describing binary file format.
- As such we can use a variety of tools to inspect the structure of an HDF5
- file, as well as for retrieving data in any order.
- To quickly inspect the structure of an HDF5 file, you can use the command
- 
-\family typewriter
-h5ls
-\family default
- which is included with the HDF5 software:
-\end_layout
-
-\begin_layout LyX-Code
-$ h5ls -r file.h5
-\end_layout
-
-\begin_layout Standard
-You can also recreate the ASCII combined cap format described in 
-\begin_inset LatexCommand \ref{sec:ASCII-Output}
-
-\end_inset
-
- for specific time steps by using the command included in CitComS:
-\end_layout
-
-\begin_layout LyX-Code
-$ h5tocap file.h5 [frame1 [frame2 [...]]]
-\end_layout
-
-\begin_layout Subsection
-Python
-\end_layout
-
-\begin_layout Standard
-The small Python script 
-\family typewriter
-h5tocap.py
-\family default
- provides a good example for using PyTables to access the data in an HDF5
- file.
- In PyTables, datasets can be retrieved from disk as NumPy arrays through
- an array interface that avoids unnecessary copying of data by using hyperslabs,
- and which takes advantage of Python's powerful array slice-indexing.
-\end_layout
-
-\begin_layout Standard
-For example, obtaining the node coordinates, temperature, and topography
- values over the entire surface of the sphere for all time steps can be
- done easily with the following code snippet:
-\end_layout
-
-\begin_layout LyX-Code
-import tables
-\end_layout
-
-\begin_layout LyX-Code
-h5file = tables.openFile('example.h5', 'r')
-\end_layout
-
-\begin_layout LyX-Code
-surface_coords = h5file.coord[0:12,:,:,-1,:]
-\end_layout
-
-\begin_layout LyX-Code
-surface_temperature = h5file.temperature[:,0:12,:,:,-1]
-\end_layout
-
-\begin_layout LyX-Code
-surface_topography = h5file.surf.topography[:,0:12,:,:]
-\end_layout
-
-\begin_layout Standard
-
-\series bold
-(TODO 
-\begin_inset Quotes sld
-\end_inset
-
-if this is a specific example in the distribution, it is important to return
- a back or forward
-\begin_inset Quotes srd
-\end_inset
-
-)
-\end_layout
-
-\begin_layout Standard
-In this case, the slice 
-\family typewriter
-0:12
-\family default
- refers to all caps explicitly, while the empty slice 
-\begin_inset Quotes srd
-\end_inset
-
-
-\family typewriter
-:
-\family default
-
-\begin_inset Quotes sld
-\end_inset
-
- refers to the entire extent of the corresponding dimension.
- The values of 
-\family typewriter
--1
-\family default
- above refer to the last 
-\begin_inset Formula $z$
-\end_inset
-
--index, which corresponds to the location of the surface nodes on each of
- the caps.
- Finally, note how both HDF5 datasets and groups are conveniently accessible
- as Python attributes on the PyTables file object.
-\end_layout
-
-\begin_layout Standard
-For more details, refer to the documentation for 
-\begin_inset LatexCommand \htmlurl[PyTables]{www.pytables.org}
-
-\end_inset
-
- and 
-\begin_inset LatexCommand \htmlurl[NumPy]{numpy.scipy.org}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Subsection
-HDFView
-\end_layout
-
-\begin_layout Standard
-NCSA HDFView is a visual tool written for accessing HDF files.
- You can use it for viewing the internal file hierarchy in a tree structure,
- creating new files, adding or deleting groups and datasets, modifying existing
- datasets.
- (TODO:insert image 1 here).
- HDFView is capable of displaying 2D slices of multi-dimensional datasets,
- with an additional slider that can range over the entire extent of a third
- dimension.
- (TODO:insert image 2) here.
-\end_layout
-
-\begin_layout Chapter
-\begin_inset LatexCommand \label{cha:Postprocessing-and-Graphics}
-
-\end_inset
-
-Postprocessing and Graphics
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-Once you have run CitComS.py, you should have a series of output files (potential
-ly spread throughout the file systems of your Beowulf or on a set of directories
- on your parallel file system).
- You now have to retrieve and combine the data for the time step (or age)
- of interest.
- To visualize your results, it is recommended that you use the open source
- Open Visualization Data Explorer, better known as OpenDX.
- The software is available from the 
-\begin_inset LatexCommand \htmlurl[OpenDX website]{www.opendx.org}
-
-\end_inset
-
-.
- If you are using Linux, OpenDX is usually available as package 
-\family typewriter
-dx
-\family default
- or 
-\family typewriter
-opendx
-\family default
- in your distribution.
- If you are using Mac OS X, OpenDX is available via 
-\begin_inset LatexCommand \htmlurl[Fink]{fink.sourceforge.net}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Section
-Postprocessing on a Beowulf Cluster
-\end_layout
-
-\begin_layout Standard
-Generally, the results from your CitComS.py run will be distributed on disks
- attached to individual nodes of your Beowulf cluster.
- The output files are written in each node under the directory that you
- specified as the 
-\family typewriter
-datadir
-\family default
- property in the input file.
- To examine those files, login to a node and change directories to the one
- you specified with a prefix.
- For example, if you set 
-\family typewriter
-datadir=/scratch/username
-\family default
- and 
-\family typewriter
-datafile=test-case
-\family default
- in your input file, then your output files will be written to 
-\family typewriter
-/scratch/username
-\family default
- and will have the prefix 
-\family typewriter
-test-case
-\family default
-.
- An example of a filename for the velocity output is 
-\family typewriter
-test-case.velo.2.10
-\family default
- where 
-\family typewriter
-test-case
-\family default
- is the model prefix, 
-\family typewriter
-velo
-\family default
- means that this is a velocity data file, 
-\family typewriter
-2
-\family default
- corresponds to the processor number (so it is output by the 2nd processor),
- and 
-\family typewriter
-10
-\family default
- corresponds to the time step.
- 
-\end_layout
-
-\begin_layout Standard
-If your run used the time-dependent velocity boundary conditions (
-\family typewriter
-solver.param.file_vbcs=on
-\family default
-), the log file will also have a 
-\family typewriter
-current age
-\family default
- field that lists the time step numbers and their corresponding times.
- To choose an age to export for postprocessing, you have to find out which
- time step corresponds to the age that interests you.
-\end_layout
-
-\begin_layout Standard
-When you execute a CitComS.py run, your input parameters will be saved in
- a file 
-\family typewriter
-pidxxxxx.cfg
-\family default
- where 
-\family typewriter
-xxxxx
-\family default
- is usually a five-digit number for the process ID.
- This file contains most of the input parameters, which can be useful for
- archiving and postprocessing.
- This file will be referred to as the 
-\family typewriter
-pidfile
-\family default
- in this chapter.
-\end_layout
-
-\begin_layout Standard
-The output files of CitComS.py need to be postprocessed before you can do
- the visualization.
- There is a script that can postprocess (retrieve and combine) CitComS.py
- output: 
-\family typewriter
-autocombine.py
-\family default
-.
- The script will retrieve CitComS.py data to the current directory and combine
- the output into a few files.
-\end_layout
-
-\begin_layout Standard
-Using 
-\family typewriter
-autocombine.py
-\family default
-, retrieve and combine data of time-step 10: 
-\end_layout
-
-\begin_layout LyX-Code
-$ autocombine.py mpirun.nodes pid12345.cfg 10 
-\end_layout
-
-\begin_layout Standard
-This reads the MPI machinefile (
-\family typewriter
-mpirun.nodes
-\family default
-) and the CitComS.py pidfile (
-\family typewriter
-pid12345.cfg
-\family default
-), then calls other scripts to do the actual job.
- The general usage for 
-\family typewriter
-autocombine.py
-\family default
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-$ autocombine.py [machinefile] [pidfile] 
-\backslash
-
-\newline
-[step1] [step2 or more ...] 
-\end_layout
-
-\begin_layout Standard
-If your Beowulf cluster uses ssh (rather than rsh) to access the computation
- nodes, you must manually edit 
-\family typewriter
-batchpaste.sh
-\family default
- and replace 'rsh' with 'ssh' in the script.
- 
-\end_layout
-
-\begin_layout Standard
-If all of your data resides in one directory (e.g., 
-\family typewriter
-/scratch/username
-\family default
-) on a parallel file system, postprocess your output files by following
- the instructions in Section 
-\begin_inset LatexCommand \ref{sec:Postprocessing-in-a}
-
-\end_inset
-
-.
- 
-\end_layout
-
-\begin_layout Standard
-Once 
-\family typewriter
-autocombine.py
-\family default
- has run, you will have with 2 files (or 24 files for the full spherical
- version of CitComS.py) formatted as follows: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-test-case.cap00.10
-\newline
-test-case.cap00.10.general
-\end_layout
-
-\begin_layout Standard
-The former file is the data file containing simulation results; its format
- can be found in Appendix 
-\begin_inset LatexCommand \ref{cha:Appendix-C:-CitComS,}
-
-\end_inset
-
-.
- The latter file is the OpenDX header for the data.
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Postprocessing-in-a}
-
-\end_inset
-
-Postprocessing in a Non-Cluster Environment
-\end_layout
-
-\begin_layout Standard
-If you run CitComS.py in a non-cluster environment or all of your data resides
- in a single directory, you can still use 
-\family typewriter
-autocombine.py
-\family default
- to combine the data.
- In this case, the 
-\family typewriter
-machinefile
-\family default
- is not needed and can be replaced by 
-\family typewriter
-localhost
-\family default
-, such as: 
-\end_layout
-
-\begin_layout LyX-Code
-$ autocombine.py localhost [pidfile] 
-\backslash
-
-\newline
-[step1] [step2 or more ...] 
-\end_layout
-
-\begin_layout Section
-Using OpenDX for Regional Sphere Visualization
-\end_layout
-
-\begin_layout Standard
-OpenDX modules designed for CitComS.py can be found in the source directory
- called 
-\family typewriter
-visual
-\family default
-.
- The optional 
-\family typewriter
-make install
-\family default
- command installs the OpenDX modules under 
-\family typewriter
-PREFIX/share/CitcomS/visual
-\family default
- (where 
-\family typewriter
-PREFIX
-\family default
- defaults to 
-\family typewriter
-/usr/local
-\family default
-).
-\end_layout
-
-\begin_layout Standard
-In this example, you will use 
-\family typewriter
-visRegional.net
-\family default
- to visualize the result of regional CitComS.py.
- Launch OpenDX by typing: 
-\end_layout
-
-\begin_layout LyX-Code
-$ dx 
-\end_layout
-
-\begin_layout Standard
-You will see an OpenDX 
-\family sans
-Data Explorer
-\family default
- window.
- Click
-\series bold
- 
-\family sans
-\series default
-Edit Visual Programs
-\family default
- and select 
-\family typewriter
-visRegional.net
-\family default
- from the file selector.
- You will see a 
-\family sans
-Visual Program Editor
-\family default
- window and double-click on the 
-\family sans
-FileSelector
-\family default
- block, which will open a 
-\family sans
-Control Panel
-\family default
- window.
- In the 
-\family sans
-CitcomSImport filename
-\family default
- input box, select the header file of your postprocessed data, e.g.,
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-regtest.cap00.100.general
-\end_layout
-
-\begin_layout Standard
-In the pull-down menu, select
-\family typewriter
- 
-\family sans
-Execute\SpecialChar \menuseparator
-Execute on Change
-\family default
-.
- A new window will appear with the image of the model.
- If you want to zoom, rotate, change projection, and otherwise manipulate
- the view of the model, experiment with the menu 
-\family sans
-Options\SpecialChar \menuseparator
-View Control
-\family default
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status collapsed
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/c_fig5.eps
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Regional Model Visualized with OpenDX.
- A snapshot of an upwelling (blue isosurface) with a slice of the temperature
- field (bisecting plane).
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-Additional options in the control panel window for the regional model include:
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-CitcomSImport reduced
-\family default
-\series default
- can increase or reduce the resolution of the velocity vectors and grids.
- 
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Core radius
-\family default
-\series default
- is the size of the orange sphere which represents the core-mantle boundary.
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Isosurface value
-\family default
-\series default
- is the temperature isosurfaces.
- You can change the values of the isosurfaces, including adding additional
- isosurfaces or deleting existing ones.
- 
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Slab cut dimension
-\family default
-\series default
- is the direction of the slab (an OpenDX term for cross-section).
- 
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Slab cut position
-\family default
-\series default
- is the position of the slab.
-  
-\end_layout
-
-\begin_layout Standard
-You can change any of the parameters, visualization, or set-up by going
- back to the main window and clicking on each tab.
- If you click on each block, you will be able to change the settings for
- that function.
- 
-\end_layout
-
-\begin_layout Section
-Using OpenDX for Full Sphere Visualization
-\end_layout
-
-\begin_layout Standard
-After launching OpenDX, you will see an OpenDX 
-\family sans
-Data Explorer
-\family default
- window.
- Click 
-\family sans
-Edit Visual Programs
-\family default
- and select 
-\family typewriter
-visFull.net
-\family default
- from the file selector.
- You will see a 
-\family sans
-Visual Program Editor
-\family default
-\series bold
- 
-\series default
-window.
- Select the 
-\family sans
-import
-\family default
- tab in the 
-\family sans
-Visual Program Editor
-\family default
-'s main window and double-click on the 
-\family sans
-FileSelector
-\family default
- block, which will open a 
-\family sans
-Control Panel
-\series bold
- 
-\family default
-\series default
-window.
- In the 
-\family sans
-Format String of CitcomSFullImport
-\family default
- input box, select one of the 12 header files of your postprocessed data,
- e.g.,
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-fulltest.cap00.100.general
-\end_layout
-
-\begin_layout Standard
-The results of a full spherical CitComS.py consist of 12 cap files.
- In order to import the 12 cap files at the same time, edit the filename
- with the cap number replaced by printf-styled format string 
-\family typewriter
-%02d
-\family default
-, e.g.,
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
-fulltest.cap%02d.100.general
-\end_layout
-
-\begin_layout Standard
-In the pull-down menu, select
-\family typewriter
- 
-\family sans
-Execute\SpecialChar \menuseparator
-Execute on Change
-\family default
-.
- A new window will appear with the image of the model.
- If you want to zoom, rotate, change projection, and otherwise manipulate
- the view of the model, experiment with the menu 
-\family sans
-Options\SpecialChar \menuseparator
-View Control
-\family default
-.
-\end_layout
-
-\begin_layout Standard
-Additional options in the control panel window for the spherical model include:
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-CitcomSFullImport reduced
-\family default
-\series default
- can increase or reduce the resolution of the velocity vectors and grids.
- 
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Core radius
-\family default
-\series default
- is the size of the orange sphere which represents the core-mantle boundary.
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Isosurface value
-\family default
-\series default
- is the temperature isosurfaces.
- You can change the values of the isosurfaces, including adding additional
- isosurfaces or deleting existing ones.
- 
-\end_layout
-
-\begin_layout Itemize
-
-\family sans
-\series bold
-Latitude of normal axis
-\family default
-\series default
- and 
-\family sans
-\series bold
-Longitude of normal axis
-\family default
-\series default
- are the directions of the normal axis to the cross-section plane.
-\end_layout
-
-\begin_layout Section
-Using OpenDX for HDF5 Visualization
-\end_layout
-
-\begin_layout Standard
-If you use the HDF5 output format (
-\family typewriter
-solver.output.output_format=hdf5
-\family default
-), you can directly visualize the data without postprocessing.
- First, you need to install and set up the OpenDXutils package (see Section
- 
-\begin_inset LatexCommand \vref{sub:OpenDXutils}
-
-\end_inset
-
-).
- Then, open either 
-\family typewriter
-visRegional.net
-\family default
- or 
-\family typewriter
-visFull.net
-\family default
- in OpenDX.
- In the Tools panel of the main window, select the 
-\family sans
-CitcomSImportHDF5
-\family default
- module in the 
-\family sans
-Macros
-\family default
- category.
- Place the module in the work space and rewire the network as shown in Figure
- 
-\begin_inset LatexCommand \ref{fig:Import-CitComS.py-HDF5}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-	filename graphics/CitcomSImportHDF5.net.gif
-	lyxscale 50
-	width 75page%
-	keepAspectRatio
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Import-CitComS.py-HDF5}
-
-\end_inset
-
- How to import CitComS.py HDF5 data.
- The 
-\family sans
-CitcomSImportHDF5
-\family default
- module is highlighted in the Tools panel.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-There are four input tabs in the 
-\family sans
-CitcomSImportHDF5
-\family default
- module.
- The first tab (connected to the 
-\family sans
-FileSelector
-\family default
- module) specifies the HDF5 filename.
- The second tab (connected to the 
-\family sans
-Integer
-\family default
- module) specifies the resultion reduction factor.
- The third tab (unconnected, default to 0) specifies which time frame to
- import.
- The fourth tab (unconnected, default to 0) specifies which cap(s) to import.
-\end_layout
-
-\begin_layout Standard
-
-\series bold
-TODO: GMT Scripts
-\end_layout
-
-\begin_layout Standard
-
-\series bold
-TODO: MayaVi Scripts
-\end_layout
-
-\begin_layout Chapter
-Cookbooks
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-These cookbook examples are meant to serve as a guide to some of the types
- of problems CitComS.py can solve.
- Cookbook examples range from regional to full spherical shell problems
- that address traditional mantle convection problems.
- These cookbook examples are distributed with the package under the 
-\family typewriter
-examples
-\family default
- directory.
- However, you might need to edit these example scripts slightly to launch
- the job on your cluster (see Section 
-\begin_inset LatexCommand \vref{sec:Multiprocessor-Example}
-
-\end_inset
-
- for more information).
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Cookbook-1:-Global}
-
-\end_inset
-
-Cookbook 1: Global Model
-\end_layout
-
-\begin_layout Subsection
-Problem
-\end_layout
-
-\begin_layout Standard
-You would like to solve for thermal convection within a full spherical shell
- domain.
- The full spherical version of CitComS.py is designed to run on a cluster
- that decomposes the spherical shell into 12 equal "caps" and then distributes
- the calculation for caps onto separate processors.
- To run CitComS.py with the full solver parameter set, it is recommended
- that you have a minimum of 12 processors available on your cluster.
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement h
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook1.eps
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Global Model "Caps." Left (A): Three-dimensional perspective image showing
- seven of the 12 spherical caps used in a full CitComS.py run.
- Right (B): The temperature field at 1081 km depth from a Cookbook 1 run.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Solution
-\end_layout
-
-\begin_layout Standard
-You will use 
-\family typewriter
-cookbook1.cfg
-\family default
-.
- The first set of parameters specifies that you are going to use the full
- spherical version of solver.
- The default is to use the regional sphercal version, so this must be set.
-\end_layout
-
-\begin_layout LyX-Code
-solver = full
-\end_layout
-
-\begin_layout Standard
-The second set of parameters specifies the number of time steps (101), how
- often full outputs of the computation are created (25), and the prefix
- of output filenames (cookbook1).
-\end_layout
-
-\begin_layout LyX-Code
-steps = 101
-\newline
-monitoringFrequency = 25
-\newline
-datafile = cookbook1
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-solver.ic
-\family default
- facility controls the temperature field for the initial conditions.
- The last set of parameters includes the number of perturbations to the
- initial temperature (1), the number of nodal lines of the perturbation
- in the longitudinal direction, e.g., the spherical harmonic order (3), the
- number of nodal lines in the latitudinal direction, e.g., the spherical harmonic
- degree (2), which layer the pertubation is on (5), and the amplitude of
- the perturbation (0.05).
- Note that although the number of perturbations is assigned here as 
-\family typewriter
-num_perturbations=1
-\family default
-, that is actually the default value.
-\end_layout
-
-\begin_layout LyX-Code
-num_perturbations = 1
-\newline
-perturbl = 3
-\newline
-perturbm = 2
-\newline
-perturblayer = 5
-\newline
-perturbmag
- = 0.05
-\end_layout
-
-\begin_layout Standard
-This example is executed by typing 
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms cookbook1.cfg
-\end_layout
-
-\begin_layout Subsubsection
-Example: Global Model, cookbook1.cfg
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-solver = full
-\newline
-steps = 101                 ; number of time steps
-\newline
-
-\newline
-[CitcomS.
-controller]
-\newline
-monitoringFrequency = 25    ; how often outputs are created
-\newline
-
-\newline
-[CitcomS.so
-lver]
-\newline
-datafile = cookbook1        ; prefix of output filenames
-\newline
-
-\newline
-[CitcomS.solver.ic]
-\newline
-nu
-m_perturbations = 1
-\newline
-perturbl = 3
-\newline
-perturbm = 2
-\newline
-perturblayer = 5
-\newline
-perturbmag =
- 0.05 
-\end_layout
-
-\begin_layout Standard
-Once you have run the model, you can visualize the results using OpenDX,
- described in the previous chapter.
- When you invoke "Edit Visual Program," select 
-\family typewriter
-visFull.net
-\family default
-.
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook1.2.jpg
-	lyxscale 50
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Cookbook 1: Global Model.
- This image depicts a slice through a spherical model of convection, with
- warmer colors indicating upwelling and the cooler colors showing downwelling.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Discussion
-\end_layout
-
-\begin_layout Standard
-You have generated a simple example of the full CitComS.py model, with minimal
- parameter alterations.
- With a default Rayleigh number of 
-\begin_inset Formula $10^{5}$
-\end_inset
-
- and perturbation on the initial temperature field which has a degree-3
- and an order-2 pattern, after 100 time steps, the convection pattern remains
- relatively steady.
-\end_layout
-
-\begin_layout Standard
-As a note, it is not required that 12 processors, with one spherical cap
- per processor, be used.
- As an end-member possibility, for example, 12 different jobs could be run
- on a single computer (
-\family typewriter
-n001
-\family default
- in this example) by invoking:
-\end_layout
-
-\begin_layout LyX-Code
-$ citcoms cookbook1.cfg --launcher.nodegen="n%03d" 
-\backslash
-
-\newline
---launcher.nodelist=[1,1,1,1,1,1,1,1,1,1,1,1]
-\end_layout
-
-\begin_layout Standard
-This is not particularly efficient, but it does illustrate the flexibility
- of both 
-\family typewriter
-mpi
-\family default
- and Pyre.
-\end_layout
-
-\begin_layout Section
-Cookbook 2: Velocity Boundary Conditions
-\end_layout
-
-\begin_layout Subsection
-Problem
-\end_layout
-
-\begin_layout Standard
-You would like to solve for thermal convection with velocity boundary conditions
- imposed on the top surface within a given region of a sphere.
- You will need to use the regional version of CitComS.py.
- 
-\end_layout
-
-\begin_layout Subsection
-Solution
-\end_layout
-
-\begin_layout Standard
-You will use 
-\family typewriter
-cookbook2.cfg
-\family default
-.
- The parameters specify the number of time steps (61), the prefix of the
- output filenames (
-\family typewriter
-cookbook2
-\family default
-), and how often outputs will be created (30).
-\end_layout
-
-\begin_layout LyX-Code
-steps = 61
-\newline
-monitoringFrequency = 30
-\newline
-datafile = cookbook2
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-solver.mesher
-\family default
- facility has several properties involved in the generation of the computational
- mesh.
- Continue to use the default values for the physical portion of the domain
- in which you are interested.
- However, try modifying the layout of the mesh as shown.
- 
-\end_layout
-
-\begin_layout LyX-Code
-nprocx =  2
-\newline
-nprocy =  2
-\newline
-nodex  = 17
-\newline
-nodey  = 17
-\newline
-nodez  =  9
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-solver.bc
-\family default
- facility allows you to impose a uniform velocity across the top surface.
- You have a velocity which is purely in the colatitude direction with a
- non-dimensional velocity of 100 (see Section 
-\begin_inset LatexCommand \vref{eq:6}
-
-\end_inset
-
- for how to dimensionalize it).
- 
-\end_layout
-
-\begin_layout LyX-Code
-topvbc    =   1
-\newline
-topvbxval = 100
-\end_layout
-
-\begin_layout Standard
-In addition, the initial temperature field has a linear conductive profile.
- The amplitude of initial temperature perturbation is set to zero using
- the 
-\family typewriter
-solver.ic
-\family default
- facility.
- 
-\end_layout
-
-\begin_layout LyX-Code
-num_perturbations = 1
-\newline
-perturbmag        = 0.0 
-\end_layout
-
-\begin_layout Subsubsection
-Example: Velocity Boundary Conditions, cookbook2.cfg
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-steps = 61                  ; number of time steps
-\newline
-
-\newline
-[CitcomS.controller]
-\newline
-mo
-nitoringFrequency = 30    ; how often outputs are created
-\newline
-
-\newline
-[CitcomS.solver]
-\newline
-datafile
- = cookbook2        ; prefix of output filenames
-\newline
-
-\newline
-# Modify the layout of the
- mesh.
-\newline
-[CitcomS.solver.mesher]
-\newline
-nprocx =  2
-\newline
-nprocy =  2
-\newline
-nodex  = 17
-\newline
-nodey  = 17
-\newline
-nodez
-  =  9
-\newline
-
-\newline
-# Impose a uniform velocity across the top surface.
-\newline
-[CitcomS.solver.bc]
-\newline
-topvbc
-    =   1
-\newline
-topvbxval = 100
-\newline
-
-\newline
-# Modify the layout of the mesh.
-\newline
-[CitcomS.solver.mesher]
-\newline
-npro
-cx =  2
-\newline
-nprocy =  2
-\newline
-nodex  = 17
-\newline
-nodey  = 17
-\newline
-nodez  =  9
-\newline
-
-\newline
-# Impose a uniform velocity
- across the top surface.
-\newline
-[CitcomS.solver.bc]
-\newline
-topvbc    =   1
-\newline
-topvbxval = 100
-\newline
-topvbyval
- =   0
-\newline
-
-\newline
-# In addition, set the initial temperature perturbation to zero.
-\newline
-[CitcomS.sol
-ver.ic]
-\newline
-num_perturbations = 1
-\newline
-perturbmag        = 0.0 
-\end_layout
-
-\begin_layout Subsection
-Discussion
-\end_layout
-
-\begin_layout Standard
-Using OpenDX to visualize the results (Figure 
-\begin_inset LatexCommand \ref{fig:Cookbook-2:-Velocity}
-
-\end_inset
-
-), this model allows you to create a plate-driven convection in which there
- is a thermal upwelling on one wall, a thermal downwelling on another, and
- uniform horizontal velocity across the top.
- The downwelling is not exactly subduction because the default boundary
- conditions are close to zero shear stress on the boundaries.
- This means that there is a symmetrical downwelling in a vertical domain
- on the other side.
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement h
-wide false
-sideways false
-status collapsed
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook2.2.eps
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Cookbook-2:-Velocity}
-
-\end_inset
-
-Cookbook 2: Velocity Boundary Conditions.
- This model highlights a region of the sphere and the heated upwellings
- (warm colors), downwellings (cool colors), and the velocities (yellow arrows).
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Cookbook 3: Temperature-Dependent Viscosity
-\end_layout
-
-\begin_layout Subsection
-Problem
-\end_layout
-
-\begin_layout Standard
-A common problem in geophysics is the exploration of natural convection
- in the presence of variable viscosity, including temperature-dependent
- or stress-dependent viscosity.
-\end_layout
-
-\begin_layout Subsection
-Solution
-\end_layout
-
-\begin_layout Standard
-You will use cookbook3.cfg.
- The parameters specify the number of time steps (200), how often outputs
- will be created (25), the prefix of the output filenames (
-\family typewriter
-cookbook3
-\family default
-), and the Rayleigh number (
-\begin_inset Formula $10^{6}$
-\end_inset
-
-).
-\end_layout
-
-\begin_layout LyX-Code
-steps = 200
-\newline
-monitoringFrequency = 25
-\newline
-datafile = cookbook3
-\newline
-rayleigh = 1e6
-\end_layout
-
-\begin_layout Standard
-The 
-\family typewriter
-solver.visc
-\family default
- facility assign the viscosities.
- The parameters specify whether the viscosity should be updated at every
- time step (
-\family typewriter
-on
-\family default
-), the number of viscous layers (4), the viscosity of each layer (1,1,1,1),
- whether the viscosity is temperature dependent (
-\family typewriter
-on
-\family default
-), the activation energy of each layer (0.2,0.2,0.2,0.2), the temperature offset
- of each layer (0,0,0,0), whether to apply the minimum cutoff (
-\family typewriter
-on
-\family default
-), the value of the minimum cutoff (1.0), whether to apply the maximum cutoff
- (
-\family typewriter
-on
-\family default
-), and the value of the maximum cutoff (100.0).
- 
-\end_layout
-
-\begin_layout LyX-Code
-VISC_UPDATE = on
-\newline
-num_mat = 4
-\newline
-visc0 = 1,1,1,1
-\newline
-TDEPV = on
-\newline
-viscE = 0.2,0.2,0.2,0.2
-\newline
-viscT
- = 0,0,0,0
-\newline
-VMIN = on
-\newline
-visc_min = 1.0
-\newline
-VMAX = on
-\newline
-visc_max = 100.0
-\end_layout
-
-\begin_layout Standard
-The range of the layers are determined by the following parameters: layer
- 1 extends from the top surface to a depth of 
-\family typewriter
-solver.const.z_lith
-\family default
- (default to 0.014, or 90 km dimensionally); layer 2 is below layer 1 and
- extends to a depth of 
-\family typewriter
-solver.const.z_410
-\family default
- (default to 0.06435, or 410 km dimensionally); layer 3 is below layer 2
- and extends to a depth of 
-\family typewriter
-solver.const.z_lmantle
-\family default
- (default to 0.105, or 670 km dimensionally); layer 4 is below layer 3 and
- extends to the bottom.
- The temperature dependence of the viscosity of each layer is determined
- by: 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \begin{equation}
-visc=visc0\times exp\left(\frac{viscE}{T+viscT}-\frac{viscE}{1+viscT}\right)\label{eq:22}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsubsection
-Example: Temperature-Dependent Viscosity, cookbook3.cfg
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-steps = 200                 ; number of time steps
-\newline
-
-\newline
-[CitcomS.controller]
-\newline
-mo
-nitoringFrequency = 25    ; how often outputs are created
-\newline
-
-\newline
-[CitcomS.solver]
-\newline
-datafile
- = cookbook3        ; prefix of output filenames
-\newline
-rayleigh = 1e6         
-     ; Rayleigh number
-\newline
-
-\newline
-# Modify the layout of the mesh.
-\newline
-[CitcomS.solver.mesher]
-\newline
-nprocx
- =  2
-\newline
-nprocy =  2
-\newline
-nodex  = 17
-\newline
-nodey  = 17
-\newline
-nodez  =  9
-\newline
-
-\newline
-# Assign the viscosities.
-\newline
-[Citcom
-S.solver.visc]
-\newline
-VISC_UPDATE = on
-\newline
-num_mat = 4
-\newline
-visc0 = 1,1,1,1
-\newline
-TDEPV = on
-\newline
-viscE =
- 0.2,0.2,0.2,0.2
-\newline
-viscT = 0,0,0,0
-\newline
-VMIN = on
-\newline
-visc_min = 1.0
-\newline
-VMAX = on
-\newline
-visc_max = 100.0
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook3.eps
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Cookbook 3: Temperature-Dependent Viscosity.
- This model highlights a region that features both the heated upwelling
- (warm colors) and the even distribution of the velocities (arrows).
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-Cookbook 4: Regionally Refined Meshes 
-\end_layout
-
-\begin_layout Subsection
-Problem
-\end_layout
-
-\begin_layout Standard
-Frequently for convection problems, particularly those with variable viscosity,
- there are features with strong gradients in temperature or viscosity that
- can be better resolved with refined meshes.
- For example, for the problem just studied in Cookbook 3, temperature-dependent
- viscosity, a higher resolution is required for a narrow hot upwelling while
- a lower resolution is sufficient for the wider cold downwelling.
- 
-\end_layout
-
-\begin_layout Subsection
-Solution
-\end_layout
-
-\begin_layout Standard
-The parameter that controls if a mesh is to be uniform or refined is 
-\family typewriter
-solver.mesher.coor
-\family default
-.
- Set it to 
-\family typewriter
-on (solver.mesher.coor=on)
-\family default
- in order to read the uneven mesh point coordinates from an input file (specifie
-d by 
-\family typewriter
-coor_file
-\family default
-).
- The format of the coordinate input file is described in Appendix 
-\begin_inset LatexCommand \vref{sec:Coordinate-files}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout LyX-Code
-coor = on
-\newline
-coor_file = coor.dat
-\end_layout
-
-\begin_layout Standard
-The computational domain is bounded in colatitude between radian 1 and 2,
- in latitude between radian 0 and 1, and in radius between 0.55 and 1.
-\end_layout
-
-\begin_layout LyX-Code
-theta_min = 1
-\newline
-theta_max = 2
-\newline
-fi_min = 0
-\newline
-fi_max = 1
-\newline
-radius_inner = 0.55
-\newline
-radius_outer
- = 1
-\end_layout
-
-\begin_layout Subsubsection
-Example: Regionally Refined Meshes, cookbook4.cfg
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-steps = 250                 ; number of time steps
-\newline
-
-\newline
-
-\newline
-[CitcomS.controller]
-\newline
-mo
-nitoringFrequency = 10    ; how often outputs are created
-\newline
-
-\newline
-
-\newline
-[CitcomS.solver]
-\newline
-rayleigh
- = 1e6              ; Rayleigh number
-\newline
-datafile = cookbook4        ; prefix
- of output filenames
-\newline
-
-\newline
-
-\newline
-[CitcomS.solver.ic]
-\newline
-num_perturbations = 1
-\newline
-perturbmag = 0.05
-\newline
-pertur
-blayer = 10
-\newline
-
-\newline
-# Perturb the initial temperature gradient in the longitudinal
-\newline
-#
- direction.
-\newline
-perturbl = 1
-\newline
-perturbm = 0
-\newline
-
-\newline
-
-\newline
-[CitcomS.solver.mesher]
-\newline
-# Read uneven mesh
- point coordinates from 'coor.dat'.
-\newline
-coor = on
-\newline
-coor_file = coor.dat
-\newline
-
-\newline
-nprocx = 4
-\newline
-nprocy
- = 2
-\newline
-nprocz = 2
-\newline
-nodex = 33
-\newline
-nodey = 17
-\newline
-nodez = 17
-\newline
-theta_min = 1
-\newline
-theta_max = 2
-\newline
-fi_min
- = 0
-\newline
-fi_max = 1
-\newline
-radius_inner = 0.55
-\newline
-radius_outer = 1
-\newline
-
-\newline
-
-\newline
-[CitcomS.solver.visc]
-\newline
-VISC_UPDATE
- = on
-\newline
-num_mat = 4
-\newline
-visc0 = 1,1,1,1
-\newline
-TDEPV = on
-\newline
-viscE = 0.2,0.2,0.2,0.2
-\newline
-viscT = 0,0,0,0
-\newline
-VMIN
- = on
-\newline
-visc_min = 1.0
-\newline
-VMAX = on
-\newline
-visc_max = 100.0
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook4.eps
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-Cookbook 4: Regionally Refined Mesher.
- This model shows the temperature (upwelling -- warm colors, downwelling
- -- cool colors) and the uneven distribution of the velocities (yellow arrows).
- Note the refined mesh for the left and bottom regions of the model (inset).
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Discussion
-\end_layout
-
-\begin_layout Standard
-The resulting model is like a 2D model, but extends in the longitudinal
- direction.
- To set up this type of model, the initial temperature gradient was perturbed
- only in the longitudinal direction, by setting the parameters 
-\family typewriter
-perturbl=1
-\family default
- and 
-\family typewriter
-perturbm=0
-\family default
-.
- The model results show a thin thermal upwelling on one wall and a wide
- thermal downwelling on the opposite wall.
- Also, at the bottom of the model a thin layer of hot material can be shown.
- Note the higher resolution in the narrow regions with hot material and
- the lower resolution for the wide thermal downwelling region.
-\end_layout
-
-\begin_layout Section
-Cookbook 5: Subduction Models with Trench Rollback
-\end_layout
-
-\begin_layout Subsection
-Problem
-\end_layout
-
-\begin_layout Standard
-A common issue to address is the problem arising when the position of the
- oceanic trench is not constant in time (trench rollback) for a subduction
- zone.
- In addition, the trench rollback speed may vary in time, which can be caused,
- for example, by a rotation pole jump.
- 
-\end_layout
-
-\begin_layout Subsection
-Solution
-\end_layout
-
-\begin_layout Standard
-In order to introduce in a convection model a trench rollback you have to
- prepare the velocity files.
- The following scenario is proposed for this cookbook: there are two plates
- centered along the equator, with two different Euler poles (see Figure
- 
-\begin_inset LatexCommand \ref{fig:Cookbook-5:-Left}
-
-\end_inset
-
-).
- Initially, both plates have Euler poles situated far apart, so the velocities
- are approximately constant (about 5 cm/yr for the left plate and about
- 2 cm/yr for the right plate).
- After 30 Ma, a pole jump occurred for the right slab only, so the Euler
- pole moved closer.
- 
-\end_layout
-
-\begin_layout Standard
-Since we impose a top velocity boundary in our model, the following parameters
- should be turned on: 
-\end_layout
-
-\begin_layout LyX-Code
-topvbc = 1
-\newline
-file_vbcs = on
-\end_layout
-
-\begin_layout Standard
-The following two lines specify the location of the velocity files and the
- starting age for the model: 
-\end_layout
-
-\begin_layout LyX-Code
-start_age = 55
-\newline
-vel_bound_file = ./velocity/bvel.dat 
-\end_layout
-
-\begin_layout Standard
-Since the starting age is set to 55 Ma, there will be 57 velocity files,
- one for each Ma (
-\family typewriter
-vel.dat0, vel.dat1,...vel.dat55, vel.dat56
-\family default
-).
- The format of the velocity file is described in Appendix 
-\begin_inset LatexCommand \vref{sec:Velocity-boundary-condition}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Standard
-When 
-\family typewriter
-restart=on
-\family default
- is set, the initial temperature field is read from setup files.
- The files have the same naming scheme and format as the CitComS velo output,
- as described in Appendix 
-\begin_inset LatexCommand \vref{sub:Velocity-and-Temperature}
-
-\end_inset
-
-.
- The location and prefix of the file is specified in 
-\family typewriter
-datadir_old
-\family default
- and 
-\family typewriter
-datafile_old
-\family default
-, and the time step of the velo file in 
-\family typewriter
-solition_cycles_init
-\family default
-.
- In this example, a processor of MPI rank 
-\family typewriter
-n
-\family default
- will read file 
-\family typewriter
-./restart_files/cookbook5.velo.n.0
-\end_layout
-
-\begin_layout LyX-Code
-datadir_old = ./restart_files
-\newline
-datafile_old = cookbook5
-\newline
-restart = on 
-\newline
-solution_cycles
-_init = 0
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook5.eps
-	lyxscale 65
-	scale 65
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Cookbook-5:-Left}
-
-\end_inset
-
-Cookbook 5: Left (A): Initially, both plates have Euler poles (magenta and
- green dots) situated far apart from the plate, so the velocities are approximat
-ely constant (about 5 cm/yr for the left plate and about 2 cm/yr for the
- right plate).
- Right (B): After 30 Ma a pole jump occurred for the right slab only, so
- the Euler pole moved closer.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsubsection
-Example: Subduction Models with Trench Rollback, cookbook5.cfg
-\end_layout
-
-\begin_layout LyX-Code
-[CitcomS]
-\newline
-steps = 1000                ; number of time steps
-\newline
-
-\newline
-[CitcomS.controller]
-\newline
-mo
-nitoringFrequency = 10    ; how often outputs are created
-\newline
-
-\newline
-[CitcomS.solver]
-\newline
-datafile
- = cookbook5
-\newline
-datadir_old = ./restart_files
-\newline
-datafile_old = cookbook5
-\newline
-rayleigh
- = 4.07e+08
-\newline
-
-\newline
-[CitcomS.solver.bc]
-\newline
-topvbc = 1
-\newline
-
-\newline
-[CitcomS.solver.param]
-\newline
-file_vbcs = on
-\newline
-start_age
- = 55
-\newline
-
-\newline
-# Since the starting age is set to 55 Ma, there will be 56 velocity
-\newline
-#
- files, one for each Ma (bvel.dat0, bvel.dat1, ...
- bvel.dat56).
-\newline
-vel_bound_file = ./velocity/bvel.dat
-\newline
-
-\newline
-[CitcomS.solver.ic]
-\newline
-restart =
- on
-\newline
-solution_cycles_init = 0
-\newline
-
-\newline
-[CitcomS.solver.mesher]
-\newline
-coor = on
-\newline
-coor_file = ./coor.dat
-\newline
-npr
-ocx = 2
-\newline
-nprocy = 8
-\newline
-nprocz = 4
-\newline
-nodex = 17
-\newline
-nodey = 65
-\newline
-nodez = 33
-\newline
-theta_min = 1.47
-\newline
-theta_ma
-x = 1.67
-\newline
-fi_min = 0
-\newline
-fi_max = 0.5
-\newline
-radius_inner = 0.7
-\newline
-
-\newline
-[CitcomS.solver.visc]
-\newline
-num_mat
- = 4
-\newline
-visc0 = 100,0.003,1,2
-\newline
-TDEPV = on
-\newline
-viscE = 24,24,24,24
-\newline
-viscT = 0.182,0.182,0.182,0.182
-\newline
-
-VMIN = on
-\newline
-visc_min = 0.01
-\newline
-VMAX = on
-\newline
-visc_max = 100.0 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Float figure
-placement h
-wide false
-sideways false
-status collapsed
-
-\begin_layout Standard
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook5.2.eps
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Cookbook-5:-the}
-
-\end_inset
-
-Cookbook 5: The pole jump after 30 Ma produced a flat slab on one side (fore
- side) and a steep slab on the other side (back side).
- 
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Discussion
-\end_layout
-
-\begin_layout Standard
-The results for this problem are presented in Figure 
-\begin_inset LatexCommand \ref{fig:Cookbook-5:-the}
-
-\end_inset
-
-.
- Since the two Euler poles are kept fixed for the first 30 Ma, the shape
- of the subducting slab will be the same along the trench.
- At 25 Ma, the Euler pole for the right plate jumps toward the plate.
- Therefore, the velocity along the trench varies from about 1 cm/yr to about
- 2.5 cm/yr.
- This will produce in time a flat slab at one side of the model, and a steep
- slab at the other side.
-\end_layout
-
-\begin_layout Section
-Cookbook 6: Pseudo-Free-Surface Formulation
-\end_layout
-
-\begin_layout Subsection
-Problem
-\end_layout
-
-\begin_layout Standard
-Free-slip boundary conditions are typically applied on the top surface of
- mantle convection models, and the dynamic topography is obtained by assuming
- that the normal stress on the top surface is instantaneously compensated
- by the deformed surface.
- This type of boundary condition works well for long-wavelength topography,
- but a free-surface formulation becomes necessary in cases where intermediate
- to short wavelength topography is of interest or the lithosphere has a
- very high effective viscosity.
- Another situation where free-surface formulation is desired is when two
- Pyre solvers, Snac and CitCom.py, are coupled.
-\end_layout
-
-\begin_layout Standard
-The basic algorithm 
-\begin_inset LatexCommand \cite{Zhong et al Free-surface formulation,Zhong et al Three-dimensional}
-
-\end_inset
-
- consists of four steps.
- 
-\end_layout
-
-\begin_layout Enumerate
-On the nodes of the top surface, topography increment is computed by integrating
- normal velocity over time.
- 
-\end_layout
-
-\begin_layout Enumerate
-The normal traction on the top surface is calculated based on the accumulated
- topography up to the current time step, and added to the forcing term in
- the matrix version of the momentum equation.
- 
-\end_layout
-
-\begin_layout Enumerate
-Update velocity field with the changed forcing term.
- 
-\end_layout
-
-\begin_layout Enumerate
-If velocity field has not converged yet, reiterate steps 1 to 3.
-\end_layout
-
-\begin_layout Subsection
-Solution
-\end_layout
-
-\begin_layout Standard
-To verify that the above algorithm works, you will run two different CitComS.py
- models with each boundary condition (BC) (free-slip and pseudo-free-surface)
- and compare the topography computed accordingly.
- The scripts in 
-\family typewriter
-cookbook6.cfg
-\family default
- will include the following parameters.
-\end_layout
-
-\begin_layout Itemize
-Domain size: 45 deg 
-\begin_inset Formula $\times$
-\end_inset
-
- 45 deg 
-\begin_inset Formula $\times$
-\end_inset
-
- 1200 km
-\end_layout
-
-\begin_layout Itemize
-Mesh size: 61 
-\begin_inset Formula $\times$
-\end_inset
-
- 61 
-\begin_inset Formula $\times$
-\end_inset
-
- 25 with mesh refinement (coord.dat) 
-\end_layout
-
-\begin_layout Itemize
-Boundary Conditions (BC): free-slip/free-surface for top; free-slip for
- all the other surfaces 
-\end_layout
-
-\begin_layout Itemize
-Initial Conditions (IC): spherical hot blob with diameter of 
-\begin_inset Formula $\frac{1}{4}$
-\end_inset
-
- of radial dimension is placed at the center of the domain
-\end_layout
-
-\begin_layout Standard
-Specific options:
-\end_layout
-
-\begin_layout Itemize
-
-\family typewriter
-solver.tsolver.fixed_timestep = 7.770000e-10
-\family default
- (= ~1000 yrs)
-\end_layout
-
-\begin_layout Itemize
-
-\family typewriter
-solver.bc.pseudo_free_surf = on
-\end_layout
-
-\begin_layout Subsection
-Discussion
-\end_layout
-
-\begin_layout Standard
-The plots of the topography profile are consistent with results described
- in 
-\begin_inset LatexCommand \cite{Zhong et al Free-surface formulation}
-
-\end_inset
-
-.
- In the graphs in Figure 
-\begin_inset LatexCommand \ref{fig:Cookbook-6.-Graphs}
-
-\end_inset
-
-, the solid lines indicate free-slip and the dashed lines indicate free-surface.
- 
-\end_layout
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Float figure
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\begin_inset Graphics
-	filename graphics/cookbook7.eps
-	scale 90
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Caption
-\begin_inset LatexCommand \label{fig:Cookbook-6.-Graphs}
-
-\end_inset
-
-Cookbook 6: Graphs of topography profiles.
- 
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Part
-Appendices
-\end_layout
-
-\begin_layout Chapter
-\start_of_appendix
-\begin_inset LatexCommand \label{cha:Appendix-A:-Input}
-
-\end_inset
-
-Input Parameters for CitComS.py
-\end_layout
-
-\begin_layout Section
-Input Parameters Grouped by Functionality
-\end_layout
-
-\begin_layout Standard
-This section explains the meaning of the input parameters for CitComS.py.
- These parameters are grouped by their functionality.
- Parameters are given with their default values.
-\end_layout
-
-\begin_layout Subsection
-Parameters that Control Input Files
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-file_vbcs=off
-\newline
-vel_bound_file="bvel.dat"
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-file_vbcs
-\family default
- is set to on, the top surface velocity boundary conditions are read in
- from files which have location and name specified by 
-\family typewriter
-vel_bound_file.
-
-\family default
- Requires setting 
-\family typewriter
-topvbc=1
-\family default
- to take effect.
- If you wish to have a uniform top surface velocity boundary condition or
- some simple geometric pattern, then 
-\family typewriter
-file_vbcs
-\family default
- should be set to zero.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-coor=off
-\newline
-coor_file="coor.dat"
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-coor
-\family default
- is set to off, then there will be uniform mesh in the latitudinal, longitudinal
-, and radial directions.
- If you wish to have a regular, but uneven, spacing between elements, 
-\family typewriter
-coor
-\family default
- should be set to on.
- Then, the coordinate is reading from the file specified by 
-\family typewriter
-coor_file
-\family default
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true" newpage="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mat_control=off
-\newline
-mat_file="mat.dat"
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-mat_control
-\family default
- is set to on, then the time- and positional-dependent viscosity factor
- is defined from the files specified by 
-\family typewriter
-mat_file
-\family default
-.
- These parameters allow you to define the material group of each element
- (such as a moving weak zone).
- Not working in this version.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-lith_age=off
-\newline
-lith_age_file="age.dat"
-\newline
-lith_age_time=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-lith_age
-\family default
- is set to on, then the age of each surface nodes is read from the files
- specified by 
-\family typewriter
-lith_age_file
-\family default
-.
- These parameters control the thermal age of the top thermal boundary condition.
- If 
-\family typewriter
-lith_age_time
-\family default
- is on, the files are time-dependent.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tracer=off
-\newline
-tracer_file=tracer.dat
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This controls the tracer particles which are advected passively by the flow.
- This part of the code has not been made parallel and must be used with
- caution with the present implementation.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Parameters that Control Output Files
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="6" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_format="ascii"
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Choose the format and layout of the output files.
- Can be either 
-\begin_inset Quotes sld
-\end_inset
-
-ascii
-\begin_inset Quotes srd
-\end_inset
-
-, or 
-\begin_inset Quotes sld
-\end_inset
-
-hdf5
-\begin_inset Quotes srd
-\end_inset
-
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_optional="surf,botm"
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Choose additional output, including: 
-\begin_inset Quotes sld
-\end_inset
-
-surf
-\begin_inset Quotes srd
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-botm
-\begin_inset Quotes sld
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-geoid
-\begin_inset Quotes srd
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-stress
-\begin_inset Quotes sld
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-pressure
-\begin_inset Quotes sld
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-connectivity
-\begin_inset Quotes sld
-\end_inset
-
-, and 
-\begin_inset Quotes sld
-\end_inset
-
-horiz_avg
-\begin_inset Quotes sld
-\end_inset
-
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datadir="."
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Controls the location of output files.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datafile="regtest
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Controls the prefix of output file names such as regtest.xxx.
- Cannot contain the 
-\begin_inset Quotes sld
-\end_inset
-
-/
-\begin_inset Quotes sld
-\end_inset
-
- character if 
-\family typewriter
-output_format=ascii
-\family default
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-storage_spacing=10
-\newline
-(in non-Pyre version)
-\newline
-or
-\newline
-monitoringFrequency=10
-\newline
-(in Pyre
- version)
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Controls the interval between output files.
- CitComS.py dynamically determines the size of the time step; this means
- that you might not get an output at the exact time required, but you can
- always get close depending on how small this number is.
- Do not make this number too small since outputs slow the code down and
- you may end up with an unmanageable number of output files.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_ll_max=20
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This parameters control the max.
- degree of spherical harmonics coefficients for geoid output.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Mesh and Processors Setup 
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nproc_surf=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This specifies the number of spherical caps of the mesh; must be 1 for regional
- spherical model and 12 for full spherical model.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nprocx=1
-\newline
-nprocy=1
-\newline
-nprocz=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These specify the number of processors in each spherical cap.
- 
-\newline
-
-\newline
-For full spherical model, 
-\family typewriter
-nprocx
-\family default
- must be equal to 
-\family typewriter
-nprocy
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nodex=9
-\newline
-nodey=9
-\newline
-nodez=9
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These specify the number of FEM nodes in each spherical cap.
-\newline
-
-\newline
-For full spherical
- model, 
-\family typewriter
-nodex
-\family default
- must be equal to 
-\family typewriter
-nodey
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mgunitx=8
-\newline
-mgunity=8
-\newline
-mgunitz=8
-\newline
-levels=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These specify the nested level of multigrid units.
- Used by multigrid solver only.
- These parameters are not completely independent to each other.
- The following constraints must be satisfied:
-\newline
-
-\newline
-
-\begin_inset Formula $\mathrm{nodex}=1+\mathrm{nprocx}\times\mathrm{mgunitx}\times2^{levels-1}$
-\end_inset
-
-
-\newline
-
-\begin_inset Formula $\mathrm{nodey}=1+\mathrm{nprocy}\times\mathrm{mgunity}\times2^{levels-1}$
-\end_inset
-
-
-\newline
-
-\begin_inset Formula $\mathrm{nodez}=1+\mathrm{nprocz}\times\mathrm{mgunitz}\times2^{levels-1}$
-\end_inset
-
-
-\newline
-
-\newline
-For full spherical model, 
-\family typewriter
-mgunitx
-\family default
- must be equal to 
-\family typewriter
-mgunity
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-\noindent
-Domain Size
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-theta_min=1.0708
-\newline
-theta_max=2.0708
-\newline
-fi_min=0
-\newline
-fi_max=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These parameters specify the horizontal extent of the computational domain.
- 
-\family typewriter
-theta_min
-\family default
- and 
-\family typewriter
-theta_max
-\family default
- are the colatitude measured in radians from the north pole.
- 
-\family typewriter
-fi_min
-\family default
- and 
-\family typewriter
-fi_max
-\family default
- are the longitudes measured from the prime meridian eastward in radians.
- Only in regional CitComS.py.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-radius_inner=0.55
-\newline
-radius_outer=1.0 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These parameters specify the radial extent of the computational domain.
- 
-\family typewriter
-radius_inner
-\family default
- and 
-\family typewriter
-radius_outer
-\family default
- are the inner and outer radii in non-dimensional units.
- It is probably more convenient to normalize lengths by the radius of the
- Earth.
- If you do this, then the Rayleigh number, given below, must be calculated
- with the radius of the Earth, not the thickness of the mantle.
- The core mantle boundary is close to having a non-dimensional radius of
- 0.55.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Restarting the Code
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-restart=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-restart
-\family default
- is on, each processor will read its initial temperature field from a velo
- file.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-post_p=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Similar to 
-\family typewriter
-restart
-\family default
-, except that the model will then only run for 1 time step, which can be
- useful to regenerate the flow field and calculate the associated observables.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datadir_old=
-\begin_inset Quotes sld
-\end_inset
-
-.
-\begin_inset Quotes sld
-\end_inset
-
-
-\newline
-datafile_old="regtest"
-\newline
-solution_cycles_init=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-restart
-\family default
- is on, for example, processor #5 will read its initial temperature field
- form file 
-\family typewriter
-regtest.velo.5.0
-\family default
- in this case.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-zero_elapsed_time=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-zero_elapsed_time
-\family default
- is on, the initial time is set to zero.
- If it is off and 
-\family typewriter
-restart
-\family default
- is on, the initial time is read in from previous output files.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Run Length
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-minstep=1
-\newline
-maxtotstep=1000000
-\newline
-(only in non-Pyre version)
-\newline
-or
-\newline
-steps=1
-\newline
-(only in Pyre
- version)
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-The maximum and minimum number of time steps for the model, including the
- 0th time step.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cpu_limits_in_seconds=
-\newline
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-360000000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Controls the termination of the code based on total wall clock time used.
- Available only in non-Pyre version.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Initial Conditions
-\end_layout
-
-\begin_layout Standard
-\align center
-\begin_inset Tabular
-<lyxtabular version="3" rows="3" columns="2">
-<features>
-<column alignment="center" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-\align left
-tic_method=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Which method to use to generate the initial temperature field.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-\align left
-num_perturbations=1
-\newline
-perturbmag=0.05
-\newline
-perturbl=1
-\newline
-perturbm=1
-\newline
-perturblayer=5
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Used only if 
-\family typewriter
-tic_method
-\family default
-=0.
- The initial temperature is a linear temperature gradient with some perturbation
-s, and 
-\family typewriter
-num_perturbations
-\family default
- specifies the number of perturbations.
- The amplitude of the perturbations is specified in the list of real numbers
- by 
-\family typewriter
-perturbmag
-\family default
-.
- In a full spherical model, 
-\family typewriter
-perturbl
-\family default
- and 
-\family typewriter
-perturbm
-\family default
- specify the shape of the perturbations in spherical harmonic degree and
- order.
- In a regional model, 
-\family typewriter
-perturbl
-\family default
- and 
-\family typewriter
-preturbm
-\family default
- specify the number of nodal lines in longitudinal and latitudinal directions.
- 
-\family typewriter
-perturblayer
-\family default
- specifies the layers to be perturbed, representing the number of the mesh
- node in radial direction.
- There must be as many entries as 
-\family typewriter
-num_perturbations
-\family default
- in a comma-separated list.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-half_space_age=40
-\newline
-mantle_temp=1.0
-\newline
-blob_center
-\newline
-blob_radius=0.063
-\newline
-blob_dT=0.18
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Used only if 
-\family typewriter
-tic_method
-\family default
-=2 and in the regional model.
- This creates a top thermal boundary with a half-space cooling age specified
- by 
-\family typewriter
-half_space_age
-\family default
- in millions of years and a warm spherical blob
-\family roman
-\series medium
-\shape up
-\size normal
-\emph off
-\bar no
-\noun off
-\color none
-.
- These parameters specify the temperature of the ambient mantle, the location
- and radius of the blob, and also the amplitude of temperature change in
- the blob relative to the ambient mantle temperautre.
- The location of the blob is default to the center of the computational
- domain.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Boundary Conditions
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="7" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-topvbc=0
-\newline
-topvbxval=0.0
-\newline
-topvbyval=0.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Surface velocity boundary condition parameters.
- If 
-\family typewriter
-topvbc
-\family default
- is 0,  
-\family typewriter
-topvbxval
-\family default
- and 
-\family typewriter
-topvbyval
-\family default
- specify the tangential surface stress (forced BC).
- If 
-\family typewriter
-topvbc
-\family default
- is 1, 
-\family typewriter
-topvbxval
-\family default
- and 
-\family typewriter
-topvbyval
-\family default
- specify the tangential surface velocity (fixed BC).
- The surface normal velocity is zero in these two cases (impermeable BC).
- If topvbc is 2, the surface normal and tangential stress are zero (permeable
- BC).
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-botvbc=0
-\newline
-botvbxval=0.0
-\newline
-botvbyval=0.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-As above, but for bottom velocity boundary conditions.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-side_sbcs=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Enable traction boundary condition for the sidewalls or not.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-pseudo_free_surf=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Enable pseudo free surface or not.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-toptbc=1
-\newline
-toptbcval=0.0 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Surface temperature boundary conditions.
- If 
-\family typewriter
-toptbc
-\family default
- is 0, 
-\family typewriter
-toptbcval
-\family default
- specifies the surface heatflux (not working in this version).
- If 
-\family typewriter
-toptbc
-\family default
- is 1, the 
-\family typewriter
-toptbcval
-\family default
- specifies the surface temperature.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-bottbc=1
-\newline
-bottbcval=1.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-As above, but for bottom temperature boundary conditions.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-temperature_bound_adj=off
-\newline
-depth_bound_adj=0.157
-\newline
-width_bound_adj=0.08727
-\newline
-lith_age_dept
-h=0.0314
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Additional parameters for temperature boundary conditions when 
-\family typewriter
-lith_age
-\family default
- is on.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Non-Dimensional Numbers
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-rayleigh=1.0e+5
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This specifies the Rayleigh number, which is one of the most important parameter
-s you may want to change.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Q0=0.0 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This specifies the internal heating number.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Depth Information
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="1" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-z_lith=0.014
-\newline
-z_410=0.06435
-\newline
-z_lmantle=0.105
-\newline
-z_cmb=0.439
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These specify the non-dimensional depth of the Moho, 410km discontinuity,
- 660km discontinuity and D".
- These parameters are used to determine the depth of viscosity layers and
- phase changes (see next two sections).
- The names are only suggestive.
- You are free to refer 
-\family typewriter
-z_lith
-\family default
- to an arbitrary depth, for example.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Viscosity
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="12" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Viscosity=system
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This parameter must be set as indicated.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc_smooth_method=3 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This specifies which method to smooth viscosity projection for multigrid
- solver.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-VISC_UPDATE=on 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-VISC_UPDATE
-\family default
- is on, viscosity will be updated every time step.
- Othwise, viscosity will be time-independent.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-num_mat=4
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This specifies the number of material layers.
- Material 1 is at depth between 0 and 
-\family typewriter
-z_lith
-\family default
-, material 2 between 
-\family typewriter
-z_lith
-\family default
- and 
-\family typewriter
-z_410
-\family default
-, material 3 between 
-\family typewriter
-z_410
-\family default
- and 
-\family typewriter
-z_lmantle
-\family default
-, and material 4  between 
-\family typewriter
-z_lmantle
-\family default
- and the bottom.
- If 
-\family typewriter
-mat_control
-\family default
- is on, then a multiplicative factor is applied to the viscosity, as defined
- below.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc0=1,1,1,1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-The pre-exponent factor of layered viscosity structure.
- There must be as many entries as 
-\family typewriter
-num_mat
-\family default
- in a comma-separated list.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-TDEPV=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Enable temperature dependence or not.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-rheol=3 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-When 
-\family typewriter
-rheol
-\family default
-=3, temperature-dependent viscosity is computed by:
-\family typewriter
-\size footnotesize
-
-\newline
-
-\begin_inset Formula $v=v_{0}\times\exp^{\frac{v_{E}}{T+v_{T}}-\frac{v_{E}}{1+v_{T}}}$
-\end_inset
-
-
-\newline
-
-\newline
-
-\family default
-\size default
-When 
-\family typewriter
-rheol
-\family default
-=4, temperature-dependent viscosity is computed by:
-\family typewriter
-\size footnotesize
-
-\newline
-
-\begin_inset Formula $v=v_{0}\times\exp^{\frac{v_{E}+v_{Z}(1-z)}{T+v_{T}}-\frac{v_{E}+v_{Z}(1-z)}{1+v_{T}}}$
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-viscE=1,1,1,1
-\newline
-viscT=1,1,1,1
-\newline
-viscZ=1,1,1,1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Parameters defining viscosity law.
- See the equations above.
- There must be as many entries as 
-\family typewriter
-num_mat
-\family default
- in a comma-separated list.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-SDEPV=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Enable stress dependence (non-Newtonian) or not.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-sdepv_expt=1,1,1,1
-\newline
-sdepv_misfit=0.02
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-SDEPV
-\family default
- is on, these specify the exponent in the viscosity law and the criterion
- of convergence test.
- There must be as many entries as 
-\family typewriter
-num_mat
-\family default
- in a comma-separated list.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-VMIN=off
-\newline
-visc_min=0.001
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-VMIN
-\family default
- is on, minimum viscosity is cut off at 
-\family typewriter
-visc_min
-\family default
-.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-VMAX=off
-\newline
-visc_max=1000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If 
-\family typewriter
-VMAX
-\family default
- is on, maximum viscosity is cut off at 
-\family typewriter
-visc_max.
-
-\family default
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Phase Change Information
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="3" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Ra_410=0.0
-\newline
-clapeyron410=0.0235
-\newline
-transT410=0.78
-\newline
-width410=0.0058 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These specify the phase change parameters (phase change Rayleigh number,
- Clapeyron slope, ambient temperature, and phase change width, respectively).
- The depth of this phase change is specified by 
-\family typewriter
-z_410
-\family default
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Ra_670=0.0
-\newline
-clapeyron670=-0.0235
-\newline
-transT670=0.875
-\newline
-width670=0.0058
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-As above.
- The depth of this phase change is specified by 
-\family typewriter
-z_lmantle
-\family default
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Ra_cmb=0.0
-\newline
-clapeyroncmb=-0.0235
-\newline
-transTcmb=0.875
-\newline
-widthcmb=0.0058
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-As above.
- The depth of this phase change is specified by 
-\family typewriter
-z_cmb
-\family default
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Momentum Equation Solver Parameters
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="8" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-stokes_flow_only=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If you wish only to solve for the velocity once (e.g., Stokes flow) then make
- this parameter on.
- However, if you want to do a convection problem, this should be off.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Solver=cgrad
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Can be either 
-\begin_inset Quotes sld
-\end_inset
-
-cgrad
-\begin_inset Quotes sld
-\end_inset
-
- for conjugate gradient solver or 
-\begin_inset Quotes sld
-\end_inset
-
-multigrid
-\begin_inset Quotes sld
-\end_inset
-
- for multigrid solver for the outer loop of the momentum solver.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-node_assemble=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Whether to assemble stiffness matrix at the node level or not.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mg_cycle=1
-\newline
-down_heavy=3
-\newline
-up_heavy=3
-\newline
-vlowstep=1000
-\newline
-vhighstep=3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Multigrid parameters.
- 
-\family typewriter
-mg_cycle
-\family default
-=1 for V cycle and 2 for W cycle.
- 
-\family typewriter
-down_heavy
-\family default
- and 
-\family typewriter
-up_heavy
-\family default
- are the smoothing factors for downward/upward smoothing.
- 
-\family typewriter
-vlowstep
-\family default
- and 
-\family typewriter
-vhighstep
-\family default
- are the number of smoothing passes at lowest/highest levels.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-piterations=1000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Maximum iterations of the outer loop for the momentum solver.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-accuracy=1.0e-6
-\newline
-tole_compressibility=1.0e-7
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Convergence criterion for the momentum solver.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-precond=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Whether to use the preconditioner
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-aug_lagr=on aug_number=2.0e3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Whether to use augmented stiff matrix and the weight of the augmented stiff
- matrix.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Energy Equation Solver Parameters
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="6" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ADV=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If on, solves the energy equation.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-fixed_timestep=0.0 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If it is equal to 0, the size of the time step is variable and is determined
- dynamically.
- Otherwise, the size of the time step is fixed at the specified value.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-finetunedt=0.9
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Set the size of the time step to the specified fraction of a maximum stable
- advection time step.
- Must be between 0 and 1.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-adv_sub_iterations=2
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-The number of iterations for the energy solver.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-filter_temp=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Filter out the overshoots and undershoots of the temperature field or not.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-inputdiffusivity=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Currently, don't change this parameter.
- It is used only in problems which are integrated backward in time.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Age Information
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-start_age=40.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Set initial age (in Myrs).
- This age determines which files of various time-dependent input to read
- in.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-reset_startage=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If on, the initial age is set to 
-\family typewriter
-start_age
-\family default
-.
- If it is off and 
-\family typewriter
-restart
-\family default
- or 
-\family typewriter
-post_p
-\family default
- is on, the initial age is read in from previous output.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Debugging Information
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="3" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-DESCRIBE=off
-\newline
-BEGINNER=off 
-\newline
-VERBOSE=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-These parameters affect the echo behavior of the CitComS parser.
- Only in non-Pyre version.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-verbose=off 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This is used for debugging.
- If verbose is on, additional information is output to a .info file.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-see_convergence=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If on, the velocity residual will be output on the screen for every iteration
- of the momentum solver.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-HDF5 Output Parameters
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="4" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cb_block_size=1048576
-\newline
-cb_buffer_size=4194304
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Size for collective buffer in MPI-IO.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-sieve_buf_size=1048576
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Size of data sieve buffer.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_alignment=262144
-\newline
-output_alignment_threshold=
-\newline
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-524288
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Memory alignment.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cache_mdc_nelmts=10330
-\newline
-cache_rdcc_nelmts=521
-\newline
-cache_rdcc_nbytes=1048576
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Cache size for chunked dataset.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-
-\end_layout
-
-\begin_layout Standard
-
-\newpage
-
-\end_layout
-
-\begin_layout Subsection
-Dimensional Information
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="1" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-radius=6371e3
-\newline
-density=3340.0
-\newline
-thermdiff=1.0e-6
-\newline
-gravacc=9.81
-\newline
-thermexp=3.0e-5
-\newline
-refvisc=1.0e+21
-\newline
-
-cp=1200
-\newline
-density_above=1030.0
-\newline
-density_below=6600.0
-\newline
-surftemp=273
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Various dimensional information in SI units.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Required Information
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="1" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Problem=convection
-\newline
-Geometry=sphere
-\newline
-Spacing=regular
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-For this version of CitComS.py, all of these parameters must be set as indicated.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section
-CitComS.py Facilities and Properties
-\end_layout
-
-\begin_layout Standard
-This section lists the facilities and properties in the Pyre version of
- CitComS.py.
- Most of the properties have identical names for the parameters as those
- used in the non-Pyre version of CitComS.py and aare explained in the section
- above.
- This section highlights those which have changed and those which are entirely
- new.
- Parameters are given with their default values.
- 
-\end_layout
-
-\begin_layout Subsection
-Top-Level Facilities and Properties
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-steps=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-How many time steps to run, including the 0th time step.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-launcher=mpich
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility specifying which launcher to use.
- Choices include 
-\begin_inset Quotes sld
-\end_inset
-
-mpich
-\begin_inset Quotes sld
-\end_inset
-
- and 
-\begin_inset Quotes sld
-\end_inset
-
-lam-mpi
-\begin_inset Quotes sld
-\end_inset
-
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-scheduler=none
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility specifying which scheduler to use.
- Choices are 
-\begin_inset Quotes sld
-\end_inset
-
-lsf
-\begin_inset Quotes sld
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-pbs
-\begin_inset Quotes sld
-\end_inset
-
-, and 
-\begin_inset Quotes sld
-\end_inset
-
-globus
-\begin_inset Quotes sld
-\end_inset
-
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-controller
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility.
- User cannot change it.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-solver=regional
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility specifying which solver to use.
- Must be either 
-\begin_inset Quotes sld
-\end_inset
-
-regional
-\begin_inset Quotes sld
-\end_inset
-
- or 
-\begin_inset Quotes sld
-\end_inset
-
-full
-\begin_inset Quotes sld
-\end_inset
-
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-launcher
-\end_layout
-
-\begin_layout Standard
-The launcher facility controls how CitComS.py, an MPI application, is executed
- on multiple processors.
- It is the equivalent to 
-\family typewriter
-mpirun
-\family default
- in MPI.
- 
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="3" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-dry=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If on, print the 
-\family typewriter
-mpirun
-\family default
- command line and exit without launching the job.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nodegen
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A printf-styled format string, used in conjunction with 
-\family typewriter
-nodelist
-\family default
- to generate a list of machine names.
- Example: 
-\begin_inset Quotes sld
-\end_inset
-
-n%03d
-\begin_inset Quotes sld
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nodelist
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A comma-separated list of machine names in square brackets.
- Example: 
-\family typewriter
- [101-103,105,107] 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-scheduler
-\end_layout
-
-\begin_layout Standard
-The scheduler facility controls how CitComS.py submits jobs to a batch scheduler.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-dry=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If on, print the batch script and exit without scheduling the job.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-wait=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-If on, wait for batch jobs to finish before exiting.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-job
-\end_layout
-
-\begin_layout Standard
-The job facility controls options for individual batch jobs.
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="6" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-name
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-The name for the job.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-queue
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-The name of the queue to which the job is scheduled.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-walltime
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Time limit for the job, specified using units; examples: 
-\begin_inset Quotes sld
-\end_inset
-
-
-\family typewriter
-5*minute
-\family default
-
-\begin_inset Quotes srd
-\end_inset
-
-, 
-\begin_inset Quotes sld
-\end_inset
-
-
-\family typewriter
-2*hour
-\family default
-
-\begin_inset Quotes srd
-\end_inset
-
-.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-stdin=/dev/null
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-File to read as the input stream.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-stdout=stdout.txt
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-File to write for the output stream.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-stderr=stderr.txt
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-File to write for the error stream.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-controller
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="1" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-monitoringFrequency=10
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-The time step interval between disk output.
- It replaces the 
-\family typewriter
-storage_spacing
-\family default
- parameter in the (old) CitComS input file.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver 
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="19" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mesher 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility.
- Must be either 
-\begin_inset Quotes sld
-\end_inset
-
-full-sphere
-\begin_inset Quotes sld
-\end_inset
-
- or 
-\begin_inset Quotes sld
-\end_inset
-
-regional-sphere
-\begin_inset Quotes sld
-\end_inset
-
-.
- User does not need to specify it.
- It is set by the 
-\family typewriter
-solver
-\family default
- facility automatically.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tsolver 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for the temperature solver using Petrov-Galerkin time integration.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-vsolver 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for the velocity solver using Boussinesq approximation and Uzawa
- algorithm.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-bc 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility of boundary conditions.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-const
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for dimensional constants.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ic
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for initial conditions.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for output options.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-param
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for some additional input parameter files.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-phase 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for phase change parameters.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-A facility for viscosity parameters.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datadir=
-\begin_inset Quotes srd
-\end_inset
-
-.
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datafile=
-\begin_inset Quotes srd
-\end_inset
-
-regtest
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datadir_old=
-\begin_inset Quotes srd
-\end_inset
-
-.
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-datafile_old=
-\begin_inset Quotes srd
-\end_inset
-
-regtest
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-rayleigh=100000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Q0=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-stokes_flow_only=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-verbose=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-see_convergence=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.mesher
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="16" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nproc_surf=1 or 12
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-This parameter is set by the solver facility.
- Users do not need to change it.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nprocx=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nprocy=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nprocz=1 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-coor=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-coor_file="coor.dat"
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nodex=9
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nodey=9
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-nodez=9
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-levels=1 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-radius_outer=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-radius_inner=0.55
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-theta_min=1.0708
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-theta_max=2.0708
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-fi_min=0 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-fi_max=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.tsolver
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="6" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-ADV=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-filter_temp=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-finetunedt=0.9
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-fixed_timestep=0.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-inputdiffusivity=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-adv_sub_iterations=2
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.vsolver
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="13" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Solver=cgrad
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-node_assemble=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-precond=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-accuracy=1e-06
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tole_compressibility=1e-07
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mg_cycle=1 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-down_heavy=3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-up_heavy=3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-vlowstep=1000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-vhighstep=3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-piterations=1000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-aug_lagr=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-aug_number=2000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.bc 
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="15" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-side_sbcs=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-pseudo_free_surf=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-topvbc=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-topvbxval=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-topvbyval=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-botvbc=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-botvbxval=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-botvbyval=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-toptbc=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-toptbcval=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-bottbc=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-bottbcval=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-temperature_bound_adj=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-depth_bound_adj=0.157
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-width_bound_adj=0.08727
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.const 
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="14" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="1.75in">
-<column alignment="left" valignment="top" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-radius=6.371e+06
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-density=3340.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-thermdiff=1e-06
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-gravacc=9.81
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-thermexp=3e-05
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-refvisc=1e+21
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cp=1200
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-density_above=1030.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-density_below=6600.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-surftemp=273.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-z_lith=0.014
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-z_410=0.06435
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-z_lmantle=0.105
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-z_cmb=0.439
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.ic 
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="9" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-restart=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-post_p=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-solution_cycles_init=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-zero_elapsed_time=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-num_perturbations=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-perturbl=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-perturbm=1
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-perturblayer=5 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-perturbmag=0.05
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.output
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="11" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_format=
-\begin_inset Quotes srd
-\end_inset
-
-ascii-local
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_optional=
-\begin_inset Quotes srd
-\end_inset
-
-surf,botm
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_ll_max=20
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cb_block_size=1048576
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cb_buffer_size=4194304
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-sieve_buf_size=1048576
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_alignment=262144
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-output_alignment_threshold=
-\newline
-\InsetSpace ~
-\InsetSpace ~
-\InsetSpace ~
-524288
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cache_mdc_nelmts=10330
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cache_rdcc_nelmts=521
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-cache_rdcc_nbytes=1048576
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.param
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="11" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-file_vbcs=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-vel_bound_file=
-\begin_inset Quotes srd
-\end_inset
-
-bvel.dat
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mat_control=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mat_file=
-\begin_inset Quotes srd
-\end_inset
-
-mat.dat
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-lith_age=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-lith_age_file=
-\begin_inset Quotes srd
-\end_inset
-
-age.dat
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-lith_age_time=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-lith_age_depth=0.0314
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-mantle_temp=1.0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-start_age=40 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-reset_startage=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.phase
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="12" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Ra_410=0 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-clapeyron410=0.0235
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-transT410=0.78 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-width410=0.0058
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Ra_670=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-clapeyron670=-0.0235
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-transT670=0.78
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-width670=0.0058
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Ra_cmb=0
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-clapeyroncmb=-0.0235
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-transTcmb=0.875
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-widthcmb=0.0058
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.tracer
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="1.75in">
-<column alignment="left" valignment="top" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tracer=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-tracer_file=
-\begin_inset Quotes srd
-\end_inset
-
-tracer.dat
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-solver.visc
-\end_layout
-
-\begin_layout Standard
-\noindent
-\begin_inset Tabular
-<lyxtabular version="3" rows="16" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" width="1.75in">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Viscosity=
-\begin_inset Quotes srd
-\end_inset
-
-system
-\begin_inset Quotes srd
-\end_inset
-
-
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc_smooth_method=3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-VISC_UPDATE=on
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-num_mat=4
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc0=1,1,1,1,
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-TDEPV=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-rheol=3
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-viscE=1,1,1,1,
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-viscT=1,1,1,1, 
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-SDEPV=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-sdepv_misfit=0.02
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-sdepv_expt=1,1,1,1,
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-VMIN=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc_min=0.001
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-VMAX=off
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-visc_max=1000
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-\noindent
-journal 
-\end_layout
-
-\begin_layout Standard
-The Pyre facility 
-\family typewriter
-journal
-\family default
- provides five types of debugging output for conceptually different types
- of information.
- The journal output stream can be instantiated as separated channels multiple
- times, and each channel can be individually activated or deactivated, and
- sent to different locations (the terminal, sockets, files, devices, etc.).
- The streams and their default states of the journal streams are:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Tabular
-<lyxtabular version="3" rows="5" columns="2">
-<features islongtable="true">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="1.75in">
-<column alignment="left" valignment="top" rightline="true" width="3.5in">
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-debug
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Debugging information.
- Default off.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-error
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Unrecoverable runtime error.
- Default on.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-firewall
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Fatal programming error.
- Default on.
- 
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-info
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Descriptive information.
- Default off.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-warning
-\end_layout
-
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\begin_layout Standard
-Recoverable runtime error.
- Default off.
-\end_layout
-
-\end_inset
-</cell>
-</row>
-</lyxtabular>
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The journal facility is not used in the uncoupled CitComS solver.
- For coupled solvers, there is a large amount of debugging information that
- outputs through the journal facility.
- That output can be turned on/off with command line options.
- The most important ones are  
-\family typewriter
-journal.debug.Exchanger
-\family default
-  and 
-\family typewriter
-journal.debug.CitComSExchanger
-\family default
-.
-  Try running the scripts with the following options:
-\end_layout
-
-\begin_layout LyX-Code
-
-\family typewriter
---journal.debug.Exchanger=on --journal.debug.CitComSExchanger=on 
-\end_layout
-
-\begin_layout Chapter
-CitComS.py Input File Format
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-CitComS.py expects Unix-styled ASCII files (i.e., no carriage character following
- new line character) for all input files.
- This can be a nuisance in DOS/Windows systems.
- You may want to find a text editor that can write Unix-style ASCII files.
- In the following, words in normal 
-\family typewriter
-courier
-\family default
- must be input exactly as shown, while 
-\family typewriter
-\series bold
-bold
-\family default
-\series default
- words should be substituted by your values.
- All parameters are in non-dimensional units unless specified.
- 
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Coordinate-files}
-
-\end_inset
-
-Coordinate Files
-\end_layout
-
-\begin_layout Standard
-For regional version of CitComS.py, the mesh must be regular, but the mesh
- spacing may be unequal.
- The 
-\family typewriter
-coor_file
-\family default
- has the format: 
-\end_layout
-
-\begin_layout LyX-Code
-nsd=1
-\newline
-1 
-\series bold
-    theta1
-\series default
-
-\newline
-2 
-\series bold
-    theta2
-\series default
-
-\newline
-...
-   ...
-\series bold
-
-\newline
-nodex theta_nodex
-\series default
-
-\newline
-nsd=2
-\newline
-1 
-\series bold
-    phi1
-\series default
-
-\newline
-2 
-\series bold
-    phi2
-\series default
-
-\newline
-...
-   ...
-\series bold
-
-\newline
-nodey phi_nodey
-\series default
-
-\newline
-nsd=3
-\newline
-1 
-\series bold
-    r1
-\series default
-
-\newline
-2 
-\series bold
-    r2
-\series default
-
-\newline
-...
-   ...
-\series bold
-
-\newline
-nodez r_nodez
-\end_layout
-
-\begin_layout Standard
-For full spherical version of CitComS.py, the mesh of each cap must be regular
- and equidistant in the horizontal dimension.
- Only the vertical dimension is specified by 
-\family typewriter
-coor_file
-\family default
-.
- The 
-\family typewriter
-coor_file
-\family default
- has the format:
-\end_layout
-
-\begin_layout LyX-Code
-nsd=3
-\newline
-1 
-\series bold
-    r1
-\series default
-
-\newline
-2 
-\series bold
-    r2
-\series default
-
-\newline
-...
-   ...
-\series bold
-
-\newline
-nodez r_nodez
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:Velocity-boundary-condition}
-
-\end_inset
-
-Velocity Boundary Condition Files
-\end_layout
-
-\begin_layout Standard
-If 
-\family typewriter
-vel_bound_file
-\family default
- is set to 
-\family typewriter
-bvel.dat
-\family default
-, then it is necessary to have one 
-\family typewriter
-bvel.dat
-\family default
- file per cap for each million-year interval.
- For example, if 
-\family typewriter
-start_age=83
-\family default
-, then the following files are needed for the regional mesh: 
-\end_layout
-
-\begin_layout LyX-Code
-bvel.dat84
-\newline
-bvel.dat83
-\newline
-bvel.dat82
-\newline
-...
-\newline
-bvel.dat0
-\end_layout
-
-\begin_layout Quote
-
-\series bold
-TIP:
-\series default
- Even though the model starts at 83 million years before present, by default
- it will attempt to read in both a file for 84 and a file for 83 million
- years ago.
- To deal with this, just create a duplicate copy of 
-\family typewriter
-bvel.dat83
-\family default
- and call it 
-\family typewriter
-bvel.dat84
-\end_layout
-
-\begin_layout Standard
-For the global mesh, each of the 12 caps requires one file for each million-year
- interval.
- For example, these files are needed for an 82-million-year age:
-\end_layout
-
-\begin_layout LyX-Code
-bvel.dat82.0
-\newline
-bvel.dat82.1
-\newline
-bvel.dat82.2
-\newline
-...
-\newline
-bvel.dat82.11
-\end_layout
-
-\begin_layout Standard
-Each velocity boundary condition file has the format:
-\end_layout
-
-\begin_layout LyX-Code
-
-\series bold
-Vx Vy
-\end_layout
-
-\begin_layout Section
-Material Files
-\end_layout
-
-\begin_layout Standard
-In this version of CitComS.py, the implementation of material support is
- not working.
- The material output has been disabled and is documented here for completion.
- If 
-\family typewriter
-mat_file
-\family default
- is set to 
-\family typewriter
-mat.dat
-\family default
-, then it is necessary to have one mat.dat file for each million-year interval.
- For example, if 
-\family typewriter
-start_age=83
-\family default
-, then the following files are needed: 
-\end_layout
-
-\begin_layout LyX-Code
-mat.dat84
-\newline
-mat.dat83
-\newline
-mat.dat82
-\newline
-...
-\newline
-mat.dat0
-\end_layout
-
-\begin_layout Standard
-The same note about 
-\family typewriter
-vel_bound_file
-\family default
- (see Section 
-\begin_inset LatexCommand \ref{sec:Velocity-boundary-condition}
-
-\end_inset
-
- above) applies.
- The format of 
-\family typewriter
-mat_file
-\family default
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\series bold
-n viscosity_factor
-\end_layout
-
-\begin_layout Section
-Lithosphere Age Files
-\end_layout
-
-\begin_layout Standard
-If 
-\family typewriter
-lith_age_file
-\family default
- is set to 
-\family typewriter
-lith.dat
-\family default
-, then it is necessary to have one 
-\family typewriter
-bvel.dat
-\family default
- file for each million-year interval.
- For example, if 
-\family typewriter
-start_age=83
-\family default
-, then the following files are needed for the regional mesh: 
-\end_layout
-
-\begin_layout LyX-Code
-lith.dat84
-\newline
-lith.dat83
-\newline
-lith.dat82
-\newline
-...
-\newline
-lith.dat0
-\end_layout
-
-\begin_layout Standard
-The same note about 
-\family typewriter
-vel_bound_file
-\family default
- (see Section 
-\begin_inset LatexCommand \ref{sec:Velocity-boundary-condition}
-
-\end_inset
-
- above) still applies.
- The input age is in millions of years.
- For the global mesh, each of the 12 caps requires one file for each million-yea
-r interval.
- For example, these files are needed for and 82-million-year age:
-\end_layout
-
-\begin_layout LyX-Code
-lith.dat82.0
-\newline
-lith.dat82.1
-\newline
-lith.dat82.2
-\newline
-...
-\newline
-lith.dat82.11
-\end_layout
-
-\begin_layout Standard
-The format of 
-\family typewriter
-lith_age_file
-\family default
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-
-\series bold
-n age
-\end_layout
-
-\begin_layout Section
-Tracer Files
-\end_layout
-
-\begin_layout Standard
-In this version of CitComS.py, the implementation of tracer is neither paralleliz
-ed, nor has it been tested.
- We strongly advise you not to use this feature.
- The format of 
-\family typewriter
-tracer_file
-\family default
- is described here for completion.
- The first line is the number of tracers in the file.
- The rest is the location of the tracers.
- 
-\end_layout
-
-\begin_layout LyX-Code
-
-\series bold
-num_tracers
-\newline
-type x y z
-\end_layout
-
-\begin_layout Chapter
-\begin_inset LatexCommand \label{cha:Appendix-C:-CitComS,}
-
-\end_inset
-
-CitComS.py Output File Format
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
-\begin_layout Standard
-The format of the output files of CitComS.py is described here.
- In the following sections, the model prefix is assumed as 
-\family typewriter
-test-case
-\family default
-, the processor number as 0, and the time step as 10.
- All outputs are in non-dimensional units unless specified.
-\end_layout
-
-\begin_layout Section
-Postprocessed Cap Output
-\end_layout
-
-\begin_layout Standard
-The commands 
-\family typewriter
-autocombine.py
-\family default
- produce 1 cap file for regional CitComS.py and 12 cap files for full CitComS.py,
- e.g., 
-\family typewriter
-test-case.cap00.10
-\family default
-.
- The first line of the cap file is a comment describing the node geometry
- (
-\family typewriter
-nodex
-\family default
- 
-\begin_inset Formula $\times$
-\end_inset
-
- 
-\family typewriter
-nodey
-\family default
- 
-\begin_inset Formula $\times$
-\end_inset
-
- 
-\family typewriter
-nodez
-\family default
-).
- The rest of the file is column-based, where the meaning of each column
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-colatitude longitude radius vel_colat vel_lon vel_r temperature viscosity
-\end_layout
-
-\begin_layout Section
-Time Output (test-case.time)
-\end_layout
-
-\begin_layout Standard
-This file reports non-dimensional elapsed model time and spent CPU time
- (in seconds), and it is only outputted on computer node 0.
- The meaning of each column is: 
-\end_layout
-
-\begin_layout LyX-Code
-step total_t delta_t total_cpu_time step_cpu_time 
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand \label{sec:ASCII-Output}
-
-\end_inset
-
-ASCII Output
-\end_layout
-
-\begin_layout Subsection
-Coordinate Output (test-case.coord.0)
-\end_layout
-
-\begin_layout Standard
-This file is only outputted at the 0th time step.
- The first line is a header.
- The rest of the file is column-based, where the meaning of each column
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-colatitude longitude radius
-\end_layout
-
-\begin_layout Subsection
-\begin_inset LatexCommand \label{sub:Velocity-and-Temperature}
-
-\end_inset
-
-Velocity and Temperature Output (test-case.velo.0.10)
-\end_layout
-
-\begin_layout Standard
-The first two lines of this file are headers.
- The rest of the file is column-based, where the meaning of each column
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-vel_colat vel_lon vel_r temperature
-\end_layout
-
-\begin_layout Subsection
-Viscosity Output (test-case.visc.0.10)
-\end_layout
-
-\begin_layout Standard
-The first line of this file is a header.
- The rest of the file is column-based, where the meaning of the only column
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-viscosity
-\end_layout
-
-\begin_layout Subsection
-Material Output (test-case.mat.0)
-\end_layout
-
-\begin_layout Standard
-In this version of CitComS.py, the implementation of material support is
- not working.
- The material output has been disabled and is documented here for completion.
- This file is only output at the 0th time step.
- There is no header.
- The meaning of each column is: 
-\end_layout
-
-\begin_layout LyX-Code
-element_number layer material
-\end_layout
-
-\begin_layout Subsection
-Surface Variables Output (test-case.surf.0.10 and test-case.botm.0.10)
-\end_layout
-
-\begin_layout Standard
-The first line of each file is a header.
- The rest of each file is column-based, where the meaning of each column
- is: 
-\end_layout
-
-\begin_layout LyX-Code
-topography heatflux vel_colat vel_lon
-\end_layout
-
-\begin_layout Subsection
-Stress Output (test-case.stress.0.10)
-\end_layout
-
-\begin_layout Standard
-The first two lines of the file are headers.
- The rest of the file is column-based, where the meaning of each column
- is:
-\end_layout
-
-\begin_layout LyX-Code
-Sxx Syy Szz Sxy Sxz Syz
-\end_layout
-
-\begin_layout Standard
-You can use the above values to form the following symmetric stress tensor:
-\end_layout
-
-\begin_layout Standard
-\begin_inset Formula \begin{equation}
-\left[\begin{array}{ccc}
-Sxx & Sxy & Sxz\\
-Syx & Syy & Syz\\
-Szx & Szy & Szz\end{array}\right]\label{eq:symmetric stress tensor}\end{equation}
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Subsection
-Pressure Output (test-case.pressure.0.10)
-\end_layout
-
-\begin_layout Standard
-The first line of the file is a header.
- The rest of the file is column-based, where the meaning of the only column
- is:
-\end_layout
-
-\begin_layout LyX-Code
-pressure
-\end_layout
-
-\begin_layout Subsection
-Horizontal Average Output (test-case.horiz_avg.0.10)
-\end_layout
-
-\begin_layout Standard
-The first line of the file is a header.
- The rest of the file is column-based, where the meaning of each column
- is:
-\end_layout
-
-\begin_layout LyX-Code
-radius temperature RMS(V_horizontal) RMS(V_vertical)
-\end_layout
-
-\begin_layout Subsection
-Geoid Output (test-case.geoid.10)
-\end_layout
-
-\begin_layout Standard
-The first line of the file is a header.
- The rest of the file is column-based, where the meaning of each column
- is:
-\end_layout
-
-\begin_layout LyX-Code
-degree order geoid_sin geoid_cos geoid_from_bncy_sin geoid_from_bncy_cos
- geoid_from_surf_topo_sin geoid_from_surf_topo_cos
-\end_layout
-
-\begin_layout Section
-HDF5 Output (test-case.h5)
-\end_layout
-
-\begin_layout Standard
-The format and layout of HDF5 output is described in Section 
-\begin_inset LatexCommand \vref{sec:Data-Layout}
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Chapter
-License 
-\end_layout
-
-\begin_layout Standard
-
-\series bold
-GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-\series default
- 
-\newline
-
-\series medium
-Everyone is permitted to copy and distribute verbatim copies of this license
- document, but changing it is not allowed.
-\end_layout
-
-\begin_layout Section*
-Preamble
-\end_layout
-
-\begin_layout Standard
-The licenses for most software are designed to take away your freedom to
- share and change it.
- By contrast, the GNU General Public License is intended to guarantee your
- freedom to share and change free software -- to make sure the software
- is free for all its users.
- This General Public License applies to most of the Free Software Foundation's
- software and to any other program whose authors commit to using it.
- (Some other Free Software Foundation software is covered by the GNU Library
- General Public License instead.) You can apply it to your programs, too.
-\end_layout
-
-\begin_layout Standard
-When we speak of free software, we are referring to freedom, not price.
- Our General Public Licenses are designed to make sure that you have the
- freedom to distribute copies of free software (and charge for this service
- if you wish), that you receive source code or can get it if you want it,
- that you can change the software or use pieces of it in new free programs;
- and that you know you can do these things.
-\end_layout
-
-\begin_layout Standard
-To protect your rights, we need to make restrictions that forbid anyone
- to deny you these rights or to ask you to surrender the rights.
- These restrictions translate to certain responsibilities for you if you
- distribute copies of the software, or if you modify it.
-\end_layout
-
-\begin_layout Standard
-For example, if you distribute copies of such a program, whether gratis
- or for a fee, you must give the recipients all the rights that you have.
- You must make sure that they, too, receive or can get the source code.
- And you must show them these terms so they know their rights.
-\end_layout
-
-\begin_layout Standard
-We protect your rights with two steps:
-\end_layout
-
-\begin_layout Enumerate
-Copyright the software, and 
-\end_layout
-
-\begin_layout Enumerate
-Offer you this license which gives you legal permission to copy, distribute
- and/or modify the software.
-\end_layout
-
-\begin_layout Standard
-Also, for each author's protection and ours, we want to make certain that
- everyone understands that there is no warranty for this free software.
- If the software is modified by someone else and passed on, we want its
- recipients to know that what they have is not the original, so that any
- problems introduced by others will not reflect on the original authors'
- reputations.
-\end_layout
-
-\begin_layout Standard
-Finally, any free program is threatened constantly by software patents.
- We wish to avoid the danger that redistributors of a free program will
- individually obtain patent licenses, in effect making the program proprietary.
- To prevent this, we have made it clear that any patent must be licensed
- for everyone's free use or not licensed at all.
- 
-\end_layout
-
-\begin_layout Standard
-The precise terms and conditions for copying, distribution and modification
- follow.
-\end_layout
-
-\begin_layout Section*
-GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION
- AND MODIFICATION 
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-begin{itemize}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-item[0.]
-\end_layout
-
-\end_inset
-
-This License applies to any program or other work which contains a notice
- placed by the copyright holder saying it may be distributed under the terms
- of this General Public License.
- The "Program" below refers to any such program or work, and a "work based
- on the Program" means either the Program or any derivative work under copyright
- law: that is to say, a work containing the Program or a portion of it,
- either verbatim or with modifications and/or translated into another language.
- (Hereinafter, translation is included without limitation in the term "modificat
-ion.") Each licensee is addressed as "you."
-\newline
-
-\newline
-Activities other than copying,
- distribution and modification are not covered by this License; they are
- outside its scope.
- The act of running the Program is not restricted, and the output from the
- Program is covered only if its contents constitute a work based on the
- Program (independent of having been made by running the Program).
- Whether that is true depends on what the Program does.
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-end{itemize}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Enumerate
-You may copy and distribute verbatim copies of the Program's source code
- as you receive it, in any medium, provided that you conspicuously and appropria
-tely publish on each copy an appropriate copyright notice and disclaimer
- of warranty; keep intact all the notices that refer to this License and
- to the absence of any warranty; and give any other recipients of the Program
- a copy of this License along with the Program.
- 
-\end_layout
-
-\begin_deeper
-\begin_layout Standard
-You may charge a fee for the physical act of transferring a copy, and you
- may at your option offer warranty protection in exchange for a fee.
- 
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
-You may modify your copy or copies of the Program or any portion of it,
- thus forming a work based on the Program, and copy and distribute such
- modifications or work under the terms of Section 1 above, provided that
- you also meet all of these conditions: 
-\end_layout
-
-\begin_deeper
-\begin_layout Enumerate
-You must cause the modified files to carry prominent notices stating that
- you changed the files and the date of any change.
- 
-\end_layout
-
-\begin_layout Enumerate
-You must cause any work that you distribute or publish, that in whole or
- in part contains or is derived from the Program or any part thereof, to
- be licensed as a whole at no charge to all third parties under the terms
- of this License.
- 
-\end_layout
-
-\begin_layout Enumerate
-If the modified program normally reads commands interactively when run,
- you must cause it, when started running for such interactive use in the
- most ordinary way, to print or display an announcement including an appropriate
- copyright notice and a notice that there is no warranty (or else, saying
- that you provide a warranty) and that users may redistribute the program
- under these conditions, and telling the user how to view a copy of this
- License.
- (Exception: if the Program itself is interactive but does not normally
- print such an announcement, your work based on the Program is not required
- to print an announcement.) 
-\end_layout
-
-\begin_layout Standard
-These requirements apply to the modified work as a whole.
- If identifiable sections of that work are not derived from the Program,
- and can be reasonably considered independent and separate works in themselves,
- then this License, and its terms, do not apply to those sections when you
- distribute them as separate works.
- But when you distribute the same sections as part of a whole which is a
- work based on the Program, the distribution of the whole must be on the
- terms of this License, whose permissions for other licensees extend to
- the entire whole, and thus to each and every part regardless of who wrote
- it.
- 
-\end_layout
-
-\begin_layout Standard
-Thus, it is not the intent of this section to claim rights or contest your
- rights to work written entirely by you; rather, the intent is to exercise
- the right to control the distribution of derivative or collective works
- based on the Program.
- 
-\end_layout
-
-\begin_layout Standard
-In addition, mere aggregation of another work not based on the Program with
- the Program (or with a work based on the Program) on a volume of a storage
- or distribution medium does not bring the other work under the scope of
- this License.
- 
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
-You may copy and distribute the Program (or a work based on it, under Section
- 2) in object code or executable form under the terms of Sections 1 and
- 2 above provided that you also do one of the following: 
-\end_layout
-
-\begin_deeper
-\begin_layout Enumerate
-Accompany it with the complete corresponding machine-readable source code,
- which must be distributed under the terms of Sections 1 and 2 above on
- a medium customarily used for software interchange; or, 
-\end_layout
-
-\begin_layout Enumerate
-Accompany it with a written offer, valid for at least three years, to give
- any third party, for a charge no more than your cost of physically performing
- source distribution, a complete machine-readable copy of the corresponding
- source code, to be distributed under the terms of Sections 1 and 2 above
- on a medium customarily used for software interchange; or, 
-\end_layout
-
-\begin_layout Enumerate
-Accompany it with the information you received as to the offer to distribute
- corresponding source code.
- (This alternative is allowed only for noncommercial distribution and only
- if you received the program in object code or executable form with such
- an offer, in accord with Subsection b above.) 
-\end_layout
-
-\begin_layout Standard
-The source code for a work means the preferred form of the work for making
- modifications to it.
- For an executable work, complete source code means all the source code
- for all modules it contains, plus any associated interface definition files,
- plus the scripts used to control compilation and installation of the executable.
- However, as a special exception, the source code distributed need not include
- anything that is normally distributed (in either source or binary form)
- with the major components (compiler, kernel, and so on) of the operating
- system on which the executable runs, unless that component itself accompanies
- the executable.
-\end_layout
-
-\begin_layout Standard
-If distribution of executable or object code is made by offering access
- to copy from a designated place, then offering equivalent access to copy
- the source code from the same place counts as distribution of the source
- code, even though third parties are not compelled to copy the source along
- with the object code.
- 
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
-You may not copy, modify, sublicense, or distribute the Program except as
- expressly provided under this License.
- Any attempt otherwise to copy, modify, sublicense or distribute the Program
- is void, and will automatically terminate your rights under this License.
- However, parties who have received copies, or rights, from you under this
- License will not have their licenses terminated so long as such parties
- remain in full compliance.
- 
-\end_layout
-
-\begin_layout Enumerate
-You are not required to accept this License, since you have not signed it.
- However, nothing else grants you permission to modify or distribute the
- Program or its derivative works.
- These actions are prohibited by law if you do not accept this License.
- Therefore, by modifying or distributing the Program (or any work based
- on the Program), you indicate your acceptance of this License to do so,
- and all its terms and conditions for copying, distributing or modifying
- the Program or works based on it.
- 
-\end_layout
-
-\begin_layout Enumerate
-Each time you redistribute the Program (or any work based on the Program),
- the recipient automatically receives a license from the original licensor
- to copy, distribute or modify the Program subject to these terms and conditions.
- You may not impose any further restrictions on the recipients' exercise
- of the rights granted herein.
- You are not responsible for enforcing compliance by third parties to this
- License.
- 
-\end_layout
-
-\begin_layout Enumerate
-If, as a consequence of a court judgment or allegation of patent infringement
- or for any other reason (not limited to patent issues), conditions are
- imposed on you (whether by court order, agreement or otherwise) that contradict
- the conditions of this License, they do not excuse you from the conditions
- of this License.
- If you cannot distribute so as to satisfy simultaneously your obligations
- under this License and any other pertinent obligations, then as a consequence
- you may not distribute the Program at all.
- For example, if a patent license would not permit royalty-free redistribution
- of the Program by all those who receive copies directly or indirectly through
- you, then the only way you could satisfy both it and this License would
- be to refrain entirely from distribution of the Program.
-\end_layout
-
-\begin_deeper
-\begin_layout Standard
-If any portion of this section is held invalid or unenforceable under any
- particular circumstance, the balance of the section is intended to apply
- and the section as a whole is intended to apply in other circumstances.
-\end_layout
-
-\begin_layout Standard
-It is not the purpose of this section to induce you to infringe any patents
- or other property right claims or to contest validity of any such claims;
- this section has the sole purpose of protecting the integrity of the free
- software distribution system, which is implemented by public license practices.
- Many people have made generous contributions to the wide range of software
- distributed through that system in reliance on consistent application of
- that system; it is up to the author/donor to decide if he or she is willing
- to distribute software through any other system and a licensee cannot impose
- that choice.
- 
-\end_layout
-
-\begin_layout Standard
-This section is intended to make thoroughly clear what is believed to be
- a consequence of the rest of this License.
- 
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
-If the distribution and/or use of the Program is restricted in certain countries
- either by patents or by copyrighted interfaces, the original copyright
- holder who places the Program under this License may add an explicit geographic
-al distribution limitation excluding those countries, so that distribution
- is permitted only in or among countries not thus excluded.
- In such case, this License incorporates the limitation as if written in
- the body of this License.
- 
-\end_layout
-
-\begin_layout Enumerate
-The Free Software Foundation may publish revised and/or new versions of
- the General Public License from time to time.
- Such new versions will be similar in spirit to the present version, but
- may differ in detail to address new problems or concerns.
- 
-\end_layout
-
-\begin_deeper
-\begin_layout Standard
-Each version is given a distinguishing version number.
- If the Program specifies a version number of this License which applies
- to it and "any later version," you have the option of following the terms
- and conditions either of that version or of any later version published
- by the Free Software Foundation.
- If the Program does not specify a version number of this License, you may
- choose any version ever published by the Free Software Foundation.
-\end_layout
-
-\end_deeper
-\begin_layout Enumerate
-If you wish to incorporate parts of the Program into other free programs
- whose distribution conditions are different, write to the author to ask
- for permission.
- For software which is copyrighted by the Free Software Foundation, write
- to the Free Software Foundation; we sometimes make exceptions for this.
- Our decision will be guided by the two goals of preserving the free status
- of all derivatives of our free software and of promoting the sharing and
- reuse of software generally.
- 
-\end_layout
-
-\begin_layout Subsection*
-NO WARRANTY 
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-begin{itemize}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-item[11.]
-\end_layout
-
-\end_inset
-
-BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
- THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
- EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
- PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
- EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
- YOU.
- SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
- SERVICING, REPAIR OR CORRECTION.
- 
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-item[12.]
-\end_layout
-
-\end_inset
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
- ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
- THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
- ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
- THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
- OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
- THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
- EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY
- OF SUCH DAMAGES.
-\end_layout
-
-\begin_layout Standard
-\begin_inset ERT
-status collapsed
-
-\begin_layout Standard
-
-
-\backslash
-end{itemize}
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Section*
-END OF TERMS AND CONDITIONS 
-\end_layout
-
-\begin_layout Subsection*
-How to Apply These Terms to Your New Programs
-\end_layout
-
-\begin_layout Standard
-If you develop a new program, and you want it to be of the greatest possible
- use to the public, the best way to achieve this is to make it free software
- which everyone can redistribute and change under these terms.
- 
-\end_layout
-
-\begin_layout Standard
-To do so, attach the following notices to the program.
- It is safest to attach them to the start of each source file to most effectivel
-y convey the exclusion of warranty; and each file should have at least the
- "copyright" line and a pointer to where the full notice is found.
- For example:
-\end_layout
-
-\begin_layout Quote
-One line to give the program's name and a brief idea of what it does.
- Copyright 
-\size footnotesize
-© (
-\size default
-year) (name of author) 
-\end_layout
-
-\begin_layout Quote
-This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your option)
- any later version.
- 
-\end_layout
-
-\begin_layout Quote
-This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE.
- See the GNU General Public License for more details.
- 
-\end_layout
-
-\begin_layout Quote
-You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
-\end_layout
-
-\begin_layout Standard
-Also add information on how to contact you by electronic and paper mail.
- 
-\end_layout
-
-\begin_layout Standard
-If the program is interactive, make it output a short notice like this when
- it starts in an interactive mode: 
-\end_layout
-
-\begin_layout Quote
-Gnomovision version 69, Copyright © year name of author Gnomovision comes
- with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it under certain
- conditions; type `show c' for details.
- 
-\end_layout
-
-\begin_layout Standard
-The hypothetical commands `show w' and `show c' should show the appropriate
- parts of the General Public License.
- Of course, the commands you use may be called something other than `show
- w' and `show c'; they could even be mouse-clicks or menu items -- whatever
- suits your program.
- 
-\end_layout
-
-\begin_layout Standard
-You should also get your employer (if you work as a programmer) or your
- school, if any, to sign a "copyright disclaimer" for the program, if necessary.
- Here is a sample; alter the names: 
-\end_layout
-
-\begin_layout Quote
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovisi
-on' (which makes passes at compilers) written by James Hacker.
- 
-\end_layout
-
-\begin_layout Quote
-(signature of Ty Coon)
-\newline
-1 April 1989 
-\newline
-Ty Coon, President of Vice 
-\end_layout
-
-\begin_layout Standard
-This General Public License does not permit incorporating your program into
- proprietary programs.
- If your program is a subroutine library, you may consider it more useful
- to permit linking proprietary applications with the library.
- If this is what you want to do, use the GNU Library General Public License
- instead of this License.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [1]{Moresi et al Plate tectonics}
-Moresi, L., M.
- Gurnis, and S.
- Zhong (2000), Plate tectonics and convection in the Earth's mantle: Toward
- a numerical simulation, 
-\emph on
-Comp.
- Sci.
- Engin., 2
-\emph default
-, 22-33.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [2]{Moresi/Solomatov Numerical}
-Moresi, L.
- N., and V.
- S.
- Solomatov (1995), Numerical investigation of 2D convection with extremely
- large viscosity variations, 
-\emph on
-Phys.
- Fluid,
-\emph default
- 
-\emph on
-7
-\emph default
-, 2,154-2,162.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [3]{Moresi/Gurnis Contraints}
-Moresi, L.
- N., and M.
- Gurnis (1996), Constraints on the lateral strength of slabs from three-dimensio
-nal dynamic flow models, 
-\emph on
-Earth Planet.
- Sci.
- Lett.,
-\emph default
- 
-\emph on
-138
-\emph default
-, 15-28.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [4]{Zhong/Moresi The role of faults}
-Zhong, S., M.
- Gurnis, and L.
- Moresi (1998), The role of faults, nonlinear rheology, and viscosity structure
- in generating plates from instantaneous mantle flow models, 
-\emph on
-J.
- Geophys.
- Res.,
-\emph default
- 
-\emph on
-103
-\emph default
-, 15,255-15,268.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [5]{Zhong et al The role of temperature}
-Zhong, S., M.
- T.
- Zuber, L.
- N.
- Moresi, and M.
- Gurnis (2000), The role of temperature-dependent viscosity and surface
- plates in spherical shell models of mantle convection, 
-\emph on
-J.
- Geophys.
- Res., 105
-\emph default
-, 11,063-11,082.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [6]{Tan et al Slabs in the lower}
-Tan, E., M.
- Gurnis, and L.
- Han (2002), Slabs in the lower mantle and their modulation of plume formation,
- 
-\emph on
-Geochem.
- Geophys.
- Geosys.,
-\emph default
- 
-\emph on
-3
-\emph default
-, 1067.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [7]{Conrad/Gurnis Seismic tomography}
-Conrad, C.
- P., and M.
- Gurnis (2003), Seismic tomography, surface uplift, and the breakup of Gondwanal
-and: Integrating mantle convection backwards in time, 
-\emph on
-Geochem.
- Geophys.
- Geosys.,
-\emph default
- 
-\emph on
-4(3)
-\emph default
-, 1031, doi:10.1029/2001GC000299.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [8]{Hughes The Finite Element Method}
-Hughes, T.
- J.
- R.
- 
-\emph on
-The Finite Element Method: Linear Static and Dynamic Finite Element Analysis.
-
-\emph default
- Englewood Cliffs, New Jersey: Prentice-Hall, Inc.; 1987.
- 672 p.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [9]{Ramage/Wathen Iterative solution}
-Ramage, A., and A.
- J.
- Wathen (1994), Iterative solution techniques for the Stokes and Navier-Stokes
- equations, 
-\emph on
-Int.
- J.
- Numer.
- Methods.
- Fluids,
-\emph default
- 
-\emph on
-19
-\emph default
-, 67-83.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [10]{Brooks A.N.}
-Brooks, A.
- N.
-
-\emph on
- A Petrov-Galerkin Finite Element Formulation for Convecton Dominated Flows.
-
-\emph default
- Unpublished doctoral thesis, California Institute of Technology, Pasadena,
- CA, 1981.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [11]{Cahouet/Chabard Some fast 3D}
-Cahouet, J., and J.-P.
- Chabard (1988), Some fast 3D finite element solvers for the generalized
- Stokes problem
-\emph on
-, Int.
- J.
- Numer.
- Methods.
- Fluids,
-\emph default
- 
-\emph on
-8
-\emph default
-, 869-895.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [12]{Atanga/Silvester Iterative methods}
-Atanga, J., and D.
- Silvester (1992), Iterative methods for stabilized mixed velocity-pressure
- finite elements, 
-\emph on
-Int.
- J.
- Numer.
- Methods.
- Fluids,
-\emph default
- 
-\emph on
-14
-\emph default
-, 71-81.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [13]{Hager/OConnell A simple global}
-Hager, B.
- H., and R.
- J.
- O'Connell (1981), A simple global model of plate dynamics and mantle convection
-, 
-\emph on
-J.
- Geophys.
- Res.,
-\emph default
- 
-\emph on
-86
-\emph default
-, 4,843-4,867.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [14]{Tan et al GeoFramework Part I}
-Tan, E., E.
- Choi, P.
- Thoutireddy, M.
- Gurnis, and M.
- Aivazis (2006), GeoFramework: Coupling multiple models of mantle convection
- within a computational framework,  
-\emph on
-Geochem., Geophys., Geosyst.
- 7,
-\series bold
- 
-\series default
-\emph default
-Q06001, doi:10.1029/2005GC001155.
- 
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [15]{Zhong et al Free-surface formulation}
-Zhong, S., M.
- Gurnis, and L.
- Moresi (1996), Free-surface formulation of mantle convection--I.
- Basic theory and appication to plumes
-\emph on
-, Geophys.
- J.
- Int.
-\emph default
-, 
-\emph on
-127
-\emph default
-, 708-718.
-\end_layout
-
-\begin_layout Bibliography
-
-\bibitem [16]{Zhong et al Three-dimensional}
-Zhong, S., A.
- Paulson, and J.
- Wahr (2003), Three-dimensional finite-element modeling of Earth's viscoelastic
- deformation: effects of lateral variations in lithospheric thickness, 
-\emph on
-Geophys.
- J.
- Int.,
-\emph default
- 
-\emph on
-155
-\emph default
-, 679-695.
- 
-\end_layout
-
-\end_body
-\end_document
+#LyX 1.4.3-4 created this file. For more info see http://www.lyx.org/
+\lyxformat 245
+\begin_document
+\begin_header
+\textclass book
+\begin_preamble
+\usepackage{hyperref}
+
+\let\myUrl\url
+\renewcommand{\url}[1]{(\myUrl{#1})}
+
+\raggedbottom
+\end_preamble
+\language english
+\inputencoding auto
+\fontscheme default
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize default
+\use_geometry true
+\use_amsmath 0
+\cite_engine basic
+\use_bibtopic false
+\paperorientation portrait
+\leftmargin 1in
+\topmargin 1in
+\rightmargin 1in
+\bottommargin 1in
+\secnumdepth 3
+\tocdepth 5
+\paragraph_separation indent
+\defskip medskip
+\quotes_language swedish
+\papercolumns 1
+\papersides 2
+\paperpagestyle headings
+\tracking_changes false
+\output_changes true
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\begin_inset Graphics
+	filename graphics/citcoms_cover.pdf
+	display color
+	width 75page%
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+thispagestyle{empty}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Title
+CitComS.py User Manual
+\end_layout
+
+\begin_layout Author
+California Institute of Technology
+\newline
+Version 2.1.0
+\end_layout
+
+\begin_layout Date
+\noindent
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+today
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset LatexCommand \tableofcontents{}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset FloatList figure
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Part
+Preface
+\end_layout
+
+\begin_layout Chapter*
+Preface
+\end_layout
+
+\begin_layout Section*
+About This Document
+\end_layout
+
+\begin_layout Standard
+This document is organized into three parts.
+ Part I consists of traditional book front matter, including this preface.
+ Part II begins with an introduction to Pyre and the Pyre-compatible version
+ of CitComS and their capabilities and proceeds to the details of implementation
+, including a "cookbook" of short tutorials.
+ Part III provides appendices and references.
+\end_layout
+
+\begin_layout Standard
+The style of this publication is based on the 
+\begin_inset LatexCommand \htmlurl[Apple Publications Style Guide]{developer.apple.com/documentation/UserExperience/Conceptual/APStyleGuide/AppleStyleGuide2003.pdf}
+
+\end_inset
+
+, as recommended by 
+\begin_inset LatexCommand \htmlurl[Python.org]{www.python.org}
+
+\end_inset
+
+.
+ The documentation was produced using 
+\begin_inset LatexCommand \htmlurl[LyX]{www.lyx.org}
+
+\end_inset
+
+ to facilitate the transformation of files from one format to another.
+ LyX is a document processor that encourages an approach to writing based
+ on the structure of your documents, not their appearance.
+ It is released under a Free Software/Open Source license.
+\end_layout
+
+\begin_layout Standard
+Errors and bug fixes in this manual should be directed to the 
+\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section*
+Who Will Use This Document
+\end_layout
+
+\begin_layout Standard
+This documentation is aimed at two categories of users: scientists who prefer
+ to use prepackaged and specialized analysis tools, and experienced computationa
+l Earth scientists.
+ Of the latter, there are likely to be two classes of users: those who just
+ run models, and those who modify the source code.
+ Users who modify the source are likely to have familiarity with scripting,
+ software installation, and programming, but are not necessarily professional
+ programmers.
+\end_layout
+
+\begin_layout Standard
+The manual was written for the usage of CitComS.py on a variety of different
+ platforms.
+ CitComS.py has run on shared memory computers (Sun, Hewlett-Packard, SGI,
+ and IBM), commercial distributed memory machines (Intel and Cray/SGI),
+ and clusters (including machines on the NSF TeraGrid).
+ 
+\end_layout
+
+\begin_layout Section*
+Citation
+\end_layout
+
+\begin_layout Standard
+Computational Infrastructure for Geodynamics (CIG) is making this source
+ code available to you in the hope that the software will enhance your research
+ in geophysics.
+ The underlying C code for the finite element package and the Python bindings
+ for the framework were donated to CIG in July of 2005.
+ A number of individuals have contributed a significant portion of their
+ careers toward the development of CitComS.py and Pyre.
+ It is essential that you recognize these individuals in the normal scientific
+ practice by citing the appropriate peer reviewed papers and making appropriate
+ acknowledgements.
+ 
+\end_layout
+
+\begin_layout Standard
+The CitComS development team asks that you cite both of the following:
+\end_layout
+
+\begin_layout Itemize
+Zhong, S., M.
+ T.
+ Zuber, L.N.
+ Moresi, and M.
+ Gurnis (2000), The role of temperature-dependent viscosity and surface
+ plates in spherical shell models of mantle convection.
+ 
+\emph on
+J.
+ Geophys.
+ Res.,
+\series bold
+\emph default
+ 
+\series default
+\emph on
+105
+\series bold
+, 
+\series default
+\emph default
+11,063-11,082 
+\end_layout
+
+\begin_layout Itemize
+Tan, E., E.
+ Choi, P.
+ Thoutireddy, M.
+ Gurnis, and M.
+ Aivazis (2006), GeoFramework: Coupling multiple models of mantle convection
+ within a computational framework,  
+\emph on
+Geochem., Geophys., Geosyst.
+ 7,
+\series bold
+ 
+\series default
+\emph default
+Q06001, doi:10.1029/2005GC001155.
+ 
+\end_layout
+
+\begin_layout Standard
+The developers also request that in your oral presentations and in your
+ paper acknowledgements that you indicate your use of this code, the authors
+ of the code, and 
+\begin_inset LatexCommand \htmlurl[CIG]{www.geodynamics.org}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section*
+Support
+\end_layout
+
+\begin_layout Standard
+Pyre development is funded by the 
+\begin_inset LatexCommand \htmlurl[U.S. Dept. of Energy's Advanced Simulation and Computing program]{www.sandia.gov/NNSA/ASC}
+
+\end_inset
+
+ and the 
+\begin_inset LatexCommand \htmlurl[National Science Foundation's]{www.nsf.gov}
+
+\end_inset
+
+ Information Technology Research (ITR) program (grant #0205653).
+ Continued support of CitComS.py is made possible under NSF EAR-0406751.
+\end_layout
+
+\begin_layout Section*
+Conventions
+\end_layout
+
+\begin_layout Standard
+Throughout this documentation CitComS.py refers to the Pyre-compatible version
+ of CitComS unless specifically stated otherwise.
+ Any mention of "username" is meant to indicate the user, meaning you should
+ substitute your account name in its place.
+\end_layout
+
+\begin_layout Part
+Chapters
+\end_layout
+
+\begin_layout Chapter
+Introduction
+\end_layout
+
+\begin_layout Standard
+CitComS is a finite element code designed to solve thermal convection problems
+ relevant to earth's mantle.
+ Written in C, the code runs on a variety of parallel processing computers,
+ including shared and distributed memory platforms.
+ In an effort to increase the functionality of CitComS to include greater
+ control during simulations on large parallel systems, the software has
+ been reengineered from previous versions of CitComS to work with a Python-based
+ modeling framework called Pyre.
+ With Pyre, CitComS can be dynamically coupled with other CitComS simulations
+ or with other codes such as SNAC, which solves crustal and lithospheric
+ problems.
+ 
+\end_layout
+
+\begin_layout Section
+About CitComS
+\end_layout
+
+\begin_layout Standard
+CitComS is a finite element code written in C that solves for thermal convection
+ within a spherical shell.
+ It has two variants, 
+\family typewriter
+CitcomSFull
+\family default
+ and 
+\family typewriter
+CitcomSRegional
+\family default
+; the first solves for problems within a full spherical domain, and the
+ second, for a restricted domain of a full sphere.
+ Although the code is capable of solving many different kinds of convection
+ problems using the flexibility of finite elements, there are aspects of
+ CitComS which make it well-suited for solving problems in which the plate
+ tectonic history is incorporated.
+ CitComS.py allows easy use of either one of these two geometries by simply
+ changing command line options.
+\end_layout
+
+\begin_layout Standard
+The fundamental basis for the numerical solution of any time-dependent convectio
+n problem is the sequential solution of an equation of motion and an energy
+ equation.
+ Convection problems are initially valued with boundary conditions, including
+ all of the problems which are solved with CitComS.py.
+ The normal sequence of steps for the solution of convection problems starts
+ with an initial temperature field.
+ First, the momentum equation is solved.
+ The solution of this equation gives us the velocity from which we then
+ solve the advection-diffusion equation, giving us a new temperature.
+ CitComS.py uses this interleaved strategy.
+ It is possible to run convection backward in time so as to guess an initial
+ condition for a normal forward running initial and boundary value problem.
+ However, users should be aware that even specialists in mantle convection
+ modeling are just now starting to explore methods in this area and, as
+ such, this is an emerging area of research.
+ There are versions of CitCom which solve for these classes of forward and
+ backward problems.
+ Variable viscosity, including temperature-, pressure-, position-, composition-,
+ and stress-dependent viscosity are all possible, although they may not
+ be fully implemented in the current version.
+ 
+\end_layout
+
+\begin_layout Standard
+This code uses an iterative solution scheme to solve for the velocity and
+ pressure and, as such, a converged solution cannot be guaranteed.
+ Nested inside the iterative scheme, the code uses either a conjugant gradient
+ solver or a full multi-grid solver to solve the discretized matrix equations.
+ 
+\end_layout
+
+\begin_layout Section
+History
+\end_layout
+
+\begin_layout Standard
+CitCom (for 
+\series bold
+C
+\series default
+alifornia 
+\series bold
+I
+\series default
+nstitute of 
+\series bold
+T
+\series default
+echnology 
+\series bold
+Co
+\series default
+nvection in the 
+\series bold
+M
+\series default
+antle) was originally written in the early 1990's by Louis Moresi.
+ Although the code for three-dimensional problems was incorporated from
+ its inception, early versions of the software only solved for time-dependent
+ convection problems within two-dimensional Cartesian domains.
+ Moresi's original code turned out to be incredibly modular and easily extensibl
+e.
+ Consequently, the fundamental finite element infrastructure which Louis
+ wrote is still in place and forms the basis for much of the code contained
+ in the present release.
+ 
+\end_layout
+
+\begin_layout Standard
+In the mid-1990's Moresi wrote versions of the code that solved the equations
+ within three-dimensional Cartesian domains.
+ Then Shijie Zhong successfully parallelized CitCom using message passing
+ routines on a limited release Intel supercomputer.
+ Zhong then created a spherical version of the code which he named CitComS.
+ Lijie Han then created a regional version of CitComS as well as an alternate
+ version of message passing for an arbitrarily large number of processors.
+ Clint Conrad created the first Beowulf implementations of the code, then
+ Conrad and Eh Tan re-coded the message passing of the fully spherical version
+ so that problems run on arbitrarily large numbers of processors could also
+ be solved.
+ A plethora of different versions of CitCom exist both on computers at the
+ California Institute of Technology and around the world.
+ 
+\end_layout
+
+\begin_layout Standard
+Consequently, by 2002, there were so many different versions of the code
+ that some rationalization was in order.
+ The software was migrated into a version control system and Eh Tan and
+ Eun-seo Choi created a version of the CitComS that generates either a fully
+ spherical or regional model, 
+\family typewriter
+CitcomSFull
+\family default
+ and 
+\family typewriter
+CitcomSRegional
+\family default
+ respectively.
+ CitComS was released to the community through the former GeoFramework project
+ as version 1.0 and 1.1.
+ 
+\end_layout
+
+\begin_layout Standard
+By 2004, in order to increase the functionality of CitComS, the developers
+ began to reengineer the code into an object-oriented environment specifically
+ so it could work with a Python-based modeling framework called Pyre.
+ This release of the software, now named CitComS.py, is essentially the product
+ of those reengineering efforts.
+ Eh Tan was the principal developer of CitComS.py, with considerable help
+ from Eun-seo Choi, Puru Thoutireddy, and Michael Aivazis.
+\end_layout
+
+\begin_layout Standard
+CitComS is one component of a larger collection of software encompassed
+ by the GeoFramework, a collaborative project between the 
+\begin_inset LatexCommand \htmlurl[Center for Advanced Computing Research (CACR)]{www.cacr.caltech.edu}
+
+\end_inset
+
+ and the 
+\begin_inset LatexCommand \htmlurl[Seismological Laboratory]{www.gps.caltech.edu/seismo}
+
+\end_inset
+
+, both at Caltech, and the 
+\begin_inset LatexCommand \htmlurl[Victorian Partnership for Advanced Computing]{www.vpac.org}
+
+\end_inset
+
+ in Australia.
+ The GeoFramework project has been developing a suite of tools to model
+ multi-scale deformation for Earth science problems.
+ This effort was motivated by the need to understand interactions between
+ the long-term evolution of plate tectonics and shorter term processes such
+ as the evolution of faults during and between earthquakes.
+ During 2005 and 2006 much of the remaining software developed by GeoFramework
+ was released under a GPL license and made available from 
+\begin_inset LatexCommand \htmlurl[CIG]{www.geodynamics.org}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+The second major release of CitComS (2.0) incorporated the software framework
+ Pyre, free surface modeling methods, and stress boundary conditions on
+ the top and bottom surfaces.
+ In the summer of 2005, as part of the 2.0.1 release, CIG replaced the old
+ build procedure with the GNU Build System.
+ A subsequent release, version 2.0.2, could compile and run on 64-bit systems.
+ 
+\end_layout
+
+\begin_layout Standard
+This release of CitComS (2.1) incorporates new features and functionality,
+ the most important being the use of HDF5 (a parallel version of the Hierarchica
+l Data Format).
+ The HDF5 format allows you to deal with the massive data output created
+ for production runs (see Chapter
+\begin_inset LatexCommand \ref{cha:Working-with-HDF5}
+
+\end_inset
+
+).
+ The new version incorporates 
+\family typewriter
+.cfg
+\family default
+ files on input that allow input files to be created with greater ease and
+ clarity.
+\end_layout
+
+\begin_layout Standard
+Other improvements include the incorporation of geoid calculations that
+ had been left out of earlier releases, as well as new scripts to allow
+ results to be visualized with 
+\begin_inset LatexCommand \htmlurl[MayaVi]{mayavi.sourceforge.net}
+
+\end_inset
+
+ in addition to 
+\begin_inset LatexCommand \htmlurl[Generic Mapping Tools (GMT)]{gmt.soest.hawaii.edu}
+
+\end_inset
+
+ and 
+\begin_inset LatexCommand \htmlurl[OpenDX]{www.opendx.org}
+
+\end_inset
+
+.
+ Finally, you will find instructions on using this version as a preinstalled
+ package on some of the NSF TeraGrid sites.
+\end_layout
+
+\begin_layout Section
+About Pyre
+\end_layout
+
+\begin_layout Standard
+Pyre is an object-oriented environment capable of specifying and launching
+ numerical simulations on multiple platforms, including Beowulf class parallel
+ computers and grid computing systems.
+ Pyre allows the binding of multiple components such as solid and fluid
+ models used in Earth science simulations, and different meshers.
+ The Pyre framework enables the elegant setup, modification and launching
+ of massively parallel three-dimensional solver applications.
+ 
+\end_layout
+
+\begin_layout Standard
+Pyre is a framework, a combination of software and design philosophy that
+ promotes the reuse of code.
+ In their canonical software design book, 
+\emph on
+Design Patterns
+\emph default
+, Erich Gamma 
+\emph on
+et al
+\emph default
+ condense the concept of a framework concept down to, "When you use a framework,
+ you reuse the main body and write the code it calls." In the context of
+ frameworks and object-oriented programming, Pyre can be thought of as a
+ collection of classes and the way their instances interact.
+ Programming applications based on Pyre will look similar to those written
+ in any other object-oriented language.
+ The Pyre framework contains a subset of parts that make up the overall
+ framework.
+ Each of those parts is designed to solve a specific problem.
+ 
+\end_layout
+
+\begin_layout Standard
+The framework approach to computation offers many advantages.
+ It permits the exchange of codes and promotes the reuse of standardized
+ software while preserving efficiency.
+ Frameworks are also an efficient way to handle changes in computer architecture.
+ They present programmers and scientists with a unified and well-defined
+ task and allow for shared costs of the housekeeping aspects of software
+ development.
+ They provide greater institutional continuity to model development than
+ piecemeal approaches.
+\end_layout
+
+\begin_layout Standard
+The Pyre framework incorporates features aimed at enabling the scientific
+ non-expert to perform tasks easily without hindering the expert.
+ Target features for end users allow complete and intuitive simulation specifica
+tion, reasonable defaults, consistency checks of input, good diagnostics,
+ easy access to remote facilities, and status monitoring.
+ Target features for developers include easy access to user input, a shorter
+ development cycle, and good debugging support.
+ 
+\end_layout
+
+\begin_layout Section
+Pyre and CitComS.py
+\end_layout
+
+\begin_layout Standard
+Pyre provides a simulation framework that includes solver integration and
+ coupling, uniform access to facilities, and integrated visualization.
+ The framework offers a way to add new solvers to CitComS.py and to fine-tune
+ CitComS.py simulations.
+ Future versions of this documentation will cover coupled simulations generated
+ via an "exchanger" module.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Description
+\begin_inset LatexCommand \label{Pyre-Architecture}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Graphics
+	filename graphics/c_fig1.eps
+	scale 85
+	rotateOrigin center
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Pyre Architecture.
+ The integration framework is a set of cooperating abstract services.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Developers have created Pyre classes for CitComS.py to facilitate simulation
+ setup.
+ However, they are not independent classes in a strict sense.
+ They still share the same underlying data structure and their functionality
+ is not divided clearly.
+ CitComS.py was not designed to be object-oriented and to make it so would
+ require significant investment of effort with little return.
+ However, the lack of object-oriented features does not hinder the coupling
+ of CitComS.py with other solvers.
+ 
+\end_layout
+
+\begin_layout Standard
+This version of CitComS.py "attaches" to Pyre via the use of bindings.
+ They are included with CitComS.py, eliminating the need for users to write
+ or alter them.
+\end_layout
+
+\begin_layout Section
+Governing Equations
+\end_layout
+
+\begin_layout Standard
+With CitComS, the mantle is treated as an incompressible viscous spherical
+ shell.
+ With these assumptions, thermal convection is governed by the equations
+ for conservation of mass, momentum, and energy:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+u_{i,i}=0\label{eq:conservation of mass}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula $ $
+\end_inset
+
+
+\begin_inset Formula \begin{equation}
+-P_{,i}+(\eta u_{i,j}+\eta u_{j,i})_{,j}+\delta\rho g\delta_{ir}=0\label{eq:conservation of momentum}\end{equation}
+
+\end_inset
+
+ 
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+T_{,t}+u_{i}T_{,i}=\kappa T_{,ii}+H\label{eq:conservation of energy}\end{equation}
+
+\end_inset
+
+ 
+\end_layout
+
+\begin_layout Standard
+\noindent
+where 
+\emph on
+u 
+\emph default
+is the velocity, 
+\emph on
+P
+\emph default
+ is the dynamic pressure, 
+\begin_inset Formula $\delta\rho$
+\end_inset
+
+ is the density anomaly, 
+\emph on
+g
+\emph default
+ is the gravitational acceleration, 
+\begin_inset Formula $\eta$
+\end_inset
+
+ is the viscosity, 
+\emph on
+T
+\emph default
+ is the temperature, 
+\begin_inset Formula $\kappa$
+\end_inset
+
+ is the thermal diffusivity, and 
+\emph on
+H
+\emph default
+ is the heat production rate.
+ 
+\begin_inset Formula $X_{,y}$
+\end_inset
+
+ represents the derivative of 
+\emph on
+X
+\emph default
+ with respect to 
+\emph on
+y
+\emph default
+, 
+\emph on
+i
+\emph default
+ and 
+\emph on
+j
+\emph default
+ are spatial indices, 
+\emph on
+r
+\emph default
+ is the radial direction, and 
+\emph on
+t
+\emph default
+ is time.
+ Without phase transitions, the density anomalies are:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\delta\rho=-\alpha\rho_{0}(T-T_{0})\label{eq:density anomalies}\end{equation}
+
+\end_inset
+
+ 
+\end_layout
+
+\begin_layout Standard
+These equations lead to the following normalization in which primed quantities
+ are nondimensional:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+x_{i}=R_{0}x_{i}^{'}\label{eq:5}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{equation}
+u_{i}=\frac{\kappa}{R_{0}}u_{i}^{'}\label{eq:6}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+T=\Delta TT'+T_{0}\label{eq:7}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+t=\frac{R_{0}^{2}}{\kappa}t^{'}\label{eq:8}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\gamma=\frac{HR_{0}^{2}}{\kappa\Delta T}\label{eq:9}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\eta=\eta_{0}\eta^{'}\label{eq:10}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+P=\frac{\eta_{0}\kappa}{R_{0}^{2}}P^{'}\label{eq:11}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+where 
+\begin_inset Formula $R_{0}$
+\end_inset
+
+ is the radius of the Earth, 
+\begin_inset Formula $\eta_{0}$
+\end_inset
+
+ is a reference viscosity, and 
+\begin_inset Formula $\Delta T$
+\end_inset
+
+ is the superadiabatic temperature drop from the core-mantle boundary (CMB)
+ to the surface.
+ Dropping the primes, the equations become:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{equation}
+u_{i,i}=0\label{eq:12}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{equation}
+-P_{,i}+(\eta u_{i,j}+\eta u_{j,i})_{,j}+RaT\delta_{ir}=0\label{eq:13}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+T_{,t}+u_{i}T_{,i}=T_{,ii}+\gamma\label{eq:14}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+where 
+\emph on
+Ra
+\emph default
+, a Rayleigh number, is defined as:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+Ra=\frac{\rho g\alpha\Delta TR_{0}^{3}}{\eta_{0}\kappa}\label{eq:Ra, a Rayleigh number}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+This is not the usual definition of the Raleigh number that is based on
+ layer thickness, not 
+\begin_inset Formula $R_{0}.$
+\end_inset
+
+ So for mantle convection problems where 
+\begin_inset Formula $R_{0}$
+\end_inset
+
+ is about twice the layer thickness, our 
+\begin_inset Formula $Ra$
+\end_inset
+
+ are about a factor of 8 larger than by the usual definition.
+\end_layout
+
+\begin_layout Standard
+If there is a phase change, 
+\begin_inset LatexCommand \ref{eq:Ra, a Rayleigh number}
+
+\end_inset
+
+ is modified to:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+-P_{,i}+(\eta u_{i,j}+\eta u_{j,i})_{,j}+(RaT+R_{b}\Gamma)\delta_{ir}=0\label{eq:16}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\Gamma=\frac{1}{2}\left(1+\tanh\left(\frac{1-r-d_{ph}-s(T-T_{ph})}{w_{ph}}\right)\right)\label{eq:17}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+where 
+\begin_inset Formula $d_{ph}$
+\end_inset
+
+ and 
+\begin_inset Formula $T_{ph}$
+\end_inset
+
+ are the ambient depth and temperature of a phase change,
+\emph on
+ s
+\emph default
+ is the Clapeyron slope of a phase change, and 
+\begin_inset Formula $w_{ph}$
+\end_inset
+
+ is the width of a phase transition.
+ The phase-change Rayleigh number, 
+\begin_inset Formula $R_{b}$
+\end_inset
+
+, is defined as:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+R_{b}=\frac{\Delta\rho_{ph}gR_{0}^{3}}{\eta_{0}\kappa}\label{eq:Rb, the phase-change Rayleigh number}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+where 
+\begin_inset Formula $\Delta\rho_{ph}$
+\end_inset
+
+ is the density jump across a phase change.
+\end_layout
+
+\begin_layout Section
+Numerical Methods
+\end_layout
+
+\begin_layout Standard
+The governing equations are solved with the finite element method 
+\begin_inset LatexCommand \cite{Hughes The Finite Element Method}
+
+\end_inset
+
+.
+ CitComS employs an Uzawa algorithm to solve the momentum equation coupled
+ with the incompressibility constraints 
+\begin_inset LatexCommand \cite{Moresi/Gurnis Contraints,Ramage/Wathen Iterative solution}
+
+\end_inset
+
+.
+ The energy equation is solved with a Petrov-Galerkin method 
+\begin_inset LatexCommand \cite{Brooks A.N.}
+
+\end_inset
+
+.
+ Brick elements are used, such as eight velocity nodes with trilinear shape
+ functions and one constant pressure node for each element.
+ The use of brick elements in 3D (or rectangular elements in 2D) is important
+ for accurately determining the pressure, such as dynamic topography, in
+ incompressible Stokes' flow 
+\begin_inset LatexCommand \cite{Hughes The Finite Element Method}
+
+\end_inset
+
+.
+ The discrete form of equations 
+\begin_inset LatexCommand \ref{eq:12}
+
+\end_inset
+
+ and 
+\begin_inset LatexCommand \ref{eq:13}
+
+\end_inset
+
+ may be written in the following matrix form 
+\begin_inset LatexCommand \cite{Zhong et al The role of temperature}
+
+\end_inset
+
+:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\mathrm{\mathbf{B}^{\mathit{T}}\mathit{u=0}}\label{eq:19}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\mathbf{A\mathit{u+}}\mathbf{B\mathit{p=f}}\label{eq:20}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+where 
+\begin_inset Formula $\mathbf{A}$
+\end_inset
+
+ is the "stiffness" matrix, 
+\emph on
+u
+\emph default
+ is a vector of unknown velocities; 
+\begin_inset Formula $\mathbf{B}$
+\end_inset
+
+ is the discrete gradient operator, 
+\emph on
+p
+\emph default
+ is a vector of unknown pressures, and 
+\emph on
+f 
+\emph default
+is a vector composed of the body and boundary forces acting on the fluid.
+ The individual entries of 
+\begin_inset Formula $\mathbf{A}$
+\end_inset
+
+, 
+\begin_inset Formula $\mathbf{B}$
+\end_inset
+
+, and 
+\emph on
+f
+\emph default
+ are obtained using a standard finite element formulation, see 
+\begin_inset LatexCommand \cite{Zhong et al The role of temperature}
+
+\end_inset
+
+ for the explicit entries.
+ Equation 
+\begin_inset LatexCommand \ref{eq:20}
+
+\end_inset
+
+ can be transformed by premultiplying by 
+\begin_inset Formula $\mathrm{\mathbf{B}^{\mathit{T}}\mathit{\mathbf{A}^{\mathbf{\mathit{-1}}}}}$
+\end_inset
+
+ and using equation 
+\begin_inset LatexCommand \ref{eq:19}
+
+\end_inset
+
+ to eliminate the velocity unknowns:
+\end_layout
+
+\begin_layout Standard
+\align right
+\begin_inset Formula \begin{equation}
+\mathbf{B}^{\mathit{T}}\mathit{\mathbf{A}^{\mathbf{\mathit{-1}}}\mathbf{B}\mathit{p=\mathbf{B^{\mathit{T}}A^{\mathit{-1}}\mathit{f}}}}\label{eq:21}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This equation is solved using the Uzawa algorithm, an established method
+ for solving the minimization of a dual function 
+\begin_inset LatexCommand \cite{Cahouet/Chabard Some fast 3D}
+
+\end_inset
+
+, which simultaneously yields the velocity field.
+ A conjugate gradient scheme for this iteration is described by 
+\begin_inset LatexCommand \cite{Ramage/Wathen Iterative solution,Atanga/Silvester Iterative methods}
+
+\end_inset
+
+, and forms the basis for the technique used in CitComS.
+\end_layout
+
+\begin_layout Section
+Meshes and Geometry
+\end_layout
+
+\begin_layout Standard
+There are two forms of meshes and geometries for CitComS.
+ By default CitComS will produce a mesh within a regional geometry that
+ is bound by lines of constant latitude and longitude.
+ For regional mesh there is an option for mesh refinement in which the mesh
+ is refined as a function of latitude, longitude, or radius.
+ Such refinement is suitable for higher resolutions near boundary layers
+ or within the center of the map domain, but is incapable of increasing
+ the resolution near a curvilinear feature, as a plate boundary, unless
+ that plate boundary is orientated north-south or east-west.
+ CitComS is also capable of generating a mesh for an entire spherical shell
+ in which elements in map view are approximately equal area.
+ In the full spherical mode, CitComS has 12 caps numbered 0 to 11.
+ The caps are approximately square in map view so that the edges of the
+ square are orientated diagonally with respect to latitude and longitude.
+ The four corners of the domain are connected by great circles (Figure 
+\begin_inset LatexCommand \ref{fig:Orthographic-projection-of}
+
+\end_inset
+
+).
+ One would normally associate at least one processor with one cap.
+ However, CitComS can further automatically generate meshes with domain
+ decomposition such that additional processors are used to divide caps uniformly
+ along the two edges of the caps (Figure 
+\begin_inset LatexCommand \ref{fig:Orthographic-projection-of}
+
+\end_inset
+
+) as well as in radius.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status collapsed
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Graphics
+	filename graphics/proc_mesh.eps
+	scale 85
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Orthographic-projection-of}
+
+\end_inset
+
+Orthographic projection of processors from a full CitComS mesh in which
+ there are 16 processors in map view for each cap.
+ The CitComS cap is shown as distinct colors while the processor domains
+ within the caps are indicated by the intensity of the color.
+ This example was produced for a run with 2 processors in radius such that
+ the total number of processors was 12x16x2=384.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
+Installation and Getting Help
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+To install CitComS.py, you follow the procedure that is commonly used with
+ other open source software packages.
+ First, download the source package (in the form of a compressed 
+\family typewriter
+tar
+\family default
+ file) from the 
+\begin_inset LatexCommand \htmlurl[Geodynamics Software Packages web page]{www.geodynamics.org/cig/software/packages}
+
+\end_inset
+
+.
+ After unpacking the source, you run a prepackaged shell script to configure
+ CitComS for your system.
+ Finally, you use the 
+\family typewriter
+make
+\family default
+ utility to build and install CitComS from source.
+ 
+\end_layout
+
+\begin_layout Standard
+Advanced users and software developers may be interested in downloading
+ the latest CitComS source code directly from the CIG source code repository,
+ instead of using the prepared source package; see Section 
+\begin_inset LatexCommand \ref{sec:Software-Repository}
+
+\end_inset
+
+ later in this chapter.
+\end_layout
+
+\begin_layout Standard
+CitComS.py has been tested on Linux, Mac OS X, and several NSF TeraGrid platforms.
+ 
+\end_layout
+
+\begin_layout Section
+Getting Help
+\end_layout
+
+\begin_layout Standard
+For help, send e-mail to the 
+\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
+
+\end_inset
+
+.
+ You can subscribe to the Mailing List and view archived discussion at the
+ 
+\begin_inset LatexCommand \htmlurl[Geodynamics Mail Lists web page]{www.geodynamics.org/cig/lists}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+System Requirements
+\end_layout
+
+\begin_layout Standard
+Installation of CitComS.py requires the following:
+\end_layout
+
+\begin_layout Itemize
+A C compiler
+\end_layout
+
+\begin_layout Itemize
+An MPI library
+\end_layout
+
+\begin_layout Itemize
+Python 2.3 or greater
+\end_layout
+
+\begin_layout Standard
+MPI installations are typically configured for a particular compiler, and
+ provide a special wrapper command to invoke the right compiler.
+ Therefore, the choice of MPI implementation often determines which C compiler
+ to use.
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+Note:
+\series default
+ Users familiar with older versions of CitComS may prefer to install only
+ the legacy CitComS tools, 
+\family typewriter
+CitcomSFull
+\family default
+ and 
+\family typewriter
+CitcomSRegional
+\family default
+, and forgo use of Python and the Pyre framework.
+ This process requires only a C compiler and an MPI library.
+ For more information, see Section 
+\begin_inset LatexCommand \ref{sec:Installing-without-Pyre}
+
+\end_inset
+
+, later in this chapter.
+\end_layout
+
+\begin_layout Standard
+Optionally, CitcomS can be configured to use a parallel HDF5 library.
+ See Section 
+\begin_inset LatexCommand \ref{sec:HDF5-Configuration}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+C Compiler
+\end_layout
+
+\begin_layout Standard
+On Unix or Linux systems, there is a high likelihood that a usable C compiler
+ is already installed.
+ To check, type 
+\family typewriter
+cc
+\family default
+ at the shell prompt:
+\end_layout
+
+\begin_layout LyX-Code
+$ cc
+\end_layout
+
+\begin_layout LyX-Code
+cc: no input files
+\end_layout
+
+\begin_layout LyX-Code
+$
+\end_layout
+
+\begin_layout Standard
+On Linux, if the 
+\family typewriter
+cc
+\family default
+ command is not found, install GCC using the package manager for your distributi
+on.
+\end_layout
+
+\begin_layout Standard
+The Mac OS X version of GCC is included in a software development suite
+ called Xcode.
+ Xcode is available as a free download at the 
+\begin_inset LatexCommand \htmlurl[Apple Developer Connection]{developer.apple.com}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+MPI Library
+\end_layout
+
+\begin_layout Standard
+CitcomS requires a library which implements the MPI standard (either version
+ 1 or 2).
+ Several free, open-source implementations of MPI are available.
+\end_layout
+
+\begin_layout Standard
+A popular choice is 
+\begin_inset LatexCommand \htmlurl[MPICH]{www-unix.mcs.anl.gov/mpi/mpich}
+
+\end_inset
+
+.
+ Installing MPICH from source involves walking through the standard GNU
+ build procedure (
+\family typewriter
+configure && make && make install
+\family default
+).
+\end_layout
+
+\begin_layout Standard
+Linux users may have a prebuilt MPI package available for their distribution.
+ On Mac OS X, the Fink package manager offers a prepackaged version of 
+\begin_inset LatexCommand \htmlurl[LAM/MPI]{www.lam-mpi.org}
+
+\end_inset
+
+; so if you have 
+\begin_inset LatexCommand \htmlurl[Fink]{fink.sourceforge.net}
+
+\end_inset
+
+ installed, simply enter the following command from a Terminal window to
+ install LAM/MPI:
+\end_layout
+
+\begin_layout LyX-Code
+$ fink install lammpi lammpi-dev
+\end_layout
+
+\begin_layout Subsubsection*
+MPI C Compiler Command
+\end_layout
+
+\begin_layout Standard
+Once you have an MPI library installed, make sure its C complier command
+ is on your PATH.
+ Unfortunately, the name of this command varies from one MPI implementation
+ to the next.
+ The CitcomS configuration script searches for the following MPI C command
+ names:
+\end_layout
+
+\begin_layout LyX-Code
+mpicc hcc mpcc mpcc_r mpxlc cmpicc
+\end_layout
+
+\begin_layout Subsection
+Python
+\end_layout
+
+\begin_layout Standard
+Your system may already have a suitable Python interpreter installed.
+ To check, type the 'python' command:
+\end_layout
+
+\begin_layout LyX-Code
+$ python -V
+\end_layout
+
+\begin_layout LyX-Code
+Python 2.3.4
+\end_layout
+
+\begin_layout Standard
+Mac OS X 10.3 and later ships with a suitable version of Python preinstalled.
+ If you're using an older version of Mac OS X, or for more information in
+ general, see 
+\begin_inset LatexCommand \htmlurl[Python on the Mac]{www.python.org/download/mac}
+
+\end_inset
+
+ at the Python web site.
+\end_layout
+
+\begin_layout Standard
+On Linux, simply install the binary system package available for your distributi
+on.
+ Be sure to select the Python development package (typically called 
+\family typewriter
+python-dev
+\family default
+) in addition to the core Python package -- even if you don't plan on doing
+ any Python software development.
+ The development package contains the Python include files, which are necessary
+ for building CitcomS.
+\end_layout
+
+\begin_layout Standard
+If you are working on a cluster and 
+\family typewriter
+python
+\family default
+ is too old, try poking around a little.
+ Sometimes multiple versions of Python are installed on the same system:
+\end_layout
+
+\begin_layout LyX-Code
+$ python -V
+\end_layout
+
+\begin_layout LyX-Code
+Python 2.2.3
+\end_layout
+
+\begin_layout LyX-Code
+$ which python
+\end_layout
+
+\begin_layout LyX-Code
+/usr/bin/python
+\end_layout
+
+\begin_layout LyX-Code
+$ ls /usr/bin/python*
+\end_layout
+
+\begin_layout LyX-Code
+/usr/bin/python /usr/bin/python2 /usr/bin/python2.2
+\end_layout
+
+\begin_layout LyX-Code
+/usr/bin/python24 /usr/bin/python2.4
+\end_layout
+
+\begin_layout LyX-Code
+$
+\end_layout
+
+\begin_layout Standard
+In the above scenario, it is useful to create an alias to the newer Python:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd ~/bin
+\end_layout
+
+\begin_layout LyX-Code
+$ ln -s /usr/bin/python2.4 python
+\end_layout
+
+\begin_layout LyX-Code
+$ cd
+\end_layout
+
+\begin_layout LyX-Code
+$ hash -r
+\end_layout
+
+\begin_layout LyX-Code
+$ which python
+\end_layout
+
+\begin_layout LyX-Code
+~/bin/python
+\end_layout
+
+\begin_layout LyX-Code
+$ python -V
+\end_layout
+
+\begin_layout LyX-Code
+Python 2.4.1
+\end_layout
+
+\begin_layout LyX-Code
+$
+\end_layout
+
+\begin_layout Standard
+If absolutely necessary, one can easily build Python from source using a
+ C compiler.
+ You can download Python from the 
+\begin_inset LatexCommand \htmlurl[Python website]{www.python.org}
+
+\end_inset
+
+.
+ 
+\end_layout
+
+\begin_layout Section
+Downloading and Unpacking Source
+\end_layout
+
+\begin_layout Standard
+Download CitComS.py from the 
+\begin_inset LatexCommand \htmlurl[Geodynamics website]{www.geodynamics.org}
+
+\end_inset
+
+.
+ Click the 
+\family sans
+software
+\family default
+ tab at the top of the page.
+ Then click 
+\family sans
+Software Packages
+\family default
+, then 
+\family sans
+Mantle Convection
+\family default
+.
+ Once you click the CitComS link, download the source archive and unpack
+ it using the 
+\family typewriter
+tar
+\family default
+ command: 
+\end_layout
+
+\begin_layout LyX-Code
+$ tar xzf CitcomS-2.1.0.tar.gz
+\end_layout
+
+\begin_layout Standard
+If you don't have GNU Tar, try the following command instead: 
+\end_layout
+
+\begin_layout LyX-Code
+$ gunzip -c CitcomS-2.1.0.tar.gz | tar xf -
+\end_layout
+
+\begin_layout Section
+Installation Procedure
+\end_layout
+
+\begin_layout Standard
+After unpacking the source, use the following procedure to install CitComS:
+\end_layout
+
+\begin_layout Enumerate
+Navigate (i.e., 
+\family typewriter
+cd
+\family default
+) to the directory containing the CitComS source
+\family typewriter
+.
+\newline
+
+\newline
+$ cd CitcomS-2.1.0
+\end_layout
+
+\begin_layout Enumerate
+Type .
+\family typewriter
+/configure
+\family default
+ to configure the package for your system
+\family typewriter
+.
+\newline
+
+\newline
+$ ./configure
+\end_layout
+
+\begin_layout Enumerate
+Type 
+\family typewriter
+make
+\family default
+ to build the package.
+\family typewriter
+
+\newline
+
+\newline
+$ make
+\end_layout
+
+\begin_layout Standard
+If you are content to run CitcomS from the build directory, then you are
+ done.
+ Upon successful completion, the 
+\family typewriter
+make
+\family default
+ command creates a script called 
+\family typewriter
+citcoms
+\family default
+ in the 
+\family typewriter
+bin
+\family default
+ subdirectory; this is the script you will use to run CitcomS.
+ You may wish to add the 
+\family typewriter
+bin
+\family default
+ directory to your 
+\family typewriter
+PATH
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+For more details about 
+\family typewriter
+configure
+\family default
+, see the Configuration section below.
+\end_layout
+
+\begin_layout Subsubsection
+Installing to a Secondary Location
+\end_layout
+
+\begin_layout Standard
+Optionally, after building CitcomS, you can install it to a secondary location
+ using the 
+\family typewriter
+make install
+\family default
+ command.
+\end_layout
+
+\begin_layout Quotation
+
+\series bold
+Note:
+\series default
+ The following is not recommended if you plan on modifying the CitcomS source.
+\end_layout
+
+\begin_layout Standard
+By default, CitcomS is configured to install under 
+\family typewriter
+/usr/local
+\family default
+, which requires that you become 
+\family typewriter
+root
+\family default
+ before issuing the 
+\family typewriter
+make install
+\family default
+ command.
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+$ su
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+Password:
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+# make install
+\end_layout
+
+\begin_layout Standard
+To install as an ordinary user instead of 
+\family typewriter
+root
+\family default
+, give 
+\family typewriter
+configure
+\family default
+ the 
+\family typewriter
+--prefix
+\family default
+ option, specifying a directory to which you have write access:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd CitcomS-2.1.0
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure --prefix=$HOME/cig
+\end_layout
+
+\begin_layout LyX-Code
+$ make
+\end_layout
+
+\begin_layout LyX-Code
+$ make install
+\end_layout
+
+\begin_layout Standard
+The above commands will install CitcomS under 
+\family typewriter
+$HOME/cig
+\family default
+.
+ Afterwards, you may wish to add 
+\family typewriter
+PREFIX/bin
+\family default
+ (
+\family typewriter
+$HOME/cig/bin
+\family default
+, in this example) to your 
+\family typewriter
+PATH
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+After running 
+\family typewriter
+make install
+\family default
+, you may (if desired) run 
+\family typewriter
+make clean
+\family default
+ in the build directory to save disk space.
+ You are also free to delete the source/build directory altogether.
+ (Note that 
+\family typewriter
+make install
+\family default
+ installs the examples under 
+\family typewriter
+PREFIX/share/CitcomS/examples
+\family default
+.)
+\end_layout
+
+\begin_layout Section
+Configuration
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+configure
+\family default
+ script checks for various system features.
+ As it runs, it prints messages informing you of which features it is checking
+ for.
+ Upon successful completion, it generates a 
+\family typewriter
+Makefile
+\family default
+ in each source directory of the package.
+ It also generates a 
+\family typewriter
+config.h
+\family default
+ header file, which contains system-dependent definitions.
+ 
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+configure
+\family default
+ script will attempt to guess the correct values of various installation
+ parameters.
+ In the event that the default values used by 
+\family typewriter
+configure
+\family default
+ are incorrect for your system, or 
+\family typewriter
+configure
+\family default
+ is unable to guess the value a certain parameter, you may have to specify
+ the correct value by hand.
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+Important:
+\series default
+ If the 
+\family typewriter
+configure
+\family default
+ script fails, and you don't know what went wrong, examine the log file
+ 
+\family typewriter
+config.log
+\family default
+.
+ This file contains a detailed transcript of all the checks 
+\family typewriter
+configure
+\family default
+ performed.
+ Most importantly, it includes the error output (if any) from your compiler.
+ When seeking help for 
+\family typewriter
+configure
+\family default
+ failures on the 
+\begin_inset LatexCommand \htmlurl[CIG Mantle Convection Mailing List]{cig-mc at geodynamics.org}
+
+\end_inset
+
+, please send 
+\family typewriter
+config.log
+\family default
+ as an attachment.
+\end_layout
+
+\begin_layout Standard
+Upon successful completion, 
+\family typewriter
+configure
+\family default
+ will print a brief configuration summary.
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+configure
+\family default
+ script will automatically check for needed Python dependencies, including
+ the Pythia package (which includes the Pyre framework).
+ If necessary, 
+\family typewriter
+configure
+\family default
+ will download missing Python packages from the Internet.
+\end_layout
+
+\begin_layout Standard
+CitcomS v2.1 requires Pythia v0.8.1.x, which 
+\family typewriter
+configure
+\family default
+ downloads directly from CIG.
+ (Pythia v0.8.1.x is distinct from Pythia v0.8, which you may have installed
+ previously.) Pythia v0.8.1.x is pure Python, and resides in a file or directory
+ with the extension 
+\family typewriter
+.egg
+\family default
+ (e.g., 
+\family typewriter
+pythia-0.8.1.0.egg
+\family default
+).
+ The 
+\family typewriter
+configure
+\family default
+ script may download other 
+\family typewriter
+.egg
+\family default
+ packages, in addition to Pythia.
+ These are Python packages which are required (either directly or indirectly)
+ by CitcomS.py.
+\end_layout
+
+\begin_layout Subsection
+Configure Usage
+\end_layout
+
+\begin_layout Standard
+For a detailed list of 
+\family typewriter
+configure
+\family default
+ variables and options, give 
+\family typewriter
+configure
+\family default
+ the 
+\family typewriter
+--help
+\family default
+ option:
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure --help
+\end_layout
+
+\begin_layout Standard
+The following is a summary of the variables and options that are important
+ when installing CitComS.
+ 
+\end_layout
+
+\begin_layout Subsection
+Environment Variables
+\end_layout
+
+\begin_layout Standard
+Environment variables may be specified as arguments to 
+\family typewriter
+configure
+\family default
+, e.g.,
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure CC=icc # use the Intel compiler
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float table
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\noindent
+\align left
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="1in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\series bold
+Variable
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\series bold
+Description
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+PYTHON
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Python interpreter.
+ This is useful if you have Python installed in a non-standard location,
+ e.g.,
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\InsetSpace ~
+\InsetSpace ~
+./configure 
+\backslash
+
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+PYTHON=/opt/python2.3/bin/python
+\family default
+ 
+\end_layout
+
+\begin_layout Standard
+By default, 
+\family typewriter
+configure
+\family default
+ will search for a suitable Python interpreter using your 
+\family typewriter
+PATH
+\family default
+ environment variable.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+CC
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+C compiler command.
+ This is usually set to the name of an MPI wrapper command.
+ See Section 
+\begin_inset LatexCommand \ref{sec:MPI-Configuration}
+
+\end_inset
+
+ for details and examples.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+CPPFLAGS
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+C preprocessor flags; e.g., 
+\family typewriter
+-I<dir>
+\family default
+ if you have headers in a nonstandard directory.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+LDFLAGS
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+linker flags; e.g., 
+\family typewriter
+-L<dir>
+\family default
+ if you have libraries in a nonstandard directory.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+\begin_inset LatexCommand \label{sec:MPI-Configuration}
+
+\end_inset
+
+MPI Configuration
+\end_layout
+
+\begin_layout Standard
+By default, 
+\family typewriter
+configure
+\family default
+ will search for a C compiler using your 
+\family typewriter
+PATH
+\family default
+ environment variable.
+ It prefers MPI wrapper commands (such as
+\family typewriter
+ mpicc
+\family default
+) to ordinary compiler commands (such as 
+\family typewriter
+cc
+\family default
+ or 
+\family typewriter
+gcc
+\family default
+).
+ You may specify the compiler command name manually using the 
+\family typewriter
+CC
+\family default
+ variable:
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure CC=/opt/mpich-1.2.6/bin/mpicc
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+configure
+\family default
+ script will test for the presence of the MPI header (
+\family typewriter
+mpi.h
+\family default
+) and an MPI library using the C compiler command.
+ If 
+\family typewriter
+CC
+\family default
+ is set to an MPI wrapper command such as 
+\family typewriter
+mpicc
+\family default
+, and/or the MPI header and library files are installed in a standard location
+ (i.e., 
+\family typewriter
+/usr/include
+\family default
+ and 
+\family typewriter
+/usr/lib
+\family default
+), these 
+\family typewriter
+configure
+\family default
+ tests should succeed without difficulty.
+\end_layout
+
+\begin_layout Standard
+But if CC is set to an ordinary compiler command name (e.g., 
+\family typewriter
+cc
+\family default
+ or 
+\family typewriter
+gcc
+\family default
+) and MPI is installed in a non-standard location, you must manually specify
+ 
+\family typewriter
+CPPFLAGS
+\family default
+ and 
+\family typewriter
+LDFLAGS
+\family default
+, so that the compiler can find the MPI header files and libraries.
+\end_layout
+
+\begin_layout Subsubsection
+Manually Specifying MPI 
+\family typewriter
+include
+\family default
+ and 
+\family typewriter
+lib
+\family default
+ Directories
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure 
+\backslash
+
+\end_layout
+
+\begin_layout LyX-Code
+CPPFLAGS="-I/opt/mpich-1.2.6/include" 
+\backslash
+
+\end_layout
+
+\begin_layout LyX-Code
+LDFLAGS="-L/opt/mpich-1.2.6/lib -lmpich"
+\end_layout
+
+\begin_layout Subsubsection
+Manually Specifying MPI 
+\family typewriter
+include
+\family default
+ and 
+\family typewriter
+lib
+\family default
+ Directories and an Alternative Compiler
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure 
+\backslash
+
+\end_layout
+
+\begin_layout LyX-Code
+CC=icc 
+\backslash
+
+\end_layout
+
+\begin_layout LyX-Code
+CPPFLAGS="-I/opt/mpich-1.2.6/include" 
+\backslash
+
+\end_layout
+
+\begin_layout LyX-Code
+LDFLAGS="-L/opt/mpich-1.2.6/lib -lmpich"
+\end_layout
+
+\begin_layout Standard
+Note that it may be necessary to specify the name of the MPI library itself
+ in 
+\family typewriter
+LDFLAGS
+\family default
+ using the 
+\family typewriter
+-l
+\family default
+ compiler option.
+ If a library name is not given -- or if the given option doesn't work --
+ 
+\family typewriter
+configure
+\family default
+ will automatically try linking using 
+\family typewriter
+-lmpi
+\family default
+ and, if that fails, 
+\family typewriter
+-lmpich
+\family default
+.
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:HDF5-Configuration}
+
+\end_inset
+
+HDF5 Configuration (optional)
+\end_layout
+
+\begin_layout Standard
+For writing its output in binary format, CitComS requires parallel HDF5
+ (PHDF5).
+ In turn, PHDF5 requires an MPI compiler with MPI-IO support and a parallel
+ file system.
+ If an existing installation of the PHDF5 library is not available on your
+ cluster, you can compile it from source by following the instructions in
+ the file release docs/INSTALL parallel under the HDF5 source tree.
+ Under Debian Linux, you may simply install the 
+\family typewriter
+libhdf5-mpich
+\family default
+, 
+\family typewriter
+libhdf5-mpich-dev
+\family default
+ and 
+\family typewriter
+hdf5-tools
+\family default
+ packages.
+\end_layout
+
+\begin_layout Standard
+By default, CitComS will attempt to auto-detect your PHDF5 installation,
+ and will disable HDF5 support if it is not found.
+ You may explicitly specify the location of your PHDF5 installation by setting
+ the PHDF5_HOME environment variable to the appropriate installation prefix.
+\end_layout
+
+\begin_layout LyX-Code
+$ export PHDF5_HOME=/opt/phdf5/1.6.5
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure --with-hdf5 --prefix=$HOME/cig
+\end_layout
+
+\begin_layout Subsection
+Additional Tools
+\end_layout
+
+\begin_layout Standard
+While the following software is not necessary for the normal operation of
+ CitComS, you may find it useful for accessing CitComS data in HDF5 files.
+\end_layout
+
+\begin_layout Subsubsection
+NumPy
+\end_layout
+
+\begin_layout Standard
+NumPy is an extension to Python which adds support for multi-dimensional
+ arrays for use in scientific computing.
+ You may download NumPy from the 
+\begin_inset LatexCommand \htmlurl[NumPy home page]{numpy.scipy.org}
+
+\end_inset
+
+.
+ To compile and install this extension, download it and issue the following
+ commands:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd numpy-1.0.x
+\end_layout
+
+\begin_layout LyX-Code
+$ python setup.py install --prefix=$HOME/cig
+\end_layout
+
+\begin_layout Standard
+Alternatively, under Debian Linux you can install the 
+\family typewriter
+python-numpy
+\family default
+ package.
+ On Gentoo Linux, NumPy is available in the 
+\family typewriter
+dev-python/numpy
+\family default
+ ebuild.
+\end_layout
+
+\begin_layout Subsubsection
+PyTables
+\end_layout
+
+\begin_layout Standard
+PyTables is an extension to Python and can expose HDF5 array datasets as
+ Python NumPy arrays.
+ It is available at 
+\begin_inset LatexCommand \htmlurl[PyTables]{www.pytables.org}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+To compile and install this extension, download it and issue the following
+ commands:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd pytables-2.0.x
+\end_layout
+
+\begin_layout LyX-Code
+$ python setup.py install --prefix=$HOME/cig
+\end_layout
+
+\begin_layout Standard
+To install on Debian Linux, you may use the 
+\family typewriter
+python-tables
+\family default
+ package instead.
+ On Gentoo Linux, it is available in the 
+\family typewriter
+dev-python/pytables
+\family default
+ ebuild.
+\end_layout
+
+\begin_layout Subsubsection
+HDFView
+\end_layout
+
+\begin_layout Standard
+HDFView is a visual tool written in Java for browsing and editing HDF5 files.
+ You may download it from the 
+\begin_inset LatexCommand \htmlurl[HDFView home page]{hdf.ncsa.uiuc.edu/hdf-java-html/hdfview}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsubsection
+\begin_inset LatexCommand \label{sub:OpenDXutils}
+
+\end_inset
+
+OpenDXutils
+\end_layout
+
+\begin_layout Standard
+In order to import HDF5 files into OpenDX, you need the OpenDXutils package
+ from the Cactus project.
+ Go to the 
+\begin_inset LatexCommand \url[OpenDXutils package website]{www.cactuscode.org/Visualization/openDX}
+
+\end_inset
+
+ and follow the instructions to download and install the package.
+ Note that you will need to set both 
+\family typewriter
+DXMODULES
+\family default
+ and 
+\family typewriter
+DXMDF
+\family default
+ environment variables before running OpenDX to load the package.
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Batch-System-Configuration}
+
+\end_inset
+
+Batch System Configuration
+\end_layout
+
+\begin_layout Standard
+If you are installing CitComS on a cluster with a batch system, you can
+ configure Pyre such that the 
+\family typewriter
+citcoms
+\family default
+ command automatically submits jobs to the batch queue.
+ Pyre contains support for the LSF, PBS, and Globus batch systems.
+\end_layout
+
+\begin_layout Standard
+The command to submit a batch job depends upon the particular batch system
+ used.
+ Further, the command used in a batch script to launch an MPI program varies
+ from one cluster to the next.
+ This command can vary between two clusters, even if the clusters use the
+ same batch system! On some systems, 
+\family typewriter
+mpirun
+\family default
+ is invoked directly from the batch script.
+ On others, a special wrapper is used instead.
+\end_layout
+
+\begin_layout Standard
+Properly configured, Pyre can handle job submission automatically, insulating
+ users from the details of the batch system and the site configuration.
+ This feature has the most value when the system administrator installs
+ a global Pyre configuration file on the cluster (under 
+\family typewriter
+/etc/pythia-0.8
+\family default
+), for the benefit of all users and all Pyre-based applications.
+\end_layout
+
+\begin_layout Standard
+For more information on configuring Pyre for your batch system, see CIG's
+ 
+\begin_inset LatexCommand \htmlurl[Pythia page]{www.geodynamics.org/cig/software/packages/cs/pythia}
+
+\end_inset
+
+.
+ For more information on batch system configuration as it pertains to running
+ CitcomS, see Section 
+\begin_inset LatexCommand \vref{sub:Launchers-and-Schedulers}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Installing-without-Pyre}
+
+\end_inset
+
+Installing without Pyre
+\end_layout
+
+\begin_layout Standard
+To build just the CitComS tools (or "drivers") from the legacy C code, give
+ 
+\family typewriter
+configure
+\family default
+ the 
+\family typewriter
+--without-pyre
+\family default
+ option:
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure --without-pyre
+\end_layout
+
+\begin_layout Standard
+The only system requirements for this configuration are an MPI library and
+ a C compiler.
+ The 
+\family typewriter
+make 
+\family default
+command will build two command-line tools, 
+\family typewriter
+CitcomSFull
+\family default
+ and 
+\family typewriter
+CitcomSRegional
+\family default
+, for running the full solver and the regional solver, respectively.
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Software-Repository}
+
+\end_inset
+
+Installing from the Software Repository
+\end_layout
+
+\begin_layout Standard
+The CitComS source code is available via a Subversion server at the 
+\begin_inset LatexCommand \htmlurl[Geodynamics website]{www.geodynamics.org}
+
+\end_inset
+
+.
+ This allows users to view the revision history of the code, and check out
+ the most recent development version of the software.
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+NOTE: 
+\series default
+If you are content with the prepared source package, you should skip this
+ section.
+\end_layout
+
+\begin_layout Subsection
+Tools You Will Need
+\end_layout
+
+\begin_layout Standard
+In addition to the usual system requirements, you will need a handful of
+ additional development tools installed in order to work with the source
+ from the CIG software repository.
+\end_layout
+
+\begin_layout Standard
+First, you must have a Subversion client installed.
+ To check, type 
+\family typewriter
+svn
+\family default
+; it should return a usage message.
+\end_layout
+
+\begin_layout LyX-Code
+$ svn
+\end_layout
+
+\begin_layout LyX-Code
+Type 'svn help' for usage.
+\end_layout
+
+\begin_layout Standard
+For more information on Subversion, visit the 
+\begin_inset LatexCommand \htmlurl[Subversion website]{subversion.tigris.org}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Second, you must have the GNU tools Autoconf, Automake, and Libtool installed.
+ To check, enter the following commands:
+\end_layout
+
+\begin_layout LyX-Code
+$ autoconf --version
+\end_layout
+
+\begin_layout LyX-Code
+$ automake --version
+\end_layout
+
+\begin_layout LyX-Code
+$ libtoolize --version
+\end_layout
+
+\begin_layout Standard
+For more information about these GNU tools, see the 
+\begin_inset LatexCommand \htmlurl[GNU website]{www.gnu.org/software}
+
+\end_inset
+
+.
+ The CitComS v2.1.0 source package was created with Autoconf 2.59, Automake
+ 1.9.2, and Libtool 1.5.6.
+\end_layout
+
+\begin_layout Subsection
+Download Source from Subversion
+\end_layout
+
+\begin_layout Standard
+To check out the latest version of the software, use the 
+\family typewriter
+svn checkout
+\family default
+ command:
+\end_layout
+
+\begin_layout LyX-Code
+$ svn checkout http://geodynamics.org/svn/cig/mc/3D/CitcomS/trunk CitcomS
+\end_layout
+
+\begin_layout Standard
+This will create the local directory 
+\family typewriter
+CitcomS
+\family default
+ (if it doesn't already exist) and fill it with the latest CitcomS source
+ from the CIG software repository.
+\end_layout
+
+\begin_layout Standard
+The CitcomS directory thus created is called a 
+\emph on
+working copy
+\emph default
+.
+ To merge the lastest changes into an existing working copy, use the 
+\family typewriter
+svn update
+\family default
+ command:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd CitcomS
+\end_layout
+
+\begin_layout LyX-Code
+$ svn update
+\end_layout
+
+\begin_layout Standard
+This will preserve any local changes you have made to your working copy.
+\end_layout
+
+\begin_layout Subsection
+Generating the GNU Build System
+\end_layout
+
+\begin_layout Standard
+Your working directory should now contain a fresh checkout of CitcomS:
+\end_layout
+
+\begin_layout LyX-Code
+$ ls
+\end_layout
+
+\begin_layout LyX-Code
+CitcomS
+\end_layout
+
+\begin_layout LyX-Code
+$
+\end_layout
+
+\begin_layout Standard
+But before you can run 
+\family typewriter
+configure
+\family default
+ or 
+\family typewriter
+make
+\family default
+, you must generate the necessary files using the GNU tools.
+ The easiest way to do this is to run 
+\family typewriter
+autoreconf -i
+\family default
+:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd CitcomS
+\end_layout
+
+\begin_layout LyX-Code
+$ autoreconf -i
+\end_layout
+
+\begin_layout LyX-Code
+$ ./configure
+\end_layout
+
+\begin_layout LyX-Code
+$ make
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+autoreconf
+\family default
+ tool runs Autoconf to generate the 
+\family typewriter
+configure
+\family default
+ script from 
+\family typewriter
+configure.ac
+\family default
+.
+ It also runs Automake to generate 
+\family typewriter
+Makefile.in
+\family default
+ from 
+\family typewriter
+Makefile.am
+\family default
+ in each source directory.
+\end_layout
+
+\begin_layout Chapter
+Running CitComS.py
+\end_layout
+
+\begin_layout Section
+Using CitComS without Pyre
+\end_layout
+
+\begin_layout Standard
+When you build CitComS, two binary executables, 
+\family typewriter
+CitcomSRegional
+\family default
+ and 
+\family typewriter
+CitcomSFull
+\family default
+, are placed under the 
+\family typewriter
+bin
+\family default
+ directory.
+ These programs do not use Python or the Pyre framework (even if CitcomS
+ was configured to use the Pyre framework).
+ Each program has the same usage:
+\end_layout
+
+\begin_layout LyX-Code
+$ mpirun [mpi_options] CitcomSRegional inputfile
+\newline
+$ mpirun [mpi_options] CitcomSFu
+ll inputfile
+\end_layout
+
+\begin_layout Standard
+Two input file examples, one for a regional spherical model and one for
+ a full spherical model, are provided in the 
+\family typewriter
+examples/Regional
+\family default
+ and 
+\family typewriter
+examples/Full
+\family default
+ directories, respectively.
+ The meaning of the input parameters is described in Appendix 
+\begin_inset LatexCommand \vref{cha:Appendix-A:-Input}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Using CitComS with Pyre
+\end_layout
+
+\begin_layout Standard
+If you build CitComS.py with the Pyre framework, an additional executable,
+ 
+\family typewriter
+citcoms
+\family default
+, is placed under the 
+\family typewriter
+bin
+\family default
+ directory.
+ The 
+\family typewriter
+citcoms
+\family default
+ executable is a Python script used for running both the regional and full
+ spherical models using Pyre.
+ Executed without any command line options, 
+\family typewriter
+citcoms
+\family default
+ will run a regional model with default parameters.
+ It can also run a full spherical model if the correct parameters are set
+ (see Section 
+\begin_inset LatexCommand \vref{sec:Cookbook-1:-Global}
+
+\end_inset
+
+ for an example).
+\end_layout
+
+\begin_layout Standard
+On input, CitComS.py needs numerous parameters to be specified (see Appendix
+ 
+\begin_inset LatexCommand \vref{cha:Appendix-A:-Input}
+
+\end_inset
+
+ for full list).
+ All parameters have sensible default values.
+ Since you will likely want to specify the parameters of your CitComS.py
+ runs, you will need to alter both computational details (such as the number
+ of time steps) and controlling parameters specific to your problem (such
+ as the Rayleigh number).
+ These input parameters, or properties in the Pyre terminology, are grouped
+ under several Pyre components.
+\end_layout
+
+\begin_layout Standard
+Most of the properties you will set using CitComS.py have identical names
+ as the parameters for the old CitComS, which is described in Appendix 
+\begin_inset LatexCommand \ref{cha:Appendix-A:-Input}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Changing Parameters 
+\end_layout
+
+\begin_layout Standard
+There are several methods to set the input parameters for CitComS.py: via
+ the command line, or by using a configuration file in 
+\family typewriter
+.cfg
+\family default
+ or 
+\family typewriter
+.pml
+\family default
+ format.
+\end_layout
+
+\begin_layout Subsection
+Using the Command Line
+\end_layout
+
+\begin_layout Standard
+Pyre uses the following syntax to change properties from the command line.
+ To change the value of a property of a component, use:
+\end_layout
+
+\begin_layout LyX-Code
+--[component].[property]=[value]
+\end_layout
+
+\begin_layout Standard
+Each component is attached to a facility, so the option above can also be
+ written as: 
+\end_layout
+
+\begin_layout LyX-Code
+--[facility].[property]=[value]
+\end_layout
+
+\begin_layout Standard
+Each facility has a default component attached to it.
+ A different component can be attached to a facility by:
+\end_layout
+
+\begin_layout LyX-Code
+--[facility]=[new_component] 
+\end_layout
+
+\begin_layout Subsection
+Using a 
+\family typewriter
+.cfg
+\family default
+ File
+\end_layout
+
+\begin_layout Standard
+Entering all those parameters via the command line involves the risk of
+ typographical errors, which can lead to undesired results.
+ You may find it easier to write a brief a 
+\family typewriter
+.cfg
+\family default
+ input file that contains the parameters.
+ This file has a format similar to a Windows INI file.
+ The file is composed of one or more sections which are formatted as follows:
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.component1.component2]
+\newline
+# this is a comment
+\newline
+property1 = value1
+\newline
+property2
+ = value2  ; this is another comment
+\end_layout
+
+\begin_layout Standard
+We strongly recommend that you use 
+\family typewriter
+.cfg
+\family default
+ files for your work.
+ The files are syntax-colored by the 
+\family typewriter
+vim
+\family default
+ editor.
+ (Upon termination of each run, all of the parameters are logged in a 
+\family typewriter
+.cfg
+\family default
+ file.)
+\end_layout
+
+\begin_layout Subsection
+Using a 
+\family typewriter
+.pml
+\family default
+ File
+\end_layout
+
+\begin_layout Standard
+A 
+\family typewriter
+.pml
+\family default
+ file is an XML file that specifies parameter values in a highly structured
+ format.
+ It is composed of nested sections which are formatted as follows:
+\end_layout
+
+\begin_layout LyX-Code
+<component name='component1'>
+\newline
+    <component name='component2'>
+\newline
+        <property
+ name='property1'>value1</property>
+\newline
+        <property name='property2'>value2</pr
+operty>
+\newline
+    </component>
+\newline
+</component>
+\end_layout
+
+\begin_layout Standard
+XML files are intended to be read and written by machines, not edited manually
+ by humans.
+ The 
+\family typewriter
+.pml
+\family default
+ file format is intended for applications in which CitcomS input files are
+ generated by another program; for example, a GUI, web application, or a
+ high-level structured editor.
+ This file fomat will not be discussed further here.
+ But if you are interested in using 
+\family typewriter
+.pml
+\family default
+ files, note that 
+\family typewriter
+.pml
+\family default
+ files and 
+\family typewriter
+.cfg
+\family default
+ files can be used interchangeably: in the following discussion, a file
+ with a 
+\family typewriter
+.pml
+\family default
+ extension can be substituted anywhere a 
+\family typewriter
+.cfg
+\family default
+ file can be used.
+\end_layout
+
+\begin_layout Subsection
+Specfication and Placement of Configuration Files
+\end_layout
+
+\begin_layout Standard
+Configuration files may be specified on the command line:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms example.cfg
+\end_layout
+
+\begin_layout Standard
+In addition, the Pyre framework searches for configuration files named 
+\family typewriter
+CitcomS.cfg
+\family default
+ in several predefined locations.
+ You may put settings in any or all of these locations, depending on the
+ scope you want the settings to have:
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+PREFIX/etc/CitcomS.cfg
+\family default
+, for system-wide settings;
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+$HOME/.pyre/CitcomS.cfg
+\family default
+, for user settings and preferences;
+\end_layout
+
+\begin_layout Enumerate
+the current directory (
+\family typewriter
+./CitcomS.cfg
+\family default
+), for local overrides.
+ 
+\end_layout
+
+\begin_layout Standard
+Parameters given directly on the command line will override any input contained
+ in a configuration file.
+ Configuration files given on the command line override all others.
+ The 
+\family typewriter
+CitcomS.cfg
+\family default
+ files placed in (3) will override those in (2), (2) overrides (1), and
+ (1) overrides only the built-in defaults.
+\end_layout
+
+\begin_layout Section
+Coordinate System and Mesh
+\end_layout
+
+\begin_layout Standard
+In general, CitComS uses meshes that are regular, although considerable
+ flexibility exists for grid refinement in the regional models.
+ In regional meshes, 
+\emph on
+theta
+\emph default
+ (or x) is the colatitude measured from the north pole, 
+\emph on
+fi
+\emph default
+ (or y) is the east longitude, and z is the radius.
+ 
+\emph on
+theta
+\emph default
+ and 
+\emph on
+fi
+\emph default
+ are in units of radians.
+ Figure 
+\begin_inset LatexCommand \ref{fig:Global-Node-Numbering.}
+
+\end_inset
+
+ shows the organization of the mesh in a regional problem.
+ The numbering of the nodes is z-direction first, then x-direction, then
+ y-direction.
+ This numbering convention is used for the input and output data.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status collapsed
+
+\begin_layout Description
+\begin_inset Graphics
+	filename graphics/c_fig3.jpg
+	lyxscale 75
+	width 75page%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Global-Node-Numbering.}
+
+\end_inset
+
+Global Node Numbering.
+ Left: Global node numbering starts at the base of arrow A (theta_min, fi_min,
+ radius_inner), and advances from 1 at the base to 
+\emph on
+nodez
+\emph default
+ at the tip.
+ Upon reaching the tip, numbering continues from the base of arrow B (
+\emph on
+nodez
+\emph default
++1) to its tip (2 
+\emph on
+nodez
+\emph default
+), and so on for all nodes on the plane fi = fi_min.
+ Right: After completing each theta radius plane, the fi index is incremented
+ and numbering commences from (theta_min, radius_inner) as on the left.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Uniprocessor Example
+\end_layout
+
+\begin_layout Standard
+CitComS runs similarly in full spherical or regional modes.
+ For the purpose of this example, you will perform a test run of the regional
+ version on a workstation.
+ Execute the following on the command line:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms --steps=10 --controller.monitoringFrequency=5 
+\backslash
+
+\newline
+--solver.datafile=example0 --solver.mesher.nodex=17 --solver.mesher.nodey=17
+\end_layout
+
+\begin_layout Standard
+This runs a default convection problem in a regional domain for 10 time
+ steps and with a mesh of 17 
+\begin_inset Formula $\times$
+\end_inset
+
+ 17 
+\begin_inset Formula $\times$
+\end_inset
+
+ 9 nodal points.
+ The model results are writen to files 
+\family typewriter
+example0.*
+\family default
+ with an interval of 5 time steps.
+ 
+\end_layout
+
+\begin_layout Standard
+Instead of writing the input parameters on the command line, you can put
+ them in a 
+\family typewriter
+.cfg
+\family default
+ file.
+ The CitComS.py source package contains an 
+\family typewriter
+examples
+\family default
+ directory (the 
+\family typewriter
+make install
+\family default
+ command installs the examples under 
+\family typewriter
+PREFIX/share/CitcomS/examples
+\family default
+, where 
+\family typewriter
+PREFIX
+\family default
+ is the CitcomS installation directory).
+ In this directory, you will find a configuration file equivalent the previous
+ example: 
+\family typewriter
+example0.cfg
+\family default
+.
+ You can run the model using:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example0.cfg
+\end_layout
+
+\begin_layout Subsubsection
+Example: Uniprocessor, example0.cfg
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+steps = 5
+\newline
+
+\newline
+[CitcomS.controller]
+\newline
+monitoringFrequency = 1
+\newline
+
+\newline
+[CitcomS.solver]
+\newline
+dataf
+ile = example0
+\newline
+
+\newline
+[CitcomS.solver.mesher]
+\newline
+nprocx = 1
+\newline
+nprocy = 1
+\newline
+nodex =  9
+\newline
+nodey =
+  9
+\newline
+nodez =  9
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Multiprocessor-Example}
+
+\end_inset
+
+Multiprocessor Example
+\end_layout
+
+\begin_layout Standard
+In order to run this example, you should be on a Beowulf cluster with four
+ or more processors, or on a supercomputer; and you should be in the directory
+ in which the input file is located, in this case, the 
+\family typewriter
+examples
+\family default
+ directory.
+ CitComS.py has been extensively used on both environments, using up to several
+ hundred processors.
+ How to run a multiprocessor CitComS.py model depends on your hardware and
+ software settings, e.g., whether a batch system is used, what the names of
+ the computers in a cluster are, and how the file system is organized.
+ This section will lead you through the different settings of a parallel
+ environment.
+ 
+\end_layout
+
+\begin_layout Subsubsection
+Example: Multiprocessor, 
+\family typewriter
+example1.cfg 
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+steps = 71
+\newline
+
+\newline
+[CitcomS.controller]
+\newline
+monitoringFrequency = 10
+\newline
+
+\newline
+[CitcomS.solver]
+\newline
+dat
+afile = example1
+\newline
+
+\newline
+[CitcomS.solver.mesher]
+\newline
+nprocx =  2
+\newline
+nprocy =  2
+\newline
+nodex  = 17
+\newline
+nodey
+  = 17
+\newline
+nodez  =  9                                                      
+                          
+\end_layout
+
+\begin_layout Standard
+This example uses 2 processors in colatitude (x-coordinate), 2 in longitude
+ (y-direction), and 1 in the radial (z-direction), i.e., it uses 4 processors
+ in total.
+ In addition, there will be 17 nodes in x (theta), 17 nodes in y (fi), and
+ 9 nodes in z (radius_inner).
+ The model will run for 71 time steps and the code will output the results
+ every 10 time steps.
+\end_layout
+
+\begin_layout Standard
+It is important to realize that within the example script (and in finite
+ element method, FEM) the term "node" refers to the mesh points defining
+ the corners of the elements.
+ In 
+\family typewriter
+example1.cfg
+\family default
+, this is indicated with:
+\end_layout
+
+\begin_layout LyX-Code
+nodex  = 17
+\newline
+nodey  = 17
+\newline
+nodez  =  9 
+\end_layout
+
+\begin_layout Standard
+These quantities refer to the total number of FEM nodes in a given direction
+ for the complete problem, and for the example it works out that within
+ a given processor there will be 9 
+\begin_inset Formula $\times$
+\end_inset
+
+ 9 
+\begin_inset Formula $\times$
+\end_inset
+
+ 9 nodes.
+ Note that in the x-direction (or y) that for the entire problem there are
+ 17 nodes and there is one node shared between two processors.
+ This shared node is duplicated in two adjacent processors.
+ Unfortunately, "nodes" sometimes also refer to the individual computers
+ which make up a Beowulf cluster or supercomputer.
+ In the example scripts, this is indicated with:
+\end_layout
+
+\begin_layout LyX-Code
+nprocx =  2
+\newline
+nprocy =  2
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status collapsed
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook2.eps
+	width 50page%
+	keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Computational Domain.
+ Map view on the configuration of the top layer of the computational nodes
+ and the processors.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Output Directories and Output Formats
+\end_layout
+
+\begin_layout Standard
+CitComS.py potentially generates a large number of ASCII files.
+ This means that you will have to organize your directories carefully when
+ running CitComS.py so that you can manage these files as well as use a post-proc
+essing program contained in this distribution.
+ 
+\end_layout
+
+\begin_layout Standard
+How to best manage this large output depends on whether you will use a local
+ file system or a parallel file system.
+ For example, if you have a local hard disk on every machine (node) on a
+ Beowulf cluster, with each hard disk mounted locally to the machine, this
+ scenario is referred to as a local file system in this section.
+ Or you might use some kind of parallel file system on your computer (e.g.,
+ NFS, GPFS, PVFS, to name a few), which is mounted on all of the nodes.
+ Usually your home directory is mounted on the parallel file system.
+ The local file system is usually more cost- and time-efficient than the
+ parallel file system.
+ 
+\end_layout
+
+\begin_layout Standard
+If you want CitComS.py to write its output to the local hard disks, you need
+ to have a common directory structure on all of the local hard disks.
+ For example, if the directory 
+\family typewriter
+/scratch
+\family default
+ exists on all local hard disks, you can run the example script with:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example1.cfg
+\family default
+ --solver.datadir=/scratch
+\end_layout
+
+\begin_layout Standard
+The additional command line option will override the 
+\family typewriter
+datadir
+\family default
+ property, which specifies the output directory.
+ The output files are then placed in 
+\family typewriter
+/scratch
+\family default
+ on each individual machine with a filename prefix 
+\family typewriter
+example1.
+\end_layout
+
+\begin_layout Standard
+However, if the output directory name on each local hard disk depends on
+ the machine hostname, you can run the example script with:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example1.cfg
+\family default
+ --solver.datadir=/scratch_%HOSTNAME
+\end_layout
+
+\begin_layout Standard
+The special string 
+\family typewriter
+%HOSTNAME
+\family default
+ will be substituted by the hostname of each machine.
+ As the final example for a local file system, you can specify an arbitrary
+ output directory for each machine.
+ To do so, you must write a program to be executed on each machine which
+ will print the output directory.
+ The program must be named 
+\family typewriter
+citcoms_datadir
+\family default
+ and must reside on your path.
+ An example of 
+\family typewriter
+citcoms_datadir
+\family default
+ can be found in the 
+\family typewriter
+visual/
+\family default
+ directory.
+ Then you can run the example script with:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example1.cfg
+\family default
+ --solver.datadir=%DATADIR
+\end_layout
+
+\begin_layout Standard
+The special string 
+\family typewriter
+%DATADIR
+\family default
+ will be substituted by the output of 
+\family typewriter
+citcoms_datadir
+\family default
+ for each machine.
+\end_layout
+
+\begin_layout Standard
+If you want CitComS.py to write its output to a parallel file system, you
+ have several choices.
+ You can run the example script as follows (substitute 
+\family typewriter
+\emph on
+username
+\family default
+\emph default
+ with your own username):
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example1.cfg
+\family default
+ --solver.datadir=/home/
+\emph on
+username
+\end_layout
+
+\begin_layout Standard
+The output files are then placed in your home directory with a filename
+ prefix 
+\family typewriter
+example1
+\family default
+.
+ A potential problem with this approach is that the directory 
+\family typewriter
+/home/
+\emph on
+username
+\family default
+\emph default
+ will be flooded with hundreds of files, perhaps even tens of thousands
+ of files if you are running a model using several tens of processors for
+ thousands of time steps.
+ Alternatively you can have each machine write its output to its own directory,
+ according to its MPI rank.
+ You can run the example script with:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example1.cfg
+\family default
+ --solver.datadir=/home/
+\emph on
+username
+\emph default
+/%RANK
+\end_layout
+
+\begin_layout Standard
+The special string 
+\family typewriter
+%RANK
+\family default
+ will be substituted by the MPI rank of each processor.
+ You will see four new directories 
+\family typewriter
+/home/
+\emph on
+username
+\emph default
+/0
+\family default
+, 
+\family typewriter
+/home/
+\emph on
+username
+\emph default
+/1
+\family default
+, 
+\family typewriter
+/home/
+\emph on
+username
+\emph default
+/2
+\family default
+, and 
+\family typewriter
+/home/
+\emph on
+username
+\emph default
+/3
+\family default
+.
+ The processor of MPI rank 0 will write its output in 
+\family typewriter
+/home/
+\emph on
+username
+\emph default
+/0
+\family default
+ with a filename prefix 
+\family typewriter
+example1
+\family default
+ (defined by the property 
+\family typewriter
+datafile
+\family default
+ inside 
+\family typewriter
+example1.cfg
+\family default
+) and so on.
+ 
+\end_layout
+
+\begin_layout Standard
+The last choice is the most powerful one.
+ Instead of writing many ASCII files, CitComS.py can write its result into
+ a single HDF5 (Hierarchical Data Format) file.
+ The HDF5 file takes less disk space than all the ASCII files combined and
+ doesn't require additional post-processing to be visualized in OpenDX.
+ In order to use this feature, you must compile CitComS.py with the parallel
+ HDF5 library if you haven't done so already (see Section 
+\begin_inset LatexCommand \vref{sec:HDF5-Configuration}
+
+\end_inset
+
+).
+ You can run the example script with:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms 
+\family typewriter
+example1.cfg
+\family default
+ --solver.datadir=/home/
+\emph on
+username
+\emph default
+ 
+\backslash
+
+\newline
+--solver.output.output_format=hdf5
+\end_layout
+
+\begin_layout Standard
+The output files will be stored in 
+\family typewriter
+/home/
+\emph on
+username
+\emph default
+/ 
+\family default
+with a filename prefix 
+\family typewriter
+example1 
+\family default
+and a filename suffix 
+\family typewriter
+h5
+\family default
+.
+ See Chapter 
+\begin_inset LatexCommand \ref{cha:Working-with-HDF5}
+
+\end_inset
+
+ for more information on how to work with the HDF5 output.
+\end_layout
+
+\begin_layout Subsection
+\begin_inset LatexCommand \label{sub:Launchers-and-Schedulers}
+
+\end_inset
+
+Launchers and Schedulers
+\end_layout
+
+\begin_layout Standard
+If you have used MPI before, you know that 
+\family typewriter
+mpirun
+\family default
+ requires several command line options to launch a parallel job.
+ Or if you have used one of the batch systems, you will know that the batch
+ system requires you to write a script to launch a job.
+ Fortunately, launching a parallel CitComS.py job is simplified by Pyre's
+ 
+\family typewriter
+launcher
+\family default
+ and 
+\family typewriter
+scheduler
+\family default
+ facilities.
+ Many properties associated with 
+\family typewriter
+launcher
+\family default
+ and 
+\family typewriter
+scheduler
+\family default
+ are pertinent to the cluster you are on, and are best customized in a configura
+tion file.
+ Your personal CitcomS configuration file (
+\family typewriter
+~/.pyre/CitcomS/CitcomS.cfg
+\family default
+) is suitable for this purpose.
+ On a cluster, the ideal setup is to install a system-wide configuration
+ file under 
+\family typewriter
+/etc/pythia-0.8
+\family default
+, for the benefit of all users.
+\end_layout
+
+\begin_layout Standard
+Pyre's 
+\family typewriter
+scheduler
+\family default
+ facility is used to specify the type of batch system you are using (if
+ any):
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\end_layout
+
+\begin_layout LyX-Code
+scheduler = lsf
+\end_layout
+
+\begin_layout Standard
+The valid values for 
+\family typewriter
+scheduler
+\family default
+ are 
+\family typewriter
+lsf
+\family default
+, 
+\family typewriter
+pbs
+\family default
+, 
+\family typewriter
+globus
+\family default
+, and 
+\family typewriter
+none
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+Pyre's 
+\family typewriter
+launcher
+\family default
+ facility is used to specify which MPI implementation you are using:
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\end_layout
+
+\begin_layout LyX-Code
+launcher = mpich
+\end_layout
+
+\begin_layout Standard
+The valid values for 
+\family typewriter
+launcher
+\family default
+ include 
+\family typewriter
+mpich
+\family default
+ and 
+\family typewriter
+lam-mpi
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+You may find the 
+\family typewriter
+dry
+\family default
+ option useful while debugging the 
+\family typewriter
+launcher
+\family default
+ and 
+\family typewriter
+scheduler
+\family default
+ configuration.
+ To debug the scheduler configuration, use the 
+\family typewriter
+--scheduler.dry
+\family default
+ option:
+\end_layout
+
+\begin_layout LyX-Code
+citcoms --scheduler.dry
+\end_layout
+
+\begin_layout Standard
+This option will cause CitComS to perform a "dry run," dumping the batch
+ script to the console, instead of actually submitting it for execution
+ (the output is only meaningful if you're using a batch system).
+ Likewise, to debug the launcher configuration, use the 
+\family typewriter
+--launcher.dry
+\family default
+ option:
+\end_layout
+
+\begin_layout LyX-Code
+citcoms --launcher.dry
+\end_layout
+
+\begin_layout Standard
+This option will cause CitcomS to print the 
+\family typewriter
+mpirun
+\family default
+ command, instead of actually executing it.
+ (If you're using a batch system, a job will be submitted for execution;
+ when it runs, CitcomS will simply print the 
+\family typewriter
+mpirun
+\family default
+ command, and the job will immediately terminate.)
+\end_layout
+
+\begin_layout Subsubsection
+Running without a Batch System
+\end_layout
+
+\begin_layout Standard
+On a cluster without a batch system, you need to explicitly specify the
+ machines on which the job will run.
+ Supposing the machines on your cluster are named n001, n002, \SpecialChar \ldots{}
+, etc., but
+ you want to run the job on machines n001, n003, n004, and n005 (maybe n002
+ is down for the moment).
+ To run the example, create a file named 
+\family typewriter
+mymachines.cfg
+\family default
+ which specifies the machines to use:
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.launcher]
+\end_layout
+
+\begin_layout LyX-Code
+nodegen = n%03d
+\end_layout
+
+\begin_layout LyX-Code
+nodelist = [1,3-5]
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+nodegen
+\family default
+ property is a printf-style format string, used in conjunction with 
+\family typewriter
+nodelist
+\family default
+ to generate the list of machine names.
+ The 
+\family typewriter
+nodelist
+\family default
+ property is a comma-separated list of machine names in square brackets.
+\end_layout
+
+\begin_layout Standard
+Now, invoke the following:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms example1.cfg mymachines.cfg
+\end_layout
+
+\begin_layout Standard
+This strategy gives you the flexibility to create an assortment of 
+\family typewriter
+.cfg
+\family default
+ files (with one 
+\family typewriter
+.cfg
+\family default
+ file for each machine list) which can be easily paired with different parameter
+ files.
+\end_layout
+
+\begin_layout Standard
+If your machine list does not change often, you may find it more convenient
+ to specify default values for 
+\family typewriter
+nodegen
+\family default
+ and 
+\family typewriter
+nodelist
+\family default
+ in 
+\family typewriter
+~/.pyre/CitcomS/CitcomS.cfg
+\family default
+ (which is read automatically).
+ Then, you can run any simulation with no additional arguments:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms example1.cfg
+\end_layout
+
+\begin_layout Standard
+This assumes your machine list has enough nodes for the simulation in question,
+ of course!
+\end_layout
+
+\begin_layout Standard
+You will notice that a machine file 
+\family typewriter
+mpirun.nodes
+\family default
+ is generated.
+ It will contain a list of the nodes where CitComS.py has run.
+ Save the machine file as it will be useful in the postprocessing step.
+\end_layout
+
+\begin_layout Subsubsection
+Using a Batch System
+\end_layout
+
+\begin_layout Standard
+The settings which are important when using batch system are summarized
+ in the sample configuration file which follows.
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\end_layout
+
+\begin_layout LyX-Code
+scheduler = lsf    ; the type of the installed batch system
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.lsf]
+\end_layout
+
+\begin_layout LyX-Code
+bsub-options = [-a mpich_gm]    ; special options for 'bsub'
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.launcher]
+\end_layout
+
+\begin_layout LyX-Code
+command = mpirun.lsf    ; 'mpirun' command to use on our cluster
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS.job]
+\end_layout
+
+\begin_layout LyX-Code
+queue = normal    ; default queue for jobs
+\end_layout
+
+\begin_layout Standard
+These settings are usually placed in 
+\family typewriter
+~/.pyre/CitcomS/CitcomS.cfg
+\family default
+ or a system-wide configuration file.
+ They can be overridden on the command line, where one typically specifies
+ the job name and the allotted time for the job:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms example1.cfg --job.queue=debug 
+\backslash
+
+\end_layout
+
+\begin_layout LyX-Code
+    --job.name=example1 --job.walltime=5*minute
+\end_layout
+
+\begin_layout Standard
+The number of nodes to allocate for the job is determined automatically
+ based upon the simulation parameters.
+\end_layout
+
+\begin_layout Subsection
+Monitoring Your Jobs
+\end_layout
+
+\begin_layout Standard
+Once launched, CitComS.py will print the progress of the model to the standard
+ error stream (stderr).
+ Usually, the stderr is directed to your terminal so that you can monitor
+ the progress.
+ On some system, the stderr is redirected to a file.
+ In any case, the progress is always saved in a log file.
+ The log file contains the convergence progress of the computation and,
+ if an error occurs, debugging output.
+ The time file contains the elapsed model time (in non-dimensional units)
+ and CPU time (in seconds) of every time step.
+ The format of the time file can be found in Appendix 
+\begin_inset LatexCommand \vref{cha:Appendix-C:-CitComS,}
+
+\end_inset
+
+.
+ The log and time files are output by the rank-0 processor only.
+ 
+\end_layout
+
+\begin_layout Standard
+Following your successful run, you will want to retrieve the output files
+ from all the nodes and process them so they can be visualized with the
+ visualization program OpenDX (see Chapter
+\begin_inset LatexCommand \vref{cha:Postprocessing-and-Graphics}
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Section
+Using CitComS.py on the TeraGrid
+\end_layout
+
+\begin_layout Standard
+The TeraGrid is an open scientific discovery infrastructure combining leadership
+ class resources at eight partner sites to create an integrated, persistent
+ computational resource.
+ The TeraGrid takes its name from two concepts from high-end computing:
+ "Tera" is the metric prefix for "trillions" as in teraflops (trillions
+ of calculations per second) and terabytes (trillions of bytes) and reflects
+ the scale of the computing power provided by the TeraGrid; the "Grid" portion
+ of TeraGrid reflects the idea of harnessing and using distributed computers,
+ data storage systems, networks, and other resources as if they were a single
+ massive system.
+ In other words, Grid computing uses software technologies to allow researchers
+ to create "virtual supercomputers" far larger than individual hardware
+ components.
+ Since TeraGrid software is based on commodity clusters, Linux/Unix, and
+ Globus, it should be easier to scale from a laboratory development environment
+ to a high-end environment in a straightforward manner which promotes applicatio
+n performance.
+ 
+\end_layout
+
+\begin_layout Standard
+Although the TeraGrid is a high-end resource, it was developed to be accessible
+ to the general community of scientists and engineers as a production facility.
+ TeraGrid accounts for small allocations are available directly from CIG.
+\end_layout
+
+\begin_layout Standard
+CitComS.py has already been installed and tested on several NSF TeraGrid
+ platforms, includes NCSA, SDSC and TACC.
+ To use CitComS.py on these machines, please log in to your TeraGrid account
+ and read the instructions at 
+\family typewriter
+$TG_COMMUNITY/CIG/CitcomS/TG_README
+\family default
+.
+ 
+\end_layout
+
+\begin_layout Chapter
+\begin_inset LatexCommand \label{cha:Working-with-HDF5}
+
+\end_inset
+
+Working with CitComS HDF5 Files
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+A typical run of CitComS can create thousands if not millions of ASCII output
+ files.
+ This situation is inefficient since it requires an extra post-processing
+ step for assembling the results from each processor (see Chapter 
+\begin_inset LatexCommand \ref{cha:Postprocessing-and-Graphics}
+
+\end_inset
+
+).
+ 
+\end_layout
+
+\begin_layout Standard
+The CitComS.py 2.1 release solves this problem for parallel file systems by
+ assembling a binary HDF5 file in parallel I/O mode.
+ 
+\end_layout
+
+\begin_layout Section
+About HDF5
+\end_layout
+
+\begin_layout Standard
+HDF (Hierarchical Data Format) is a portable file format and software developed
+ at the 
+\begin_inset LatexCommand \htmlurl[National Center for Supercomputing Applications (NCSA)]{hdf.ncsa.uiuc.edu/HDF5}
+
+\end_inset
+
+.
+ It is designed for storing, retrieving, analyzing, visualizing, and converting
+ scientific data.
+ The current and most popular version is HDF5, which stores multi-dimensional
+ arrays together with ancillary data in a portable self-describing format.
+ It uses a hierarchical structure that provides application programmers
+ with a host of options for organizing how data is stored in HDF5 files.
+\end_layout
+
+\begin_layout Standard
+HDF5 files are organized in a hierarchical structure, similar to a UNIX
+ file system.
+ Two types of primary objects, groups and datasets, are stored in this structure.
+ A group contains instances of zero or more groups or datasets, while a
+ dataset stores a multi-dimensional array of data elements.
+ Both kinds of objects are accompanied by supporting metadata.
+\end_layout
+
+\begin_layout Standard
+A dataset is physically stored in two parts: a header and a data array.
+ The header contains miscellaneous metadata describing the dataset as well
+ as information that is needed to interpret the array portion of the dataset.
+ Essentially, it includes the name, datatype, dataspace, and storage layout
+ of the dataset.
+ The name is a text string identifying the dataset.
+ The datatype describes the type of the data array elements.
+ The dataspace defines the dimensionality of the dataset, i.e., the size and
+ shape of the multi-dimensional array.
+ The dimensions of a dataset can be either fixed or unlimited (extensible).
+ The storage layout specifies how the data arrays are arranged in the file.
+\end_layout
+
+\begin_layout Standard
+The data array contains the values of the array elements and can be either
+ stored together in a contiguous file space or split into smaller 
+\shape italic
+chunks
+\shape default
+ stored at any allocated location.
+ Chunks are defined as equally-sized multi-dimensional subarrays (blocks)
+ of the whole data array and each chunk is stored in a separate contiguous
+ file space.
+ Extensible datasets whose dimensions can grow are required to be stored
+ in chunks.
+ One dimension is increased by allocating new chunks at the end of the file
+ to cover the extension.
+\end_layout
+
+\begin_layout Standard
+HDF5 also supports access to portions (or selections) of a dataset by 
+\shape italic
+hyperslabs
+\shape default
+, which consist of a subarray or strided subarray of the multi-dimensional
+ dataset.
+ The selection is performed in the file dataspace for the dataset.
+ HDF5 also supports parallel I/O.
+ Parallel access is supported through MPI-IO.
+ The file and datasets are collectively created/opened by all participating
+ processes.
+ Each process accesses part of a dataset by defining its own file dataspace
+ for that dataset.
+ When accessing data, the data transfer property specifies whether each
+ process will perform independent I/O or all processes will perform collective
+ I/O.
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Data-Layout}
+
+\end_inset
+
+Data Layout
+\end_layout
+
+\begin_layout Standard
+Most of the output data from CitComS is specified at the nodes of a logically
+ cartesian grid and is therefore well represented by multi-dimensional arrays.
+ These data arrays consist of various parts, appearing in the following
+ order: First, time-dependent arrays are addressed by a time-dimension index
+ called a frame.
+ Next, a cap dimension is defined for addressing each of the CitComS caps,
+ followed by three spatial indices 
+\begin_inset Formula $(i,j,k)$
+\end_inset
+
+ in the case of 3D data, or two spatial indices 
+\begin_inset Formula $(i,j)$
+\end_inset
+
+ in the case of 2D surface data.
+ Finally, an additional dimension is provided for storing the components
+ of vector and tensor data.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float table
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Tabular
+<lyxtabular version="3" rows="25" columns="2">
+<features>
+<column alignment="left" valignment="top" leftline="true" width="0">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="0">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\series bold
+Dataset
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\series bold
+Shape
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/coord
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodex, nodey, nodez, 3)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/connectivity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(cap_elements, 8)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/velocity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, nodez, 3)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/temperature
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/viscosity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/pressure
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/stress
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, nodez, 6)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/surf/coord
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodex, nodey, 2)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/surf/velocity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, 2)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/surf/heatflux
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/surf/topography
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/botm/coord
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodex, nodey, 2)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/botm/velocity
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey, 2)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/botm/heatflux
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/botm/topography
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(frames, caps, nodex, nodey)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/horiz_avg/coord
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/horiz_avg/temperature
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/horiz_avg/velocity_xy
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+/horiz_avg/velocity_z
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\family typewriter
+(caps, nodez)
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Input Parameters
+\end_layout
+
+\begin_layout Standard
+To enable HDF5 output in CitComS, all you need to do is include the following
+ section in your 
+\family typewriter
+.cfg
+\family default
+ input file.
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+[CitcomS.solver.output]
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+output_format = hdf5
+\end_layout
+
+\begin_layout Standard
+Alternatively, you can specify the option 
+\family typewriter
+--solver.output.output_format=hdf5
+\family default
+ on the command line.
+ The resulting filename will simply consist of 
+\family typewriter
+.h5
+\family default
+ appended to the value of your specified 
+\family typewriter
+datafile
+\family default
+ input parameter.
+\end_layout
+
+\begin_layout Subsection
+Optimizing Parallel I/O
+\end_layout
+
+\begin_layout Standard
+There are several platform-dependent parameters used by the HDF5 library
+ and the underlying MPI-IO routines to optimize the performance of parallel
+ I/O.
+ The optimal values for these parameters may vary from file system to file
+ system.
+ Ideally, before compiling CitComS, the build procedure would configure
+ these parameters based on your platform.
+ 
+\end_layout
+
+\begin_layout Standard
+In order to facilitate the process of gathering I/O performance data from
+ a variety of parallel file systems such as GPFS, PVFS, IBRIX FusionFS,
+ etc., you can specify the following parameters in the CitComS input file.
+ You may use these to tune the performance of the parallel I/O on your system,
+ although in future versions of CitComS this might become unnecessary for
+ supported file systems.
+\end_layout
+
+\begin_layout Standard
+All values are assumed to be specified in bytes, unless otherwise indicated.
+\end_layout
+
+\begin_layout Enumerate
+MPI file hints for collective buffering file access.
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+cb_block_size
+\family default
+\size default
+: Target nodes will access data in chunks of this size.
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+cb_buffer_size
+\family default
+\size default
+: Specifies the total buffer space on each target node.
+ Set this parameter to a multiple of 
+\family typewriter
+\size small
+cb_block_size
+\family default
+\size default
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+HDF5 file access properties.
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+sieve_buf_size
+\family default
+\size default
+: Maximum size of data sieve buffer.
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+output_alignment
+\family default
+\size default
+: Alignment interval size in bytes.
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+output_alignment_threshold
+\family default
+\size default
+: Allocation requests above this size will be aligned on a memory address
+ that is a multiple of 
+\family typewriter
+\size small
+output_alignment
+\family default
+\size default
+.
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+cache_rdcc_nelmts
+\family default
+\size default
+: Maximum number of chunks that can be stored in the raw data chunk cache.
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+cache_rdcc_nbytes
+\family default
+\size default
+: Size of raw data chunk cache in bytes.
+\newline
+
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+For more details, you can refer to the following references: 
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+\begin_inset LatexCommand \htmlurl[MPI-2: Extensions to the Message-Passing Interface, section 9.2.8]{www-unix.mcs.anl.gov/mpi/mpi-standard/mpi-report-2.0/node182.htm}
+
+\end_inset
+
+
+\series default
+ provides a list of MPI-IO reserved file hints, also available in Section
+ 7.2.8 of the MPI-2 reference book.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+\begin_inset LatexCommand \htmlurl[HDF5 documentation]{hdf.ncsa.uiuc.edu/HDF5/doc/UG/08_TheFile.html}
+
+\end_inset
+
+
+\series default
+, Chapter 2, Section 7.3, contains a list of HDF5 file access properties.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+\begin_inset LatexCommand \htmlurl[HDF5 User's Guide: Data Caching]{hdf.ncsa.uiuc.edu/HDF5/doc/Caching.html}
+
+\end_inset
+
+
+\series default
+ offers a short explanation of raw data chunk caching.
+\end_layout
+
+\begin_layout Standard
+You should also refer to the documentation for your particular parallel
+ file system and check if there are any other MPI or HDF5 hints that could
+ improve your parallel I/O performance.
+\end_layout
+
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+
+\family roman
+Finally, here is an example section that would appear in a CitComS input
+ file:
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+[CitcomS.solver.output]
+\end_layout
+
+\begin_layout LyX-Code
+cb_block_size=1048576              # 1 MiB
+\end_layout
+
+\begin_layout LyX-Code
+cb_buffer_size=4194304             # 4 MiB
+\end_layout
+
+\begin_layout LyX-Code
+sieve_buf_size=1048576             # 1 MiB
+\end_layout
+
+\begin_layout LyX-Code
+output_alignment=262144            # 256 KiB
+\end_layout
+
+\begin_layout LyX-Code
+output_alignment_threshold=524288  # 512 KiB
+\end_layout
+
+\begin_layout LyX-Code
+cache_rdcc_nelmts=521
+\end_layout
+
+\begin_layout LyX-Code
+cache_rdcc_nbytes=1048576
+\end_layout
+
+\end_deeper
+\begin_layout LyX-Code
+
+\end_layout
+
+\begin_layout Section
+Accessing Data
+\end_layout
+
+\begin_layout Standard
+As previously indicated, HDF5 is a self-describing binary file format.
+ As such we can use a variety of tools to inspect the structure of an HDF5
+ file, as well as for retrieving data in any order.
+ To quickly inspect the structure of an HDF5 file, you can use the command
+ 
+\family typewriter
+h5ls
+\family default
+ which is included with the HDF5 software:
+\end_layout
+
+\begin_layout LyX-Code
+$ h5ls -r file.h5
+\end_layout
+
+\begin_layout Standard
+You can also recreate the ASCII combined cap format described in 
+\begin_inset LatexCommand \ref{sec:ASCII-Output}
+
+\end_inset
+
+ for specific time steps by using the command included in CitComS:
+\end_layout
+
+\begin_layout LyX-Code
+$ h5tocap file.h5 [frame1 [frame2 [...]]]
+\end_layout
+
+\begin_layout Subsection
+Python
+\end_layout
+
+\begin_layout Standard
+The small Python script 
+\family typewriter
+h5tocap.py
+\family default
+ provides a good example for using PyTables to access the data in an HDF5
+ file.
+ In PyTables, datasets can be retrieved from disk as NumPy arrays through
+ an array interface that avoids unnecessary copying of data by using hyperslabs,
+ and which takes advantage of Python's powerful array slice-indexing.
+\end_layout
+
+\begin_layout Standard
+For example, obtaining the node coordinates, temperature, and topography
+ values over the entire surface of the sphere for all time steps can be
+ done easily with the following code snippet:
+\end_layout
+
+\begin_layout LyX-Code
+import tables
+\end_layout
+
+\begin_layout LyX-Code
+h5file = tables.openFile('example.h5', 'r')
+\end_layout
+
+\begin_layout LyX-Code
+surface_coords = h5file.coord[0:12,:,:,-1,:]
+\end_layout
+
+\begin_layout LyX-Code
+surface_temperature = h5file.temperature[:,0:12,:,:,-1]
+\end_layout
+
+\begin_layout LyX-Code
+surface_topography = h5file.surf.topography[:,0:12,:,:]
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+(TODO 
+\begin_inset Quotes sld
+\end_inset
+
+if this is a specific example in the distribution, it is important to return
+ a back or forward
+\begin_inset Quotes srd
+\end_inset
+
+)
+\end_layout
+
+\begin_layout Standard
+In this case, the slice 
+\family typewriter
+0:12
+\family default
+ refers to all caps explicitly, while the empty slice 
+\begin_inset Quotes srd
+\end_inset
+
+
+\family typewriter
+:
+\family default
+
+\begin_inset Quotes sld
+\end_inset
+
+ refers to the entire extent of the corresponding dimension.
+ The values of 
+\family typewriter
+-1
+\family default
+ above refer to the last 
+\begin_inset Formula $z$
+\end_inset
+
+-index, which corresponds to the location of the surface nodes on each of
+ the caps.
+ Finally, note how both HDF5 datasets and groups are conveniently accessible
+ as Python attributes on the PyTables file object.
+\end_layout
+
+\begin_layout Standard
+For more details, refer to the documentation for 
+\begin_inset LatexCommand \htmlurl[PyTables]{www.pytables.org}
+
+\end_inset
+
+ and 
+\begin_inset LatexCommand \htmlurl[NumPy]{numpy.scipy.org}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+HDFView
+\end_layout
+
+\begin_layout Standard
+NCSA HDFView is a visual tool written for accessing HDF files.
+ You can use it for viewing the internal file hierarchy in a tree structure,
+ creating new files, adding or deleting groups and datasets, modifying existing
+ datasets.
+ (TODO:insert image 1 here).
+ HDFView is capable of displaying 2D slices of multi-dimensional datasets,
+ with an additional slider that can range over the entire extent of a third
+ dimension.
+ (TODO:insert image 2) here.
+\end_layout
+
+\begin_layout Chapter
+\begin_inset LatexCommand \label{cha:Postprocessing-and-Graphics}
+
+\end_inset
+
+Postprocessing and Graphics
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+Once you have run CitComS.py, you should have a series of output files (potential
+ly spread throughout the file systems of your Beowulf or on a set of directories
+ on your parallel file system).
+ You now have to retrieve and combine the data for the time step (or age)
+ of interest.
+ To visualize your results, it is recommended that you use the open source
+ Open Visualization Data Explorer, better known as OpenDX.
+ The software is available from the 
+\begin_inset LatexCommand \htmlurl[OpenDX website]{www.opendx.org}
+
+\end_inset
+
+.
+ If you are using Linux, OpenDX is usually available as package 
+\family typewriter
+dx
+\family default
+ or 
+\family typewriter
+opendx
+\family default
+ in your distribution.
+ If you are using Mac OS X, OpenDX is available via 
+\begin_inset LatexCommand \htmlurl[Fink]{fink.sourceforge.net}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Postprocessing on a Beowulf Cluster
+\end_layout
+
+\begin_layout Standard
+Generally, the results from your CitComS.py run will be distributed on disks
+ attached to individual nodes of your Beowulf cluster.
+ The output files are written in each node under the directory that you
+ specified as the 
+\family typewriter
+datadir
+\family default
+ property in the input file.
+ To examine those files, login to a node and change directories to the one
+ you specified with a prefix.
+ For example, if you set 
+\family typewriter
+datadir=/scratch/username
+\family default
+ and 
+\family typewriter
+datafile=test-case
+\family default
+ in your input file, then your output files will be written to 
+\family typewriter
+/scratch/username
+\family default
+ and will have the prefix 
+\family typewriter
+test-case
+\family default
+.
+ An example of a filename for the velocity output is 
+\family typewriter
+test-case.velo.2.10
+\family default
+ where 
+\family typewriter
+test-case
+\family default
+ is the model prefix, 
+\family typewriter
+velo
+\family default
+ means that this is a velocity data file, 
+\family typewriter
+2
+\family default
+ corresponds to the processor number (so it is output by the 2nd processor),
+ and 
+\family typewriter
+10
+\family default
+ corresponds to the time step.
+ 
+\end_layout
+
+\begin_layout Standard
+If your run used the time-dependent velocity boundary conditions (
+\family typewriter
+solver.param.file_vbcs=on
+\family default
+), the log file will also have a 
+\family typewriter
+current age
+\family default
+ field that lists the time step numbers and their corresponding times.
+ To choose an age to export for postprocessing, you have to find out which
+ time step corresponds to the age that interests you.
+\end_layout
+
+\begin_layout Standard
+When you execute a CitComS.py run, your input parameters will be saved in
+ a file 
+\family typewriter
+pidxxxxx.cfg
+\family default
+ where 
+\family typewriter
+xxxxx
+\family default
+ is usually a five-digit number for the process ID.
+ This file contains most of the input parameters, which can be useful for
+ archiving and postprocessing.
+ This file will be referred to as the 
+\family typewriter
+pidfile
+\family default
+ in this chapter.
+\end_layout
+
+\begin_layout Standard
+The output files of CitComS.py need to be postprocessed before you can do
+ the visualization.
+ There is a script that can postprocess (retrieve and combine) CitComS.py
+ output: 
+\family typewriter
+autocombine.py
+\family default
+.
+ The script will retrieve CitComS.py data to the current directory and combine
+ the output into a few files.
+\end_layout
+
+\begin_layout Standard
+Using 
+\family typewriter
+autocombine.py
+\family default
+, retrieve and combine data of time-step 10: 
+\end_layout
+
+\begin_layout LyX-Code
+$ autocombine.py mpirun.nodes pid12345.cfg 10 
+\end_layout
+
+\begin_layout Standard
+This reads the MPI machinefile (
+\family typewriter
+mpirun.nodes
+\family default
+) and the CitComS.py pidfile (
+\family typewriter
+pid12345.cfg
+\family default
+), then calls other scripts to do the actual job.
+ The general usage for 
+\family typewriter
+autocombine.py
+\family default
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+$ autocombine.py [machinefile] [pidfile] 
+\backslash
+
+\newline
+[step1] [step2 or more ...] 
+\end_layout
+
+\begin_layout Standard
+If your Beowulf cluster uses ssh (rather than rsh) to access the computation
+ nodes, you must manually edit 
+\family typewriter
+batchpaste.sh
+\family default
+ and replace 'rsh' with 'ssh' in the script.
+ 
+\end_layout
+
+\begin_layout Standard
+If all of your data resides in one directory (e.g., 
+\family typewriter
+/scratch/username
+\family default
+) on a parallel file system, postprocess your output files by following
+ the instructions in Section 
+\begin_inset LatexCommand \ref{sec:Postprocessing-in-a}
+
+\end_inset
+
+.
+ 
+\end_layout
+
+\begin_layout Standard
+Once 
+\family typewriter
+autocombine.py
+\family default
+ has run, you will have with 2 files (or 24 files for the full spherical
+ version of CitComS.py) formatted as follows: 
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+test-case.cap00.10
+\newline
+test-case.cap00.10.general
+\end_layout
+
+\begin_layout Standard
+The former file is the data file containing simulation results; its format
+ can be found in Appendix 
+\begin_inset LatexCommand \ref{cha:Appendix-C:-CitComS,}
+
+\end_inset
+
+.
+ The latter file is the OpenDX header for the data.
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Postprocessing-in-a}
+
+\end_inset
+
+Postprocessing in a Non-Cluster Environment
+\end_layout
+
+\begin_layout Standard
+If you run CitComS.py in a non-cluster environment or all of your data resides
+ in a single directory, you can still use 
+\family typewriter
+autocombine.py
+\family default
+ to combine the data.
+ In this case, the 
+\family typewriter
+machinefile
+\family default
+ is not needed and can be replaced by 
+\family typewriter
+localhost
+\family default
+, such as: 
+\end_layout
+
+\begin_layout LyX-Code
+$ autocombine.py localhost [pidfile] 
+\backslash
+
+\newline
+[step1] [step2 or more ...] 
+\end_layout
+
+\begin_layout Section
+Using OpenDX for Regional Sphere Visualization
+\end_layout
+
+\begin_layout Standard
+OpenDX modules designed for CitComS.py can be found in the source directory
+ called 
+\family typewriter
+visual
+\family default
+.
+ The optional 
+\family typewriter
+make install
+\family default
+ command installs the OpenDX modules under 
+\family typewriter
+PREFIX/share/CitcomS/visual
+\family default
+ (where 
+\family typewriter
+PREFIX
+\family default
+ defaults to 
+\family typewriter
+/usr/local
+\family default
+).
+\end_layout
+
+\begin_layout Standard
+In this example, you will use 
+\family typewriter
+visRegional.net
+\family default
+ to visualize the result of regional CitComS.py.
+ Launch OpenDX by typing: 
+\end_layout
+
+\begin_layout LyX-Code
+$ dx 
+\end_layout
+
+\begin_layout Standard
+You will see an OpenDX 
+\family sans
+Data Explorer
+\family default
+ window.
+ Click
+\series bold
+ 
+\family sans
+\series default
+Edit Visual Programs
+\family default
+ and select 
+\family typewriter
+visRegional.net
+\family default
+ from the file selector.
+ You will see a 
+\family sans
+Visual Program Editor
+\family default
+ window and double-click on the 
+\family sans
+FileSelector
+\family default
+ block, which will open a 
+\family sans
+Control Panel
+\family default
+ window.
+ In the 
+\family sans
+CitcomSImport filename
+\family default
+ input box, select the header file of your postprocessed data, e.g.,
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+regtest.cap00.100.general
+\end_layout
+
+\begin_layout Standard
+In the pull-down menu, select
+\family typewriter
+ 
+\family sans
+Execute\SpecialChar \menuseparator
+Execute on Change
+\family default
+.
+ A new window will appear with the image of the model.
+ If you want to zoom, rotate, change projection, and otherwise manipulate
+ the view of the model, experiment with the menu 
+\family sans
+Options\SpecialChar \menuseparator
+View Control
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status collapsed
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/c_fig5.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Regional Model Visualized with OpenDX.
+ A snapshot of an upwelling (blue isosurface) with a slice of the temperature
+ field (bisecting plane).
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Additional options in the control panel window for the regional model include:
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+CitcomSImport reduced
+\family default
+\series default
+ can increase or reduce the resolution of the velocity vectors and grids.
+ 
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Core radius
+\family default
+\series default
+ is the size of the orange sphere which represents the core-mantle boundary.
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Isosurface value
+\family default
+\series default
+ is the temperature isosurfaces.
+ You can change the values of the isosurfaces, including adding additional
+ isosurfaces or deleting existing ones.
+ 
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Slab cut dimension
+\family default
+\series default
+ is the direction of the slab (an OpenDX term for cross-section).
+ 
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Slab cut position
+\family default
+\series default
+ is the position of the slab.
+  
+\end_layout
+
+\begin_layout Standard
+You can change any of the parameters, visualization, or set-up by going
+ back to the main window and clicking on each tab.
+ If you click on each block, you will be able to change the settings for
+ that function.
+ 
+\end_layout
+
+\begin_layout Section
+Using OpenDX for Full Sphere Visualization
+\end_layout
+
+\begin_layout Standard
+After launching OpenDX, you will see an OpenDX 
+\family sans
+Data Explorer
+\family default
+ window.
+ Click 
+\family sans
+Edit Visual Programs
+\family default
+ and select 
+\family typewriter
+visFull.net
+\family default
+ from the file selector.
+ You will see a 
+\family sans
+Visual Program Editor
+\family default
+\series bold
+ 
+\series default
+window.
+ Select the 
+\family sans
+import
+\family default
+ tab in the 
+\family sans
+Visual Program Editor
+\family default
+'s main window and double-click on the 
+\family sans
+FileSelector
+\family default
+ block, which will open a 
+\family sans
+Control Panel
+\series bold
+ 
+\family default
+\series default
+window.
+ In the 
+\family sans
+Format String of CitcomSFullImport
+\family default
+ input box, select one of the 12 header files of your postprocessed data,
+ e.g.,
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+fulltest.cap00.100.general
+\end_layout
+
+\begin_layout Standard
+The results of a full spherical CitComS.py consist of 12 cap files.
+ In order to import the 12 cap files at the same time, edit the filename
+ with the cap number replaced by printf-styled format string 
+\family typewriter
+%02d
+\family default
+, e.g.,
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+fulltest.cap%02d.100.general
+\end_layout
+
+\begin_layout Standard
+In the pull-down menu, select
+\family typewriter
+ 
+\family sans
+Execute\SpecialChar \menuseparator
+Execute on Change
+\family default
+.
+ A new window will appear with the image of the model.
+ If you want to zoom, rotate, change projection, and otherwise manipulate
+ the view of the model, experiment with the menu 
+\family sans
+Options\SpecialChar \menuseparator
+View Control
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+Additional options in the control panel window for the spherical model include:
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+CitcomSFullImport reduced
+\family default
+\series default
+ can increase or reduce the resolution of the velocity vectors and grids.
+ 
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Core radius
+\family default
+\series default
+ is the size of the orange sphere which represents the core-mantle boundary.
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Isosurface value
+\family default
+\series default
+ is the temperature isosurfaces.
+ You can change the values of the isosurfaces, including adding additional
+ isosurfaces or deleting existing ones.
+ 
+\end_layout
+
+\begin_layout Itemize
+
+\family sans
+\series bold
+Latitude of normal axis
+\family default
+\series default
+ and 
+\family sans
+\series bold
+Longitude of normal axis
+\family default
+\series default
+ are the directions of the normal axis to the cross-section plane.
+\end_layout
+
+\begin_layout Section
+Using OpenDX for HDF5 Visualization
+\end_layout
+
+\begin_layout Standard
+If you use the HDF5 output format (
+\family typewriter
+solver.output.output_format=hdf5
+\family default
+), you can directly visualize the data without postprocessing.
+ First, you need to install and set up the OpenDXutils package (see Section
+ 
+\begin_inset LatexCommand \vref{sub:OpenDXutils}
+
+\end_inset
+
+).
+ Then, open either 
+\family typewriter
+visRegional.net
+\family default
+ or 
+\family typewriter
+visFull.net
+\family default
+ in OpenDX.
+ In the Tools panel of the main window, select the 
+\family sans
+CitcomSImportHDF5
+\family default
+ module in the 
+\family sans
+Macros
+\family default
+ category.
+ Place the module in the work space and rewire the network as shown in Figure
+ 
+\begin_inset LatexCommand \ref{fig:Import-CitComS.py-HDF5}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Graphics
+	filename graphics/CitcomSImportHDF5.net.gif
+	lyxscale 50
+	width 75page%
+	keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Import-CitComS.py-HDF5}
+
+\end_inset
+
+ How to import CitComS.py HDF5 data.
+ The 
+\family sans
+CitcomSImportHDF5
+\family default
+ module is highlighted in the Tools panel.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+There are four input tabs in the 
+\family sans
+CitcomSImportHDF5
+\family default
+ module.
+ The first tab (connected to the 
+\family sans
+FileSelector
+\family default
+ module) specifies the HDF5 filename.
+ The second tab (connected to the 
+\family sans
+Integer
+\family default
+ module) specifies the resultion reduction factor.
+ The third tab (unconnected, default to 0) specifies which time frame to
+ import.
+ The fourth tab (unconnected, default to 0) specifies which cap(s) to import.
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+TODO: GMT Scripts
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+TODO: MayaVi Scripts
+\end_layout
+
+\begin_layout Chapter
+Cookbooks
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+These cookbook examples are meant to serve as a guide to some of the types
+ of problems CitComS.py can solve.
+ Cookbook examples range from regional to full spherical shell problems
+ that address traditional mantle convection problems.
+ These cookbook examples are distributed with the package under the 
+\family typewriter
+examples
+\family default
+ directory.
+ However, you might need to edit these example scripts slightly to launch
+ the job on your cluster (see Section 
+\begin_inset LatexCommand \vref{sec:Multiprocessor-Example}
+
+\end_inset
+
+ for more information).
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Cookbook-1:-Global}
+
+\end_inset
+
+Cookbook 1: Global Model
+\end_layout
+
+\begin_layout Subsection
+Problem
+\end_layout
+
+\begin_layout Standard
+You would like to solve for thermal convection within a full spherical shell
+ domain.
+ The full spherical version of CitComS.py is designed to run on a cluster
+ that decomposes the spherical shell into 12 equal "caps" and then distributes
+ the calculation for caps onto separate processors.
+ To run CitComS.py with the full solver parameter set, it is recommended
+ that you have a minimum of 12 processors available on your cluster.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement h
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook1.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Global Model "Caps." Left (A): Three-dimensional perspective image showing
+ seven of the 12 spherical caps used in a full CitComS.py run.
+ Right (B): The temperature field at 1081 km depth from a Cookbook 1 run.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Solution
+\end_layout
+
+\begin_layout Standard
+You will use 
+\family typewriter
+cookbook1.cfg
+\family default
+.
+ The first set of parameters specifies that you are going to use the full
+ spherical version of solver.
+ The default is to use the regional sphercal version, so this must be set.
+\end_layout
+
+\begin_layout LyX-Code
+solver = full
+\end_layout
+
+\begin_layout Standard
+The second set of parameters specifies the number of time steps (101), how
+ often full outputs of the computation are created (25), and the prefix
+ of output filenames (cookbook1).
+\end_layout
+
+\begin_layout LyX-Code
+steps = 101
+\newline
+monitoringFrequency = 25
+\newline
+datafile = cookbook1
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+solver.ic
+\family default
+ facility controls the temperature field for the initial conditions.
+ The last set of parameters includes the number of perturbations to the
+ initial temperature (1), the number of nodal lines of the perturbation
+ in the longitudinal direction, e.g., the spherical harmonic order (3), the
+ number of nodal lines in the latitudinal direction, e.g., the spherical harmonic
+ degree (2), which layer the pertubation is on (5), and the amplitude of
+ the perturbation (0.05).
+ Note that although the number of perturbations is assigned here as 
+\family typewriter
+num_perturbations=1
+\family default
+, that is actually the default value.
+\end_layout
+
+\begin_layout LyX-Code
+num_perturbations = 1
+\newline
+perturbl = 3
+\newline
+perturbm = 2
+\newline
+perturblayer = 5
+\newline
+perturbmag
+ = 0.05
+\end_layout
+
+\begin_layout Standard
+This example is executed by typing 
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms cookbook1.cfg
+\end_layout
+
+\begin_layout Subsubsection
+Example: Global Model, cookbook1.cfg
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+solver = full
+\newline
+steps = 101                 ; number of time steps
+\newline
+
+\newline
+[CitcomS.
+controller]
+\newline
+monitoringFrequency = 25    ; how often outputs are created
+\newline
+
+\newline
+[CitcomS.so
+lver]
+\newline
+datafile = cookbook1        ; prefix of output filenames
+\newline
+
+\newline
+[CitcomS.solver.ic]
+\newline
+nu
+m_perturbations = 1
+\newline
+perturbl = 3
+\newline
+perturbm = 2
+\newline
+perturblayer = 5
+\newline
+perturbmag =
+ 0.05 
+\end_layout
+
+\begin_layout Standard
+Once you have run the model, you can visualize the results using OpenDX,
+ described in the previous chapter.
+ When you invoke "Edit Visual Program," select 
+\family typewriter
+visFull.net
+\family default
+.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook1.2.jpg
+	lyxscale 50
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Cookbook 1: Global Model.
+ This image depicts a slice through a spherical model of convection, with
+ warmer colors indicating upwelling and the cooler colors showing downwelling.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Discussion
+\end_layout
+
+\begin_layout Standard
+You have generated a simple example of the full CitComS.py model, with minimal
+ parameter alterations.
+ With a default Rayleigh number of 
+\begin_inset Formula $10^{5}$
+\end_inset
+
+ and perturbation on the initial temperature field which has a degree-3
+ and an order-2 pattern, after 100 time steps, the convection pattern remains
+ relatively steady.
+\end_layout
+
+\begin_layout Standard
+As a note, it is not required that 12 processors, with one spherical cap
+ per processor, be used.
+ As an end-member possibility, for example, 12 different jobs could be run
+ on a single computer (
+\family typewriter
+n001
+\family default
+ in this example) by invoking:
+\end_layout
+
+\begin_layout LyX-Code
+$ citcoms cookbook1.cfg --launcher.nodegen="n%03d" 
+\backslash
+
+\newline
+--launcher.nodelist=[1,1,1,1,1,1,1,1,1,1,1,1]
+\end_layout
+
+\begin_layout Standard
+This is not particularly efficient, but it does illustrate the flexibility
+ of both 
+\family typewriter
+mpi
+\family default
+ and Pyre.
+\end_layout
+
+\begin_layout Section
+Cookbook 2: Velocity Boundary Conditions
+\end_layout
+
+\begin_layout Subsection
+Problem
+\end_layout
+
+\begin_layout Standard
+You would like to solve for thermal convection with velocity boundary conditions
+ imposed on the top surface within a given region of a sphere.
+ You will need to use the regional version of CitComS.py.
+ 
+\end_layout
+
+\begin_layout Subsection
+Solution
+\end_layout
+
+\begin_layout Standard
+You will use 
+\family typewriter
+cookbook2.cfg
+\family default
+.
+ The parameters specify the number of time steps (61), the prefix of the
+ output filenames (
+\family typewriter
+cookbook2
+\family default
+), and how often outputs will be created (30).
+\end_layout
+
+\begin_layout LyX-Code
+steps = 61
+\newline
+monitoringFrequency = 30
+\newline
+datafile = cookbook2
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+solver.mesher
+\family default
+ facility has several properties involved in the generation of the computational
+ mesh.
+ Continue to use the default values for the physical portion of the domain
+ in which you are interested.
+ However, try modifying the layout of the mesh as shown.
+ 
+\end_layout
+
+\begin_layout LyX-Code
+nprocx =  2
+\newline
+nprocy =  2
+\newline
+nodex  = 17
+\newline
+nodey  = 17
+\newline
+nodez  =  9
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+solver.bc
+\family default
+ facility allows you to impose a uniform velocity across the top surface.
+ You have a velocity which is purely in the colatitude direction with a
+ non-dimensional velocity of 100 (see Section 
+\begin_inset LatexCommand \vref{eq:6}
+
+\end_inset
+
+ for how to dimensionalize it).
+ 
+\end_layout
+
+\begin_layout LyX-Code
+topvbc    =   1
+\newline
+topvbxval = 100
+\end_layout
+
+\begin_layout Standard
+In addition, the initial temperature field has a linear conductive profile.
+ The amplitude of initial temperature perturbation is set to zero using
+ the 
+\family typewriter
+solver.ic
+\family default
+ facility.
+ 
+\end_layout
+
+\begin_layout LyX-Code
+num_perturbations = 1
+\newline
+perturbmag        = 0.0 
+\end_layout
+
+\begin_layout Subsubsection
+Example: Velocity Boundary Conditions, cookbook2.cfg
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+steps = 61                  ; number of time steps
+\newline
+
+\newline
+[CitcomS.controller]
+\newline
+mo
+nitoringFrequency = 30    ; how often outputs are created
+\newline
+
+\newline
+[CitcomS.solver]
+\newline
+datafile
+ = cookbook2        ; prefix of output filenames
+\newline
+
+\newline
+# Modify the layout of the
+ mesh.
+\newline
+[CitcomS.solver.mesher]
+\newline
+nprocx =  2
+\newline
+nprocy =  2
+\newline
+nodex  = 17
+\newline
+nodey  = 17
+\newline
+nodez
+  =  9
+\newline
+
+\newline
+# Impose a uniform velocity across the top surface.
+\newline
+[CitcomS.solver.bc]
+\newline
+topvbc
+    =   1
+\newline
+topvbxval = 100
+\newline
+
+\newline
+# Modify the layout of the mesh.
+\newline
+[CitcomS.solver.mesher]
+\newline
+npro
+cx =  2
+\newline
+nprocy =  2
+\newline
+nodex  = 17
+\newline
+nodey  = 17
+\newline
+nodez  =  9
+\newline
+
+\newline
+# Impose a uniform velocity
+ across the top surface.
+\newline
+[CitcomS.solver.bc]
+\newline
+topvbc    =   1
+\newline
+topvbxval = 100
+\newline
+topvbyval
+ =   0
+\newline
+
+\newline
+# In addition, set the initial temperature perturbation to zero.
+\newline
+[CitcomS.sol
+ver.ic]
+\newline
+num_perturbations = 1
+\newline
+perturbmag        = 0.0 
+\end_layout
+
+\begin_layout Subsection
+Discussion
+\end_layout
+
+\begin_layout Standard
+Using OpenDX to visualize the results (Figure 
+\begin_inset LatexCommand \ref{fig:Cookbook-2:-Velocity}
+
+\end_inset
+
+), this model allows you to create a plate-driven convection in which there
+ is a thermal upwelling on one wall, a thermal downwelling on another, and
+ uniform horizontal velocity across the top.
+ The downwelling is not exactly subduction because the default boundary
+ conditions are close to zero shear stress on the boundaries.
+ This means that there is a symmetrical downwelling in a vertical domain
+ on the other side.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement h
+wide false
+sideways false
+status collapsed
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook2.2.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Cookbook-2:-Velocity}
+
+\end_inset
+
+Cookbook 2: Velocity Boundary Conditions.
+ This model highlights a region of the sphere and the heated upwellings
+ (warm colors), downwellings (cool colors), and the velocities (yellow arrows).
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Cookbook 3: Temperature-Dependent Viscosity
+\end_layout
+
+\begin_layout Subsection
+Problem
+\end_layout
+
+\begin_layout Standard
+A common problem in geophysics is the exploration of natural convection
+ in the presence of variable viscosity, including temperature-dependent
+ or stress-dependent viscosity.
+\end_layout
+
+\begin_layout Subsection
+Solution
+\end_layout
+
+\begin_layout Standard
+You will use cookbook3.cfg.
+ The parameters specify the number of time steps (200), how often outputs
+ will be created (25), the prefix of the output filenames (
+\family typewriter
+cookbook3
+\family default
+), and the Rayleigh number (
+\begin_inset Formula $10^{6}$
+\end_inset
+
+).
+\end_layout
+
+\begin_layout LyX-Code
+steps = 200
+\newline
+monitoringFrequency = 25
+\newline
+datafile = cookbook3
+\newline
+rayleigh = 1e6
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+solver.visc
+\family default
+ facility assign the viscosities.
+ The parameters specify whether the viscosity should be updated at every
+ time step (
+\family typewriter
+on
+\family default
+), the number of viscous layers (4), the viscosity of each layer (1,1,1,1),
+ whether the viscosity is temperature dependent (
+\family typewriter
+on
+\family default
+), the activation energy of each layer (0.2,0.2,0.2,0.2), the temperature offset
+ of each layer (0,0,0,0), whether to apply the minimum cutoff (
+\family typewriter
+on
+\family default
+), the value of the minimum cutoff (1.0), whether to apply the maximum cutoff
+ (
+\family typewriter
+on
+\family default
+), and the value of the maximum cutoff (100.0).
+ 
+\end_layout
+
+\begin_layout LyX-Code
+VISC_UPDATE = on
+\newline
+num_mat = 4
+\newline
+visc0 = 1,1,1,1
+\newline
+TDEPV = on
+\newline
+viscE = 0.2,0.2,0.2,0.2
+\newline
+viscT
+ = 0,0,0,0
+\newline
+VMIN = on
+\newline
+visc_min = 1.0
+\newline
+VMAX = on
+\newline
+visc_max = 100.0
+\end_layout
+
+\begin_layout Standard
+The range of the layers are determined by the following parameters: layer
+ 1 extends from the top surface to a depth of 
+\family typewriter
+solver.const.z_lith
+\family default
+ (default to 0.014, or 90 km dimensionally); layer 2 is below layer 1 and
+ extends to a depth of 
+\family typewriter
+solver.const.z_410
+\family default
+ (default to 0.06435, or 410 km dimensionally); layer 3 is below layer 2
+ and extends to a depth of 
+\family typewriter
+solver.const.z_lmantle
+\family default
+ (default to 0.105, or 670 km dimensionally); layer 4 is below layer 3 and
+ extends to the bottom.
+ The temperature dependence of the viscosity of each layer is determined
+ by: 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{equation}
+visc=visc0\times exp\left(\frac{viscE}{T+viscT}-\frac{viscE}{1+viscT}\right)\label{eq:22}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Example: Temperature-Dependent Viscosity, cookbook3.cfg
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+steps = 200                 ; number of time steps
+\newline
+
+\newline
+[CitcomS.controller]
+\newline
+mo
+nitoringFrequency = 25    ; how often outputs are created
+\newline
+
+\newline
+[CitcomS.solver]
+\newline
+datafile
+ = cookbook3        ; prefix of output filenames
+\newline
+rayleigh = 1e6         
+     ; Rayleigh number
+\newline
+
+\newline
+# Modify the layout of the mesh.
+\newline
+[CitcomS.solver.mesher]
+\newline
+nprocx
+ =  2
+\newline
+nprocy =  2
+\newline
+nodex  = 17
+\newline
+nodey  = 17
+\newline
+nodez  =  9
+\newline
+
+\newline
+# Assign the viscosities.
+\newline
+[Citcom
+S.solver.visc]
+\newline
+VISC_UPDATE = on
+\newline
+num_mat = 4
+\newline
+visc0 = 1,1,1,1
+\newline
+TDEPV = on
+\newline
+viscE =
+ 0.2,0.2,0.2,0.2
+\newline
+viscT = 0,0,0,0
+\newline
+VMIN = on
+\newline
+visc_min = 1.0
+\newline
+VMAX = on
+\newline
+visc_max = 100.0
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook3.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Cookbook 3: Temperature-Dependent Viscosity.
+ This model highlights a region that features both the heated upwelling
+ (warm colors) and the even distribution of the velocities (arrows).
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Cookbook 4: Regionally Refined Meshes 
+\end_layout
+
+\begin_layout Subsection
+Problem
+\end_layout
+
+\begin_layout Standard
+Frequently for convection problems, particularly those with variable viscosity,
+ there are features with strong gradients in temperature or viscosity that
+ can be better resolved with refined meshes.
+ For example, for the problem just studied in Cookbook 3, temperature-dependent
+ viscosity, a higher resolution is required for a narrow hot upwelling while
+ a lower resolution is sufficient for the wider cold downwelling.
+ 
+\end_layout
+
+\begin_layout Subsection
+Solution
+\end_layout
+
+\begin_layout Standard
+The parameter that controls if a mesh is to be uniform or refined is 
+\family typewriter
+solver.mesher.coor
+\family default
+.
+ Set it to 
+\family typewriter
+on (solver.mesher.coor=on)
+\family default
+ in order to read the uneven mesh point coordinates from an input file (specifie
+d by 
+\family typewriter
+coor_file
+\family default
+).
+ The format of the coordinate input file is described in Appendix 
+\begin_inset LatexCommand \vref{sec:Coordinate-files}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout LyX-Code
+coor = on
+\newline
+coor_file = coor.dat
+\end_layout
+
+\begin_layout Standard
+The computational domain is bounded in colatitude between radian 1 and 2,
+ in latitude between radian 0 and 1, and in radius between 0.55 and 1.
+\end_layout
+
+\begin_layout LyX-Code
+theta_min = 1
+\newline
+theta_max = 2
+\newline
+fi_min = 0
+\newline
+fi_max = 1
+\newline
+radius_inner = 0.55
+\newline
+radius_outer
+ = 1
+\end_layout
+
+\begin_layout Subsubsection
+Example: Regionally Refined Meshes, cookbook4.cfg
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+steps = 250                 ; number of time steps
+\newline
+
+\newline
+
+\newline
+[CitcomS.controller]
+\newline
+mo
+nitoringFrequency = 10    ; how often outputs are created
+\newline
+
+\newline
+
+\newline
+[CitcomS.solver]
+\newline
+rayleigh
+ = 1e6              ; Rayleigh number
+\newline
+datafile = cookbook4        ; prefix
+ of output filenames
+\newline
+
+\newline
+
+\newline
+[CitcomS.solver.ic]
+\newline
+num_perturbations = 1
+\newline
+perturbmag = 0.05
+\newline
+pertur
+blayer = 10
+\newline
+
+\newline
+# Perturb the initial temperature gradient in the longitudinal
+\newline
+#
+ direction.
+\newline
+perturbl = 1
+\newline
+perturbm = 0
+\newline
+
+\newline
+
+\newline
+[CitcomS.solver.mesher]
+\newline
+# Read uneven mesh
+ point coordinates from 'coor.dat'.
+\newline
+coor = on
+\newline
+coor_file = coor.dat
+\newline
+
+\newline
+nprocx = 4
+\newline
+nprocy
+ = 2
+\newline
+nprocz = 2
+\newline
+nodex = 33
+\newline
+nodey = 17
+\newline
+nodez = 17
+\newline
+theta_min = 1
+\newline
+theta_max = 2
+\newline
+fi_min
+ = 0
+\newline
+fi_max = 1
+\newline
+radius_inner = 0.55
+\newline
+radius_outer = 1
+\newline
+
+\newline
+
+\newline
+[CitcomS.solver.visc]
+\newline
+VISC_UPDATE
+ = on
+\newline
+num_mat = 4
+\newline
+visc0 = 1,1,1,1
+\newline
+TDEPV = on
+\newline
+viscE = 0.2,0.2,0.2,0.2
+\newline
+viscT = 0,0,0,0
+\newline
+VMIN
+ = on
+\newline
+visc_min = 1.0
+\newline
+VMAX = on
+\newline
+visc_max = 100.0
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook4.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+Cookbook 4: Regionally Refined Mesher.
+ This model shows the temperature (upwelling -- warm colors, downwelling
+ -- cool colors) and the uneven distribution of the velocities (yellow arrows).
+ Note the refined mesh for the left and bottom regions of the model (inset).
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Discussion
+\end_layout
+
+\begin_layout Standard
+The resulting model is like a 2D model, but extends in the longitudinal
+ direction.
+ To set up this type of model, the initial temperature gradient was perturbed
+ only in the longitudinal direction, by setting the parameters 
+\family typewriter
+perturbl=1
+\family default
+ and 
+\family typewriter
+perturbm=0
+\family default
+.
+ The model results show a thin thermal upwelling on one wall and a wide
+ thermal downwelling on the opposite wall.
+ Also, at the bottom of the model a thin layer of hot material can be shown.
+ Note the higher resolution in the narrow regions with hot material and
+ the lower resolution for the wide thermal downwelling region.
+\end_layout
+
+\begin_layout Section
+Cookbook 5: Subduction Models with Trench Rollback
+\end_layout
+
+\begin_layout Subsection
+Problem
+\end_layout
+
+\begin_layout Standard
+A common issue to address is the problem arising when the position of the
+ oceanic trench is not constant in time (trench rollback) for a subduction
+ zone.
+ In addition, the trench rollback speed may vary in time, which can be caused,
+ for example, by a rotation pole jump.
+ 
+\end_layout
+
+\begin_layout Subsection
+Solution
+\end_layout
+
+\begin_layout Standard
+In order to introduce in a convection model a trench rollback you have to
+ prepare the velocity files.
+ The following scenario is proposed for this cookbook: there are two plates
+ centered along the equator, with two different Euler poles (see Figure
+ 
+\begin_inset LatexCommand \ref{fig:Cookbook-5:-Left}
+
+\end_inset
+
+).
+ Initially, both plates have Euler poles situated far apart, so the velocities
+ are approximately constant (about 5 cm/yr for the left plate and about
+ 2 cm/yr for the right plate).
+ After 30 Ma, a pole jump occurred for the right slab only, so the Euler
+ pole moved closer.
+ 
+\end_layout
+
+\begin_layout Standard
+Since we impose a top velocity boundary in our model, the following parameters
+ should be turned on: 
+\end_layout
+
+\begin_layout LyX-Code
+topvbc = 1
+\newline
+file_vbcs = on
+\end_layout
+
+\begin_layout Standard
+The following two lines specify the location of the velocity files and the
+ starting age for the model: 
+\end_layout
+
+\begin_layout LyX-Code
+start_age = 55
+\newline
+vel_bound_file = ./velocity/bvel.dat 
+\end_layout
+
+\begin_layout Standard
+Since the starting age is set to 55 Ma, there will be 57 velocity files,
+ one for each Ma (
+\family typewriter
+vel.dat0, vel.dat1,...vel.dat55, vel.dat56
+\family default
+).
+ The format of the velocity file is described in Appendix 
+\begin_inset LatexCommand \vref{sec:Velocity-boundary-condition}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+When 
+\family typewriter
+restart=on
+\family default
+ is set, the initial temperature field is read from setup files.
+ The files have the same naming scheme and format as the CitComS velo output,
+ as described in Appendix 
+\begin_inset LatexCommand \vref{sub:Velocity-and-Temperature}
+
+\end_inset
+
+.
+ The location and prefix of the file is specified in 
+\family typewriter
+datadir_old
+\family default
+ and 
+\family typewriter
+datafile_old
+\family default
+, and the time step of the velo file in 
+\family typewriter
+solition_cycles_init
+\family default
+.
+ In this example, a processor of MPI rank 
+\family typewriter
+n
+\family default
+ will read file 
+\family typewriter
+./restart_files/cookbook5.velo.n.0
+\end_layout
+
+\begin_layout LyX-Code
+datadir_old = ./restart_files
+\newline
+datafile_old = cookbook5
+\newline
+restart = on 
+\newline
+solution_cycles
+_init = 0
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook5.eps
+	lyxscale 65
+	scale 65
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Cookbook-5:-Left}
+
+\end_inset
+
+Cookbook 5: Left (A): Initially, both plates have Euler poles (magenta and
+ green dots) situated far apart from the plate, so the velocities are approximat
+ely constant (about 5 cm/yr for the left plate and about 2 cm/yr for the
+ right plate).
+ Right (B): After 30 Ma a pole jump occurred for the right slab only, so
+ the Euler pole moved closer.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsubsection
+Example: Subduction Models with Trench Rollback, cookbook5.cfg
+\end_layout
+
+\begin_layout LyX-Code
+[CitcomS]
+\newline
+steps = 1000                ; number of time steps
+\newline
+
+\newline
+[CitcomS.controller]
+\newline
+mo
+nitoringFrequency = 10    ; how often outputs are created
+\newline
+
+\newline
+[CitcomS.solver]
+\newline
+datafile
+ = cookbook5
+\newline
+datadir_old = ./restart_files
+\newline
+datafile_old = cookbook5
+\newline
+rayleigh
+ = 4.07e+08
+\newline
+
+\newline
+[CitcomS.solver.bc]
+\newline
+topvbc = 1
+\newline
+
+\newline
+[CitcomS.solver.param]
+\newline
+file_vbcs = on
+\newline
+start_age
+ = 55
+\newline
+
+\newline
+# Since the starting age is set to 55 Ma, there will be 56 velocity
+\newline
+#
+ files, one for each Ma (bvel.dat0, bvel.dat1, ...
+ bvel.dat56).
+\newline
+vel_bound_file = ./velocity/bvel.dat
+\newline
+
+\newline
+[CitcomS.solver.ic]
+\newline
+restart =
+ on
+\newline
+solution_cycles_init = 0
+\newline
+
+\newline
+[CitcomS.solver.mesher]
+\newline
+coor = on
+\newline
+coor_file = ./coor.dat
+\newline
+npr
+ocx = 2
+\newline
+nprocy = 8
+\newline
+nprocz = 4
+\newline
+nodex = 17
+\newline
+nodey = 65
+\newline
+nodez = 33
+\newline
+theta_min = 1.47
+\newline
+theta_ma
+x = 1.67
+\newline
+fi_min = 0
+\newline
+fi_max = 0.5
+\newline
+radius_inner = 0.7
+\newline
+
+\newline
+[CitcomS.solver.visc]
+\newline
+num_mat
+ = 4
+\newline
+visc0 = 100,0.003,1,2
+\newline
+TDEPV = on
+\newline
+viscE = 24,24,24,24
+\newline
+viscT = 0.182,0.182,0.182,0.182
+\newline
+
+VMIN = on
+\newline
+visc_min = 0.01
+\newline
+VMAX = on
+\newline
+visc_max = 100.0 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement h
+wide false
+sideways false
+status collapsed
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook5.2.eps
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Cookbook-5:-the}
+
+\end_inset
+
+Cookbook 5: The pole jump after 30 Ma produced a flat slab on one side (fore
+ side) and a steep slab on the other side (back side).
+ 
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Discussion
+\end_layout
+
+\begin_layout Standard
+The results for this problem are presented in Figure 
+\begin_inset LatexCommand \ref{fig:Cookbook-5:-the}
+
+\end_inset
+
+.
+ Since the two Euler poles are kept fixed for the first 30 Ma, the shape
+ of the subducting slab will be the same along the trench.
+ At 25 Ma, the Euler pole for the right plate jumps toward the plate.
+ Therefore, the velocity along the trench varies from about 1 cm/yr to about
+ 2.5 cm/yr.
+ This will produce in time a flat slab at one side of the model, and a steep
+ slab at the other side.
+\end_layout
+
+\begin_layout Section
+Cookbook 6: Pseudo-Free-Surface Formulation
+\end_layout
+
+\begin_layout Subsection
+Problem
+\end_layout
+
+\begin_layout Standard
+Free-slip boundary conditions are typically applied on the top surface of
+ mantle convection models, and the dynamic topography is obtained by assuming
+ that the normal stress on the top surface is instantaneously compensated
+ by the deformed surface.
+ This type of boundary condition works well for long-wavelength topography,
+ but a free-surface formulation becomes necessary in cases where intermediate
+ to short wavelength topography is of interest or the lithosphere has a
+ very high effective viscosity.
+ Another situation where free-surface formulation is desired is when two
+ Pyre solvers, Snac and CitCom.py, are coupled.
+\end_layout
+
+\begin_layout Standard
+The basic algorithm 
+\begin_inset LatexCommand \cite{Zhong et al Free-surface formulation,Zhong et al Three-dimensional}
+
+\end_inset
+
+ consists of four steps.
+ 
+\end_layout
+
+\begin_layout Enumerate
+On the nodes of the top surface, topography increment is computed by integrating
+ normal velocity over time.
+ 
+\end_layout
+
+\begin_layout Enumerate
+The normal traction on the top surface is calculated based on the accumulated
+ topography up to the current time step, and added to the forcing term in
+ the matrix version of the momentum equation.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Update velocity field with the changed forcing term.
+ 
+\end_layout
+
+\begin_layout Enumerate
+If velocity field has not converged yet, reiterate steps 1 to 3.
+\end_layout
+
+\begin_layout Subsection
+Solution
+\end_layout
+
+\begin_layout Standard
+To verify that the above algorithm works, you will run two different CitComS.py
+ models with each boundary condition (BC) (free-slip and pseudo-free-surface)
+ and compare the topography computed accordingly.
+ The scripts in 
+\family typewriter
+cookbook6.cfg
+\family default
+ will include the following parameters.
+\end_layout
+
+\begin_layout Itemize
+Domain size: 45 deg 
+\begin_inset Formula $\times$
+\end_inset
+
+ 45 deg 
+\begin_inset Formula $\times$
+\end_inset
+
+ 1200 km
+\end_layout
+
+\begin_layout Itemize
+Mesh size: 61 
+\begin_inset Formula $\times$
+\end_inset
+
+ 61 
+\begin_inset Formula $\times$
+\end_inset
+
+ 25 with mesh refinement (coord.dat) 
+\end_layout
+
+\begin_layout Itemize
+Boundary Conditions (BC): free-slip/free-surface for top; free-slip for
+ all the other surfaces 
+\end_layout
+
+\begin_layout Itemize
+Initial Conditions (IC): spherical hot blob with diameter of 
+\begin_inset Formula $\frac{1}{4}$
+\end_inset
+
+ of radial dimension is placed at the center of the domain
+\end_layout
+
+\begin_layout Standard
+Specific options:
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+solver.tsolver.fixed_timestep = 7.770000e-10
+\family default
+ (= ~1000 yrs)
+\end_layout
+
+\begin_layout Itemize
+
+\family typewriter
+solver.bc.pseudo_free_surf = on
+\end_layout
+
+\begin_layout Subsection
+Discussion
+\end_layout
+
+\begin_layout Standard
+The plots of the topography profile are consistent with results described
+ in 
+\begin_inset LatexCommand \cite{Zhong et al Free-surface formulation}
+
+\end_inset
+
+.
+ In the graphs in Figure 
+\begin_inset LatexCommand \ref{fig:Cookbook-6.-Graphs}
+
+\end_inset
+
+, the solid lines indicate free-slip and the dashed lines indicate free-surface.
+ 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Standard
+\noindent
+\align center
+\begin_inset Graphics
+	filename graphics/cookbook7.eps
+	scale 90
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Caption
+\begin_inset LatexCommand \label{fig:Cookbook-6.-Graphs}
+
+\end_inset
+
+Cookbook 6: Graphs of topography profiles.
+ 
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Part
+Appendices
+\end_layout
+
+\begin_layout Chapter
+\start_of_appendix
+\begin_inset LatexCommand \label{cha:Appendix-A:-Input}
+
+\end_inset
+
+Input Parameters for CitComS.py
+\end_layout
+
+\begin_layout Section
+Input Parameters Grouped by Functionality
+\end_layout
+
+\begin_layout Standard
+This section explains the meaning of the input parameters for CitComS.py.
+ These parameters are grouped by their functionality.
+ Parameters are given with their default values.
+\end_layout
+
+\begin_layout Subsection
+Parameters that Control Input Files
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+file_vbcs=off
+\newline
+vel_bound_file="bvel.dat"
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+file_vbcs
+\family default
+ is set to on, the top surface velocity boundary conditions are read in
+ from files which have location and name specified by 
+\family typewriter
+vel_bound_file.
+
+\family default
+ Requires setting 
+\family typewriter
+topvbc=1
+\family default
+ to take effect.
+ If you wish to have a uniform top surface velocity boundary condition or
+ some simple geometric pattern, then 
+\family typewriter
+file_vbcs
+\family default
+ should be set to zero.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+coor=off
+\newline
+coor_file="coor.dat"
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+coor
+\family default
+ is set to off, then there will be uniform mesh in the latitudinal, longitudinal
+, and radial directions.
+ If you wish to have a regular, but uneven, spacing between elements, 
+\family typewriter
+coor
+\family default
+ should be set to on.
+ Then, the coordinate is reading from the file specified by 
+\family typewriter
+coor_file
+\family default
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true" newpage="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mat_control=off
+\newline
+mat_file="mat.dat"
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+mat_control
+\family default
+ is set to on, then the time- and positional-dependent viscosity factor
+ is defined from the files specified by 
+\family typewriter
+mat_file
+\family default
+.
+ These parameters allow you to define the material group of each element
+ (such as a moving weak zone).
+ Not working in this version.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+lith_age=off
+\newline
+lith_age_file="age.dat"
+\newline
+lith_age_time=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+lith_age
+\family default
+ is set to on, then the age of each surface nodes is read from the files
+ specified by 
+\family typewriter
+lith_age_file
+\family default
+.
+ These parameters control the thermal age of the top thermal boundary condition.
+ If 
+\family typewriter
+lith_age_time
+\family default
+ is on, the files are time-dependent.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+tracer=off
+\newline
+tracer_file=tracer.dat
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This controls the tracer particles which are advected passively by the flow.
+ This part of the code has not been made parallel and must be used with
+ caution with the present implementation.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Parameters that Control Output Files
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_format="ascii"
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Choose the format and layout of the output files.
+ Can be either 
+\begin_inset Quotes sld
+\end_inset
+
+ascii
+\begin_inset Quotes srd
+\end_inset
+
+, or 
+\begin_inset Quotes sld
+\end_inset
+
+hdf5
+\begin_inset Quotes srd
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_optional="surf,botm"
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Choose additional output, including: 
+\begin_inset Quotes sld
+\end_inset
+
+surf
+\begin_inset Quotes srd
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+botm
+\begin_inset Quotes sld
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+geoid
+\begin_inset Quotes srd
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+stress
+\begin_inset Quotes sld
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+pressure
+\begin_inset Quotes sld
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+connectivity
+\begin_inset Quotes sld
+\end_inset
+
+, and 
+\begin_inset Quotes sld
+\end_inset
+
+horiz_avg
+\begin_inset Quotes sld
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datadir="."
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Controls the location of output files.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datafile="regtest
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Controls the prefix of output file names such as regtest.xxx.
+ Cannot contain the 
+\begin_inset Quotes sld
+\end_inset
+
+/
+\begin_inset Quotes sld
+\end_inset
+
+ character if 
+\family typewriter
+output_format=ascii
+\family default
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+storage_spacing=10
+\newline
+(in non-Pyre version)
+\newline
+or
+\newline
+monitoringFrequency=10
+\newline
+(in Pyre
+ version)
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Controls the interval between output files.
+ CitComS.py dynamically determines the size of the time step; this means
+ that you might not get an output at the exact time required, but you can
+ always get close depending on how small this number is.
+ Do not make this number too small since outputs slow the code down and
+ you may end up with an unmanageable number of output files.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_ll_max=20
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This parameter controls the maximum degree of spherical harmonics coefficients
+ for geoid output.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Mesh and Processors Setup 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nproc_surf=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This specifies the number of spherical caps of the mesh; must be 1 for regional
+ spherical model and 12 for full spherical model.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nprocx=1
+\newline
+nprocy=1
+\newline
+nprocz=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These specify the number of processors in each spherical cap.
+ 
+\newline
+
+\newline
+For full spherical model, 
+\family typewriter
+nprocx
+\family default
+ must be equal to 
+\family typewriter
+nprocy
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nodex=9
+\newline
+nodey=9
+\newline
+nodez=9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These specify the number of FEM nodes in each spherical cap.
+\newline
+
+\newline
+For full spherical
+ model, 
+\family typewriter
+nodex
+\family default
+ must be equal to 
+\family typewriter
+nodey
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mgunitx=8
+\newline
+mgunity=8
+\newline
+mgunitz=8
+\newline
+levels=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These specify the nested level of multigrid units.
+ Used by multigrid solver only.
+ These parameters are not completely independent to each other.
+ The following constraints must be satisfied:
+\newline
+
+\newline
+
+\begin_inset Formula $\mathrm{nodex}=1+\mathrm{nprocx}\times\mathrm{mgunitx}\times2^{levels-1}$
+\end_inset
+
+
+\newline
+
+\begin_inset Formula $\mathrm{nodey}=1+\mathrm{nprocy}\times\mathrm{mgunity}\times2^{levels-1}$
+\end_inset
+
+
+\newline
+
+\begin_inset Formula $\mathrm{nodez}=1+\mathrm{nprocz}\times\mathrm{mgunitz}\times2^{levels-1}$
+\end_inset
+
+
+\newline
+
+\newline
+For full spherical model, 
+\family typewriter
+mgunitx
+\family default
+ must be equal to 
+\family typewriter
+mgunity
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+\noindent
+Domain Size
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+theta_min=1.0708
+\newline
+theta_max=2.0708
+\newline
+fi_min=0
+\newline
+fi_max=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These parameters specify the horizontal extent of the computational domain.
+ 
+\family typewriter
+theta_min
+\family default
+ and 
+\family typewriter
+theta_max
+\family default
+ are the colatitude measured in radians from the north pole.
+ 
+\family typewriter
+fi_min
+\family default
+ and 
+\family typewriter
+fi_max
+\family default
+ are the longitudes measured from the prime meridian eastward in radians.
+ Only in regional CitComS.py.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+radius_inner=0.55
+\newline
+radius_outer=1.0 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These parameters specify the radial extent of the computational domain.
+ 
+\family typewriter
+radius_inner
+\family default
+ and 
+\family typewriter
+radius_outer
+\family default
+ are the inner and outer radii in non-dimensional units.
+ It is probably more convenient to normalize lengths by the radius of the
+ Earth.
+ If you do this, then the Rayleigh number, given below, must be calculated
+ with the radius of the Earth, not the thickness of the mantle.
+ The core mantle boundary is close to having a non-dimensional radius of
+ 0.55.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Restarting the Code
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+restart=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+restart
+\family default
+ is on, each processor will read its initial temperature field from a velo
+ file.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+post_p=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Similar to 
+\family typewriter
+restart
+\family default
+, except that the model will then only run for 1 time step, which can be
+ useful to regenerate the flow field and calculate the associated observables.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datadir_old=
+\begin_inset Quotes sld
+\end_inset
+
+.
+\begin_inset Quotes sld
+\end_inset
+
+
+\newline
+datafile_old="regtest"
+\newline
+solution_cycles_init=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+restart
+\family default
+ is on, for example, processor #5 will read its initial temperature field
+ form file 
+\family typewriter
+regtest.velo.5.0
+\family default
+ in this case.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+zero_elapsed_time=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+zero_elapsed_time
+\family default
+ is on, the initial time is set to zero.
+ If it is off and 
+\family typewriter
+restart
+\family default
+ is on, the initial time is read in from previous output files.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Run Length
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+minstep=1
+\newline
+maxtotstep=1000000
+\newline
+(only in non-Pyre version)
+\newline
+or
+\newline
+steps=1
+\newline
+(only in Pyre
+ version)
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The maximum and minimum number of time steps for the model, including the
+ 0th time step.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cpu_limits_in_seconds=
+\newline
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+360000000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Controls the termination of the code based on total wall clock time used.
+ Available only in non-Pyre version.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Initial Conditions
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Tabular
+<lyxtabular version="3" rows="3" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\align left
+tic_method=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Which method to use to generate the initial temperature field.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\align left
+num_perturbations=1
+\newline
+perturbmag=0.05
+\newline
+perturbl=1
+\newline
+perturbm=1
+\newline
+perturblayer=5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Used only if 
+\family typewriter
+tic_method
+\family default
+=0.
+ The initial temperature is a linear temperature gradient with some perturbation
+s, and 
+\family typewriter
+num_perturbations
+\family default
+ specifies the number of perturbations.
+ The amplitude of the perturbations is specified in the list of real numbers
+ by 
+\family typewriter
+perturbmag
+\family default
+.
+ In a full spherical model, 
+\family typewriter
+perturbl
+\family default
+ and 
+\family typewriter
+perturbm
+\family default
+ specify the shape of the perturbations in spherical harmonic degree and
+ order.
+ In a regional model, 
+\family typewriter
+perturbl
+\family default
+ and 
+\family typewriter
+preturbm
+\family default
+ specify the number of nodal lines in longitudinal and latitudinal directions.
+ 
+\family typewriter
+perturblayer
+\family default
+ specifies the layers to be perturbed, representing the number of the mesh
+ node in radial direction.
+ There must be as many entries as 
+\family typewriter
+num_perturbations
+\family default
+ in a comma-separated list.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+half_space_age=40
+\newline
+mantle_temp=1.0
+\newline
+blob_center
+\newline
+blob_radius=0.063
+\newline
+blob_dT=0.18
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Used only if 
+\family typewriter
+tic_method
+\family default
+=2 and in the regional model.
+ This creates a top thermal boundary with a half-space cooling age specified
+ by 
+\family typewriter
+half_space_age
+\family default
+ in millions of years and a warm spherical blob
+\family roman
+\series medium
+\shape up
+\size normal
+\emph off
+\bar no
+\noun off
+\color none
+.
+ These parameters specify the temperature of the ambient mantle, the location
+ and radius of the blob, and also the amplitude of temperature change in
+ the blob relative to the ambient mantle temperautre.
+ The location of the blob is default to the center of the computational
+ domain.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Boundary Conditions
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="7" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+topvbc=0
+\newline
+topvbxval=0.0
+\newline
+topvbyval=0.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Surface velocity boundary condition parameters.
+ If 
+\family typewriter
+topvbc
+\family default
+ is 0,  
+\family typewriter
+topvbxval
+\family default
+ and 
+\family typewriter
+topvbyval
+\family default
+ specify the tangential surface stress (forced BC).
+ If 
+\family typewriter
+topvbc
+\family default
+ is 1, 
+\family typewriter
+topvbxval
+\family default
+ and 
+\family typewriter
+topvbyval
+\family default
+ specify the tangential surface velocity (fixed BC).
+ The surface normal velocity is zero in these two cases (impermeable BC).
+ If topvbc is 2, the surface normal and tangential stress are zero (permeable
+ BC).
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+botvbc=0
+\newline
+botvbxval=0.0
+\newline
+botvbyval=0.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+As above, but for bottom velocity boundary conditions.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+side_sbcs=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Enable traction boundary condition for the sidewalls or not.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+pseudo_free_surf=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Enable pseudo free surface or not.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+toptbc=1
+\newline
+toptbcval=0.0 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Surface temperature boundary conditions.
+ If 
+\family typewriter
+toptbc
+\family default
+ is 0, 
+\family typewriter
+toptbcval
+\family default
+ specifies the surface heatflux (not working in this version).
+ If 
+\family typewriter
+toptbc
+\family default
+ is 1, the 
+\family typewriter
+toptbcval
+\family default
+ specifies the surface temperature.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+bottbc=1
+\newline
+bottbcval=1.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+As above, but for bottom temperature boundary conditions.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+temperature_bound_adj=off
+\newline
+depth_bound_adj=0.157
+\newline
+width_bound_adj=0.08727
+\newline
+lith_age_dept
+h=0.0314
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Additional parameters for temperature boundary conditions when 
+\family typewriter
+lith_age
+\family default
+ is on.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Non-Dimensional Numbers
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+rayleigh=1.0e+5
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This specifies the Rayleigh number, which is one of the most important parameter
+s you may want to change.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Q0=0.0 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This specifies the internal heating number.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Depth Information
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="1" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+z_lith=0.014
+\newline
+z_410=0.06435
+\newline
+z_lmantle=0.105
+\newline
+z_cmb=0.439
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These specify the non-dimensional depth of the Moho, 410km discontinuity,
+ 660km discontinuity and D".
+ These parameters are used to determine the depth of viscosity layers and
+ phase changes (see next two sections).
+ The names are only suggestive.
+ You are free to refer 
+\family typewriter
+z_lith
+\family default
+ to an arbitrary depth, for example.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Viscosity
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="12" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Viscosity=system
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This parameter must be set as indicated.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc_smooth_method=3 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This specifies which method to smooth viscosity projection for multigrid
+ solver.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VISC_UPDATE=on 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+VISC_UPDATE
+\family default
+ is on, viscosity will be updated every time step.
+ Othwise, viscosity will be time-independent.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+num_mat=4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This specifies the number of material layers.
+ Material 1 is at depth between 0 and 
+\family typewriter
+z_lith
+\family default
+, material 2 between 
+\family typewriter
+z_lith
+\family default
+ and 
+\family typewriter
+z_410
+\family default
+, material 3 between 
+\family typewriter
+z_410
+\family default
+ and 
+\family typewriter
+z_lmantle
+\family default
+, and material 4  between 
+\family typewriter
+z_lmantle
+\family default
+ and the bottom.
+ If 
+\family typewriter
+mat_control
+\family default
+ is on, then a multiplicative factor is applied to the viscosity, as defined
+ below.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc0=1,1,1,1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The pre-exponent factor of layered viscosity structure.
+ There must be as many entries as 
+\family typewriter
+num_mat
+\family default
+ in a comma-separated list.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+TDEPV=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Enable temperature dependence or not.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+rheol=3 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+When 
+\family typewriter
+rheol
+\family default
+=3, temperature-dependent viscosity is computed by:
+\family typewriter
+\size footnotesize
+
+\newline
+
+\begin_inset Formula $v=v_{0}\times\exp^{\frac{v_{E}}{T+v_{T}}-\frac{v_{E}}{1+v_{T}}}$
+\end_inset
+
+
+\newline
+
+\newline
+
+\family default
+\size default
+When 
+\family typewriter
+rheol
+\family default
+=4, temperature-dependent viscosity is computed by:
+\family typewriter
+\size footnotesize
+
+\newline
+
+\begin_inset Formula $v=v_{0}\times\exp^{\frac{v_{E}+v_{Z}(1-z)}{T+v_{T}}-\frac{v_{E}+v_{Z}(1-z)}{1+v_{T}}}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+viscE=1,1,1,1
+\newline
+viscT=1,1,1,1
+\newline
+viscZ=1,1,1,1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Parameters defining viscosity law.
+ See the equations above.
+ There must be as many entries as 
+\family typewriter
+num_mat
+\family default
+ in a comma-separated list.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+SDEPV=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Enable stress dependence (non-Newtonian) or not.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+sdepv_expt=1,1,1,1
+\newline
+sdepv_misfit=0.02
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+SDEPV
+\family default
+ is on, these specify the exponent in the viscosity law and the criterion
+ of convergence test.
+ There must be as many entries as 
+\family typewriter
+num_mat
+\family default
+ in a comma-separated list.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VMIN=off
+\newline
+visc_min=0.001
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+VMIN
+\family default
+ is on, minimum viscosity is cut off at 
+\family typewriter
+visc_min
+\family default
+.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VMAX=off
+\newline
+visc_max=1000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If 
+\family typewriter
+VMAX
+\family default
+ is on, maximum viscosity is cut off at 
+\family typewriter
+visc_max.
+
+\family default
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Phase Change Information
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="3" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Ra_410=0.0
+\newline
+clapeyron410=0.0235
+\newline
+transT410=0.78
+\newline
+width410=0.0058 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These specify the phase change parameters (phase change Rayleigh number,
+ Clapeyron slope, ambient temperature, and phase change width, respectively).
+ The depth of this phase change is specified by 
+\family typewriter
+z_410
+\family default
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Ra_670=0.0
+\newline
+clapeyron670=-0.0235
+\newline
+transT670=0.875
+\newline
+width670=0.0058
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+As above.
+ The depth of this phase change is specified by 
+\family typewriter
+z_lmantle
+\family default
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Ra_cmb=0.0
+\newline
+clapeyroncmb=-0.0235
+\newline
+transTcmb=0.875
+\newline
+widthcmb=0.0058
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+As above.
+ The depth of this phase change is specified by 
+\family typewriter
+z_cmb
+\family default
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Momentum Equation Solver Parameters
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="8" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stokes_flow_only=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If you wish only to solve for the velocity once (e.g., Stokes flow) then make
+ this parameter on.
+ However, if you want to do a convection problem, this should be off.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Solver=cgrad
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Can be either 
+\begin_inset Quotes sld
+\end_inset
+
+cgrad
+\begin_inset Quotes sld
+\end_inset
+
+ for conjugate gradient solver or 
+\begin_inset Quotes sld
+\end_inset
+
+multigrid
+\begin_inset Quotes sld
+\end_inset
+
+ for multigrid solver for the outer loop of the momentum solver.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+node_assemble=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Whether to assemble stiffness matrix at the node level or not.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mg_cycle=1
+\newline
+down_heavy=3
+\newline
+up_heavy=3
+\newline
+vlowstep=1000
+\newline
+vhighstep=3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Multigrid parameters.
+ 
+\family typewriter
+mg_cycle
+\family default
+=1 for V cycle and 2 for W cycle.
+ 
+\family typewriter
+down_heavy
+\family default
+ and 
+\family typewriter
+up_heavy
+\family default
+ are the smoothing factors for downward/upward smoothing.
+ 
+\family typewriter
+vlowstep
+\family default
+ and 
+\family typewriter
+vhighstep
+\family default
+ are the number of smoothing passes at lowest/highest levels.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+piterations=1000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Maximum iterations of the outer loop for the momentum solver.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+accuracy=1.0e-6
+\newline
+tole_compressibility=1.0e-7
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Convergence criterion for the momentum solver.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+precond=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Whether to use the preconditioner
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+aug_lagr=on aug_number=2.0e3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Whether to use augmented stiff matrix and the weight of the augmented stiff
+ matrix.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Energy Equation Solver Parameters
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+ADV=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, solves the energy equation.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+fixed_timestep=0.0 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If it is equal to 0, the size of the time step is variable and is determined
+ dynamically.
+ Otherwise, the size of the time step is fixed at the specified value.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+finetunedt=0.9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Set the size of the time step to the specified fraction of a maximum stable
+ advection time step.
+ Must be between 0 and 1.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+adv_sub_iterations=2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The number of iterations for the energy solver.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+filter_temp=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Filter out the overshoots and undershoots of the temperature field or not.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+inputdiffusivity=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Currently, don't change this parameter.
+ It is used only in problems which are integrated backward in time.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Age Information
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+start_age=40.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Set initial age (in Myrs).
+ This age determines which files of various time-dependent input to read
+ in.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+reset_startage=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, the initial age is set to 
+\family typewriter
+start_age
+\family default
+.
+ If it is off and 
+\family typewriter
+restart
+\family default
+ or 
+\family typewriter
+post_p
+\family default
+ is on, the initial age is read in from previous output.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Debugging Information
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="3" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+DESCRIBE=off
+\newline
+BEGINNER=off 
+\newline
+VERBOSE=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+These parameters affect the echo behavior of the CitComS parser.
+ Only in non-Pyre version.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+verbose=off 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This is used for debugging.
+ If verbose is on, additional information is output to a .info file.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+see_convergence=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, the velocity residual will be output on the screen for every iteration
+ of the momentum solver.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+HDF5 Output Parameters
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cb_block_size=1048576
+\newline
+cb_buffer_size=4194304
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Size for collective buffer in MPI-IO.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+sieve_buf_size=1048576
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Size of data sieve buffer.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_alignment=262144
+\newline
+output_alignment_threshold=
+\newline
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+524288
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Memory alignment.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cache_mdc_nelmts=10330
+\newline
+cache_rdcc_nelmts=521
+\newline
+cache_rdcc_nbytes=1048576
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Cache size for chunked dataset.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+\newpage
+
+\end_layout
+
+\begin_layout Subsection
+Dimensional Information
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="1" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+radius=6371e3
+\newline
+density=3340.0
+\newline
+thermdiff=1.0e-6
+\newline
+gravacc=9.81
+\newline
+thermexp=3.0e-5
+\newline
+refvisc=1.0e+21
+\newline
+
+cp=1200
+\newline
+density_above=1030.0
+\newline
+density_below=6600.0
+\newline
+surftemp=273
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Various dimensional information in SI units.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Required Information
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="1" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Problem=convection
+\newline
+Geometry=sphere
+\newline
+Spacing=regular
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+For this version of CitComS.py, all of these parameters must be set as indicated.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+CitComS.py Facilities and Properties
+\end_layout
+
+\begin_layout Standard
+This section lists the facilities and properties in the Pyre version of
+ CitComS.py.
+ Most of the properties have identical names for the parameters as those
+ used in the non-Pyre version of CitComS.py and aare explained in the section
+ above.
+ This section highlights those which have changed and those which are entirely
+ new.
+ Parameters are given with their default values.
+ 
+\end_layout
+
+\begin_layout Subsection
+Top-Level Facilities and Properties
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+steps=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+How many time steps to run, including the 0th time step.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+launcher=mpich
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility specifying which launcher to use.
+ Choices include 
+\begin_inset Quotes sld
+\end_inset
+
+mpich
+\begin_inset Quotes sld
+\end_inset
+
+ and 
+\begin_inset Quotes sld
+\end_inset
+
+lam-mpi
+\begin_inset Quotes sld
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+scheduler=none
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility specifying which scheduler to use.
+ Choices are 
+\begin_inset Quotes sld
+\end_inset
+
+lsf
+\begin_inset Quotes sld
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+pbs
+\begin_inset Quotes sld
+\end_inset
+
+, and 
+\begin_inset Quotes sld
+\end_inset
+
+globus
+\begin_inset Quotes sld
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+controller
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility.
+ User cannot change it.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+solver=regional
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility specifying which solver to use.
+ Must be either 
+\begin_inset Quotes sld
+\end_inset
+
+regional
+\begin_inset Quotes sld
+\end_inset
+
+ or 
+\begin_inset Quotes sld
+\end_inset
+
+full
+\begin_inset Quotes sld
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+launcher
+\end_layout
+
+\begin_layout Standard
+The launcher facility controls how CitComS.py, an MPI application, is executed
+ on multiple processors.
+ It is the equivalent to 
+\family typewriter
+mpirun
+\family default
+ in MPI.
+ 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="3" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+dry=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, print the 
+\family typewriter
+mpirun
+\family default
+ command line and exit without launching the job.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nodegen
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A printf-styled format string, used in conjunction with 
+\family typewriter
+nodelist
+\family default
+ to generate a list of machine names.
+ Example: 
+\begin_inset Quotes sld
+\end_inset
+
+n%03d
+\begin_inset Quotes sld
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nodelist
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A comma-separated list of machine names in square brackets.
+ Example: 
+\family typewriter
+ [101-103,105,107] 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+scheduler
+\end_layout
+
+\begin_layout Standard
+The scheduler facility controls how CitComS.py submits jobs to a batch scheduler.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+dry=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, print the batch script and exit without scheduling the job.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+wait=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+If on, wait for batch jobs to finish before exiting.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+job
+\end_layout
+
+\begin_layout Standard
+The job facility controls options for individual batch jobs.
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+name
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The name for the job.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+queue
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The name of the queue to which the job is scheduled.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+walltime
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Time limit for the job, specified using units; examples: 
+\begin_inset Quotes sld
+\end_inset
+
+
+\family typewriter
+5*minute
+\family default
+
+\begin_inset Quotes srd
+\end_inset
+
+, 
+\begin_inset Quotes sld
+\end_inset
+
+
+\family typewriter
+2*hour
+\family default
+
+\begin_inset Quotes srd
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stdin=/dev/null
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File to read as the input stream.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stdout=stdout.txt
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File to write for the output stream.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stderr=stderr.txt
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+File to write for the error stream.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+controller
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="1" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+monitoringFrequency=10
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+The time step interval between disk output.
+ It replaces the 
+\family typewriter
+storage_spacing
+\family default
+ parameter in the (old) CitComS input file.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="19" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mesher 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility.
+ Must be either 
+\begin_inset Quotes sld
+\end_inset
+
+full-sphere
+\begin_inset Quotes sld
+\end_inset
+
+ or 
+\begin_inset Quotes sld
+\end_inset
+
+regional-sphere
+\begin_inset Quotes sld
+\end_inset
+
+.
+ User does not need to specify it.
+ It is set by the 
+\family typewriter
+solver
+\family default
+ facility automatically.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+tsolver 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for the temperature solver using Petrov-Galerkin time integration.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+vsolver 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for the velocity solver using Boussinesq approximation and Uzawa
+ algorithm.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+bc 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility of boundary conditions.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+const
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for dimensional constants.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+ic
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for initial conditions.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for output options.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+param
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for some additional input parameter files.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+phase 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for phase change parameters.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+A facility for viscosity parameters.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datadir=
+\begin_inset Quotes srd
+\end_inset
+
+.
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datafile=
+\begin_inset Quotes srd
+\end_inset
+
+regtest
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datadir_old=
+\begin_inset Quotes srd
+\end_inset
+
+.
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+datafile_old=
+\begin_inset Quotes srd
+\end_inset
+
+regtest
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+rayleigh=100000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Q0=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+stokes_flow_only=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+verbose=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+see_convergence=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.mesher
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="16" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nproc_surf=1 or 12
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+This parameter is set by the solver facility.
+ Users do not need to change it.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nprocx=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nprocy=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nprocz=1 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+coor=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+coor_file="coor.dat"
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nodex=9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nodey=9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+nodez=9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+levels=1 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+radius_outer=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+radius_inner=0.55
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+theta_min=1.0708
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+theta_max=2.0708
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+fi_min=0 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+fi_max=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.tsolver
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="6" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+ADV=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+filter_temp=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+finetunedt=0.9
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+fixed_timestep=0.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+inputdiffusivity=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+adv_sub_iterations=2
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.vsolver
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="13" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Solver=cgrad
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+node_assemble=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+precond=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+accuracy=1e-06
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+tole_compressibility=1e-07
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mg_cycle=1 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+down_heavy=3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+up_heavy=3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+vlowstep=1000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+vhighstep=3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+piterations=1000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+aug_lagr=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+aug_number=2000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.bc 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="15" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+side_sbcs=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+pseudo_free_surf=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+topvbc=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+topvbxval=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+topvbyval=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+botvbc=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+botvbxval=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+botvbyval=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+toptbc=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+toptbcval=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+bottbc=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+bottbcval=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+temperature_bound_adj=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+depth_bound_adj=0.157
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+width_bound_adj=0.08727
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.const 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="14" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="1.75in">
+<column alignment="left" valignment="top" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+radius=6.371e+06
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+density=3340.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+thermdiff=1e-06
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+gravacc=9.81
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+thermexp=3e-05
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+refvisc=1e+21
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cp=1200
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+density_above=1030.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+density_below=6600.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+surftemp=273.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+z_lith=0.014
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+z_410=0.06435
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+z_lmantle=0.105
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+z_cmb=0.439
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.ic 
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="9" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+restart=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+post_p=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+solution_cycles_init=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+zero_elapsed_time=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+num_perturbations=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+perturbl=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+perturbm=1
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+perturblayer=5 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+perturbmag=0.05
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.output
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="11" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_format=
+\begin_inset Quotes srd
+\end_inset
+
+ascii-local
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_optional=
+\begin_inset Quotes srd
+\end_inset
+
+surf,botm
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_ll_max=20
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cb_block_size=1048576
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cb_buffer_size=4194304
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+sieve_buf_size=1048576
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_alignment=262144
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+output_alignment_threshold=
+\newline
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+524288
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cache_mdc_nelmts=10330
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cache_rdcc_nelmts=521
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cache_rdcc_nbytes=1048576
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.param
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="11" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+file_vbcs=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+vel_bound_file=
+\begin_inset Quotes srd
+\end_inset
+
+bvel.dat
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mat_control=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mat_file=
+\begin_inset Quotes srd
+\end_inset
+
+mat.dat
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+lith_age=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+lith_age_file=
+\begin_inset Quotes srd
+\end_inset
+
+age.dat
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+lith_age_time=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+lith_age_depth=0.0314
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+mantle_temp=1.0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+start_age=40 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+reset_startage=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.phase
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="12" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Ra_410=0 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+clapeyron410=0.0235
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+transT410=0.78 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+width410=0.0058
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Ra_670=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+clapeyron670=-0.0235
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+transT670=0.78
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+width670=0.0058
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Ra_cmb=0
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+clapeyroncmb=-0.0235
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+transTcmb=0.875
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+widthcmb=0.0058
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.tracer
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="2" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="1.75in">
+<column alignment="left" valignment="top" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+tracer=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+tracer_file=
+\begin_inset Quotes srd
+\end_inset
+
+tracer.dat
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+solver.visc
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset Tabular
+<lyxtabular version="3" rows="16" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" width="1.75in">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Viscosity=
+\begin_inset Quotes srd
+\end_inset
+
+system
+\begin_inset Quotes srd
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc_smooth_method=3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VISC_UPDATE=on
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+num_mat=4
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc0=1,1,1,1,
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+TDEPV=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+rheol=3
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+viscE=1,1,1,1,
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+viscT=1,1,1,1, 
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+SDEPV=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+sdepv_misfit=0.02
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+sdepv_expt=1,1,1,1,
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VMIN=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc_min=0.001
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+VMAX=off
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+visc_max=1000
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+\noindent
+journal 
+\end_layout
+
+\begin_layout Standard
+The Pyre facility 
+\family typewriter
+journal
+\family default
+ provides five types of debugging output for conceptually different types
+ of information.
+ The journal output stream can be instantiated as separated channels multiple
+ times, and each channel can be individually activated or deactivated, and
+ sent to different locations (the terminal, sockets, files, devices, etc.).
+ The streams and their default states of the journal streams are:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="2">
+<features islongtable="true">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="1.75in">
+<column alignment="left" valignment="top" rightline="true" width="3.5in">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+debug
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Debugging information.
+ Default off.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+error
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Unrecoverable runtime error.
+ Default on.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+firewall
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Fatal programming error.
+ Default on.
+ 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+info
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Descriptive information.
+ Default off.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+warning
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Recoverable runtime error.
+ Default off.
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+The journal facility is not used in the uncoupled CitComS solver.
+ For coupled solvers, there is a large amount of debugging information that
+ outputs through the journal facility.
+ That output can be turned on/off with command line options.
+ The most important ones are  
+\family typewriter
+journal.debug.Exchanger
+\family default
+  and 
+\family typewriter
+journal.debug.CitComSExchanger
+\family default
+.
+  Try running the scripts with the following options:
+\end_layout
+
+\begin_layout LyX-Code
+
+\family typewriter
+--journal.debug.Exchanger=on --journal.debug.CitComSExchanger=on 
+\end_layout
+
+\begin_layout Chapter
+CitComS.py Input File Format
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+CitComS.py expects Unix-styled ASCII files (i.e., no carriage character following
+ new line character) for all input files.
+ This can be a nuisance in DOS/Windows systems.
+ You may want to find a text editor that can write Unix-style ASCII files.
+ In the following, words in normal 
+\family typewriter
+courier
+\family default
+ must be input exactly as shown, while 
+\family typewriter
+\series bold
+bold
+\family default
+\series default
+ words should be substituted by your values.
+ All parameters are in non-dimensional units unless specified.
+ 
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Coordinate-files}
+
+\end_inset
+
+Coordinate Files
+\end_layout
+
+\begin_layout Standard
+For regional version of CitComS.py, the mesh must be regular, but the mesh
+ spacing may be unequal.
+ The 
+\family typewriter
+coor_file
+\family default
+ has the format: 
+\end_layout
+
+\begin_layout LyX-Code
+nsd=1
+\newline
+1 
+\series bold
+    theta1
+\series default
+
+\newline
+2 
+\series bold
+    theta2
+\series default
+
+\newline
+...
+   ...
+\series bold
+
+\newline
+nodex theta_nodex
+\series default
+
+\newline
+nsd=2
+\newline
+1 
+\series bold
+    phi1
+\series default
+
+\newline
+2 
+\series bold
+    phi2
+\series default
+
+\newline
+...
+   ...
+\series bold
+
+\newline
+nodey phi_nodey
+\series default
+
+\newline
+nsd=3
+\newline
+1 
+\series bold
+    r1
+\series default
+
+\newline
+2 
+\series bold
+    r2
+\series default
+
+\newline
+...
+   ...
+\series bold
+
+\newline
+nodez r_nodez
+\end_layout
+
+\begin_layout Standard
+For full spherical version of CitComS.py, the mesh of each cap must be regular
+ and equidistant in the horizontal dimension.
+ Only the vertical dimension is specified by 
+\family typewriter
+coor_file
+\family default
+.
+ The 
+\family typewriter
+coor_file
+\family default
+ has the format:
+\end_layout
+
+\begin_layout LyX-Code
+nsd=3
+\newline
+1 
+\series bold
+    r1
+\series default
+
+\newline
+2 
+\series bold
+    r2
+\series default
+
+\newline
+...
+   ...
+\series bold
+
+\newline
+nodez r_nodez
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:Velocity-boundary-condition}
+
+\end_inset
+
+Velocity Boundary Condition Files
+\end_layout
+
+\begin_layout Standard
+If 
+\family typewriter
+vel_bound_file
+\family default
+ is set to 
+\family typewriter
+bvel.dat
+\family default
+, then it is necessary to have one 
+\family typewriter
+bvel.dat
+\family default
+ file per cap for each million-year interval.
+ For example, if 
+\family typewriter
+start_age=83
+\family default
+, then the following files are needed for the regional mesh: 
+\end_layout
+
+\begin_layout LyX-Code
+bvel.dat84
+\newline
+bvel.dat83
+\newline
+bvel.dat82
+\newline
+...
+\newline
+bvel.dat0
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+TIP:
+\series default
+ Even though the model starts at 83 million years before present, by default
+ it will attempt to read in both a file for 84 and a file for 83 million
+ years ago.
+ To deal with this, just create a duplicate copy of 
+\family typewriter
+bvel.dat83
+\family default
+ and call it 
+\family typewriter
+bvel.dat84
+\end_layout
+
+\begin_layout Standard
+For the global mesh, each of the 12 caps requires one file for each million-year
+ interval.
+ For example, these files are needed for an 82-million-year age:
+\end_layout
+
+\begin_layout LyX-Code
+bvel.dat82.0
+\newline
+bvel.dat82.1
+\newline
+bvel.dat82.2
+\newline
+...
+\newline
+bvel.dat82.11
+\end_layout
+
+\begin_layout Standard
+Each velocity boundary condition file has the format:
+\end_layout
+
+\begin_layout LyX-Code
+
+\series bold
+Vx Vy
+\end_layout
+
+\begin_layout Section
+Material Files
+\end_layout
+
+\begin_layout Standard
+In this version of CitComS.py, the implementation of material support is
+ not working.
+ The material output has been disabled and is documented here for completion.
+ If 
+\family typewriter
+mat_file
+\family default
+ is set to 
+\family typewriter
+mat.dat
+\family default
+, then it is necessary to have one mat.dat file for each million-year interval.
+ For example, if 
+\family typewriter
+start_age=83
+\family default
+, then the following files are needed: 
+\end_layout
+
+\begin_layout LyX-Code
+mat.dat84
+\newline
+mat.dat83
+\newline
+mat.dat82
+\newline
+...
+\newline
+mat.dat0
+\end_layout
+
+\begin_layout Standard
+The same note about 
+\family typewriter
+vel_bound_file
+\family default
+ (see Section 
+\begin_inset LatexCommand \ref{sec:Velocity-boundary-condition}
+
+\end_inset
+
+ above) applies.
+ The format of 
+\family typewriter
+mat_file
+\family default
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+
+\series bold
+n viscosity_factor
+\end_layout
+
+\begin_layout Section
+Lithosphere Age Files
+\end_layout
+
+\begin_layout Standard
+If 
+\family typewriter
+lith_age_file
+\family default
+ is set to 
+\family typewriter
+lith.dat
+\family default
+, then it is necessary to have one 
+\family typewriter
+bvel.dat
+\family default
+ file for each million-year interval.
+ For example, if 
+\family typewriter
+start_age=83
+\family default
+, then the following files are needed for the regional mesh: 
+\end_layout
+
+\begin_layout LyX-Code
+lith.dat84
+\newline
+lith.dat83
+\newline
+lith.dat82
+\newline
+...
+\newline
+lith.dat0
+\end_layout
+
+\begin_layout Standard
+The same note about 
+\family typewriter
+vel_bound_file
+\family default
+ (see Section 
+\begin_inset LatexCommand \ref{sec:Velocity-boundary-condition}
+
+\end_inset
+
+ above) still applies.
+ The input age is in millions of years.
+ For the global mesh, each of the 12 caps requires one file for each million-yea
+r interval.
+ For example, these files are needed for and 82-million-year age:
+\end_layout
+
+\begin_layout LyX-Code
+lith.dat82.0
+\newline
+lith.dat82.1
+\newline
+lith.dat82.2
+\newline
+...
+\newline
+lith.dat82.11
+\end_layout
+
+\begin_layout Standard
+The format of 
+\family typewriter
+lith_age_file
+\family default
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+
+\series bold
+n age
+\end_layout
+
+\begin_layout Section
+Tracer Files
+\end_layout
+
+\begin_layout Standard
+In this version of CitComS.py, the implementation of tracer is neither paralleliz
+ed, nor has it been tested.
+ We strongly advise you not to use this feature.
+ The format of 
+\family typewriter
+tracer_file
+\family default
+ is described here for completion.
+ The first line is the number of tracers in the file.
+ The rest is the location of the tracers.
+ 
+\end_layout
+
+\begin_layout LyX-Code
+
+\series bold
+num_tracers
+\newline
+type x y z
+\end_layout
+
+\begin_layout Chapter
+\begin_inset LatexCommand \label{cha:Appendix-C:-CitComS,}
+
+\end_inset
+
+CitComS.py Output File Format
+\end_layout
+
+\begin_layout Section
+Introduction
+\end_layout
+
+\begin_layout Standard
+The format of the output files of CitComS.py is described here.
+ In the following sections, the model prefix is assumed as 
+\family typewriter
+test-case
+\family default
+, the processor number as 0, and the time step as 10.
+ All outputs are in non-dimensional units unless specified.
+\end_layout
+
+\begin_layout Section
+Postprocessed Cap Output
+\end_layout
+
+\begin_layout Standard
+The commands 
+\family typewriter
+autocombine.py
+\family default
+ produce 1 cap file for regional CitComS.py and 12 cap files for full CitComS.py,
+ e.g., 
+\family typewriter
+test-case.cap00.10
+\family default
+.
+ The first line of the cap file is a comment describing the node geometry
+ (
+\family typewriter
+nodex
+\family default
+ 
+\begin_inset Formula $\times$
+\end_inset
+
+ 
+\family typewriter
+nodey
+\family default
+ 
+\begin_inset Formula $\times$
+\end_inset
+
+ 
+\family typewriter
+nodez
+\family default
+).
+ The rest of the file is column-based, where the meaning of each column
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+colatitude longitude radius vel_colat vel_lon vel_r temperature viscosity
+\end_layout
+
+\begin_layout Section
+Time Output (test-case.time)
+\end_layout
+
+\begin_layout Standard
+This file reports non-dimensional elapsed model time and spent CPU time
+ (in seconds), and it is only outputted on computer node 0.
+ The meaning of each column is: 
+\end_layout
+
+\begin_layout LyX-Code
+step total_t delta_t total_cpu_time step_cpu_time 
+\end_layout
+
+\begin_layout Section
+\begin_inset LatexCommand \label{sec:ASCII-Output}
+
+\end_inset
+
+ASCII Output
+\end_layout
+
+\begin_layout Subsection
+Coordinate Output (test-case.coord.0)
+\end_layout
+
+\begin_layout Standard
+This file is only outputted at the 0th time step.
+ The first line is a header.
+ The rest of the file is column-based, where the meaning of each column
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+colatitude longitude radius
+\end_layout
+
+\begin_layout Subsection
+\begin_inset LatexCommand \label{sub:Velocity-and-Temperature}
+
+\end_inset
+
+Velocity and Temperature Output (test-case.velo.0.10)
+\end_layout
+
+\begin_layout Standard
+The first two lines of this file are headers.
+ The rest of the file is column-based, where the meaning of each column
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+vel_colat vel_lon vel_r temperature
+\end_layout
+
+\begin_layout Subsection
+Viscosity Output (test-case.visc.0.10)
+\end_layout
+
+\begin_layout Standard
+The first line of this file is a header.
+ The rest of the file is column-based, where the meaning of the only column
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+viscosity
+\end_layout
+
+\begin_layout Subsection
+Material Output (test-case.mat.0)
+\end_layout
+
+\begin_layout Standard
+In this version of CitComS.py, the implementation of material support is
+ not working.
+ The material output has been disabled and is documented here for completion.
+ This file is only output at the 0th time step.
+ There is no header.
+ The meaning of each column is: 
+\end_layout
+
+\begin_layout LyX-Code
+element_number layer material
+\end_layout
+
+\begin_layout Subsection
+Surface Variables Output (test-case.surf.0.10 and test-case.botm.0.10)
+\end_layout
+
+\begin_layout Standard
+The first line of each file is a header.
+ The rest of each file is column-based, where the meaning of each column
+ is: 
+\end_layout
+
+\begin_layout LyX-Code
+topography heatflux vel_colat vel_lon
+\end_layout
+
+\begin_layout Subsection
+Stress Output (test-case.stress.0.10)
+\end_layout
+
+\begin_layout Standard
+The first two lines of the file are headers.
+ The rest of the file is column-based, where the meaning of each column
+ is:
+\end_layout
+
+\begin_layout LyX-Code
+Sxx Syy Szz Sxy Sxz Syz
+\end_layout
+
+\begin_layout Standard
+You can use the above values to form the following symmetric stress tensor:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula \begin{equation}
+\left[\begin{array}{ccc}
+Sxx & Sxy & Sxz\\
+Syx & Syy & Syz\\
+Szx & Szy & Szz\end{array}\right]\label{eq:symmetric stress tensor}\end{equation}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Pressure Output (test-case.pressure.0.10)
+\end_layout
+
+\begin_layout Standard
+The first line of the file is a header.
+ The rest of the file is column-based, where the meaning of the only column
+ is:
+\end_layout
+
+\begin_layout LyX-Code
+pressure
+\end_layout
+
+\begin_layout Subsection
+Horizontal Average Output (test-case.horiz_avg.0.10)
+\end_layout
+
+\begin_layout Standard
+The first line of the file is a header.
+ The rest of the file is column-based, where the meaning of each column
+ is:
+\end_layout
+
+\begin_layout LyX-Code
+radius temperature RMS(V_horizontal) RMS(V_vertical)
+\end_layout
+
+\begin_layout Subsection
+Geoid Output (test-case.geoid.10)
+\end_layout
+
+\begin_layout Standard
+The first line of the file is a header.
+ The rest of the file is column-based, where the meaning of each column
+ is:
+\end_layout
+
+\begin_layout LyX-Code
+degree order geoid_sin geoid_cos geoid_from_bncy_sin geoid_from_bncy_cos
+ geoid_from_surf_topo_sin geoid_from_surf_topo_cos
+\end_layout
+
+\begin_layout Section
+HDF5 Output (test-case.h5)
+\end_layout
+
+\begin_layout Standard
+The format and layout of HDF5 output is described in Section 
+\begin_inset LatexCommand \vref{sec:Data-Layout}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Chapter
+License 
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+\series default
+ 
+\newline
+
+\series medium
+Everyone is permitted to copy and distribute verbatim copies of this license
+ document, but changing it is not allowed.
+\end_layout
+
+\begin_layout Section*
+Preamble
+\end_layout
+
+\begin_layout Standard
+The licenses for most software are designed to take away your freedom to
+ share and change it.
+ By contrast, the GNU General Public License is intended to guarantee your
+ freedom to share and change free software -- to make sure the software
+ is free for all its users.
+ This General Public License applies to most of the Free Software Foundation's
+ software and to any other program whose authors commit to using it.
+ (Some other Free Software Foundation software is covered by the GNU Library
+ General Public License instead.) You can apply it to your programs, too.
+\end_layout
+
+\begin_layout Standard
+When we speak of free software, we are referring to freedom, not price.
+ Our General Public Licenses are designed to make sure that you have the
+ freedom to distribute copies of free software (and charge for this service
+ if you wish), that you receive source code or can get it if you want it,
+ that you can change the software or use pieces of it in new free programs;
+ and that you know you can do these things.
+\end_layout
+
+\begin_layout Standard
+To protect your rights, we need to make restrictions that forbid anyone
+ to deny you these rights or to ask you to surrender the rights.
+ These restrictions translate to certain responsibilities for you if you
+ distribute copies of the software, or if you modify it.
+\end_layout
+
+\begin_layout Standard
+For example, if you distribute copies of such a program, whether gratis
+ or for a fee, you must give the recipients all the rights that you have.
+ You must make sure that they, too, receive or can get the source code.
+ And you must show them these terms so they know their rights.
+\end_layout
+
+\begin_layout Standard
+We protect your rights with two steps:
+\end_layout
+
+\begin_layout Enumerate
+Copyright the software, and 
+\end_layout
+
+\begin_layout Enumerate
+Offer you this license which gives you legal permission to copy, distribute
+ and/or modify the software.
+\end_layout
+
+\begin_layout Standard
+Also, for each author's protection and ours, we want to make certain that
+ everyone understands that there is no warranty for this free software.
+ If the software is modified by someone else and passed on, we want its
+ recipients to know that what they have is not the original, so that any
+ problems introduced by others will not reflect on the original authors'
+ reputations.
+\end_layout
+
+\begin_layout Standard
+Finally, any free program is threatened constantly by software patents.
+ We wish to avoid the danger that redistributors of a free program will
+ individually obtain patent licenses, in effect making the program proprietary.
+ To prevent this, we have made it clear that any patent must be licensed
+ for everyone's free use or not licensed at all.
+ 
+\end_layout
+
+\begin_layout Standard
+The precise terms and conditions for copying, distribution and modification
+ follow.
+\end_layout
+
+\begin_layout Section*
+GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION
+ AND MODIFICATION 
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+begin{itemize}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+item[0.]
+\end_layout
+
+\end_inset
+
+This License applies to any program or other work which contains a notice
+ placed by the copyright holder saying it may be distributed under the terms
+ of this General Public License.
+ The "Program" below refers to any such program or work, and a "work based
+ on the Program" means either the Program or any derivative work under copyright
+ law: that is to say, a work containing the Program or a portion of it,
+ either verbatim or with modifications and/or translated into another language.
+ (Hereinafter, translation is included without limitation in the term "modificat
+ion.") Each licensee is addressed as "you."
+\newline
+
+\newline
+Activities other than copying,
+ distribution and modification are not covered by this License; they are
+ outside its scope.
+ The act of running the Program is not restricted, and the output from the
+ Program is covered only if its contents constitute a work based on the
+ Program (independent of having been made by running the Program).
+ Whether that is true depends on what the Program does.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+end{itemize}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+You may copy and distribute verbatim copies of the Program's source code
+ as you receive it, in any medium, provided that you conspicuously and appropria
+tely publish on each copy an appropriate copyright notice and disclaimer
+ of warranty; keep intact all the notices that refer to this License and
+ to the absence of any warranty; and give any other recipients of the Program
+ a copy of this License along with the Program.
+ 
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+You may charge a fee for the physical act of transferring a copy, and you
+ may at your option offer warranty protection in exchange for a fee.
+ 
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+You may modify your copy or copies of the Program or any portion of it,
+ thus forming a work based on the Program, and copy and distribute such
+ modifications or work under the terms of Section 1 above, provided that
+ you also meet all of these conditions: 
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+You must cause the modified files to carry prominent notices stating that
+ you changed the files and the date of any change.
+ 
+\end_layout
+
+\begin_layout Enumerate
+You must cause any work that you distribute or publish, that in whole or
+ in part contains or is derived from the Program or any part thereof, to
+ be licensed as a whole at no charge to all third parties under the terms
+ of this License.
+ 
+\end_layout
+
+\begin_layout Enumerate
+If the modified program normally reads commands interactively when run,
+ you must cause it, when started running for such interactive use in the
+ most ordinary way, to print or display an announcement including an appropriate
+ copyright notice and a notice that there is no warranty (or else, saying
+ that you provide a warranty) and that users may redistribute the program
+ under these conditions, and telling the user how to view a copy of this
+ License.
+ (Exception: if the Program itself is interactive but does not normally
+ print such an announcement, your work based on the Program is not required
+ to print an announcement.) 
+\end_layout
+
+\begin_layout Standard
+These requirements apply to the modified work as a whole.
+ If identifiable sections of that work are not derived from the Program,
+ and can be reasonably considered independent and separate works in themselves,
+ then this License, and its terms, do not apply to those sections when you
+ distribute them as separate works.
+ But when you distribute the same sections as part of a whole which is a
+ work based on the Program, the distribution of the whole must be on the
+ terms of this License, whose permissions for other licensees extend to
+ the entire whole, and thus to each and every part regardless of who wrote
+ it.
+ 
+\end_layout
+
+\begin_layout Standard
+Thus, it is not the intent of this section to claim rights or contest your
+ rights to work written entirely by you; rather, the intent is to exercise
+ the right to control the distribution of derivative or collective works
+ based on the Program.
+ 
+\end_layout
+
+\begin_layout Standard
+In addition, mere aggregation of another work not based on the Program with
+ the Program (or with a work based on the Program) on a volume of a storage
+ or distribution medium does not bring the other work under the scope of
+ this License.
+ 
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+You may copy and distribute the Program (or a work based on it, under Section
+ 2) in object code or executable form under the terms of Sections 1 and
+ 2 above provided that you also do one of the following: 
+\end_layout
+
+\begin_deeper
+\begin_layout Enumerate
+Accompany it with the complete corresponding machine-readable source code,
+ which must be distributed under the terms of Sections 1 and 2 above on
+ a medium customarily used for software interchange; or, 
+\end_layout
+
+\begin_layout Enumerate
+Accompany it with a written offer, valid for at least three years, to give
+ any third party, for a charge no more than your cost of physically performing
+ source distribution, a complete machine-readable copy of the corresponding
+ source code, to be distributed under the terms of Sections 1 and 2 above
+ on a medium customarily used for software interchange; or, 
+\end_layout
+
+\begin_layout Enumerate
+Accompany it with the information you received as to the offer to distribute
+ corresponding source code.
+ (This alternative is allowed only for noncommercial distribution and only
+ if you received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.) 
+\end_layout
+
+\begin_layout Standard
+The source code for a work means the preferred form of the work for making
+ modifications to it.
+ For an executable work, complete source code means all the source code
+ for all modules it contains, plus any associated interface definition files,
+ plus the scripts used to control compilation and installation of the executable.
+ However, as a special exception, the source code distributed need not include
+ anything that is normally distributed (in either source or binary form)
+ with the major components (compiler, kernel, and so on) of the operating
+ system on which the executable runs, unless that component itself accompanies
+ the executable.
+\end_layout
+
+\begin_layout Standard
+If distribution of executable or object code is made by offering access
+ to copy from a designated place, then offering equivalent access to copy
+ the source code from the same place counts as distribution of the source
+ code, even though third parties are not compelled to copy the source along
+ with the object code.
+ 
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+You may not copy, modify, sublicense, or distribute the Program except as
+ expressly provided under this License.
+ Any attempt otherwise to copy, modify, sublicense or distribute the Program
+ is void, and will automatically terminate your rights under this License.
+ However, parties who have received copies, or rights, from you under this
+ License will not have their licenses terminated so long as such parties
+ remain in full compliance.
+ 
+\end_layout
+
+\begin_layout Enumerate
+You are not required to accept this License, since you have not signed it.
+ However, nothing else grants you permission to modify or distribute the
+ Program or its derivative works.
+ These actions are prohibited by law if you do not accept this License.
+ Therefore, by modifying or distributing the Program (or any work based
+ on the Program), you indicate your acceptance of this License to do so,
+ and all its terms and conditions for copying, distributing or modifying
+ the Program or works based on it.
+ 
+\end_layout
+
+\begin_layout Enumerate
+Each time you redistribute the Program (or any work based on the Program),
+ the recipient automatically receives a license from the original licensor
+ to copy, distribute or modify the Program subject to these terms and conditions.
+ You may not impose any further restrictions on the recipients' exercise
+ of the rights granted herein.
+ You are not responsible for enforcing compliance by third parties to this
+ License.
+ 
+\end_layout
+
+\begin_layout Enumerate
+If, as a consequence of a court judgment or allegation of patent infringement
+ or for any other reason (not limited to patent issues), conditions are
+ imposed on you (whether by court order, agreement or otherwise) that contradict
+ the conditions of this License, they do not excuse you from the conditions
+ of this License.
+ If you cannot distribute so as to satisfy simultaneously your obligations
+ under this License and any other pertinent obligations, then as a consequence
+ you may not distribute the Program at all.
+ For example, if a patent license would not permit royalty-free redistribution
+ of the Program by all those who receive copies directly or indirectly through
+ you, then the only way you could satisfy both it and this License would
+ be to refrain entirely from distribution of the Program.
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+If any portion of this section is held invalid or unenforceable under any
+ particular circumstance, the balance of the section is intended to apply
+ and the section as a whole is intended to apply in other circumstances.
+\end_layout
+
+\begin_layout Standard
+It is not the purpose of this section to induce you to infringe any patents
+ or other property right claims or to contest validity of any such claims;
+ this section has the sole purpose of protecting the integrity of the free
+ software distribution system, which is implemented by public license practices.
+ Many people have made generous contributions to the wide range of software
+ distributed through that system in reliance on consistent application of
+ that system; it is up to the author/donor to decide if he or she is willing
+ to distribute software through any other system and a licensee cannot impose
+ that choice.
+ 
+\end_layout
+
+\begin_layout Standard
+This section is intended to make thoroughly clear what is believed to be
+ a consequence of the rest of this License.
+ 
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+If the distribution and/or use of the Program is restricted in certain countries
+ either by patents or by copyrighted interfaces, the original copyright
+ holder who places the Program under this License may add an explicit geographic
+al distribution limitation excluding those countries, so that distribution
+ is permitted only in or among countries not thus excluded.
+ In such case, this License incorporates the limitation as if written in
+ the body of this License.
+ 
+\end_layout
+
+\begin_layout Enumerate
+The Free Software Foundation may publish revised and/or new versions of
+ the General Public License from time to time.
+ Such new versions will be similar in spirit to the present version, but
+ may differ in detail to address new problems or concerns.
+ 
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+Each version is given a distinguishing version number.
+ If the Program specifies a version number of this License which applies
+ to it and "any later version," you have the option of following the terms
+ and conditions either of that version or of any later version published
+ by the Free Software Foundation.
+ If the Program does not specify a version number of this License, you may
+ choose any version ever published by the Free Software Foundation.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+If you wish to incorporate parts of the Program into other free programs
+ whose distribution conditions are different, write to the author to ask
+ for permission.
+ For software which is copyrighted by the Free Software Foundation, write
+ to the Free Software Foundation; we sometimes make exceptions for this.
+ Our decision will be guided by the two goals of preserving the free status
+ of all derivatives of our free software and of promoting the sharing and
+ reuse of software generally.
+ 
+\end_layout
+
+\begin_layout Subsection*
+NO WARRANTY 
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+begin{itemize}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+item[11.]
+\end_layout
+
+\end_inset
+
+BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+ THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+ EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
+ PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
+ EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
+ YOU.
+ SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
+ SERVICING, REPAIR OR CORRECTION.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+item[12.]
+\end_layout
+
+\end_inset
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
+ ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
+ ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
+ THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
+ OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
+ THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY
+ OF SUCH DAMAGES.
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+end{itemize}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section*
+END OF TERMS AND CONDITIONS 
+\end_layout
+
+\begin_layout Subsection*
+How to Apply These Terms to Your New Programs
+\end_layout
+
+\begin_layout Standard
+If you develop a new program, and you want it to be of the greatest possible
+ use to the public, the best way to achieve this is to make it free software
+ which everyone can redistribute and change under these terms.
+ 
+\end_layout
+
+\begin_layout Standard
+To do so, attach the following notices to the program.
+ It is safest to attach them to the start of each source file to most effectivel
+y convey the exclusion of warranty; and each file should have at least the
+ "copyright" line and a pointer to where the full notice is found.
+ For example:
+\end_layout
+
+\begin_layout Quote
+One line to give the program's name and a brief idea of what it does.
+ Copyright 
+\size footnotesize
+© (
+\size default
+year) (name of author) 
+\end_layout
+
+\begin_layout Quote
+This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your option)
+ any later version.
+ 
+\end_layout
+
+\begin_layout Quote
+This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE.
+ See the GNU General Public License for more details.
+ 
+\end_layout
+
+\begin_layout Quote
+You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+\end_layout
+
+\begin_layout Standard
+Also add information on how to contact you by electronic and paper mail.
+ 
+\end_layout
+
+\begin_layout Standard
+If the program is interactive, make it output a short notice like this when
+ it starts in an interactive mode: 
+\end_layout
+
+\begin_layout Quote
+Gnomovision version 69, Copyright © year name of author Gnomovision comes
+ with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it under certain
+ conditions; type `show c' for details.
+ 
+\end_layout
+
+\begin_layout Standard
+The hypothetical commands `show w' and `show c' should show the appropriate
+ parts of the General Public License.
+ Of course, the commands you use may be called something other than `show
+ w' and `show c'; they could even be mouse-clicks or menu items -- whatever
+ suits your program.
+ 
+\end_layout
+
+\begin_layout Standard
+You should also get your employer (if you work as a programmer) or your
+ school, if any, to sign a "copyright disclaimer" for the program, if necessary.
+ Here is a sample; alter the names: 
+\end_layout
+
+\begin_layout Quote
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovisi
+on' (which makes passes at compilers) written by James Hacker.
+ 
+\end_layout
+
+\begin_layout Quote
+(signature of Ty Coon)
+\newline
+1 April 1989 
+\newline
+Ty Coon, President of Vice 
+\end_layout
+
+\begin_layout Standard
+This General Public License does not permit incorporating your program into
+ proprietary programs.
+ If your program is a subroutine library, you may consider it more useful
+ to permit linking proprietary applications with the library.
+ If this is what you want to do, use the GNU Library General Public License
+ instead of this License.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [1]{Moresi et al Plate tectonics}
+Moresi, L., M.
+ Gurnis, and S.
+ Zhong (2000), Plate tectonics and convection in the Earth's mantle: Toward
+ a numerical simulation, 
+\emph on
+Comp.
+ Sci.
+ Engin., 2
+\emph default
+, 22-33.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [2]{Moresi/Solomatov Numerical}
+Moresi, L.
+ N., and V.
+ S.
+ Solomatov (1995), Numerical investigation of 2D convection with extremely
+ large viscosity variations, 
+\emph on
+Phys.
+ Fluid,
+\emph default
+ 
+\emph on
+7
+\emph default
+, 2,154-2,162.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [3]{Moresi/Gurnis Contraints}
+Moresi, L.
+ N., and M.
+ Gurnis (1996), Constraints on the lateral strength of slabs from three-dimensio
+nal dynamic flow models, 
+\emph on
+Earth Planet.
+ Sci.
+ Lett.,
+\emph default
+ 
+\emph on
+138
+\emph default
+, 15-28.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [4]{Zhong/Moresi The role of faults}
+Zhong, S., M.
+ Gurnis, and L.
+ Moresi (1998), The role of faults, nonlinear rheology, and viscosity structure
+ in generating plates from instantaneous mantle flow models, 
+\emph on
+J.
+ Geophys.
+ Res.,
+\emph default
+ 
+\emph on
+103
+\emph default
+, 15,255-15,268.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [5]{Zhong et al The role of temperature}
+Zhong, S., M.
+ T.
+ Zuber, L.
+ N.
+ Moresi, and M.
+ Gurnis (2000), The role of temperature-dependent viscosity and surface
+ plates in spherical shell models of mantle convection, 
+\emph on
+J.
+ Geophys.
+ Res., 105
+\emph default
+, 11,063-11,082.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [6]{Tan et al Slabs in the lower}
+Tan, E., M.
+ Gurnis, and L.
+ Han (2002), Slabs in the lower mantle and their modulation of plume formation,
+ 
+\emph on
+Geochem.
+ Geophys.
+ Geosys.,
+\emph default
+ 
+\emph on
+3
+\emph default
+, 1067.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [7]{Conrad/Gurnis Seismic tomography}
+Conrad, C.
+ P., and M.
+ Gurnis (2003), Seismic tomography, surface uplift, and the breakup of Gondwanal
+and: Integrating mantle convection backwards in time, 
+\emph on
+Geochem.
+ Geophys.
+ Geosys.,
+\emph default
+ 
+\emph on
+4(3)
+\emph default
+, 1031, doi:10.1029/2001GC000299.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [8]{Hughes The Finite Element Method}
+Hughes, T.
+ J.
+ R.
+ 
+\emph on
+The Finite Element Method: Linear Static and Dynamic Finite Element Analysis.
+
+\emph default
+ Englewood Cliffs, New Jersey: Prentice-Hall, Inc.; 1987.
+ 672 p.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [9]{Ramage/Wathen Iterative solution}
+Ramage, A., and A.
+ J.
+ Wathen (1994), Iterative solution techniques for the Stokes and Navier-Stokes
+ equations, 
+\emph on
+Int.
+ J.
+ Numer.
+ Methods.
+ Fluids,
+\emph default
+ 
+\emph on
+19
+\emph default
+, 67-83.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [10]{Brooks A.N.}
+Brooks, A.
+ N.
+
+\emph on
+ A Petrov-Galerkin Finite Element Formulation for Convecton Dominated Flows.
+
+\emph default
+ Unpublished doctoral thesis, California Institute of Technology, Pasadena,
+ CA, 1981.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [11]{Cahouet/Chabard Some fast 3D}
+Cahouet, J., and J.-P.
+ Chabard (1988), Some fast 3D finite element solvers for the generalized
+ Stokes problem
+\emph on
+, Int.
+ J.
+ Numer.
+ Methods.
+ Fluids,
+\emph default
+ 
+\emph on
+8
+\emph default
+, 869-895.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [12]{Atanga/Silvester Iterative methods}
+Atanga, J., and D.
+ Silvester (1992), Iterative methods for stabilized mixed velocity-pressure
+ finite elements, 
+\emph on
+Int.
+ J.
+ Numer.
+ Methods.
+ Fluids,
+\emph default
+ 
+\emph on
+14
+\emph default
+, 71-81.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [13]{Hager/OConnell A simple global}
+Hager, B.
+ H., and R.
+ J.
+ O'Connell (1981), A simple global model of plate dynamics and mantle convection
+, 
+\emph on
+J.
+ Geophys.
+ Res.,
+\emph default
+ 
+\emph on
+86
+\emph default
+, 4,843-4,867.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [14]{Tan et al GeoFramework Part I}
+Tan, E., E.
+ Choi, P.
+ Thoutireddy, M.
+ Gurnis, and M.
+ Aivazis (2006), GeoFramework: Coupling multiple models of mantle convection
+ within a computational framework,  
+\emph on
+Geochem., Geophys., Geosyst.
+ 7,
+\series bold
+ 
+\series default
+\emph default
+Q06001, doi:10.1029/2005GC001155.
+ 
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [15]{Zhong et al Free-surface formulation}
+Zhong, S., M.
+ Gurnis, and L.
+ Moresi (1996), Free-surface formulation of mantle convection--I.
+ Basic theory and appication to plumes
+\emph on
+, Geophys.
+ J.
+ Int.
+\emph default
+, 
+\emph on
+127
+\emph default
+, 708-718.
+\end_layout
+
+\begin_layout Bibliography
+
+\bibitem [16]{Zhong et al Three-dimensional}
+Zhong, S., A.
+ Paulson, and J.
+ Wahr (2003), Three-dimensional finite-element modeling of Earth's viscoelastic
+ deformation: effects of lateral variations in lithospheric thickness, 
+\emph on
+Geophys.
+ J.
+ Int.,
+\emph default
+ 
+\emph on
+155
+\emph default
+, 679-695.
+ 
+\end_layout
+
+\end_body
+\end_document



More information about the cig-commits mailing list