This document gives a brief description of TRANSP unix directories. =================================================================== D. McCune PPPL USA (609) 243-2731 internet address: TRANSP@PPPL.GOV Last review: 30 Mar 1993 Source code control based on cvs and rcs 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. LOCAL -- pointer to root of subsystem containing binary code. 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 transp system supports two operational modes: standalone unix transp, which reads its input from and stores its output to the unix transp file system, and VAX-unix transp, which receives its input from and sends its output back to a connected VAX machine. 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/* the last designation species 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 cvs 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. 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: $TRANSPROOT /bin /bootstrap /codesys /config /daemon /data /debug /log /request /result /sigtabl /status /test /tmp /work ---------------------------------------------------------------- $TRANSPROOT/bin -- executable shell scripts. These scripts generally support a connection to TRANSP on a VAXcluster, for operation or code development purposes. These scripts are not used by standalone unix transp for operational purposes. However, scripts in this directory may be used to run cvs source code control functions. ---------------------------------------------------------------- $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 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. subdirectories: the TRANSP code ... *** More information below *** ---------------------------------------------------------------- $TRANSPROOT/config -- site specific configuration data. 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 cvs. pointed to by environment variable: $CONFIGDIR ---------------------------------------------------------------- $TRANSPROOT/daemon -- home for VAX-unix transp daemon. This directory contains code to implement transp operations in a configuration where unix workstations serve as compute engines serving requests for transp runs generated from a DECnet connected VAXcluster. The file update.daemon can be used to run a job to update a checked out copy of transp from the PPPL repository. ---------------------------------------------------------------- $TRANSPROOT/data -- directory tree of input data for unix standalone TRANSP subdirectories contain TRANSP input data in Ufiles format. pointed to by environment variable: $DATADIR subdirectories: one for each known tokamak. Tokamak subdirectories can have further subdirectories e.g. to separate one user's data from another user's data. standalone unix transp test data stored in $TRANSPROOT/data/TFTR/mccune ---------------------------------------------------------------- $TRANSPROOT/debug -- working directory for creation of debug executables. 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. pointed to by environment variable: $DBGDIR ---------------------------------------------------------------- $TRANSPROOT/log -- log file area for VAX-unix daemon subprocedures. log maintained by the VAX-unix transp daemon are kept here. see $TRANSPROOT/daemon. pointed to by environment variable: $LOGDIR ---------------------------------------------------------------- $TRANSPROOT/request -- request area -- where VAXs send requests for work. files in this directory are scanned by the VAX-unix transp daemon. see $TRANSPROOT/daemon. pointed to by environment variable: $REQUESTDIR ---------------------------------------------------------------- $TRANSPROOT/result -- standalone unix TRANSP run results kept in subdirectories of this directory. 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. There is a subdirectory for each tok.yy combination, where "tok" is a 3 or 4 capital letter tokamak designator, e.g. "TFTR", and yy is a 2 digit shot year designator, e.g. 88. So, a typical subdirectory name would be "TFTR.88". pointed to by environment variable: $RESULTDIR standalone unix transp test data in $TRANSPROOT/result/TFTR.88 ---------------------------------------------------------------- $TRANSPROOT/sigtabl -- atomic and fusion cross section binary table data 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 this directory pointed to by environment variable: $SIGTABLDIR ---------------------------------------------------------------- $TRANSPROOT/status -- status directory for VAX-unix transp runs used only by VAX-unix transp. ---------------------------------------------------------------- $TRANSPROOT/test -- test directory used for miscellaneous arbitrary purposes. ---------------------------------------------------------------- $TRANSPROOT/tmp -- temporary files directory used by many procedures as a space for temporary files. pointed to by environment variable: $TMPDIR ---------------------------------------------------------------- $TRANSPROOT/work -- work directory tree for transp runs in execution there is a subdirectory for each known tokamak. A transp run on a given tokamak's data uses the tokamak's work subdirectory as a workspace for run related files while during run execution. When the run completes, the output files are removed and the work directory is cleaned up. For VAX-unix transp runs, the files end up on a VAX system; for standalone unix runs, the files end up in a subdirectory of $RESULTDIR. pointed to by environment variable: $WORKDIR ---------------------------------------------------------------- ---------------------------------------------------------------- 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. $TRANSPROOT ... ... /codesys /compsc /* ... /csh ... /doc /exe /lib /libincl /log /make /* /marker /* /nag /obj /* /other /sglib /source /* /vaxport /source /* /notsource 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". In many cases this just means copying the source (and any needed INCLUDE files) from the appropariate /source subdirectory to the appropriate /compsc subdirectory. ---------------------------------------------------------------- $CODESYSDIR/csh -- executable c shell scripts. 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 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). The commands uplib and uplink are scripts in the $CODESYSDIR/csh directory. ---------------------------------------------------------------- $CODESYSDIR/marker -- marker files for source code One subdirectory for each executable program, each subroutine library, and each documentation library. These marker files are used to coordinate VAX and unix versions of source code. Not required for standalone unix transp operation. ---------------------------------------------------------------- $CODESYSDIR/nag -- source code for single precision nag This directory contains the source code for select single precision nag routines. Commercial versions of single precision nag are not available on workstations. ---------------------------------------------------------------- $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. ---------------------------------------------------------------- $LOCAL/other -- miscellaneous subroutine libraries This directory contains sglib.a (compiled from $CODESYSDIR/sglib sources) and single precision libnag.a (compiled from $CODESYSDIR/nag sources). ---------------------------------------------------------------- $CODESYSDIR/sglib -- sglib sources This directory contains sources and make files and some documentation for the sglib graphics library, maintained by Marilee Thompson at PPPL. 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. ---------------------------------------------------------------- $CODESYSDIR/vaxport -- VAX "backload" directory tree The subdirectories of vaxport are used to in conjunction with data in $CODESYSDIR/marker to implement an incremental "backload" of modified sources for shipment to a VAX based transp source code control system. The master script for this procedure is $TRANSPROOT/bin/vaxverify the vaxport directories arenot used in a unix standalone implementation of transp.