| |
Standalone TRANSP on Unix
Douglas McCune, 22 July 1992
D. McCune PPPL USA (609) 243-2731
internet address: dmccune@pppl.gov
Princeton Plasma Physics Laboratory
work supported by DOE contract:
DE-AC02-76-CHO-3073
Contents of this Document:
- Introduction.
- Obtaining a copy of TRANSP
- Environment Variables and Organization of TRANSP Files.
- Step by Step Installation and Testing Instructions.
- Introductory Guide to Running Standalone Unix TRANSP.
- General Guide to Debugging Standalone Unix TRANSP.
See end of file for Bulletins ( updates ) + document Modifications
Quick Build
If you're in a hurry :
Assuming your environment variables are properly set, you have all the
precompiled libraries ready (netcdf, lapack, etc), then, in the best of all worlds, all you need to do to rebuild TRANSP is:
> cd $TRANSPROOT
> csh -f bootstrap/install.csh $TRANSPROOT
> cd $TRANSPROOT
> make_begin
> make_sglib
> $CODESYSDIR/csh/make_it_all
For trouble shooting, please read carefully the remaining part of this document.
BULLETINS
BULLETINS
=========
JEC 20Aug2004: Clarify LOADER_TRAILER, MDSPLUS variable use
DMC/JEC 19Aug2004: LOADER_TRAILER has gotten large in many installations,
so, it is now possible (but not required) to define external libraries
such as NETCDF separately. See the "build options" section below for a
discussion.
DMC 23Dec2003: Added supralu library, with dependence on SuperLU. Am
expecting to use SuperLU in the RF/FPP solver soon. TRANSP developers
will need this software: http://crd.lbl.gov/~xiaoye/SuperLU/ ...
The TRANSP developer's login script will need to define SUPERLU_ROOT
so that certain C code can find $SUPERLU_ROOT/include ... and,
LOADER_TRAILER will need "-L$SUPERLU_ROOT/lib -lsuperlu" inserted.
RGA 20Aug2003: Add FTN_TRAILER and FTN_MAIN environment variables
pletzer Jan 30 2003: New equilibrium code RZSOLVER
Difficult equilibria can now be computed using RZSOLVER, a Python
based program that solves the Grad-Shafranov equation in real coordinates.
RZSOLVER automatically kicks in when Esc fails. RZSOLVER depends on
Python modules not packaged in Transp. To enable RZSOLVER see
rzsolver.doc.
dmc 30 Jun 2001: *** new reaction rate data system ***
*** TRANSP now contains C++ code ****
The old TRANSP COMMON (TRCOM) based system "sigtab" has been replaced
by a new modular system "preact".
The user needs to define PREACTDIR to point to a directory under
which rate tables are to be stored. This replaces SIGTABLDIR which
is no longer needed. Recommend: setenv PREACTDIR $TRANSPROOT/preact
The rate table files created are small, ascii, and can be shared by
all platforms in a multi-platform installation.
The installation step of running `make_all_tables' is no longer
required. "preact" automates the sigma*v rate table generation
process; tables are created when needed automatically by preact's
C++ rate table objects.
Note: because of the presence of C++ code, a new environment
variable, CPP_TRAILER, needs to be defined, so that codes loaded
with an f90 driver but which call C++ routines will find the
necessary C++ runtime libraries. ** the exact names of these
libraries vary from system to system ** and may also evolve
with new releases of the operating system and/or C++ compilers.
A currently working PPPL script for defining CPP_TRAILER is
shown, below.
dmc 30 Jun 2001: FPP/ICRF software conversion
In preparation for modularization of the TRANSP Fokker Planck / ICRF
package, the entire system has been converted to REAL*8 precision, and,
dependencies on "nag" have been removed.
There is a new dependence on freeware: libfftw.a www.fftw.org
(also at www.netlib.org under "transform"). This well regarded high
performance fast fourier transform software will need to be installed
and a reference added to LOADER_TRAILER. The recommendation would be
to support fftw at the systems level, in the same way that lapack
and blas are (hopefully) supported.
CAUTION re fftw: we use:
**version 2.1.5**
**caution -- fftw versions 3.x.x not backward compatible!**
dmc 10 May 2001: the NetCDF software is now required as a prerequisite
to transp installation/update. Compile time and load time errors will
occur if NetCDF is absent.
At compile time: netcdf.inc needs to be found. If this is not in
the "standard" directory, /usr/local/include, then the directory path
needs to be specified in a User_options file (see next bulletin), or,
the environment variable NETCDF_ROOT needs to be defined, and the file
must be found at $NETCDF_ROOT/include/netcdf.inc.
At load time: the environment variable LOADER_TRAILER must be defined
and must include "-L/usr/local/lib -lnetcdf" (if the library is
installed in the "standard" /usr/local/lib) or an equivalent designation
(if netcdf is installed somewhere else).
dmc 10 May 2001: user modifications to the TRANSP compile time
environment can be made by creating a csh script file "User_options"
which can be located in either of the following directories:
$CONFIGDIR or $LOCAL/options
If the TRANSP compilation script ($CODESYSDIR/csh/tcomp) finds
User_options in either of these directories, it will be source'd in.
If your TRANSP source builds to multiple binaries on multiple platforms:
$LOCAL/options will different for each platform, but, $CONFIGDIR will
be common to all platforms.
Example: a User_options file to specify that an additional directory
be searched by compilers for INCLUDE files:
(begin)
# User_options to describe local invironment
# the "netcdf.inc" file is in /users/me/mynetcdf/include
set mydir = /users/me/mynetcdf/include
set f90opt = "$f90opt -I$mydir"
set f90debug = "$f90debug -I$mydir"
set ccopt = "$ccopt -I$mydir"
set ccdebug = "$ccdebug -I$mydir"
(end)
dmc 9 Mar 2000: recent addition of TORIC ICRH code greatly increased
the memory size of TRANSP. This means the `core' file produced by
a crash will be bigger, and might exhaust your disk space. To avoid
this, you might want to put limit coredumpsize 512 in your .login (assuming csh/tcsh). This will prevent a core dump
from filling up your disk but you won't get a complete core dump either.
Modifications
Updated 21 Aug 2007 (jec) from unix_transp.doc 1.78, 15-Jun-2007
Updated 26 Jan 2007 (jec) from unix_transp.doc, Oct 2005
Updated 02 Oct 2001 (jec) from unix_transp.doc, Jul 10
Last reviewed: 27 Jul 2000 (jec) Converted to html
Last reviewed: 09 Mar 2000 (dmc) linux update; added BULLETINS section
Last reviewed: 18 Oct 1999 (dmc) f90/lapack update
Last reviewed: 05 Jan 1999 (dmc) cleanup & minor editing
Last reviewed: 19 Aug 1996 (tbt) Added comment on using xdb at GA.
Last reviewed: 14 Dec 1995 (tbt) Added HP workstation.
Last reviewed: 01 Dec 1995 (dmc)
Last reviewed: 18 Feb 1994 (tbt) Minor edit
Last reviewed: 09 Jan 1995 (dmc)
Modification: 01 Mar 1995 (Wie) |