Source code control based on svn software has been added to the system.
Many directories are pointed to by environment variables; this is indicated where it applies. Some of the most important environment variables are:
In csh, the syntax $TRANSPROOT is used to indicate the path pointed to by the TRANSPROOT environment variable. That notation will be used in this file.
The following directories should be included in the transp account's PATH environment variable definition:
- $TRANSPROOT/bin
- $CODESYSDIR/csh
- $LOCAL/exe
The following directories (containing source code or documentation) are under source code control (applied to all files in the directories):
- $TRANSPROOT/bin
- $TRANSPROOT/daemon
- $CODESYSDIR/sigdata
- $CODESYSDIR/csh
- $CODESYSDIR/doc
- $CODESYSDIR/nag
- $CODESYSDIR/sglib
- $CODESYSDIR/source/<element>
where <element> specifes a separate source directory for each transp subroutine library, executable program, and documentation library. If your local copy of transp is connected to the PPPL central source code repository, then, you may update the above directories using the svn source code control software.
The following directories permanently contain binary files with possibly machine dependent formats:
- $TRANSPROOT/sigtabl
- $LOCAL/exe
- $LOCAL/lib
- $LOCAL/obj
- $LOCAL/other
- $RESULTDIR subdirectories
Debug and work directories may also contain temporary binary files. Generally all other files are ascii text files.
contains .login, .cshrc, other initialization files, and subdirectory files.
pointed to by environment variable: $TRANSPROOT
(may or) may not be the same as the user's root directory.
Subdirectories of TRANSPROOT:
Those marked "*" are links to directories common to all Transp versions (at JET)
bin bootstrap codesys Source files, make system config Version configuration - symbol & library definitions daemon data * debug log Log files from code build result * Root directory for results files ( $RESULTDIR ) runsys ($SR) JETtransp scripts & modules sigtabl Cross section & reaction data template Sample namelists + regression test namelists test tmp Temporary files work * Users working directories ( $WORKROOT )
$TRANSPROOT/bootstrap -- TRANSP source bootstrap directory.
This directory contains a README document and scripts for checking out a copy of TRANSP for development purposes. The user must have access to the PPPL source code repository, and must also obtain a tar file containing test data and a set of "make" files needed to jumpstart the system.
$TRANSPROOT/codesys -- CODESYS directory tree.
This directory tree contains the TRANSP code: source files, make files, documentation., pointed to by environment variable: $CODESYSDIR and also often indicated by environment variable: $LOCAL In the default implementation, this directory tree also contains the code binaries, and the environment variables $LOCAL and $CODESYSDIR are synonyms. $LOCAL and $CODESYSDIR trees may be separated in future implementations, e.g. to support one shared source code mapping to multiple unix machine architectures.
$TRANSPROOT/config -- site specific configuration data. ( $CONFIGDIR )
This directory contains e.g. a list of tokamak names known to the local TRANSP system (TOKAMAK.DAT). This directory can also contain a file csh_mail.address which can contain an email address to which to send log files containing messages -- e.g. the results of an automatic code update from svn.
$TRANSPROOT/data -- directory tree of input data for unix standalone TRANSP ($DATADIR)
subdirectories contain TRANSP input data in Ufiles format, one for each known tokamak. Tokamak subdirectories can have further subdirectories e.g. to separate one user's data from another user's data.
$TRANSPROOT/debug -- working directory for creation of debug executables. ($DBGDIR)
source files and make files are copied or created here when a user uses "uplink xxxxx debug" to create a debug version of an executable in the transp codesys system. Source files being modified and tested may also be stored here.
$TRANSPROOT/log -- log file area for Transp builds ($LOGDIR)
$TRANSPROOT/result -- standalone unix TRANSP run results kept in subdirectories of this directory. ($RESULTDIR)
subdirectories contain the results of completed TRANSP runs, generally, binary files that can be accessed using the rplot program. Namelists and expert module sources are also stored in these subdirectories.
$TRANSPROOT/sigtabl -- atomic and fusion cross section binary table data ($SIGTABLDIR)
This directory contains binary cross section and reaction rate tables used by the transp model. These files are output of the sigtab program. A script to run sigtab is provided in $CODESYSDIR/csh/make_all_tables. The sigtab program can be used to interactively plot the contents of these tables. Sigtab can also be used to modify these tables, but you got to know what you are doing.
Sigtab is $CODESYSDIR/exe/sigtab -- an executable program with source that is provided with transp. See also $CODESYSDIR/sigdata
$TRANSPROOT/test -- test directory
used for miscellaneous arbitrary purposes.
$TRANSPROOT/tmp -- temporary files directory ( $TMPDIR )
used by many procedures as a space for temporary files.
$TRANSPROOT/work -- parent directory for users files ($WORKDIR)
Each run has its own subdirectory, named <shot><runid>. Some level of the directory tree must start with a known Tokamak name - eg $WORKDIR/JETtest/76543C21
The following are subdirectories of $CODESYSDIR, a directory tree containing the transp code source, make files, and documentation.
Also listed are subdirectories of $LOCAL, containing TRANSP binaries.
$CODESYSDIR default definition is $TRANSPROOT/codesys. $LOCAL default definition is alse $TRANSPROOT/codesys. Subdirectories compsc, exe, lib, obj, and other are generally referenced using $LOCAL; all others use $CODESYSDIR.
$LOCAL/compsc -- directories for sources as compiled.
One subdirectory for each executable program, each subroutine library, and each documentation library. Prior to compilation, all sources are "preprocessed" with the c preprocessor (cpp) [ See $SC/tcomp ]
$CODESYSDIR/csh -- executable c shell scripts - $SC.
This directory contains shell scripts which support code development and debugging of transp, as well as scripts for operation of unix standalone transp. This directory should be on the user's PATH.
$CODESYSDIR/doc -- printable HELP files
This directory contains printable HELP file documentation for transp. However, most of the documentation is in other formats, in files in the $CODESYSDIR/source/doc directory.
$LOCAL/exe -- binary executable files ($XE)
This directory contains compiled, loaded, executable programs. This directory should be on the users's PATH.
$LOCAL/lib -- archive .a files containing subroutine libraries
This directory contains all of the subroutine libraries built out of code in $CODESYSDIR/source/* and needed to load transp and related programs.
$CODESYSDIR/libincl -- INCLUDE file data on a library by library basis
Generated files in this directory show what INCLUDE files are referenced by each subroutine library.
$CODESYSDIR/log -- miscellaneous log files
Log files are maintained here to record certain code maintenance or development activities.
$CODESYSDIR/make -- directory tree of make files
One subdirectory for each executable program, each subroutine library, and each documentation library.
Generated make files and shell scripts to build subroutine libraries and executable code. Use the command uplib to check/update a library; use the command uplink to check/update an executable (and all the libraries it uses). Library makefiles are generated by cmsmms, executable makefiles by makelink
$CODESYSDIR/marker -- marker files for VAX source code (Not required)
$LOCAL/obj -- directory tree of binary object files
One subdirectory for each executable program, each subroutine library, and each documentation library.
Relocatable binaries not stored in subroutine libraries are stored in this directory tree. For the most part these are main program drivers and fortran BLOCK DATA modules. Also stores .mod files for private modules, and <module>.tag, a file which indicates that a module already exists.
$LOCAL/other -- miscellaneous subroutine libraries
This directory contains sglib.a (compiled from $CODESYSDIR/sglib sources)
$CODESYSDIR/sglib -- sglib sources
This directory contains sources and make files and some documentation for the sglib graphics library. This library is used for graphics by rplot, Ufiles utilities, and other transp support systems. It is an enhanced version of Tektronix graphics. :-(
$CODESYSDIR/sigdata -- atomic and fusion cross section data and procedures
This directory contains a combination of ascii data files and sigtab program scripts for generation of binary tables needed by unix standalone transp, that contain cross section information for atomic and nuclear reactions tracked in the transp code. Atomic reactions are generally charge exchange and impact ionization of isotopes of Hydrogen and Helium; nuclear reactions are fusion reactions of various kinds.
See also $TRANSPROOT/sigtabl
$CODESYSDIR/source -- THE SOURCE CODE -- directory tree
One subdirectory for each executable program, each subroutine library, and each documentation library. Each subdirectory contains either the source code for a subroutine library or for an executable program, or documentation files. If the subdirectory is for an executable program then there is a file with name of the form xxxxxx_exe.link which shows how to link the executable; this is input to a make file generator procedure. If the subdirectory is for a subroutine library, there is a file with name of the form xxxxxx_lib.inf that briefly describes the purpose of the library. If the subdirectory is for documentation (or other miscellaneous data), then there is a file with name of the form xxxxxx_misc.inf that briefly describes the purpose of the directory.
$CODESYSDIR/source/doc contains this file and most of the system documentation files; versions of transp.hlp and uread.hlp formatted for a printer may be found in $CODESYSDIR/doc.
$CODESYSDIR/source/doc/doclist.doc contains an anotated list of doc files.