next up previous contents
Next: The .psirc File Up: PSI3 Input Files Previous: Molecular Symmetry   Contents


Specifying Scratch Disk Usage in PSI3

Depending on the calculation, the PSI3 package often requires substantial temporary disk storage for integrals, wave function ampltiudes, etc. By default, PSI3 will write all such datafiles to /tmp (except for the checkpoint file, which is written to ./ by default). However, to allow for various customized arrangements of scratch disks, the PSI3 files: block gives the user considerable control over how temporary files are organized, including file names, scratch directories, and the ability to ``stripe'' files over several disks (much like RAID0 systems). This section of keywords is normally placed within the psi: section of input, but may be used for specific PSI3 modules, just like other keywords.

For example, if the user is working with PSI3 on a computer system with only one scratch disk (mounted at, e.g., /scr), one could identify the disk in the input file as follows:

psi: (
  ...
  files: (
    default: (
      nvolume = 1
      volume1 = "/scr/"
    )
  )
)
The nvolume keyword indicates the number of scratch directories/disks to be used to stripe files, and each of these is specified by a corresponding volumen keyword. (NB: the trailing slash ``/'' is essential in the directoy name.) Thus, in the above example, all temporary storage files generated by the various PSI3 modules would automatically be placed in the /scr directory.

By default, the scratch files are given the prefix ``psi'', and named ``psi.nnn'', where nnn is a number used by the PSI3 modules. The user can select a different prefix by specifying it in the input file with the name keyword:

psi: (
  ...
  files: (
    default: (
      name = "H2O"
      nvolume = 1
      volume1 = "/scr/"
    )
  )
)
The name keyword allows the user to store data associated with multiple calculations in the same scratch area. Alternatively, one may specify the filename prefix on the command-line of the psi3 driver program (or any PSI3 module) with the -p argument:
psi3 -p H2O

If the user has multiple scratch areas available, PSI3 files may be automatically split (evenly) across them:

psi: (
  ...
  files: (
    default: (
      nvolume = 3
      volume1 = "/scr1/"
      volume2 = "/scr2/"
      volume3 = "/scr3/"
    )
  )
)
In this case, each PSI3 datafile will be written in chunks (65 kB each) to three separate files, e.g., /scr1/psi.72, /scr2/psi.72, and /scr3/psi.72. The maximum number of volumes allowed for striping files is eight (8), though this may be easily extended in the PSI3 I/O code, if necessary.

The format of the files section of input also allows the user to place selected files in alternative directories, such as the current working directory. This feature is especially important if some of the data need to be retained between calculations. For example, the following files: section will put file32 (the PSI3 checkpoint file) into the working directory, but all scratch files into the temporary areas:

psi: (
  ...
  files: (
    default: (
      nvolume = 3
      volume1 = "/scr1/"
      volume2 = "/scr2/"
      volume3 = "/scr3/"
    )
    file32: ( nvolume = 1  volume1 = "./" )
  )
)


next up previous contents
Next: The .psirc File Up: PSI3 Input Files Previous: Molecular Symmetry   Contents
T. Daniel Crawford 2009-02-16