RUNpcglin: User’s Manual

by Ernst J. Schumacher, University of Bern

Shortcut: RUNpcglin runs PC Gamess for Windows under Linux like this:

Let's assume that you have unpacked runpcglin.tar.gz into /home/$USER/runpcglin, and read 'Installation' below Substitute your name for $USER.

  1. Get a binary release of Wine Windows API for your Operating System from winehq (avoid the buggy version 0.9.9). Install this as root, then exit root.
  2. In /home/$USER/runpcglin: Start with 'wine runpcg.exe'. A directory /home/$USER/.wine is created, if it does not exist.
  3. Then a configuration file for runpcg pops up. Edit External Editor, if necessary, and set Gamessdir to Y:\runpcglin and Directory of Gamess exec to Y:\pcg701. These locations are given in Wine's manner with Y:\ being the "drive" /home/$USER. Leave the rest for the moment. Save the file and exit the editor. 'File/Quit' runpcg.
  4. Copy the content of /home/$USER/runpcglin/fonts to /home/$USER/.wine/drive_c/windows/fonts. This ends configuration of Wine.
  5. Get the newest PC Gamess version 7.0.1, a Windows version, e.g., from Gamess-US. You have to unpack it on a Windows machine! Unzip the archive using the password you obtained from Gamess-US. Then run PCG701.EXE and extract it giving the second password you obtained from A. A. Granovsky (both links under References). On the Linux machine create a directory /home/$USER/pcg701 and copy the extracted archive from your Windows machine into this directory of your Linux box.
  6. In /home/$USER/runpcglin: Start again with 'wine runpcg.exe'.
  7. On the MasterMenu panel get an input file from 'Inputdata/Tests' by clicking on its name
  8. On the main panel 'View Input', then 'Run' that job
  9. After it has finished, 'Save', then 'View Output' the output file, look up some of the 'Properties' of interest. 'File/Quit' runpcg. Wine versions >= 0.9.8 quit with no error. Ignore 'return code 6' in older Wine versions.
  10. Congratulations! You now have a running 'runpcg.exe' and a working 'pcgamess.exe'. Read some of the rest of this Manual and try more examples from /Tests or your own design.


  1. Introduction
  2. What is in the RUNpcglin Package
  3. Installation
  4. The Master Menu
  5. Configuration File
  6. Options in RUNpcglin
    1. BUILDER
    2. VIEWER
    3. JOB NAME
    4. BUILD
    5. GAMESS INPUT Options
    6. Advanced Options
  7. APPLY
  9. RUN
  10. SAVE JOB
  14. References


RUNpcg is a 'Dialect'1 GUI to be used as a front- and back-end to PC Gamess2. It allows one to build a molecule, save it, compose a Gamess input file, run PC Gamess with it, and view the structure and other properties directly from the output or as a .pdb or .xyz file using free software that can be downloaded off the Internet. By using the 'Configuration File', one can customize the interface to one’s own system. RUNpcg has been written in the spirit of late Wayne P. Anderson's pcgRUN1.0, published in J. Chem. Educ. 2003, 80, 968. in July 2003. There is no guarantee that this version of the program will work properly on your system. USE AT YOUR OWN RISK. Please report any bugs to me.

There is (only) one piece of software I have used and included from the free archive at J.ChemEd. This is 'gamout2pdb.exe', a FORTRAN binary which needs two files as input ('natoms', a textfile with the number of atoms of the molecule, and 'gamess.coo', which are produced with [Save Job]). It produces three output files, 'molecule.pdb', 'molecule.ent' identical to the previous, and ''. The .pdb and .xyz files are copied to the \output directory, see Job Name.

If you are a user of PCgam: The last version (May 21, 2004) can be downloaded as While PCgam has been kept simple for didactical applications, RUNpcg has extended functionality for some 'real' applications offering the same or even enhanced ease of usage.

If you are a user of pcgRUN1.0: Although most tasks possible with pcgRUN1.0 behave identically with RUNpcg there are some differences in manipulation. Current PC Gamess, version 7.0 (final), is based on version 06 Jun 1999 of Gamess-US. Some differences are listed here:

  • I have separated the more general tasks into a Master Menu, external to the main panel. It offers Input, Output and Configuration options in addition to Help and Quitting.
  • Configuration: The calls of external programs has changed. Carefully note in the template what information needs to be put into the configuration file if you plan to incorporate your own selection of 'Builder' and 'Viewer' tools. Please refer to the topics of Builders and Viewers and Configuration for special comments on installation.
  • The item 'OUT' in the 'Input Coordinate Type' has been replaced by 'COO'(rdinates), see Input Coordinate Type.
  • Generation and display of the vibrational spectrum have been merged into one button. The input data for it are handled differently, see IR/RAMAN SPECTRUM.
  • Density Functional Theory, DFT, has now been integrated. However, it is handled differently from Gamess-US! In PC Gamess the $DFT group is not necessary. DFTTYP is declared in the $CONTRL group. 30 functionals are offered for use (B3LYP1 is identical to B3LYP in NWChem and Gaussian, B3LYP5 with the version in Gamess-US). In the recent Version 7.0 TDDFT code has been implemented for the determination of excited states in addition to the CIS method under Hartree-Fock.
  • Parallel runs are now enabled with the WMPI1.3 protocol (there are other options offered with PC-Gamess. But only WMPI1.3 is supported by RUNpcg at this time). The script handles automatically any combination of SMP (Shared Memory Multiprocessor) and independent computers in the same LAN. For setting up the proper communication, see Configuration.

What is in the RUNpcg Package runpcglin.tar.gz

The following parts are necessary for running PC Gamess with RUNpcg:

(1) RUNpcg script
runpcg.exe compiled script of the next four sources
runpcg.d Dialect source code of the main script
gaminp.d Dialect source code of the input script
advan.d Dialect source code of the advanced input script
raspec.d Dialect source code of the IR/Raman spectrum script
Dialect.exe Dialect compiler for recompilation of the script
grep.exe from MS, search of output file
keys.txt, keyvec.txt keys for which grep searches output, can be edited

