This is an old revision of the document!
Running Molpro
On Unix systems, Molpro is accessed using the molpro unix command. The syntax is
molpro options datafile
Molpro’s execution is controlled by user-prepared data; if datafile is not given on the command line, the data is read from standard input, and program results go to standard output. Otherwise, data is taken from datafile, and the output is written to a file whose name is generated from datafile by removing any trailing suffix, and appending .out. The name datafile must not contain parenthesis, brackets, or other special characters like exclamation marks (!), question marks (?), slashes (/), backslashes (\), blanks( ), equality signs($=$), commas (,), semicolons (;), asterisks (*), or any kind of quotes. If the output file already exists, then the old file is appended to the same name with suffix .out_1, and then deleted. This provides a mechanism for saving old output files from overwriting. Note that the above behaviour can be modified with the -o or -s options.
For example, a serial Molpro calculation is started using
molpro mymolecule.inp
and this creates an output mymolecule.out. For larger calculations, it may be necessary to specify how much dynamic (stack) memory molpro can allocate, using the -m option:
molpro -m100 mymolecule.inp
This allocates 100 MW (megawords) of stack memory. Further options are necessary for parallel excution, see section specifying parallel execution. For parallel excutions, it is very important to read and understand also sections GA Installation notes and memory specifications.
General Options
Most options are not required, since sensible system defaults are usually set. Options as detailed below may be given, in order of decreasing priority, on the command line, in the environment variable MOLPRO_OPTIONS, or in the files ./molpro.rc, $HOME/.molprorc, and tuning.rc in the library files directory.
-o$|$--outputoutfile [option:o] specifies a different output file.-d$|$--directorydirectory specifies the scratch directory for the program.--backupnfile enables the saving of previous output files, up to a maximum of nfile. If nfile is omitted, it defaults to infinity. The names of the backup files are constructed by appending_and a sequence number to the output file name, and both regular and xml-format files are processed, together with any log file.-a$|$--append-backupPrevious output files are concatenated by appending, instead of being kept separate.--directory-backupBackup files are stored in a single separate subdirectory, named datafile.d, with subdirectories01,02, $\dots$.--directory-backupand--append-backupare mutually exclusive, and switching one of them on will force the other to be switched off.--no-append-backup--no-directory-backupcan also be specified with the same effect, except that they do not also imply--backup.--backup-directorydir In the case of--directory-backup, use dir as the location of backup files instead of the default.-s$|$--nobackupdisables the mechanism whereby an existing output file is saved.-v$|$--verbosecauses the procedure to echo debugging information;--noverboseselects quiet operation (default).-k keywhere key is the licence key. This is normally not necessary since the key should be installed globally when installing Molpro.-m$|$--memorymemory (in megawords) specifies the working (stack) memory to be assigned to the program, in 8-byte words. For details, see section memory allocation.-M$|$--memory-per-nodeM total memory per node (stack + GA, in megawords) For details, see section memory allocation-I$|$--main-file-repositorydirectory specifies the directory where the permanent copy of any integral file (file 1) resides. This may be a pathname which is absolute or relative to the current directory (e.g., ’.’ would specify the current directory). Normally, the-Idirectory should be equal to the-dworking directory to avoid copying of large integral files, since after completion of the job the file will be copied to the directory given after-I. On some main frames, the scratch directory is erased automatically after a job has terminated, and in such cases a different-Idirectory, e.g.,$HOME/int, can be specified (environment variables will be expanded at run time). In view of the large integral file sizes, this should be used with care, however. Note that in parallel runs with more than 1 processor the integral file will never be copied, and cannot be restarted.-W$|$--wavefunction-file-repositorydirectory is similar to--main-file-repositoryexcept that it refers to the directory for the wavefunction files (2,3 and 4). This determines the destination of permanent wavefunction (dump) files used for storing information like orbitals or CI-vectors etc. These files are essential for restarting a job. As explained for the integral files above, permanent wavefunction files will be copied to directory after completion of the job. The default for directory is$HOME/wfu.-X$|$--xml-outputspecifies that an additional XML output file suitable for automatic post-processing will be written, with suffix .xml. Important data such as input, geometries, and results are stored in a marked-up format.--no-xml-outputswitches off this behaviour.--xml-orbdumpIf this option is given, more data such as the basis set and the occupied orbitals are dumped to the XML file.--stdoutWrite the plain-text output to standard output instead of the.outfile. The.xmlfile is unaffected. This option can be useful when using an integrated development environment.-L$|$--librarydirectory specifies the directory where the basis set library files (LIBMOL*) are found.--geometryUse this to obtain an XML output with geometry information, but without performing any electronic structure calculation (e.g. to visualise the geometry). Note that it needs at least one jobstep, e.g. “hf” though this jobstep will not be executed.--no-flush6Don’t flush the output, this might increase performance on some systems as the expense of being able to poll the output.-g$|$--use-logfileUse a separate logfile for more in-depth output.--nouse-logfileAll output will be in the regular output file.-E$|$--exclusive-file-implementationSpecify file implementation. This is mainly for debugging, eg. reproducing non-shared file problems on a system with shared files, normally the default should be used.--namename=string Set string variable on the command line, eg.--namebasis=vtz.-V$|$--varname=value Set variable on the command line, eg.--varlen=1.2.-k$|$--licence-tokenSpecify licence token on the command line.--versionPrint Molpro version and exit--databaseInstead of executing Molpro, instead run one of the database utility scripts as described in section interrogation and manipulation of databases.--sysidFor debugging when the getinfo.sh script does not give the correct sysid.
Options for launching Molpro
These options are for the molpro shell script which is used to launch the molpro.exe MPI program. These options should be given on the command line or in the MOLPRO_OPTIONS environment variable as both of these are parsed by the shell script and used to launch molpro.exe, they should not be given in .molprorc or any other configuration files since these are not read until after molpro.exe is launched.
-n$|$--taskstasks/tasks_per_node:smp_threads tasks specifies the number of parallel processes to be set up.-N$|$--task-specificationuser1:node1:tasks1,user2:node2:tasks2$\dots$ node1, node2 etc. specify the host names of the nodes on which to run.-x$|$--executableexecutable specifies an alternative Molpro executable file.
Options for parallel execution
The options specific to parallel execution are described here.
It is very important to read running Molpro on parallel computers before executing parallel Molpro calculations.
Tuning Options
There are a number of other options for tuning and system parameters, but these do not usually concern the general user.
Tuning parameters for blas routines (mxma,, mxmb, mxva, mxvb):
--tuning-mpplatn mpp latency in microseconds--tuning-mppspeedn mpp bandwidth in MB/sec--tuning-flopdgmn speed of dgemm in MFLOPS--tuning-flopdgvn speed of dgemv in MFLOPS--tuning-flopmxmn speed of fortran mxma in MFLOPS--tuning-flopmxvn speed of fortran mxva in MFLOPS--tuning-mindgvn use dgemv from mxva/mxvb if matrix dimensions are ge. mindgv--tuning-mindgmn use dgemm from mxma/mxmb if all matrix dimensions are ge. mindgm--tuning-mindgcn use dgemm from mxma/mxmb if column dimension is ge. mindgc and other dimensions larger than mindgm2--tuning-mindgrn use dgemm from mxma/mxmb if row dimension is ge. mindgr and other dimensions larger than mindgm2--tuning-mindgln use dgemm from mxma/mxmb if link dimension is ge. mindgl and other dimensions larger than mindgm2--tuning-mindgfn for old Fujitsu machines, probably obsolete
Tuning parameters for fortran versions of mxma/mxmb:
--tuning-unrolln level of unrolling in (2,3, or 4)-b$|$--matrix-block-link$|$--tuning-mxmblnn block dimension for link dimension-B$|$--matrix-block$|$--tuning-mxmblkn block dimension for rows and columns of result matrix-K$|$--cache$|$--tuning-cachen cache size in words. If the total size of the 3 matrices is smaller than this, no blocking.
It is not usually necessary to specify any of these options as there are sensible defaults. Sometimes installation dependent options can be found in the system configuration file molpro.rc in the same directory as the Molpro library files.