Table of Contents

General program structure

This chapter gives an overview of the most important features of Molpro. For the new user, it is essential to understand the strategies and conventions described in this section, in particular the meaning of files and records, and the use of symmetry. This chapter will focus on general aspects; detailed information about each command will be given in later chapters. Information about commands and parameters can also be obtained using the Molpro help facility (see section molpro help).

Input structure

A typical MOLPRO input has the following structure:

***,title                    !title (optional)
memory,4,m                   !memory specification (optional)
file,1,name.int              !permanent named integral file (optional)
file,2,name.wfu              !permanent named wavefunction file (optional)

gprint,options               !global print options (optional)
gthresh,options              !global thresholds (optional)
gdirect[,options]            !global direct (optional)
gexpec,opnames               !global definition of one-electron operators (optional)

basis=basisname              !basis specification. If not present, cc-pVDZ is used
geometry={...}               !geometry specification

var1=value,var2=value,...    !setting variables for geometry and/or wavefunction definitions

{command,options             !program or procedure name
 directive,data,option       !directives for command (optional)
...
}                            !end of command block
---                          !end of input (optional)

If the memory card is given, it should be the first card (after the optional title card). If any file cards are given, they should follow immediately. The order of basis, geometry, gprint, gdirect, gthresh, gexpec, and variable definitions is arbitrary. It is possible to call several programs one after each other. It is also possible to redefine basis set and/or geometry between the call to programs; the program will recognize automatically if the integrals have to be recomputed.

Files

Molpro uses three sequential text files, namely the input file, the output file, and the punch file. The punch file is a short form of the output which contains the most important data and results, such as geometries, energies, dipole moments, etc. The punch file can be processed by the separate program READPUN, which selects specific results by keywords and is able to produce ordered tables in user supplied format. Furthermore, there are up to 9 binary Molpro files available, each one known to the program simply by its number (1 to 9). By default, they are temporary files, usually allocated dynamically by the program, but they can be connected to permanent files with the FILE command. Each file is direct access, and word addressable (word=64 bit usually), but is organised in records of any length. The name, address and length of each record is held in a directory at the start of the file.

File 1 is the main file, holding basis set, geometry, and the one and two electron integrals. By default, file 2 is the dump file and used to store the wavefunction information, i.e. orbitals, CI coefficients, and density matrices. File 3 is an auxiliary file which can be used in addition to file 2 for restart purposes. Often files 1 and 2 (and 3) are declared as permanent files (see FILE) to enable restarts. Storing the wavefunction information on file 2 is useful, since the integral file is overwritten at each new geometry, while the orbitals and CI coefficients of one calculation can be used as a starting guess for the next calculation at a neighbouring geometry. Files 4 to 8 are used as scratch space, e.g., for sorting the integrals, storage of transformed integrals and of the CI vectors. These files should normally not be made permanent.

Note that the file name appearing in molpro input is always converted to lower case on unix machines.

Records

Record names are positive integers, and are usually referred to in the format record.file, e.g., 2100.2 means the record called 2100 on file 2. Note that these names are quite arbitrary, and their numerical values have nothing to do with the order of the records in the file. Record names $\le$ 2000 are reserved for standard quantities (e.g. integrals, properties etc.) and you should never use these in an input, unless you know exactly what you are doing. Some important default records to remember are

If an input contains several wavefunction calculations of the same type, e.g., several MCSCF calculations with different active spaces, the record number will be increased by 1 for each calculation of the same type. Thus, the results of the first SCF calculation in an input are stored in dump record 2100.2, the second SCF in record 2101.2, the first MCSCF in 2140.2, the second MCSCF in 2141.2 and so on. Note that these numbers refer to the occurrence in the input and not on the order in which the calculations are performed in the actual run. If an input or part of it is repeated using DO loops, this ensures that each calculation will start with the orbitals from the corresponding orbitals from the previous cycle, as long as the order of the commands in the input remains unchanged. If for instance the first SCF would be skipped in the second cycle using some IF / ENDIF structure, the second SCF would still use record 2101.2. Thus, under most circumstances the program defaults are appropriate, and the user does not have to specify the records.

After a restart this logic will still work correctly if the number and sequence of SCF and MCSCF commands is kept unchanged. Thus, if you want to skip certain parts of the input after a restart, it is recommended to use IF / ENDIF structures or the GOTO command rather than to delete or comment certain commands. If for some reason this is not possible, the START and ORBITAL directives can be used to specify explicitely the records to be used.