(2) RUNpcg Manuals, examples, auxiliary
INTRO.DOC Introduction manual from Gamess-US
INPUT.DOC Input syntax manual from Gamess-US
REFS.DOC 'Further Information' from Gamess-US
PROG.DOC Programmer's references from Gamess-US
IRON.DOC Computer specifics from Gamess-US
TESTS.DOC description of 50 Gamess job files (Gamess-US)
DFT.htm Alex A.Granovsky's description of the DFT package in PC Gamess
cube.htm Alex A.Granovsky's description of the cube feature in PC Gamess
Manualplin.htm this manual with auxiliary files
cvwmpi.dll library for parallel execution with the WMPI1.3 protocol
todos Linux program for UNIX->DOS
fromdos Linux program for DOS->UNIX
\tests subdirectory with 50 test examples ready for running
\fonts subdirectory with two fonts for configuration of wine
\WMPI1.3min minimum package for the implementation of the parallel protocol WMPI1.3,
including manual and automatic installation software for wmpi_server.exe

(3) PC Gamess, not included! Get it from Gamess-US
Make sure you select the version appropriate to your CPU(s)
pcgamess.exe parallel and sequential (unified) binary
pcg2p.dll, p4stuff.dll libraries
FASTDIAG.dll library for an improved diagonalization routine
MPIBIND.dll library to be copied and renamed from the BINDINGS directory


The script is supposed to be in the same directory with the auxiliary files, tables 1 and 2. Unpack the runpcglin.tar.gz package into any suitable directory, e.g. ~/runpcg, by typing tar xzvf runpcglin.tar.gz. Its location is automatically determined and (internally) named 'gamessdir'. Get the PC Gamess distribution (table 3, above) and extract it into its own directory, e.g. ~/pcg70, here called 'GamessBase'. A subdirectory 'tests' is installed during unpacking of runpcglin.tar.gz. Two additional subdirectories are automatically created at startup of runpcg.exe, 'data', and 'output', managed by the script for input and output.

The Master Menu


Load $VEC group

This offers the names of the stored \output\*.dat files for you to select the job from which you wish to extract the $VEC group, i.e. the converged orbitals computed in a previous run of the target molecule.

Load $HESS group

This offers the names of the stored \output\*.dat files for you to select the job from which you wish to extract the $HESS group, i.e. the matrix of force constants computed in a previous Hessian run of the target molecule. If you set RUNTYP=RAMAN you are prompted to select and append a $HESS matrix to the input file.

Load $CISVEC or $TDVEC group

This offers the names of the stored \output\*.dat files for you to select the job from which you wish to extract a $CISVEC or $TDVEC group as starting vectors from previous $CIS or $TDDFT runs, e.g. to compute other excited states. The selected vectors are appended to your input file. Consult A.A.Granovsky's readme.cis and/or readme.tddft for instructions.

Load $CUBE groups

This offers the names of the stored \output\*.dat files for you to select the job from which you wish to extract $CUBE groups which subsequentially can be read in for rendering into 'Molekel', or 'gOpenMol'. Consult A.A.Granovsky's readme.cube for instructions.


Recommended termination of RUNpcg. Closes all windows opened during the run, except the display of an IR spectrum which has its own 'Close' button. Of course, you may close any window by clicking into the cross, top right.



Opens the \data directory for you to choose an input file composed elsewhere and put into the \data directory or load an input file of an earlier run. After clicking on the desired name the file is transferred to gamessdir\input and can be viewed and run (perhaps with your edits). Note: The input file may be in UNIX or PC style. If your input file stems from a current Gamess-US installation make sure to eliminate an entry for 'ISPHER' in the '$CONTRL' group when [View(ing) Input File] and, perhaps, move 'DFTtyp=XXX' from the $DFT group into $CONTRL.


'input' file

Opens a file 'input' in Gamessdir or, if not found, in Gamessbase. This file exists if a previous run has aborted because of e.g. syntax or point group error(s). It is then opened for corrections.


Opens the \tests directory for you to select one of the test files. After clicking on the desired name the file is transferred to gamessdir\input and can be viewed and run. The input file may be in PC or UNIX format.


Load *.out

Opens the \output directory for you to choose an output file of an earlier run. After clicking on the desired name the file is opened in the editor. The buttons [Properties, Show/Print] in the MasterMenu and [View Structure] in the main panel become active and let you extract molecular properties or visualize them in the chosen Viewer.


Load *.dat

Opens the \output directory for you to choose a .dat file = Gamess PUNCH, of an earlier run. After clicking on the desired name the file is opened in the editor. You can now select and copy $VEC, $HESS, and other groups for pasting into a new application requiring this data. However, in most cases where such an operation is necessary, you are prompted to select an \output\*.dat file. After clicking on the desired filename the extraction of a $VEC or $HESS group is automatically done and written into the input file being created.



If a job has just been run and RUNpcg is still active, [Properties, Show/Print] allows to extract a property from the (long!) output file. The property is chosen from a drop-down menu and shown in tabular form in an editor window.
If no job is active, the \output directory is first opened for you to choose an output file of an earlier run. After clicking on the desired name the property list, as above, is shown for you to choose from. If you select 'Coordinates' as the property, either the input or the optimized coordinates (depending on runtype) are shown and written into a file 'gamess.coo' or 'gamess.equ' in 'gamessdir'. From there it can be read into the input of a new job, e.g. to compute the Hessian after an optimization.- The properties may be printed from the editor window in the usual way by clicking [File/Print].


Conf File

