Common Set of Environment Variables

BC Project: FY05-04
Date of Policy: 14 Jul 2005
Last Updated: 22 May 2014 (see Revision Log)

This policy defines a core set of environment variables that represent the same entity at each of the HPCMP allocated centers participating in the Baseline Configuration (BC) Initiative. These variables shall be predefined in the user login environment, making them automatically available to users at each center.

This list of environment variables is subject to change, and will be reviewed on a periodic basis for potential additions or deletions.

The current list of variables is as follows:

$ARCHIVE_HOME

This is an individual user's directory on the archival file system that serves a given compute platform. $ARCHIVE_HOME is intended to be used as a long-term file storage area by a user. It is not intended to be used by executing programs as this can significantly slow the I/O portion of a program.

$ARCHIVE_HOST

This is the hostname of the archival system serving a particular compute platform. In cases where the archival system is not network mounted to the compute platform, the combination of $ARCHIVE_HOST and $ARCHIVE_HOME will give the exact location of a user's long-term archival storage.

$BC_CORES_PER_NODE

This variable contains the number of cores per node for the compute node type to which a job is being submitted.

$BC_HOST

This variable is defined as the generic (not node specific) hostname of the system in lowercase format. Examples include spirit, garnet, haise, pershing, riptide, etc.

$BC_MEM_PER_NODE

This variable contains the approximate maximum memory per node available to an end user program (in integer MBytes) for the compute node type to which a job is being submitted.

$BC_MPI_TASKS_ALLOC

This variable, intended to be referenced from inside a job script, contains the number of MPI tasks that are allocated for a particular job.

$BC_NODE_ALLOC

This variable, intended to be referenced from inside a job script, contains the number of nodes allocated for a particular job.

$CC

This variable is set by any system supporting a C compiler. If a default compiler is provided, this variable is set to the default C compiler. Any subsequent change to the C compiling environment should reset this variable to the C compiler for that environment. The variable refers to the compiler required for program execution on the system's compute nodes.

$CENTER

This variable contains the path for a user's directory on the Center Wide File System (CWFS).

$COST_HOME

This variable contains the path to the base directory of the default installation of the Common Open Source Tools (COST) installed on a particular compute platform. (See BC policy FY13-01 for COST details.)

$CSI_HOME

This variable contains the path to the base directory for the application codes installed on a system under the Consolidated Software Initiative (CSI).

$CXX

This variable is set by any system supporting a C++ compiler. If a default compiler is provided, this variable is set to the default C++ compiler. Any subsequent change to the C++ compiling environment should reset this variable to the C++ compiler for that environment. The variable refers to the compiler required for program execution on the system's compute nodes.

$DAAC_HOME

This variable points to the top level directory for the DAAC (Data Analysis and Assessment Center) supported tools, named daac. For more information, please see BC policy FY08-01 (DAAC Supported Visualization Tools)."

$F77

This variable is set by any system supporting a Fortran 77 compiler. If a default compiler is provided, this variable is set to the default Fortran 77 compiler. Any subsequent change to the Fortran 77 compiling environment should reset this variable to the Fortran 77 compiler for that environment. The variable refers to the compiler required for program execution on the system's compute nodes.

$F90

This variable is set by any system supporting a Fortran 90 compiler. If a default compiler is provided, this variable is set to the default Fortran 90 compiler. Any subsequent change to the Fortran 90 compiling environment should reset this variable to the Fortran 90 compiler for that environment. The variable refers to the compiler required for program execution on the system's compute nodes.

$JAVA_HOME

This variable contains the path to the base directory of the default installation of JAVA on a particular compute platform.

$KRB5_HOME

This variable is set to point to the installation directory of the Kerberos utilities.

$PET_HOME

This variable contains the path to the system-wide accessible directory containing the tools formerly installed and maintained by the PETTT staff. This variable is deprecated and will be removed from Baseline Configuration compliance monitoring in the future. Certain packages in $PET_HOME will be migrated to $COST_HOME, as appropriate.

$PROJECTS_HOME

This variable contains the path to the base directory that contains subdirectories for user-supported applications and codes under BC policy FY10-07 (Common Location to Maintain Codes)"

$SAMPLES_HOME

This variable contains the path to the base directory for the sample codes and scripts installed by a center's staff under BC policy FY06-15 (Sample Code Repository)."

$WORKDIR

This is an individual user's directory on the local temporary file system (i.e., local high-speed disk) that is available on all HPCMP high performance computing (HPC) systems. $WORKDIR is intended to be used by executing programs to perform file I/O that is local to that system in order to avoid slower file I/O across a network mounted file system, such as a user's home or archive directories. It is not intended to be used as a permanent file storage area by users. Accordingly, this file system is NOT backed up or exported to any other system. In the event of file or directory structure deletion or a catastrophic disk failure, such files and directory structures are lost. Thus, it is the user's responsibility to transfer files that need to be saved to a location that allows for permanent file storage, such as the user's archival or home directory locations.


Date Revision
22 May 2014 Added $COST_HOME, deprecated $PET_HOME, removed SLM language from $ARCHIVE_HOME and $ARCHIVE_HOST, and stipulated lowercase for hostnames in $BC_HOST
12 Dec 2013 $DAAC_HOME re-defined
31 May 2012 $HOST and $KRB5HOME replaced by $BC_HOST and $KRB5_HOME respectively
16 Mar 2012 BC Team Audit
02 Sep 2011 $CENTER and $PROJECTS_HOME added to the list
14 Apr 2009 BC_ Variables added to the list
15 Jan 2009 $DAAC_HOME added to the list
10 Jul 2008 $CSI_HOME and $SAMPLES_HOME added to the list

DoD Supercomputing Resource Centers

Contact the Webmaster

Privacy & Security Notice

The appearance of hyperlinks does not constitute endorsement by the U.S. Air Force of this website or the information, products, or services contained therein. For other than authorized activities such as military exchanges and morale, welfare and recreation sites, the U.S. Air Force does not exercise any editorial control over the information you may find at these locations. Such links are provided consistent with the stated purpose of this DoD website.