In general we recommend the use of program defaults whenever possible, since this minimizes the probability of input errors and frustration!

After completion of each program step, Molpro prints a summary of the records on each file.

Restart

Information from the permanent files is automatically recovered in subsequent calculations. This can be controlled using the RESTART directive.

Data set manipulation

It is possible to truncate files and rename or copy records using the DATA command. Several standard matrix operations can be performed with MATROP, e.g., printing records, linearly combining or multiplying matrices, or forming the trace of a product of two matrices.

Memory allocation

Molpro can allocate memory dynamically as required by the user. Thus it is not necessary to maintain different versions of the program with different memory sizes. There are two ways to specify the memory: (1) MEMORY card in Molpro input file; (2) options -m or --memory or -M in the Molpro command line. The latter method is recommended. Please refer to sections memory specifications for more details and important information regarding parallel processing.

If memory is specified using both methods at the same time, MEMORY card will take precedence. If both ways are omitted, the program will use a default memory size (currently it is $32000000$ words, i.e. 256 MB). Please note that: (1) memory specification is in megawords. 1 word is 8 bytes (i.e., the memory size to store one double precision data). (2) memory specification is for each process.

Memory directive in the input file

MEMORY,[STACK=]m,[GA=G],[Total=M],[GA_PREALLOC=$0|1$]

By default, all memory specifications are in megawords. The numbers (m, G, M) can be appended by a scaling unit, which can be K, M, or G (case insensitive). If the unit is K, the specification is assumed to be in kilowords ($10^3$ words), M means megawords ($10^6$ words), and G means gigawords ($10^9$ words). Blanks or commas have to be inserted between the number and the unit, i.e., 100 m or 100,m are possible specifications of the memory size.

Examples:

Optionally, the requested GA space or the total allocatable memory (stack memory + GA) can be used. These options have the same meaning and effect as the -G and -M command line options, cf. section memory specifications. GA_PREALLOC=0 or GA_PREALLOC=1 disables or enables GA preallocation, respectively (see sections GA Installation notes and memory specifications).

Memory option in command line

-m $|$ --memory nscale

The scale (k, m, g and K, M, G) is case sensitive, lower case for decimal and upper case for binary. k, m, g stand for 1000, 1000 000 and $10^9$; K, M, G stand for $2^{10}$, $2^{20}$ and $2^{30}$.

Examples:

For more information please refer to section memory specifications.

Memory in parallel

The memory specification is for each process. So the total requested memory in parallel calculation will be the specified memory amount multiplied by the number of compute processes. For example, specifying $100 * 10^6$ words for a job with 4 compute processes:

the total requested memory will be $100 * 10^6 * 8 * 4 = 3.2 * 10^9$ bytes.

In addition, some methods need an significant amount of global array (GA) memory. Please refer to sections GA Installation notes and memory specifications for important information regarding parallel processing.

Multiple passes through the input

It is possible to perform loops over parts of the input using DO loops, very much as in FORTRAN programs. DO loops may be nested to any reasonable depth. This can be conveniently used, for instance, to compute automatically whole potential energy surfaces.

Symmetry

Molpro can use Abelian point group symmetry only. For molecules with degenerate symmetry, an Abelian subgroup must be used — e.g., $C_{2v}$ or $D_{2h}$ for linear molecules. The symmetry group which is used is defined in the integral input by combinations of the symmetry elements $x$, $y$, and $z$, which specify which coordinate axes change sign under the corresponding generating symmetry operation. It is usually wise to choose $z$ to be the unique axis where appropriate (essential for $C_2$ and $C_{2h}$). The possibilities in this case are shown in Table symmetry.

Normally, Molpro determines the symmetry automatically, and rotates and translates the molecule accordingly. However, explicit symmetry specification is sometimes useful to fix the orientation of the molecule or to use lower symmetries.

The symmetry generators for the point groups
Generators Point group
(null card) $C_1$ (i.e. no point group symmetry)
X (or Y or Z) $C_s$
XY $C_2$
XYZ $C_i$
X,Y $C_{2v}$
XY,Z $C_{2h}$
XZ,YZ $D_2$
X,Y,Z $D_{2h}$