Opens the 'Configuration File' in the editor to make changes, e.g. from 'serial' to 'parallel' runmode (with concomitant change of the number of CPU's to use). After closing the editor window the new configuration becomes active. For details, please consult the item 'Configuration File', below.



Opens this file in the Browser.


Opens the Input documentation of Gamess US to be consulted for the more specialized jobs, not provided for in the listboxes during configuration of an input file. You can search the text for less common keywords and get advice for the precise composition of the coordinates and their different formats.


Introduction to the scope of Gamess and the history of its development.


Gives details about basis sets and their validity and many explanations about how to setup more sophisticated jobs, like CI, CASSCF, and MCSCF calculations and much more.


Interesting for programming details.


Hardware related informations, especially useful for setting up a multinode environment.


Opens the input files of the 37 test EXAMples in \tests from the documentation of Gamess US. Since they contain a fair sample of the jobs Gamess can do, they may be helpful for setting up your input. Some of the tests may not run under PC Gamess since newer keywords are lacking. Look into the 13 BENCH files which work.


Shows an URL for checking whether a new version of the script is available.

The Configuration file

Many of the parameters in RUNpcg can be set by the user in the configuration file RUNpcg.ini. A template for this is presented when RUNpcg is started for the first time. It is opened in the editor for you to adapt it to your system and save it. The most important items are
1) the path for 'Gamessdir' where you have installed the script runpcg.exe, e.g. '/home/$USER/runpcglin' as 'Y:\runpcglin' in Wine manner,
2) the path name of 'Gamessbase' where you have installed the PC Gamess distribution, e.g. '/home/$USER/pcg701' as 'Y:\pcg701', and
3) the correct name of the Gamess binary to be used. It currently is 'pcgamess.exe' for the unified version (>= 7.0).
If these three items are not given accurately, nothing runs!
The configuration file is always read immediately when RUNpcg starts up. It later can be edited by clicking on 'Configure/Conf File' in the MasterMenu.
Should you later move the RUNpcg directory to another location in the directory tree (or to another computer), please remove the file runpcg.ini before starting RUNpcg.exe. This file will then be recreated, with your edits added to reflect the new location.
If you have downloaded and installed PC Gamess version 7.0 binaries, you may switch between runmodes 'on-the-fly' with 'Configure/Conf File': Change 'serial' to 'parallel', give the number of CPU's appropriate for your setup. During the call of your next run RUNpcg configures the parallel environment. The management of distributed computation in a cluster of independent CPU's in any mix of SMP and external nodes on a LAN is done by WMPI1.3. The included WMPI1.3min package allows you to install this. You find all the necessary steps for this described in these instructions. They have been written for the earlier PCGam script but can be used equivalently for RUNpcg (a new version of the instructions is under way). Notice again: Recent versions of PC Gamess are "unified", i.e. no distinction anymore between "serial" and "parallel" modes. If you want "serial" just select one CPU with pcgamess.exe!

The directories of the file editor, the browser, the builders, and the structure viewers must be specified in runpcg.ini. Four builders may be defined. Set their call specifications, and the name to be associated with those builders. Similarly, four structure viewers can be specified. The calls for them are to be set and their names specified. If the viewer is capable of reading an output file upon loading, the value of the file extension may be set to, e.g. “pdb” or “out” (for 'Molden'). If it is set to “”, no file will automatically be loaded when the viewer is opened. You have to specify its input through the 'File/Open' dialogue. 'Molekel' and 'Molden' can read (all) information of Gamess output files (structure, orbitals, dipole moments, vibrational frequencies and normal mode coordinates, for animation). From the orbitals and their occupations they generate 3D renderings, including total density, MEP and other properties. They can export images in various graphical formats (quality sufficient for scientific publications) and save structures in pdb and xyz file formats.
Some of the programs mentioned in this manual have licensing restrictions. Be sure to consult the license agreements before using the programs.
Although any text file editor that reads large files can be used, kwrite for the KDE desktop, is preferred. It allows block editing which is convenient to paste coordinates from other sources.

Options in RUNpcglin


The program used to draw and build the molecule is set in pcglin.ini. Four builders may be set in the program. For now only one builder is actually installed: Ghemical16. The very versatile program Ghemical which exists in a Linux version can be installed automatically with 'apt-get install ghemical' (after an 'apt-get update') in a Knoppix derived or genuine Debian-Linux system. It is present on Knoppix-DVD 4.02 and 5.0.


Four viewers may be specified in pcglin.ini. If the job is saved, the output structures will be converted to .pdb format with the name ‘jobname’.pdb and in .xyz format with the name ‘jobname’.xyz. pcglin has been tested with gOpenMol10, RasWin12, Molekel13, Jmol15, and Molden15, but other viewers may be used as well. Electron densities and molecular vibrations can be generated in Molekel, gOpenMol, and Molden. Files for creating high quality Pov-Ray™14 ray-traced images can be generated in VMD. One of the best and time-proven viewers is Molden15 (for Linux and Windows). Notice: Molden4.4.linux or gMolden4.4.linux expect UNIX-style line endings (Cr) in the PC Gamess output files. However, PC Gamess produces output with Windows-style line endings (CrLf). Hence the call to (g)Molden creates a file mold.out with UNIX-style line endings using the fromdos program. This is included in the pcglin.tar.gz archive. In the present version of the pcglin script, Molden must be the second viewer as shown in this runpcg.ini template

JOB Name

The name of the JOB must be entered here. The files ‘jobname’.out, ‘jobname’.pdb, ‘jobname’.dat, and ‘jobname’.xyz will be generated in the output directory if the job is saved. The input coordinate file must also have the name ‘jobname’.xxx as specified below. In order to prevent unwanted overwriting of output files, ‘jobname’ here always means the given 'Job Name' plus a four digit number representing the time in hr:min at the start of the computation.- If you [Output/Read *.out] (MasterMenu) an earlier run its jobname is automatically placed into the 'Job Name' box.


The BUILD button calls up the builder specified above. The molecule must be converted to 3D and saved as ‘jobname’.mol, ‘jobname’.ent, ‘jobname’.pdb, or ‘jobname’.xyz in the input directory (specified automatically). A previous GAMESS output file, named ‘jobname’.out, may also be used for coordinate input. In the MasterMenu click on [Properties, Show/Print], click on the output file desired and then choose 'Coordinates'. This generates a file 'gamess.coo', and with runtype = Optimize 'gamess.equ' (= equilibrium coordinates) and 'gamess.unq (= symmetry unique equilibrium coordinates, if they exist) which can be read in when composing the input file, choosing 'COO', 'EQU', or 'UNQ' as Coordinate Type.
In RUNpcg input/output files are in separate directories called .\data and .\output.


The Gamess Input button allows one to set many of the input parameters for PC Gamess, thus defining the nature of the quantumchemical calculation to be performed. The default parameters are set for a simple structure optimization job of a small to medium size, uncharged, singlet molecule. At a minimum the RUNTYP, BASIS, and COORDINATE TYPE will have to be set for each run. A coordinate input file must be in the .\data directory unless it is saved from a previous run in 'gamess.coo' or 'gamess.equ' in 'gamessdir'. Coordinates can also be entered manually, see below.

More advanced jobs and some of the GAMESS options require additional input that cannot (yet) be entered through RUNpcg. It is the responsibility of the user to review the input file generated by RUNpcg and make any additions or changes that are necessary for a successful run. I cannot guarantee that the settings that are placed in the input file will necessarily give a meaningful run. Be sure to read the GAMESS documentation files, particularly Input.doc. A copy of Input.doc is placed in the RUNpcg directory, and it can be accessed from HELP of the MasterMenu. Note that this is the most recent Input.doc from the Gamess-US distribution. Some of the keywords are not yet available with PC Gamess, and some new keywords of PC Gamess are not discussed in Input.doc. Consult the PC Gamess homepage of Alex A. Granovsky2

