A brief description of TRANSP unix directories

D. McCune  PPPL  USA 


  2 Mar 2015
Removed VAX references; JET extensions added - in blue. (jec)
30 Mar 1993
Source code control based on svn software has been added to the system.

Remarks:

Many directories are pointed to by environment variables; this is indicated where it applies.  Some of the most important environment variables are:

TRANSPROOT
pointer to root of TRANSP file system.  
CODESYSDIR
pointer to root of subsystem containing source code. (Also $CS at JET )  
LOCAL
pointer to root of subsystem containing binary code. May be the same as $CODESYSDIR

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:

The following directories (containing source code or documentation) are under source code control (applied to all files in the directories):

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:

Debug and work directories may also contain temporary binary files. Generally all other files are ascii text files.

User's Root directory

contains .login, .cshrc, other initialization files, and subdirectory files.

TRANSP root directory

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

CODESYSDIR

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.