The irreducible representations of each group are numbered 1 to 8. Their ordering is important and given in the tables below. Also shown in the tables are the transformation properties of products of $x$, $y$, and $z$. $s$ stands for an isotropic function, e.g., $s$ orbital, and for these groups, this gives also the transformation properties of $x^2$, $y^2$, and $z^2$. Orbitals or basis functions are generally referred to in the format number.irrep, i.e. 3.2 means the third orbital in the second irreducible representation of the point group used.

Numbering of the irreducible representations in $D_{2h}$
No. Name Function
$D_{2h}$
1 $A_{g}$ $s$
2 $B_{3u}$ $x$
3 $B_{2u}$ $y$
4 $B_{1g}$ $xy$
5 $B_{1u}$ $z$
6 $B_{2g}$ $xz$
7 $B_{3g}$ $yz$
8 $A_{u}$ $xyz$
Numbering of the irreducible representations in the four-dimensional groups
No. Name Function Name Function Name Function
$C_{2v}$ $C_{2h}$ $D_2$
1 $A_1$ $s, z$ $A_g$ $s, xy$ $A$ $s$
2 $B_1$ $x, xz$ $A_u$ $z$ $B_3$ $x, yz$
3 $B_2$ $y, yz$ $B_u$ $x, y$ $B_2$ $y, xz$
4 $A_2$ $xy$ $B_g$ $xz, yz$ $B_1$ $xy$
Numbering of the irreducible representations in the two-dimensional groups
No. Name Function Name Function Name Function
$C_{s}$ $C_{2}$ $C_{i}$
1 $A^{'}$ $s, x, y, xy$ $A$ $s, z, xy$ $A_g$ $s, xy, xz, yz$
2 $A^{''}$ $z, xz, yz$ $B$ $x, y, xz, yz$ $A_u$ $x, y, z$

Defining the wavefunction (WF)

In all program modules where such information is required, the total symmetry of the $N$-electron wavefunction is defined on WF (wavefunction) cards in the following way:

WF,nelec,irrep,spin

or, alternatively

WF,[NELEC=nelec],[SYM[METRY]=irrep],[spin=spin],[CHARGE=charge]

where nelec is the total number of electrons, irrep is the number of the irreducible representation, and spin equals $2 \times S$, where $S$ is the total spin quantum number. Instead of nelec also charge can be given, which specifies the total charge of the molecule. For instance, for a calculation in $C_{2v}$ symmetry with 10 electrons, WF,10,3,0 denotes a $^1B_2$ state, and WF,10,1,2 a $^3A_1$ state. The charge can also be defined by setting the variable CHARGE:

SET,CHARGE=charge

This charge will be used in all energy calculations following this input. Note that SET is required, since CHARGE is a system variable (cf. section system variables).

Although in principle each program unit requires a WF command, in practice it is seldom necessary to give it. The program remembers the information on the WF card, and so one might typically specify the information in an SCF calculation, but then not in subsequent MCSCF or CI calculations; this also applies across restarts. Furthermore, nelec defaults to the sum of the nuclear charges, irrep to 1 and spin to 0 or 1; thus in many cases, it is not necessary to specify a WF card at all.

If the WF directive is given outside an command input block, it is treated as global, i.e., the given values are used for all subsequent calculations. Setting the variables NELEC, SPIN, or SYMMETRY, has the same effect giving these on a global WF directive. If the global WF directive is given after the variable definition, the values of the variables are replaced by the values given on the WF directive. Vice versa, if a variable definition follows a global WF directive, the new value of the variable is used in the following. Note that WF input cards in command blocks have preference over global WF directives or input variables.

Defining orbital subspaces (OCC,CLOSED,CORE,FROZEN)

In the SCF, MCSCF, and CI programs it may be necessary to specify how many orbitals in each symmetry are occupied (or internal in CI), and which of these are core or closed shell (doubly occupied in all CSFs). This information is provided on the OCC, CORE, and CLOSED cards in the following way:

OCC,$m_1,m_2,\ldots,m_8$; CORE,$co_1,co_2,\ldots,co_8$; CLOSED,$cl_1,cl_2,\ldots,cl_8$; FROZEN,$fr_1,fr_2,\ldots,fr_8$;

where $m_i$ is the number of occupied orbitals (including core/frozen and closed), $co_i$ the number of core orbitals, and $cl_i$ is the number of closed-shell orbitals (including the core orbitals) in the irreducible representation $i$. In general, $m_i \ge cl_i$, and $cl_i \ge co_i$. It is assumed that these numbers refer to the first orbitals in each irrep. FROZEN only exists in the MCSCF program and denotes frozen core orbitals that are not optimized (note that in older Molpro versions frozen core orbitals were denoted CORE).

For CORE the following special input possibilities exists (only in the MRCI and Coupled-Cluster programs):

CORE,SMALL
CORE,MIXED
CORE,LARGE
CORE,SYM1=spdf,SYM2=spdf,…

SMALL means that all atomic orbitals are correlated for which the cc-pwCVXZ basis are optimized (typically one additional shell of each angular momentum below the valence shell). For $n$d transition metals, the $n$s, $(n+1)$s, $n$p, $n$d orbitals are correlated.

MIXED corresponds to SMALL but the next lower s and p shells of the p-block elements are not correlated.

Note that until Molpro 2021.3, the 2s and 2p shells of the second-row elements Al - Ar were correlated with MIXED, but for consistency this has been changed in 2021.4. The old behaviour can be recovered using MIXED_OLD.

LARGE means that no inner shells are correlated (default). In transition metals the outermost d-shell and in f-elements the outermost f-shell are treated as valence and always correlated.

The most general core definition is possible using the last possibility, where SYM1, SYM2 etc are atomic symbols and spdf are the numbers of core orbitals at the given atom for each angular momentum. For example, for bromine CORE,Br=21 is equivalent to CORE,SMALL, CORE,Br=32 is equivalent to CORE,MIXED, and CORE,Br=321 is equivalent to CORE,LARGE. Trailing zeros are optional, i.e. Br=3200, 320, or 32 are equivalent. Atom-specific core specifications cannot exceed the number of large core orbitals for each angular momentum.

Optionally, SMALL, MIXED, or LARGE can be followed by specifications for individual atoms. In this case these default apply to all atoms that are not explicitly specified.

The table below summarizes the number of shells that are not correlated with the three core-orbital specifications. The cases where mixed and small differ are shown as italic. Note that for the post-d p-block elements “mixed” includes correlation of the outermost d-shell, which is not the case for the large core. For calculations including outer core orbitals the correlation consistent CVXZ or (preferably) wCVXZ basis sets [K. A. Peterson, and T. H. Dunning Jr., J. Chem. Phys. 117, 10548–10560 (2002)] should be used. But note these are not appropriate to correlate inner-shell core electrons.

Number of shells
Elements Outer core Valence All occupied Large core Small core Mixed core
(spdf) (spdf) (spdf) (spdf)
Z=1,2 1s (1000) (0000) (0000) (0000)
Z=3-4 1s 2s (2000) (1000) (0000) (0000)
Z=5-10 1s 2s2p (2100) (1000) (0000) (1000)
Z=11-12 2s2p 3s (3100) (2100) (1000) (1000)
Z=13-18 2s2p 3s3p (3200) (2100) (1000) (2100)
Z=19-20 3s3p 4s (4200) (3200) (2100) (2100)
Z=21-30 3s3p 4s3d (4210) (3200) (2100) (2100)
Z=31-36 3s3p3d 4s4p (4310) (3210) (2100) (3200)
Z=37-38 4s4p 5s (5310) (4310) (3210) (3210)
Z=39-48 4s4p 5s4d (5320) (4310) (3210) (3210)
Z=49-54 4s4p4d 5s5p (5420) (4320) (3210) (4310)
Z=55-56 5s5p 6s (6420) (5420) (4320) (4320)
Z=57-71 4s4p4d 5s6s5p5d4f (6431) (4320) (3210) (3210)
Z=72-80 5s5p 6s5d (6431) (5421) (4321) (4321)
Z=81-86 5s5p5d 6s6p (6531) (5431) (4321) (5421)
Z=87-88 6s6p 7s (7531) (6531) (5431) (5431)
Z=89-103 5s5p5d 6s7s6p6d5f (7542) (5431) (4321) (4321)
Z=104-112 6s6p 7s6d (7542) (6532) (5432) (5432)
Z=113-118 6s6p6d 7s7p (7642) (6542) (5432) (5432)

The program automatically checks if the orbitals with the lowest orbital energies correspond to the requested core orbitals, and if necessary orbitals are swapped as required. Within the set of core orbitals, this check can only be performed if SMALL or MIXED is given. If one specifies the absolute number of core orbitals the check is not possible since the program does not know which type the core orbitals should have.

Note that the OCC and CLOSED cards have slightly different meanings in the SCF, MCSCF and CI or CCSD programs. In SCF and MCSCF, occupied orbitals are those which occur in any of the CSFs. In electron correlation methods (CI, MPn, CCSD etc), however, OCC denotes the orbitals which are occupied in any of the reference CSFs. In the MCSCF, FROZEN orbitals are doubly occupied in all CSFs and frozen (not optimized), while closed denotes all doubly occupied orbitals (frozen plus optimized). In the CI and CCSD programs, core orbitals are those which are not correlated and closed orbitals are those which are doubly occupied in all reference CSFs.

OCC, CORE and CLOSED directives are generally required in each program module where they are relevant; however, the program remembers the most recently used values, and so the directives may be omitted if the orbital spaces are not to be changed from their previous values. Note that this information is also preserved across restarts. Note also, as with the WF information, sensible defaults are assumed for these orbital spaces. For full details, see the appropriate program description.

The orbital spaces may also be defined outside command blocks, and then the directive is treated as global, i.e., it is used in all subsequent programs. Spaces specific to certain wavefunction types can be defined by specifiying the program name with a CONTEXT option, e.g.,

OCC,4,2,1,CONTEXT=MULTI

Alternatively, the context can be appended to the directive name with an underscore. For example

OCC_MULTI,4,2,1

is equivalent to the previous form.

The occupation and core settings are usually molecule specific and depend on the symmetry and charges. They can also change if dummy atoms are defined. Therefore, global settings should be used with care. In molpro2021.4 or later it is possible to specify global core types (CORE,SMALL|MIXED|LARGE); these work also if the molecule or symmetry changes, or if dummy atoms are used. Specifying core orbitals in this way is preferable since the orbitals are appropriately reordered, if necessary (see above). Note that contexts cannot be given if core types are given; also atom-specific core definitions are only possible within command blocks.

Local input given within command blocks has preference over global input.

Selecting orbitals and density matrices (ORBITAL, DENSITY)

[sec:orbitals] As outlined in section records, the information for each SCF or MCSCF calculation is stored in a dump record. Dump records contain orbitals, density matrices, orbital energies, occupation numbers, fock matrices and other information as wavefunction symmetries etc. Subsequent calculation can access the orbitals and density matrices from a particular record using the ORBITAL and DENSITY directives, respectively. These input cards have the same structure in all programs. The general format of the ORBITAL and DENSITY directives is as follows:

ORBITAL[,[RECORD=]record] [,[TYPE=]orbtype] [,STATE=state] [,SYM[METRY]=symmetry]]