Summary of GAMESS INPUT Options

Items in bold - or a red bar on the panel - are the ones that are changed most often.
Gamess input orders the keywords into "groups", beginning with a "$" in the second position of a new line and ending with " $END". Groups may be given in any order, keywords within groups, too. The following list of groups and pertaining keywords is implemented in the listboxes of RUNpcg. Keywords - parameters of the calculation - may be set by selecting appropriate values in those boxes. There are many more groups and keywords available for more sophisticated jobs, see 'Input.doc'. Names of groups and keywords are not case sensitive. Keywords within a group must be separated by space or newline.



This is one of the most important entries for any type of quantumchemical computation: The structure of a molecule, i.e. the spatial arrangement of its constituent atoms, determines its energy and most other properties. If not given carefully the whole effort may be meaningless.


The coordinates are to be entered manually by the user when 'View(ing) Input File'. This is especially necessary if you want to give internal coordinates as Gaussian Z-matrix 'ZMT' or Mopac Z-matrix 'ZMTMPC' format which the script is not able to provide, see 'Input.doc' under [Help] in the MasterMenu. Notice: I have not provided for the wide variety of Gamess-US input for the names of atoms. The script and its various file manipulations only understand IUPAC atomic symbols. With cartesian coordinates Gamess allows any name for the atoms because their identity is defined by the nuclear charge. RUNpcg insists on using IUPAC symbols because these are used for the .pdb and .xyz files produced at the end of a job and for the viewer 'Molekel'. Furthermore, with ZMT or ZMTMPC coordinates Gamess allows to number the atoms, e.g. C1, C12 or Cu1, Cu19, etc. Please do not use this numbering. In ZMT(MPC) the numbers of the atoms are defined by the (implicit) number of the row in the matrix of structure data on which they appear. However, atomic symbols may be given as
'Se', 'sE', 'SE' or 'se', and ' C', 'C ', ' c', 'c ', 'C' or 'c'.


'Equilibrium' (Stationary State) Coordinates are to be read from a file named gamess.equ automatically created with the [Save Job] button or by clicking [Properties, Show/Print] 'Coordinates' in the MasterMenu. This file, if it exists, is in the gamessdir directory. It is only created after a successful Optimize run and can be used for subsequent Hessian, and Raman runs. It has the full 10-digit precision of Gamess output. It is not overwritten by a subsequent run, unless this is another successful 'Optimize' run.



Unique 'Equilibrium' (Stationary State) Coordinates are to be read from a file named gamess.unq automatically created with the [SAVE] button or by clicking [Properties, Show/Print] 'Coordinates' in the Master Menu. This file, if it exists, is in the gamessdir directory. It is only created after a successful Optimize run and can be used for subsequent runs of the same molecule with the same pointgroup symmetry. It has the full 10-digit precision of Gamess output. It is not overwritten by a subsequent run, unless this is another successful 'Optimize' run.


Coordinates are to be read from a file named gamess.coo automatically created with the [Save Job] button from any run or by clicking [Properties, Show/Print] 'Coordinates' in the MasterMenu. This file, if it exists, is in the gamessdir directory.


Coordinates are to be read from a file in “mol” format named ‘jobname’.mol and is usually produced by one of the molecule builders or read from a chemical databank and saved in the gamessdir\data directory.


Coordinates are to be read from a file in “pdb” format named ‘jobname’.pdb. PDB files may be exported from several molecule builder programs but also exist in vast numbers in chemical databanks (26319 structures by July 2004). Before using them they have to be deposited in the gamessdir\data directory. With the [Save Job] button the structural data of a successful PC Gamess run are saved as ‘jobname’.pdb in the .\output directory. If you request coordinates from a PDB file with the jobname given in the main panel of RUNpcg and RUNpcg does not find it in the \data directory, the \output directory is opened for you to choose a jobxxxx.pdb file, 'xxxx' being the time stamp of a previous run. Please note: PDB files are in a certain standard PDB format and contain coordinates only to 3-digit precision. Gamesss output coordinates have to be rounded to three digits while being written into a 'jobXXXX.pdb' file.


These structure files have the identical format of pdb files. They are produced and read by HyperChem named ‘jobname’.ent


Coordinates are to be read from a file in “xyz” format named ‘jobname’.xyz. This is a format used by Rasmol (RasWin), Chime, and other viewers and is produced with [Save Job] at the end of a PC Gamess run and saved as ‘jobname’.xyz in the .\output directory. If you request coordinates from an XYZ file to read into an input file and RUNpcg does not find it as '' in the \data directory, the \output directory is opened for you to choose a file, 'xxxx' being the time stamp of a previous run. The precision of coordinates is given to 8-digits, derived from the 10-digit format of Gamess. In the case of Gamess runs other than 'Optimize' the atomic coordinates are taken from the input (in Bohr, but converted to Angstrom). They may be less precise than what the number of digits indicates.


