Most options that control how Gaussian 16 operates can be specified in any of 4 ways. From highest to lowest precedence these are:
- As Link 0 input (%-lines): This is the usual method to control a specific job and the only way to control a specific step within a multi-step input file. Example: %CPU=1,2,3,4. For full documentation on Link 0 command, see Link 0 Commands
- As options on the command line: Command line options are useful when you want to define aliases or other shortcuts for different common ways of running the program. Example: g16 -c="1,2,3,4" …
- As environment variables: This is most useful in standard scripts, for example for generating and submitting jobs to batch queuing systems. Example: export GAUSS_CDEF="1,2,3,4"
- As directives in the Default.Route file: This is most useful when one wants to change the program defaults for all jobs. Example: -C- 1,2,3,4
When searching for a Default.Route file the current default directory is checked first, followed by the directories in the path for Gaussian 16 executables: environment variable GAUSS_EXEDIR, which normally points to $g16root/g16.
The following table lists the equivalences among Link 0 commands, command line options, Default.Route items and environment variables. The -h, -o options and the -i and -o option classes were introduced in [REV B], as were their corresponding environment variables.
Default.Route | Link 0 | Option | Env. Var. | Description |
Gaussian 16 execution defaults | ||||
-R- | -r | GAUSS_RDEF | Route section keyword list. | |
-M- | %Mem | -m | GAUSS_MDEF | Memory amount for Gaussian jobs. |
-C- | %CPU | -c | GAUSS_CDEF | Processor/core list for multiprocessor parallel jobs. |
-G- | %GPUCPU | -g | GAUSS_GDEF | GPUs=Cores list for GPU parallel jobs. |
-S- | %SSH=command | -s | GAUSS_SDEF | Program to start workers for network parallel jobs. %UseSSH is equivalent to %SSH=ssh and %UseRSH similarly specifies rsh. |
-W- | %LindaWorkers | -w | GAUSS_WDEF | List of hostnames for network parallel jobs. |
-P- | %NProcShared | -p | GAUSS_PDEF | #processors/cores for multiprocessor parallel jobs. Deprecated; use -C-. |
-L- | %NProcLinda | -l | GAUSS_LDEF | #nodes for network parallel jobs. Deprecated; use -W-. |
Archive entry data | ||||
-H- | -h | GAUSS_HDEF | Computer hostname. | |
-O- | -o | GAUSS_ODEF | Organization (site) name. | |
Utility program defaults | ||||
-F- | GAUSS_FDEF | Options for the formchk utility. | ||
-U- | GAUSS_UDEF | Memory amount for utilities. | ||
Parameters for scripts and external programs | ||||
# section | -x | GAUSS_XDEF | Complete route for the job (route not read from input file). | |
%Chk | -y | GAUSS_YDEF | Checkpoint file for job. | |
%RWF | -z | GAUSS_ZDEF | Read-write file for job. | |
%OldChk | -ic | GAUSS_ICDEF | Existing checkpoint file from which to read input. | |
%OldMatrix | -im | GAUSS_IMDEF | Matrix element file from which to read input. | |
%OldMatrix=(file,i4lab) | -im4 | GAUSS_IM4DEF | Matrix element file using 4-byte integers from which to read input. | |
%OldMatrix=(file,i8lab) | -im8 | GAUSS_IM8DEF | Matrix element file using 8-byte integers from which to read input. | |
%OldRaw | -ir | GAUSS_IRDEF | Raw matrix element file from which to read input. | |
%OldRaw=(file,i4lab) | -ir4 | GAUSS_IR4DEF | Raw matrix element file using 4-byte integers from which to read input. | |
%OldRaw=(file,i8lab) | -ir8 | GAUSS_IR8DEF | Raw matrix element file using 8-byte integers from which to read input. | |
-oc | GAUSS_OCDEF | Output checkpoint file. Generally redundant with -y/GAUSS_YDEF. | ||
-om | GAUSS_OMDEF | Output matrix element file. | ||
-om4 | GAUSS_OM4DEF | Output matrix element file using 4-byte integers. | ||
-om8 | GAUSS_OM8DEF | Output matrix element file using 8-byte integers. | ||
-or | GAUSS_ORDEF | Output raw matrix element file. | ||
-or4 | GAUSS_OR4DEF | Output raw matrix element file using 4-byte integers. | ||
-or8 | GAUSS_OR8DEF | Output raw matrix element file using 8-byte integers. |
Note that the quotation marks are normally required around the specified value for the command line and environment variables to avoid modification of the parameter string by the shell.