DENSITY[,[RECORD=]record] [,[TYPE=]dentype] [,STATE[B]=stateb] [,SYM[B]=symb] [,SPIN[B]=spinb] [,MS2[B]=ms2b] [,STATEK=statek] [,SYMK=symk] [,SPINK=spink] [,MS2K=ms2k] [,[N]ELEC=nelec] [,SET=iset]

where the (optional) specifications can be used to select specific orbitals or densities, if several different orbital sets are stored in the same record. If a specification is not given, it is not checked and the last written set that fullfills all other criteria is used. The meaning of the individual specifications are as follows:

CANONICAL: canonical or pseudo-canonical orbitals;
NATURAL: natural orbitals;
LOCAL: localized orbitals;
LOCAL(PM): localized Pipek-Mezey orbitals;
LOCAL(BOYS): localized Boys orbitals;
PROJECTED: projected virtual orbitals used in local calculations.
Without further specification, the most recently computed orbitals of the specified type are used. If the orbital type is not specified, the program will try to find the most suitable orbitals automatically. For instance, in MRCI calculations NATURAL orbitals will be used preferentially if available; MRPT (CASPT2) calculations will first search for CANONICAL orbitals, and local calculations will first look for LOCAL orbitals. Therefore, in most cases the orbital type needs not to be specified.