Indicates the point group symbol that is to be used to build the molecule from symmetry unique coordinates. If the coordinates of all atoms are specified as input cart, choose C1 as the point group. This always works, even if the molecule has a higher symmetry. One disadvantage is, that an optimization run in the C1 group will not produce orbitals (SALC's) and (exact) coordinates reflecting the possibly existing higher symmetry. You may also enter the actual group with all cart coordinates if these accurately transform under the group's symmetry operations. However, a quirk of Gamess, the input generated by Gamess from your input coordinates may break the symmetry and e.g. produce IR/Raman lines violating the selection rules under the full symmetry group. If this should happen, use the equilibrium coordinates of the full group, but choose the group C1 and coord=cart when computing Raman transitions.


Indicates the order of the principal axis when the point group specification includes an “N”. E.g. for C3v NH3 molecule, select 'Cnv' for GROUP and '3' for NAXIS.




Indicates that the input file is to be checked for errors.


Indicates that a full GAMESS run is to be done.



A single point calculation is to be done at the geometry specified in the input file.


The geometry of the molecule is to be optimized. If you set HSSEND=.true. in the $STATPT group, see below, the Hessian is computed with the converged coordinates and a normal mode analysis performed as in the next case.


The force constants and vibrational frequencies in the harmonic approximation are to be calculated at the equilibrium geometry specified in the input file. The intensities for infrared transitions are determined.


The force constants and vibrational frequencies in the harmonic approximation are to be calculated at the equilibrium geometry specified in the input file. IR- and Raman-intensities are computed. The inclusion of a $HESS group from a previous Hessian run into the input file is mandatory. If the 'RAMAN' keyword is set you are prompted to select a previous output .dat file for extraction of a $HESS group. In case there is none you are alerted. If there are several, the last one with (hopefully) converged force constants is chosen.


A saddle point location calculation is to be done, see $STATPT for options and MasterMenu [Help/Input.doc] for details.


An Intrinsic Reaction Coordinate calculation is to be run, see $IRC in the 'Advanced Options' for fine tuning this calculation type and MasterMenu [Help/Input.doc] for details.


Certain specified properties of the molecule at the geometry defined in the input file are to be calculated. This requires some manual editing of the file.



A restricted Hartree Fock calculation is to be carried out. This option is used for closed shell systems.


An unrestricted Hartree Fock calculation is to be carried out. This option is generally used for systems containing unpaired electrons and produces separated alpha- and beta-spin orbitals.


A restricted open shell Hartree Fock calculation is to be carried out. This option is sometimes employed for systems containing unpaired electrons and produces orbitals with paired spins as much as possible.



No Møller-Plesset perturbation calculation is to be carried out.


Electron correlation is included through an MP2, MP3, MP4 perturbation theory calculation following the Hartree Fock calculation.


Specifies the overall charge on the system.


Specifies the multiplicity of the system. This equals n+1, where n is the number of unpaired electrons.



Effective core potentials (pseudopotentials) are not being used.


Use the Stevens, Basch, Krauss, Jasien, Cundari ECP’s for the core electrons.


Use the Hayes-Wadt ECP’s for the core electrons.


The ECP’s are to be specified in the input file. This option requires manual editing of the input file.


The maximum number of iterations that are permitted to achieve SCF convergence, default = 30.



The atom positions are expressed in Cartesian coordinates. This option must be used if the molecule is built with the BUILDERs in RUNpcg.


Give the coordinates of the symmetry unique atoms only when the point group is specified. The coordinate frame has to be defined in a certain way, see Input.doc in the MasterMenu [Help/Input.doc]. Cart = unique is Gamess default.


The coordinates are expressed in the form of a Gaussian Z-matrix. The coordinates must be supplied manually if this option is selected. (Note that this option was not correctly implemented in pcgRUN1.0, since 'ZMAT' instead of 'ZMT' was entered as keyword. 'ZMAT' is used as $ZMAT group to define internal coordinates if NZVAR > 0, see Input.doc)


The coordinates are expressed in the form of MOPAC type internals. The coordinates must be supplied manually if this option is selected, see INPUT.DOC or any MOPAC manual.



If checked d5=.true. This means a spherical harmonic basis with 5 d (7 f, and 9 g) functions is used instead of the usual set with 6 d, 10 f, and 14 g functions. d5=.true. is equivalent to ISPHER=1 in Gamess-US. You can finetune this new feature in PC Gamess: Add a new group
$d5 d5=.t. f7=.t. g9=.t. $end
This is the default, when d5=.t. in the $CONTRL group. In the $d5 group you can be selective and set anyone of the spherical harmonics to false. This is then expressed in the usual redundant cartesian mode.



This gives the maximum time in minutes allowed for the run.


This selects the maximum number of megawords of memory allowed for the run. One word = 8 bytes. Large jobs will require a larger number than the default. Instead of MWORDS the keyword MEMORY may be given. The unit is word. MEMORY = 1000000 is equivalent to MWORDS = 1.




These options are used to specify the basis set. To indicate STO-3G, set GBASIS to STO and NGAUSS to 3. For 3-21G, set GBASIS to N21 and NGAUSS to 3. For 6-31G, set GBASIS to N31 and NGAUSS to 6. Several additional basis set options, including those for use with ECP’s, are given as well. See the 'INPUT.doc'.


Gives the number of sets of d polarization functions to be added to the heavy atoms. For 6-31G(d), which is often designated as 6-31G*, and for 6-31G(d,p), which is often called 6-31G**, NDFUNC=1 (max. 3).


Gives the number of sets of f polarization functions to be added to the heavy atoms. NFFUNC=0 or 1.


The number of sets of p polarization functions to be added to hydrogen atoms. For 6-31G(d,p), NDFUNC=1 and NPFUNC=1 (max. 3).



A diffuse sp function is included on non-hydrogen atoms in the basis set. This is often used with anions and is designated with a + in the basis set specification. For 6-31+G(d,p), DIFFSP=.TRUE..



A diffuse s function is included on hydrogen atoms in the basis set. This is often used with anions and is designated with a + in the basis set specification. For 6-31++G(d,p), DIFFSP=.TRUE. and DIFFS=.TRUE..




Check DAMP to help prevent oscillations in the energy during SCF iterations. This is often necessary with transition metal complexes.



Check SHIFT to shift the energies of the virtual orbitals to assist convergence during SCF iterations. This is often necessary with transition metal complexes.



Direct SCF calculation in RAM. The default (unchecked) is 'conventional' SCF with integrals stored on disk. DIRSCF uses much less disk space and is faster for large numbers of basis functions. For smaller systems conventional SCF is faster. The 'crossover' point is dependent on the kind of computer system and parallelization, if any.


Gives the SCF convergence limited as 10**(-nconv).



Gives the gradient convergence tolerance in Hartree/Bohr. If this value is changed, the value of NCONV will also have to be adjusted.



Chooses a positive definite diagonal Hessian as an initial guess


Reads the Hessian from $HESS. You are prompted to load a $HESS group from a previous Hessian run in a .dat file.


The initial Hessian is computed. See $FORCE. Additional input may be required.



If checked, the force constants and vibrational frequencies are calculated at the end of a geometry optimization, if converged. You can then [Show/properties] with added 'Normal Coordinates' and 'Thermochemistry', and generate an [IR Spectrum], similar to a Hessian run.


Indicates the maximum number of cycles allowed in a geometry optimization, default = 20.


Selects the optimization algorithm. The default is QA = Quadratic Approximation. You can select NR = straight Newton-Raphson iteration, RFO = Rational Function Optimization, or CONOPT = CONstrained OPTimization. The latter must start from an energy minimum and is used for locating transition states by trying to push the geometry uphill along the mode chosen with IFOLOW, see below. For details see INPUT.DOC under 'METHOD'.


Mode selection switch for RUNTYPE = SADPOINT. The default is 1, meaning that the first, lowest, vibrational 'mode' (rotational and translational degrees removed!) is very likely the reaction coordinate along which the potential energy has a negative curvature. Check the result to be sure that the selection was correct. After a saddle point location run it is recommended to run a Hessian job with the saddle point coordinates. The chosen, and only the chosen mode, usually mode 1, should then possess an imaginary frequency.




No Density Functional Calculation is done by default


or 30 other DFT functionals may be selected. When right clicking into the edit box, a menu opens with the available categories of functionals. Click on the category you want and select your favorite functional to get it written into the editbox. Refer to README.DFT for more info about functionals.
Notice: The selected functional is written as DFTTYP = functl into the $CONTRL group. The $DFT group is used for controlling integration.
DFT does not work with the semiempirical Hamiltonians MNDO, AM1, and PM3. If you select one of those, DFTtyp is automatically set to "NONE".

The list of available functionals:

Advanced Options

Generally these parameters do not have to be changed. Those indicated are set by default without the necessity to click the button for 'Advanced Options'. However, they permit additional control over the calculation, see 'INPUT.doc'. If you set 'Advanced options' different from the default values shown in the boxes, they are made available to the input file after clicking 'APPLY' on the 'Advanced Options' panel. They do not survive to the input file of your next job, however.




Specifies whether the final coordinates are to be saved in Molplot format in ‘jobname’.dat. This can be processed by the routines in the GRAPHICS directory of a Gamess Cygwin- or Linux-Installation.



Specifies whether the final coordinates and wavefunction informations are to be saved in PlotOrb format in ‘jobname’.dat. This can be processed by the routines in the GRAPHICS directory of a Gamess Cygwin- or Linux-Installations.



Specifies whether information for a Bader Atoms in Molecules input file is saved.



The default is unchecked and means that the symmetry specified in $DATA is to be used as much as possible in integrals, SCF, gradients etc. If checked, the symmetry in $DATA is only used to build the molecule from unique coordinates, then not used anymore.




Indicates whether Pople or Hondo integrals are used. See GAMESS documentation.



Restart control options. "0" defaults to no restart planned. At the end of a Gamess run all files are erased except job.out, job.dat (=Gamess PUNCH file), which are saved to \output, and the input file saved as job.inp to \data.


Setting restart to "2" prevents some data files to be erased. This allows for SCF restart with 1-, 2-e integrals and MO's saved. There are more options to IREST, see INPUT.DOC.



Controls orbital localization. The default is 'none', skipping localization. A large number of options for finetuning localization is offered when including a $LOCAL group. RUNpcg does not write a $LOCAL group. You have to compose it along the details given in INPUT.DOC.


Do Foster-Boys localization.


Do Edmiston-Ruedenberg localization.


Do Pipek-Mezey population localization.



No computation of excited states


CIS computation of excited states, see readme.cis. Select the parameters below at $CIS,$TDDFT


TDDFT computation of excited states, see readme.tddft. Select the parameters below at $CIS,$TDDFT




number of radial grid points per atom.



order of Lebedev angular grid, corresponds to 302 points per radial shell.

Before editing these numbers, read Granovsky's README.DFT




an (extended) Huckel approximation is to be used to generate the initial MO wavefunctions (default).


the MO’s are to be read from the $VEC group of a previous calculation. When you are settting 'GUESS=MOREAD' you are asked for an outputfile name from where to append a $VEC group to the input file. In case there is no $VEC group in the selected file you are alerted. If there are several $VEC groups, as usual for Optmize jobs, the last one with (hopefully) converged orbitals is read in. Generally, using the $VEC group from a previous run to start from, is to be preferred compared to the default option 'GUESS=HUCKEL' since the SCF orbitals are of better quality than those from an extended Huckel computation. However, a real gain in computertime is only observable with large jobs.- It is mandatory to give the number of orbitals in NORB, see next item.


the number of MO’s to be read from a $VEC group when GUESS=MOREAD. You can look at the appended $VEC group when [View(ing) Input File] and write the largest number leftmost of the $VEC table into the NORB variable. There are other choices depending on your job, see the GAMESS Input.doc in [Help/Input.doc] in the MasterMenu.




PC Gamess can produce cube files to be rendered e.g. in gOpenMol or Molekel. If CUBE is checked cube files are generated if ELDENS and/or ELPOT are checked. The main options can be selected and are described below. More can be found in the Cube Documentation (with example input files) from Alex A. Granovsky.- Use 'Molekel' to see 3D densities being computed and rendered without the necessity of a cube file. However, the CUBE option goes beyond this, e.g. being able to make many types of superpositions of densities and creating Laplacians and gradients of densities.
After a run with CUBE=checked the cube files can be extracted from the \output\*.dat file using the option unter 'File/Load $CUBE group(s)' in the Master menu. The selected cubes are saved with the name 'CUBE, number, job.cube' in the subdirectory \cubes of gamessdir.




FINE (100)

ULTRA (200)

This gives the number of grid points along each coordinate used in the cube file. A COARSE grid is generally sufficient. MEDIUM, FINE and especially ULTRA grids will generate very large cube files. COARSE cubes are 825kB those for ULTRA 64 times larger!




Sets IEDEN to 1 and allows several types of densities to be generated, depending on the next options. If none of them is checked, the total Electron density is computed



> 0

Indicates the MO whose electron density is to be computed. If this is left at 0, the total electron density is computed. Otherwise, the MO number must be entered.



Computes the total spin density of radicals.



Produces several density differences, depending on the details of the job and the choice of the deriv(ative)s. options. E.g. look at Example1 in Cube Documentation, which uses this option and creates 8 different cubes!



Skips the cube production of the initial HF density.



any combination of up to three numbers 0, 1 & 2. Define the level of density derivatives to be used: 0 means density, 1 density gradient (or its norm), 2 density Laplacian. E.g. 0,0,2 produces two cubes: Density and its Laplacian; 0,1,2 the same plus the cube of the gradient of the density.



Reads the numbers of the orbitals given in the two boxes named 'orbitals' and 'beta orbitals (if UHF)' and produces cubes of the orbitals (not their density). Suppose you want to know the 3D shape of the orbitals of H2O. The molecule has 10 electrons, i.e. 5 doubly occupied orbitals. Hence orbital 5 is the HOMO. You have done an scftyp = "RHF" run and want to see the shapes of HOMO-2 to LUMO+1: Enter the numbers 3,4,5,6,7 in the upper box. The lower rests empty.
Let's assume now, that you repeat the computation with H2O+ (icharg=1, 9 electrons) with scftype = "UHF", multiplicity = 2. You will get alpha orbitals, singly occupied to number 5, and beta orbitals singly occupied to number 4. In order to compare with the previous run with neutral H2O you enter the numbers 3,4,5,6,7 in the upper box and e.g. 3,4,5 in the lower 'beta'-orbital box. In the inputfile you will see ICORBS(1)=3,4,5,6,7,-3,-4,-5. PC Gamess needs a minus sign to distinguish between alpha and beta orbitals. This is automatically attached to the numbers entered into the beta orbital box. An orbital cube will be formed with these 8 orbitals. This cannot be properly rendered with Molekel, which presently only takes a cube with one 'object' at a time. However, 'gOpenMol' as viewer can read the output .dat (=PUNCH) file and correctly announces 8 orbitals. Follow gOpenMol's tutorial to learn how these have to be rendered. 'Facio', a backend for Gamess (and other QC packages), can do this, too, and even in a much simpler way.
Finally, if you run an scftype = "ROHF" for H2O+, you get four doubly occupied orbitals, and a singly occupied HOMO. You do not need to change the input for ICORBS(1) from scftyp = "RHF".




Sets IEPOT to 1. The molecular electrostatic potential is computed and cubed. If IEDEN=1, too, both cubes will be produced, the electron density and the ESP. This allows one to plot the ESP on the total electron density surface using gOpenMol or Molekel. Again, Molekel offers the same functionality without a cube file.



If RUNTYP=IRC this group governs the location of the intrinsic reaction coordinate, a steepest descent path connecting a saddle point to reactants and products. Therefore the prerequisite is a successful saddlepoint location run with RUNTYP=SADPOINT.


There are five integration methods: The default is GS2, the Gonzalez-Schlegel second order method using BFGS for updating the Hessian. There are more keywords for finetuning GS2, see INPUT.DOC. The other four choices for PACE are 'LINEAR', 'QUAD', 'AMPC4', and 'RK4', see INPUT.DOC, again.


If checked the IRC assumes starting from a precise saddle point. In this case the $HESS group of a SADPOINT run has to be attached to the input file. If unchecked, IRC starts from some other point _on_ the IRC path. The safest way is to start IRC from a converged SADPOINT run, check SADDLE, and read the $HESS group by setting HESS='READ' in the $STATPT group.


This defines in which direction the IRC starts from a saddle point. Default is FORWRD=checked, meaning that the IRC starts in the direction where the largest magnitude component of the imaginary normal mode is positive. You can identify this, if you look up the vibrational amplitudes of the imaginary frequency (normal mode table of the preceding SADPOINT run). If you pick the wrong direction you can always correct this in a second run with the advantage of thus getting an overview of both reaction directions, back to the reactants and forward to the products!


The number of IRC points to be located in this run, separated by STRIDE.


Determines how far apart points on the reaction path will be. STRIDE is used to calculate the step taken, according to the PACE method you selected. If you choose the robust method GS2 it can be 0.30 sqrt(amu)-Bohr, for the other methods it should be smaller, 0.1 or even 0.05.


Maximum number of constrained optimization steps for each IRC point. The default=20 is similar to NSTEP (in $STATPT) pertaining to optimization runs. If an IRC point does not converge, select a larger MXOPT and repeat the run.



If in $CONTRL CITYP=CIS or CITYP=TDDFT this group defines the details. Please consult the instructions, CIS and TDDFT computations are not entirely black-box for significant results and there are more parameters to select differently from the defaults than those offered on the panel. Note that TDDFT (time dependent DFT) often gives better results than CIS with the same basis.


Number of states to be found (excluding the ground state). For this number of singly excited states excitation energy and oscillator strength is computed.


State for which properties and/or gradient will be calculated. Only one state can be chosen.


symmetry of states of interest. Default is zero, i.e., does not use any symmetry during calculations. Setting this to the desired index of irrep (according to GAMESS numbering) will solve only for the states of the desired symmetry, exploiting full (including non-abelian) symmetry of the molecule, thus significantly reducing computation time.


Multiplicity (1 or 3) of the singly excited SAPS (the reference is necessarily single RHF). Only relevant for SAPS based run. SAPS are spin-adapted antisymmetrized products of the desired MULT.


Read CIS/TDDFT vectors from a previous computation of the same system, if you want to get other states (default = .false.)


Omits the first n occupied alpha and beta orbitals from the calculation. The default for n is the number of chemical core orbitals.


The input file is written with the specified parameters. Until this button is pushed, nothing is written to your harddisk. The file “input” of a previous run is overwritten, but that file has already been saved by 'SAVE JOB' as jobname.inp (including a time stamp) into the \data directory, so nothing is lost (unless you forgot to click 'SAVE JOB', see below)!


The VIEW INPUT FILE button calls up the required PC Gamess input file “input” in the editor for checking and, if necessary, editing. The “title” of the run and any special parameters can then be set manually and the file saved before starting a computation.


The RUN button calls PC Gamess with the 'input' file. A DOS Command window opens and shows the run attributes including runmode and number of CPU's in use. Termination of the GAMESS job is announced with the attribute 'NORMALLY' or 'ABNORMALLY' depending on whether the run was successful or unsuccessful. If a structure optimization has been run, convergence to a stationary state or failure to do so is announced as well as the first and final total energy. The output is written to the file .\output\‘jobname’.out.


The SAVE JOB button generates ‘gamess.coo’ and the two files ‘jobname’.pdb, and ‘jobname’.xyz from either the input coordinates (runtype 'Energy', 'Gradient', Hessian', 'Raman', or an unsuccessful 'Optimize') or the last set of coordinates (successful 'Optimize') of a PC Gamess run. The last two files are saved in the output directory. The equilibrium coordinates of a successful 'Optimize' run are additionally written into a file 'gamess.equ' and 'gamess.unq' (for symmetry unique atoms). If you want to reuse coordinates in a new job with the same name, you can get them from three locations: 'COO', 'PDB', and 'XYZ' see Input Coordinate Type or from 'EQU' or 'UNQ' if you have deposited them from a converged 'Optimize' run. Note that ‘jobname’ contains a four digit time stamp to prevent overwriting files when you use the same job name in a new run. In addition the GAMESS 'PUNCH' file is moved to the output directory as ‘jobname’.dat. In \data a copy of the inputfile is saved as ‘jobname’.inp.

Essential: Click on [Save Job] to clean the system before a new run.


The VIEW OUTPUT FILE button opens the current output file in the editor to study the detailed results. If the run was unsuccessful you find hints on what went wrong. Correct your input accordingly for a new try.


The VIEW STRUCTURE button calls up the specified viewer. If vfile is set to “pdb” for that viewer, the output structure ‘jobname’.pdb is read into the viewer immediately. If vfile is set to "" in RUNpcg.ini, the viewer is called up, but the user must select the file to be rendered manually. The call to Molekel is different: Molekel always reads all the pertinent parts of the output file, renders the structure in the opening window and then lets you choose any of its features in a drop down menu activated with a right click into the window. The same is true for Molden with slightly different choices in their menus.


In order to simulate a spectrum of the fundamental vibrations, the vibrational frequences and their intensities have to be extracted from the output: From a 'Hessian' run or an 'Optimize' run with HSSEND = true (both are called 'Hessian', here) the Infrared intensities, from a 'Raman' run the IR and Raman intensities (and the depolarization ratios for the latter) are exported. This is done with the help of the MasterMenu. There are three cases:

  • If you have a Hessian or Raman run 'on-line', i.e. the job has just been terminated, and RUNpcg not yet exited, click on [Properties, Show/Print]: You see the drop-down menu of selectable properties. Choose 'Normal Coordinate Analysis'.
  • If you want to look at the vibrations of a previous run [Outputdata/Load *.out] opens the \output directory to select a Hessian or Raman output file. This done click on [Properties, Show/Print]. The drop-down menu of properties opens. Choose 'Normal Coordinate Analysis'.
  • You can click on 'Vibration Spectrum' whereby a drop-down list of all jobname.res files in the \output directory are shown for choosing the Normal Coordinates of a previously saved Hessian or Raman run. The normal coordinates are not shown in this case but the spectrum panel opens and lets you proceed as follows.
In the first two cases the frequencies, IR-, and, possibly, Raman-intensities are shown in an editor window. This is automatically saved as output\jobname.res for later reuse. Click [Vibrational Spectrum] on the RUNpcg panel. A list of saved IR/Raman spectra - including the most recent - is opened for you to select one. The spectrum panel opens for you to click on either one of the next two buttons:

Lin (1/cm)

this produces a lineplot with an overlay of Lorentzian lineshapes on a linear wavenumber scale. It resembles a measured IR spectrum, probably from an FTIR machine, as change in 'transmittance' (blue trace). The Raman bands, if they have been computed, are shown in 'emission' (red trace). The spectral range goes linearly from about 20 to 4200 cm-1.

Lin (µ)

this produces a lineplot with an overlay of Lorentzian lineshapes in a linear wavelength scale. It resembles a measured IR spectrum from a Rock salt prism spectrometer as change in 'transmittance' (blue trace). The 'fingerprint' region is better visible than in the first plot but has less detail in the C-H stretch region and the 'skeletal' motions below 666/cm are missing. The Raman bands, from a Raman run, are shown in 'emission' (red trace). The spectral window shown goes from 2.4 - 15 µ (with constant transmission!). Vibrations below about 650 cm-1 are not shown!

Half Intensity Width (1/cm)

You may adjust the 'Linewidth' (width of the spectral 'line' at half intensity) to approximate an experiment with varying resolution. Furthermore, the rotational part of a vibration-rotation band is not explicitly simulated. This can be approximately taken care of by adjusting the linewidth.

Intensity Scale

This button allows to make weaker IR absorptions or Raman emissions visible, or to scale overshooting transitions down. There is no simulation of the transmission behavior of your spectrometer. Assume, that the simulated spectrum has been corrected for experimental shortcomings!

Scale Frequencies

It is a sad fact that even the best 'ab initio' computations have problems with the vibrational frequencies in the harmonic approximation. Most calculated frequencies are up to 10% too large, depending on the model chemistry used. This error has been determined over a large sample of calculated versus observed frequencies. It is fairly constant, hence it has become customary to correct calculated spectra by this 'fudge factor'. You can check 'Scale Frequencies' and then select a factor corresponding to your modelchemistry. The factors used are published in many locations, e.g. on page 64 of the book 'Exploring Chemistry with Electronic Structure Methods', 2nd ed., by James B. Forseman & Æleen Frisch, ISBN 0-9636768-3-8.
Note: Molekel (version 4.3), and Molden can animate vibrational modes from the "View Structure" button and their own menus. However, neither 'Molekel' nor 'Molden' can use output from Raman runs.


1. Dialect®

2. PC Gamess®

GAMESS-US: Schmidt, M. W.; Baldridge, K. K.; Boatz, J. A.; Elbert, S. T.; Gordon, M. S.; Jensen, J. H.; Koseki, S.; Matsunaga, N.; Nguyen, K. A.; Su, S. J.; Windus, T. L.; Dupuis, M.; Montgomery, J. A. J. Comput. Chem. 1993, 14, 1347–1363.
MacGAMESS: Bode, B. M., Ames Laboratory, Iowa State University, Ames, IA 50011.
PC GAMESS: Granovsky, A. A., Moscow State University, Moscow, Russia.

PC Gamess, Version 7.0.1 (08-14-2006, build 3970) has additional functionalities compared to the current version of GAMESS(US) (22 Feb 2006 R5) but lacks several others developed between 1999 and the current release).

3. NoteTab Lite®

4. ArgusLab 4.01© Freeware

5. ACD/ChemSketch© Freeware

6. ISIS/Draw

7. ViewerLite

8. HyperChem®

9. PCModel®


gOpenMol is maintained by Leif Laaksonen, Center for Scientific Computing, Espoo, Finland.

11. VMD©

VMD was developed by the Theoretical Biophysics Group in the Beckman Institute for Advanced Science and Technology at the University of Illinois at Urbana-Champaign.

See Humphrey, W., Dalke, A. and Schulten, K., “VMD - Visual Molecular Dynamics”, J. Molec. Graphics 1996, 14.1, 33-38.

12. RasWin

13. Molekel, version 4.3

14. Pov-Ray

15. (g)Molden, version 4.4

16. Ghemical, version 1.02(stable) or 1.90 (dev)