[cig-commits] r13659 - doc/snac
echoi at geodynamics.org
echoi at geodynamics.org
Thu Dec 11 13:18:17 PST 2008
Author: echoi
Date: 2008-12-11 13:18:17 -0800 (Thu, 11 Dec 2008)
New Revision: 13659
Modified:
doc/snac/snac.lyx
Log:
Ch. 2 updated by adding Ch. 9.
Modified: doc/snac/snac.lyx
===================================================================
--- doc/snac/snac.lyx 2008-12-11 20:32:00 UTC (rev 13658)
+++ doc/snac/snac.lyx 2008-12-11 21:18:17 UTC (rev 13659)
@@ -1770,11 +1770,21 @@
\end_layout
\begin_layout Chapter
-Installation
+Installation and Getting Help
\end_layout
+\begin_layout Section
+Introduction
+\end_layout
+
\begin_layout Standard
-StGermain and SNAC are bundled as SNAC and available at the
+To install SNAC, follow the procedure that is commonly used with other open-sour
+ce software packages.
+ First, download the source package (in the form of a compressed
+\family typewriter
+tar
+\family default
+ file) available at the
\begin_inset LatexCommand htmlurl
name "Geodynamics Software Packages web page"
target "geodynamics.org/cig/software/packages"
@@ -1782,45 +1792,192 @@
\end_inset
.
- Advanced users and software developers may be interested in downloading
- the latest SNAC source code directly from the CIG source code repository,
- instead of using the prepared source package; see Section
-\begin_inset LatexCommand ref
-reference "sec:Software-Repository"
+ After unpacking the source, you run a prepackaged shell script to configure
+ SNAC for your system.
+
+\end_layout
+\begin_layout Section
+Getting Help
+\end_layout
+
+\begin_layout Standard
+For help, send e-mail to the
+\begin_inset LatexCommand htmlurl
+name "CIG Long-term Tectonics Mailing List"
+target "cig-long at geodynamics.org"
+
\end_inset
- later in this chapter.
+.
+ You can subscribe to the Mailing List and view archived discussion at the
+
+\begin_inset LatexCommand htmlurl
+name "Geodynamics Mail Lists web page"
+target "geodynamics.org/cig/lists"
+
+\end_inset
+
+.
\end_layout
+\begin_layout Section
+System Requirements
+\end_layout
+
\begin_layout Standard
-Before building Snac, you will need to have MPI and XML libraries available
- on your machine.
-
+Installation of SNAC requires the following:
\end_layout
+\begin_layout Itemize
+A C compiler
+\end_layout
+
+\begin_layout Itemize
+An MPI library
+\end_layout
+
+\begin_layout Itemize
+Libxml2
+\end_layout
+
\begin_layout Standard
-SNAC has been tested on Linux and Mac OS X platforms.
+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 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
+name "Apple Developer Connection"
+target "developer.apple.com"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Quote
+
+\color red
+Warning:
+\color none
+\color black
+If you are using an Intel compiler on an Itanium CPU, do not use the
+\color none
+
+\family typewriter
+\color black
+-O3
+\family default
+\color none
+
+\color black
+optimization flag as reports indicate that this optimization level will
+ generate incorrect codes.
+ For any compiler, you should always be careful about the correctness of
+ the compiled codes when using an
+\color none
+
+\family typewriter
+\color black
+-O3
+\family default
+\color none
+
+\color black
+or higher optimization level.
\end_layout
-\begin_layout Section
-MPI
+\begin_layout Subsection
+MPI Library
\end_layout
\begin_layout Standard
StGermain requires an implementation of the MPI-1 standard for parallel
message passing, even if you only intend to run the code in serial.
- Fortunately, there are several free implementations of MPI that run on
- all flavors of Unix.
- If you intend to run SNAC on your desktop or a commodity cluster that does
- not yet have an MPI implementation, the free, open source MPICH is recommended.
- It is available at: http://www-unix.mcs.anl.gov/mpi/mpich/
+ A popular choice is
+\begin_inset LatexCommand htmlurl
+name "MPICH"
+target "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
-If you will be running StGermain on a cluster or machine that already has
- an MPI implementation installed, you should go ahead and set up the environment
+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
+name "LAM/MPI"
+target "www.lam-mpi.org"
+
+\end_inset
+
+; so if you have
+\begin_inset LatexCommand htmlurl
+name "Fink"
+target "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 Standard
+It is highly recommended to you should go ahead and set up the environment
variables that allow StGermain to use MPI.
\end_layout
@@ -1835,10 +1992,6 @@
\end_layout
\begin_layout LyX-Code
-export CXX=g++
-\end_layout
-
-\begin_layout LyX-Code
export MPI_DIR=${HOME}/opt/mpich-1.2.7p1
\end_layout
@@ -1871,10 +2024,6 @@
\end_layout
\begin_layout LyX-Code
-setenv CXX g++
-\end_layout
-
-\begin_layout LyX-Code
setenv MPI_DIR ${HOME}/opt/mpich-1.2.7p1
\end_layout
@@ -1923,25 +2072,26 @@
In tcsh: setenv MPI_MACHINES -machinefile /home/raq/machinefile
\end_layout
-\begin_layout Section
+\begin_layout Subsection
Libxml2
\end_layout
\begin_layout Standard
-The Libxml2 library and toolkit are required to handle the input files.
+The Libxml2 library and toolkit are required for Snac to handle the input
+ files.
Although already included in most of the recent linux systems, it can be
obtained from http://xmlsoft.org and installed manually.
Precompiled packages for various linux distributions and OS X are available
through their own package management softwares, too.
\end_layout
-\begin_layout Section
-Other useful environment variables
+\begin_layout Subsection
+Other environment variables
\end_layout
\begin_layout Standard
It is handy to define the following environment variables for both building
- and running Snac.
+ and running SNAC.
\end_layout
\begin_layout Standard
@@ -1949,26 +2099,22 @@
\end_layout
\begin_layout LyX-Code
-# Snac
+export SNAC_DIR=${HOME}/opt/SNAC
\end_layout
\begin_layout LyX-Code
-export SNAC_DIR=${HOME}/opt/SNAC/build
+export SNAC_BINDIR=${SNAC_DIR}/build/bin
\end_layout
\begin_layout LyX-Code
-export SNAC_BINDIR=${SNAC_DIR}/bin
+export SNAC_INCDIR=${SNAC_DIR}/build/include
\end_layout
\begin_layout LyX-Code
-export SNAC_INCDIR=${SNAC_DIR}/include
+export SNAC_LIBDIR=${SNAC_DIR}/build/lib
\end_layout
\begin_layout LyX-Code
-export SNAC_LIBDIR=${SNAC_DIR}/lib
-\end_layout
-
-\begin_layout LyX-Code
export PATH=${SNAC_BINDIR}:${PATH}
\end_layout
@@ -1981,45 +2127,110 @@
\end_layout
\begin_layout LyX-Code
-# Snac
+setenv SNAC_DIR ${HOME}/opt/SNAC
\end_layout
\begin_layout LyX-Code
-setenv SNAC_DIR ${HOME}/opt/SNAC/build
+setenv SNAC_BINDIR ${SNAC_DIR}/build/bin
\end_layout
\begin_layout LyX-Code
-setenv SNAC_BINDIR ${SNAC_DIR}/bin
+setenv SNAC_INCDIR ${SNAC_DIR}/build/include
\end_layout
\begin_layout LyX-Code
-setenv SNAC_INCDIR ${SNAC_DIR}/include
+setenv SNAC_LIBDIR= ${SNAC_DIR}/build/lib
\end_layout
\begin_layout LyX-Code
-setenv SNAC_LIBDIR= ${SNAC_DIR}/lib
+setenv PATH ${SNAC_BINDIR}:${PATH}
\end_layout
\begin_layout LyX-Code
-setenv PATH ${SNAC_BINDIR}:${PATH}
+setenv LD_LIBRARY_PATH ${SNAC_LIBDIR}:${LD_LIBRARY_PATH}
\end_layout
+\begin_layout Section
+Downloading and Unpacking Source
+\end_layout
+
+\begin_layout Standard
+Download SNAC from the
+\begin_inset LatexCommand htmlurl
+name "Geodynamics website"
+target "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
+Long-Term Crustal Dynamics
+\family default
+.
+ Once you click the SNAC link, download the source archive and unpack it
+ using the
+\family typewriter
+tar
+\family default
+ command:
+\end_layout
+
\begin_layout LyX-Code
-setenv LD_LIBRARY_PATH ${SNAC_LIBDIR}:${LD_LIBRARY_PATH}
+$ tar xzf SNAC-1.0.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 SNAC-1.0.0.tar.gz | tar xf -
+\end_layout
+
\begin_layout Section
-Configuring using the VMake build system
+Installation Procedure
\end_layout
+\begin_layout Standard
+After unpacking the source, use the following procedure to install SNAC:
+\end_layout
+
\begin_layout Enumerate
-Tell the build system where libraries are as described above.
+Navigate (i.e.,
+\family typewriter
+cd
+\family default
+) to the directory containing the SNAC source
+\family typewriter
+.
+\newline
+
+\newline
+$ cd SNAC-1.0.0
\end_layout
\begin_layout Enumerate
-Type
+Type .
\family typewriter
-./configure.sh
+/configure.sh
+\family default
+ to configure the package for your system
+\family typewriter
+.
+\newline
+
+\newline
+$ ./configure.sh
\end_layout
\begin_layout Enumerate
@@ -2027,10 +2238,39 @@
\family typewriter
make
\family default
-
+ to build the package.
+\family typewriter
+
+\newline
+
+\newline
+$ make
\end_layout
\begin_layout Standard
+All the newly created files during the building procedure are placed in
+ the
+\family typewriter
+build
+\family default
+ subdirectory.
+ Upon successful completion, the
+\family typewriter
+make
+\family default
+ command executable
+\family typewriter
+Snac
+\family default
+ in the
+\family typewriter
+build/bin
+\family default
+ subdirectory.
+ Currently, installing SNAC into another location is not supported.
+\end_layout
+
+\begin_layout Standard
The following options can be included in the options argument during configurati
on in comma-separated form.
@@ -2130,9 +2370,132 @@
\end_layout
\begin_layout LyX-Code
-$ ./configure.sh --options=cautious,memory_stats
+$ ./configure.sh --options=cautious,memory_stats
\end_layout
+\begin_layout Section
+\begin_inset LatexCommand label
+name "sec:Software-Repository"
+
+\end_inset
+
+Installing from the Software Repository
+\end_layout
+
+\begin_layout Standard
+The SNAC source code is available via a Subversion server at the
+\begin_inset LatexCommand htmlurl
+name "Geodynamics website"
+target "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 may 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
+name "Subversion website"
+target "subversion.tigris.org"
+
+\end_inset
+
+.
+\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/long/3D/SNAC/trunk SNAC
+\end_layout
+
+\begin_layout Standard
+This will create the local directory
+\family typewriter
+SNAC
+\family default
+ (if it doesn't already exist) and fill it with the latest SNAC source from
+ the CIG software repository.
+\end_layout
+
+\begin_layout Standard
+The
+\family typewriter
+SNAC
+\family default
+ directory thus created is called a
+\emph on
+working copy
+\emph default
+.
+ To merge the latest changes into an existing working copy, use the
+\family typewriter
+svn update
+\family default
+ command:
+\end_layout
+
+\begin_layout LyX-Code
+$ cd SNAC
+\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 Chapter
Running SNAC
\end_layout
@@ -2332,8 +2695,7 @@
\family typewriter
complete
\family default
-: Robust force assembly at nodes.
- Should be always used.
+: Robust nodal force assembly.
\end_layout
\begin_layout Description
@@ -3776,11 +4138,8 @@
given as arguments.
The converted output files are always written in the directory where snac2dx
is run.
- The naming convention for the ascii dx files is
-\begin_inset Quotes sld
-\end_inset
-
-snac.{processor ID}.{time step in 6 digits}.dx
+ The naming convention for the ascii dx files is ``snac.{processor ID}.{time
+ step in 6 digits}.dx
\begin_inset Quotes srd
\end_inset
@@ -3863,11 +4222,7 @@
\begin_layout Standard
Let's assume that the global mesh has 51 x 31 x 41 nodes and was decomposed
in 3D by 8 processors.
- Also, we assume that the contents of sim.0 is
-\begin_inset Quotes sld
-\end_inset
-
-25 15 20
+ Also, we assume that the contents of sim.0 is ``25 15 20
\begin_inset Quotes srd
\end_inset
@@ -3884,20 +4239,12 @@
\end_layout
\begin_layout Standard
-The name of a combined file has the format of
-\begin_inset Quotes sld
-\end_inset
-
-snac.{time step in 6 digits}.dx
+The name of a combined file has the format of ``snac.{time step in 6 digits}.dx
\begin_inset Quotes srd
\end_inset
.
-
-\begin_inset Quotes sld
-\end_inset
-
-snac.000035.dx
+ ``snac.000035.dx
\begin_inset Quotes srd
\end_inset
@@ -3923,8 +4270,8 @@
\begin_layout Standard
A program called snac2vtk is provided to convert the binary outputs from
Snac to ascii files in the XML VTK Structured Grid format (.vts).
- snac2vtk is compiled during the building process and installed in ${SNAC_BINDIR
-}.
+ snac2vtk is compiled during the building procedure and installed in ${SNAC_BIND
+IR}.
The usage is
\end_layout
@@ -3941,8 +4288,8 @@
\begin_layout Standard
snac2vtk automatically generates Parallel VTK Structures Grid files (.pvts)
- for each time step so that there is no need to run an extra script even
- for the parallel cases.
+ for each time step so that there is no need for an extra step to combine
+ data even for the parallel cases.
However, .vts files should not be removed because .pvts files only refer
to .vts files rather than contain actual data.
\end_layout
@@ -5102,1414 +5449,10 @@
No content was in the original manual
\end_layout
-\begin_layout Chapter
-Installation and Getting Help -- TODO -- for inclusion in earlier sections
-\end_layout
-
-\begin_layout Section
-Introduction
-\end_layout
-
\begin_layout Standard
-To install SNAC, follow the procedure that is commonly used with other open-sour
-ce software packages.
- First, download the source package (in the form of a compressed
-\family typewriter
-tar
-\family default
- file) available at the
-\begin_inset LatexCommand htmlurl
-name "Geodynamics Software Packages web page"
-target "geodynamics.org/cig/software/packages"
-\end_inset
-
-.
- After unpacking the source, you run a prepackaged shell script to configure
- SNAC for your system.
-
\end_layout
-\begin_layout Section
-Getting Help
-\end_layout
-
-\begin_layout Standard
-For help, send e-mail to the
-\begin_inset LatexCommand htmlurl
-name "CIG Mantle Convection Mailing List"
-target "cig-mc at geodynamics.org"
-
-\end_inset
-
-.
- You can subscribe to the Mailing List and view archived discussion at the
-
-\begin_inset LatexCommand htmlurl
-name "Geodynamics Mail Lists web page"
-target "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 (Python 2.4 or greater is required on 64-bit machines),
- including header files
-\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
-reference "sec:Installing-without-Pyre"
-
-\end_inset
-
- later in this chapter.
-\end_layout
-
-\begin_layout Standard
-If you are going to use solver coupling, you will also need a decent C++
- compiler (e.g., g++ 3.2 or newer) and the Exchanger package; see Section
-\begin_inset LatexCommand ref
-reference "sec:Exchanger-Configuration-(Optional)"
-
-\end_inset
-
-.
- Optionally, CitcomS can be configured to use a parallel HDF5 library; see
- Section
-\begin_inset LatexCommand vref
-reference "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
-name "Apple Developer Connection"
-target "developer.apple.com"
-
-\end_inset
-
-.
-\end_layout
-
-\begin_layout Quote
-
-\color red
-Warning:
-\color none
-
-\color black
-If you are using an Intel compiler on an Itanium CPU, do not use the
-\color none
-
-\family typewriter
-\color black
--O3
-\family default
-\color none
-
-\color black
-optimization flag as reports indicate that this optimization level will
- generate incorrect codes.
- For any compiler, you should always be careful about the correctness of
- the compiled codes when using an
-\color none
-
-\family typewriter
-\color black
--O3
-\family default
-\color none
-
-\color black
-or higher optimization level.
-\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
-name "MPICH"
-target "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
-name "LAM/MPI"
-target "www.lam-mpi.org"
-
-\end_inset
-
-; so if you have
-\begin_inset LatexCommand htmlurl
-name "Fink"
-target "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
-\family typewriter
-python
-\family default
- 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
-name "Python on the Mac"
-target "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
-name "Python website"
-target "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
-name "Geodynamics website"
-target "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-3.0.3.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-3.0.3.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-3.0.3
-\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 Section
-\begin_inset LatexCommand ref
-reference "sec:Configuration"
-
-\end_inset
-
- below.
-\end_layout
-
-\begin_layout Subsection
-Installing to a Secondary Location
-\end_layout
-
-\begin_layout Standard
-Optionally, after building CitcomS, you can install it in 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-3.0.3
-\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
-\begin_inset LatexCommand label
-name "sec:Configuration"
-
-\end_inset
-
-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 of 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.
- More 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
-name "CIG Mantle Convection Mailing List"
-target "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 3.0.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, and store them under
-\family typewriter
-\shape italic
-\emph on
-deps/
-\family default
-\shape default
-\emph default
-.
- 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
-placement H
-wide false
-sideways false
-status open
-
-\begin_layout Standard
-\noindent
-\align center
-\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 vref
-reference "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" bottomline="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
-name "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 LyX-Code
-
-\end_layout
-
-\begin_layout Section
-\begin_inset LatexCommand label
-name "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
-name "Geodynamics website"
-target "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 may 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
-name "Subversion website"
-target "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
-name "GNU website"
-target "www.gnu.org/software"
-
-\end_inset
-
-.
- The CitcomS v3.0.3 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/long/3D/SNAC/trunk SNAC
-\end_layout
-
-\begin_layout Standard
-This will create the local directory
-\family typewriter
-SNAC
-\family default
- (if it doesn't already exist) and fill it with the latest SNAC source from
- the CIG software repository.
-\end_layout
-
-\begin_layout Standard
-The
-\family typewriter
-SNAC
-\family default
- directory thus created is called a
-\emph on
-working copy
-\emph default
-.
- To merge the latest changes into an existing working copy, use the
-\family typewriter
-svn update
-\family default
- command:
-\end_layout
-
-\begin_layout LyX-Code
-$ cd SNAC
-\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 Chapter
\begin_inset LatexCommand label
name "cha:License"
More information about the CIG-COMMITS
mailing list