CHARGE: charge density;
SPIN: UHF spin density;
TRANSITION: transition density matrix;
The default is CHARGE.

In some cases (e.g. in MATROP) transition density matrices can be specified. In this case STATEB, SYMB, MS2B, SPINB refer to the bra state and STATEK, SYMK, MS2K, SPINK refer to the ket state. If bra and ket differ, TYPE=TRANSITION is implied, and SYMMETRY is automatically set to the product symmetry of bra and ket. If STATEK, SYMK, MS2K, SPINK are not given, they are assumed to be equal to the corresponding bra quantities. See section matrix operations for examples.

If OVL is specified, the starting orbitals are obtained by maximizing the overlap with previous orbitals. By default, this is used if the basis dimension of the previous orbitals is different then the current one. If OVL is specified this procedure is used even if the basis dimensions are the same, which is occasionally useful if the contraction scheme changed.

If NOCHECK is specified, some consistency checks for finding correct orbitals are skipped, and error messages like “ORBITALS CORRESPOND TO DIFFERENT GEOMETRY” are ignored.

If IGNORE_ERROR is specified, MPn or triples calculations can be forced with other than canonical orbitals. Note that this can lead to meaningless results! Note that in MULTI IGNORE_ERROR must be given on the START directive, since in this program ORBITAL is used to define the new orbitals.

If any of the above options are given, they must be obeyed strictly, i.e., the program aborts if the request cannot be fulfilled.

Examples:

ORBITAL,2100.2                    !Use SCF orbitals
ORBITAL,2140.2                    !Use (state-averaged) MCSCF orbitals
ORBITAL,2140.2,CANONICAL          !use canonical MCSCF orbitals
ORBITAL,2140.2,NATURAL,STATE=2.1  !use natural MCSCF orbitals for second state in sym. 1

Plugins

Molpro can host suitably prepared external programs as “plugins”. They are launched using MPI’s spawn mechanism, and therefore the user must take care of any job-scheduling constraints on the number and placement of MPI processes. The following syntax in the input file will cause the plugin to be launched.

PLUGIN,COMMAND=command,PROCS=procs

command is the name of the executable of the plugin. It can be given as an absolute path name, or a relative path. If it is a simple name (no / characters), it will be searched for in the same directory as Molpro’s executable, and this will be the normal mode of use. If the plugin is not found, and command does not have a filename suffix, then the suffix .exe will be assumed.

PROCS=procs specifies the number of processes for the plugin, and can be omitted, in which case the number is the same as in the host Molpro instance.

Example:

PLUGIN, COMMAND='Block', PROCS=128

Most plugins work by requesting the information they need from Molpro. This is typically information about the molecule and hamiltonian, plus an input file consisting of options. For some plugins, Molpro is aware of the structure of this input file, and will construct it by merging user-specified options with defaults. For example,

GLOBAL,FCIQMC,TIME=20,CALCRDMONFLY=3
PLUGIN,COMMAND='neci'

Summary of keywords known to the controlling program

This is a summary of all keywords presently implemented in the controlling program. Each module knows further keywords, which are described in the chapters about the individual programs. For detailed information about the use of the commands listed below, consult the following chapters.

The command names for single reference coupled cluster methods QCISD, CCSD, LQCISD, LCCSD, PNO-LCCSD, PNO-RCCSD, PNO-UCCSD (including the explicitly correlated variants) can be appended by (T) and then a perturbative correction for triple excitations will be computed (e.g., CCSD(T), PNO-LCCSD(T)-F12 etc.)

HF, KS, UHF, UKS, MP2, CCSD, MCSCF, RS2, and all PAO-based local correlation methods can be prepended by DF- to invoke density fitting (PNO always implies density fitting).

HF, KS, UHF, UKS can be pretended by LDF- to invoke local density fitting approximations.

Molpro help

The help command can be used to obtain a short description of commands, input parameters, and variables. The syntax is:

HELP,set,name,[keys]

where set is either COMMAND, VARIABLE, or the name of the input set (e.g., THRESH, PRINT, LOCAL, EOM, CFIT), and name is the name of the parameter. If name is blank, all parameters of the set are shown. Optionally, keys can be specified to request specific information (e.g., short_description, long_description, default_value, type, program). If keys are not given, short_description is assumed.

examples/help.inp
***,demonstrate help facility in Molpro
help,command,help    !print help about help
help,thresh,energy   !print help about threshold energy
help,thresh,energy,default_value  !print help about threshold energy and its default
help,thresh          !print short description of all thresholds
help,thresh,nonexistent  !this does not exist and gives an error message

Currently, help is only available for a limited number of parameters and commands. However, the database will be extended in the near future.