> On the current gOpenMol homepage it is mentioned that the new
> PC Gamess version supports the creation of Cube Files like
> Gaussian does.
> Is that right ? If, yes how can i do that ?

You should add the following lines to your PC GAMESS job:

 $ELDENS  IEDEN=1  $END
 $ELPOT   IEPOT=1  $END
 $CUBE    CUBE=.T. mesh=coarse $END

This will produce cube info for both density and ESP.
You can choose to specify only  $ELDENS or  $ELPOT group, or both.
Also, you can use MORB=xxx in the  $ELDENS group to generate
_density_ (not MO itself!) for only MO # xxx.

The valid values for mesh keyword in $cube group are: coarse, medium, fine.
There are several other keywords in the $cube group, allowing one to finer
control grid parameters, namely:


-----------------------------------------------------------------------------------------

CUBE DOCUMENTATION:

OVERVIEW:

The CUBE capability provides the ability to punch a 3 dimensional grid of
electrostatic potential or electron density information suitable for 3D
isosufacing or 3D volumetric rendering.

The cube output data are in the standard 'cube' format used by Gaussian and
are suitable for use as input to a wide variety of available visualization
programs (e.g. gOpenMol, ReView 3, Molden, etc).

INPUT:

Cube input to PC GAMESS is performed using the $CUBE namelist in combination
with the properties namelists $ELPOT or/ and $ELDENS.
Specific $CUBE namelist variables and their definitions are as follow:


VARIABLE          VALUES            DEFINITION

cube              t or f            A logical flag that enables (t) ordisables (f) the generation
                                    of cube data.  Default is f(false).

mesh                                Specifies desired density of points along each side of the
                                    cube.

                  coarse            40 points
                  medium            80 points (the default)
                  fine              100 points

                                    Using these mesh values as an initial guess, The cube
                                    generation program attempts to provide a common size
                                    of increment along each axis to minimize distortion
                                    in the visualization. In the process, the actual
                                    number of points along each axis may differ slightly
                                    from that listed here.

nxcube            >0                The user input density of points along each x side of the cube.
                                    Default is 0. This is an integer variable.

nycube            >0                The user input density of points along each y side of the cube.
                                    Default is 0. This is an integer variable.

nzcube            >0                The user input density of points along each z side of the cube.
                                    Default is 0. This is an integer variable.

                                    Note: if nxcube, nycube and nzcube are all equal to 0, all
                                    cube input will be ignored except for cube and mesh.  All
                                    the cube parameters will be generated internally using the
                                    value of mesh as described previously.

x0cube                              The x-coordinate of the cube origin. The default is 0.0  This
                                    is a floating point variable. Units are bohr (au).

y0cube                              The y-coordinate of the cube origin. The default is 0.0  This
                                    is a floating point variable. Units are bohr (au).

z0cube                              The z-coordinate of the cube origin. The default is 0.0  This
                                    is a floating point variable. Units are bohr (au).

xincub            > 0.0             The increment (or interval size) along the x-axis of the cube.
                                    The default is 0.0  This is a floating point variable. Units
                                    are bohr (au).

yincub            > 0.0             The increment (or interval size) along the y-axis of the cube.
                                    The default is 0.0  This is a floating point variable. Units
                                    are bohr (au).

zincub            > 0.0             The increment (or interval size) along the z-axis of the cube.
                                    The default is 0.0  This is a floating point variable. Units
                                    are bohr (au).

OUTPUT:

If $ELPOT group is provided with IEPOT = 1 and the $CUBE group is provided
with cube=.t., then a 3D "cube" format info on electrostatic potential data
will be punched. The structure of the data follows the GAUSSIAN format:

Title
record for density source information
NAtoms, x0cube, y0cube, z0cube
nxcube, xincub, 0., 0.
nycube, 0., yincub, 0.
nzcube, 0., 0., zincub
IA1, Chg1, X1, Y1, Z1 Atomic number, charge, and coordinates of the first atom
...
IAn, Chgn, Xn, Yn, Zn Atomic number, charge,  and coordinates of the last atom.
(nxcube*nycube) records, each of length nzcube values of the potential at each point in the grid
Note that a separate write is used for each record.

If one wishes to read the values of the potential back into an array
dimensioned X(nzcube,nycube,nxcube) code like the following Fortran loop may be used:

    Do 10 I1 = 1, nxcube
    Do 10 I2 = 1, nycube
       Read(n,'(6E13.5)') (X(I3,I2,I1),I3=1,nzcube)
10  Continue

where n is the unit number corresponding to the cube file.

Similarly, if $ELDENS group is provided with IEDEN = 1, MORB = 0 and the
$CUBE group is provided with cube=.t.,
then a 3D "cube" of total density data will be punched.  The structure of
the data follows the GAUSSIAN format as discussed previously.

--------------------------------------------------------------------------------

Note, the implementation of the "cube" density data generations with
the PC GAMESS v. 6.0 was very slow. The performance of this code was 
increased dramatically in the PC GAMESS versions 6.1 and above.

!The following sample input file will punch 8 $cube groups:
!RHF density /RHF density ESP
!MP2 density/MP2 density  ESP
!at initial and final geometries.
 $CONTRL SCFTYP=RHF MPLEVL=2 RUNTYP=optimize $END
 $SYSTEM TIMLIM=200 MEMORY=10000000 $END
 $BASIS  GBASIS=N21 NGAUSS=3 $END
 $GUESS  GUESS=HUCKEL $END
 $ELDENS IEDEN=1 $END
 $ELPOT  IEPOT=1 $END
 $CUBE CUBE=.T. MESH=coarse $END
 $DATA
Water...RHF/3-21G...exp.geom...R(OH)=0.95781,A(HOH)=104.4776
Cnv      2

OXYGEN     8.0
HYDROGEN   1.0   0.0     0.7572157    0.5865358
 $END

---------------------------------------
PC GAMESS v. 6.1 specific documentation
---------------------------------------

As to the expanded cube capabilities, they are as follows.
There are several new keywords in the $ELDENS group, namely:

spind =.f.(default)/.t. - calculate spin density if available

diffd  =.f.(default)/.t. - calculate delta density

skiphf=.t.(default)/.f. - skip (HF - initial guess) delta density calculation

derivs(1)=0,0,0(default) - any combination of up to three numbers 0,1 & 2.
Defines the level of derivatives required. 0 means density,
1 means the density gradient (or its norm), 2 - density Laplacian.

Also, the 'where' variable of the $ELPOT and $ELDENS groups can be assigned 
value cube: where= cube . The where=cube is the default in the presence of the 
$cube group. Thus, it is not necessary to use $cube cube=.t. $end, it is enough
simply to use $cube $end. Finally, the 'mesh' variable can be assigned value
'ultra' (200 points). As an example, see the input lines below.

---------------------------------------
PC GAMESS v. 6.4 specific documentation
---------------------------------------

There are several new keywords in the $ELDENS group, namely:

grdfld= .f.(default)/.t. - modifies density gradient calculations so that
the 3-component vector gradient field is written (by default, the norm of 
the gradient is written).

icorbs - integer array - indices of alpha MOs (positive) and (if available)
beta MOs/NOs (negative) for which to calculate the values of orbitals
(not the density!). Most of other $cube-related options are disabled in the
presence of ICORBS array. In the punch file, the inner loop of the printout
is over different MOs, then over z coordinate, etc...

uhfnos= .f.(default)/.t. modifies icorbs array entries so that negative
entries are treated as requests to calculate UHF NOs, not UHF beta orbitals.


Example 1:

 $CONTRL SCFTYP=RHF RUNTYP=optimize CITYP=GUGA $END
 $SYSTEM TIMLIM=3000 MEMORY=30000000 $END
 $CIDRT  NFZC=1 NDOC=4 NVAL=57 NEXT=0 IEXCIT=2 GROUP=C2V $END
 $BASIS  GBASIS=TZV NDFUNC=3 NPFUNC=3 DIFFSP=.T. DIFFS=.T. $END
 $CUBE   MESH=coarse $END
 $ELDENS IEDEN=1  spind=.f. diffd=.t. skiphf=.f. derivs(1)=0,1,2  $END
 $STATPT OPTTOL=1D-5 $END
 $DATA
H2O
CNV 2

 O           8.0   0.0000000000   0.0000000000   0.7205815395
 H           1.0   0.0000000000   0.7565140024   0.1397092302
 $END

Example 2:

 $CONTRL SCFTYP=RHF RUNTYP=optimize CITYP=GUGA $END
 $SYSTEM TIMLIM=3000 MEMORY=30000000 $END
 $CIDRT  NFZC=1 NDOC=4 NVAL=57 NEXT=0 IEXCIT=2 GROUP=C2V $END
 $BASIS  GBASIS=TZV NDFUNC=3 NPFUNC=3 DIFFSP=.T. DIFFS=.T. $END
 $CUBE   MESH=ultra $END
 $ELDENS IEDEN=1  spind=.f. diffd=.t. skiphf=.t. derivs(1)=0,2  $END
 $STATPT OPTTOL=1D-5 $END
 $DATA
H2O
CNV 2

 O           8.0   0.0000000000   0.0000000000   0.7205815395
 H           1.0   0.0000000000   0.7565140024   0.1397092302
 $END


Example 3:

 $CONTRL SCFTYP=UHF RUNTYP=energy icharg=+1 mult=2 $END
 $SYSTEM TIMLIM=3000 MEMORY=30000000 $END
 $BASIS  GBASIS=TZV NDFUNC=3 NPFUNC=3 DIFFSP=.T. DIFFS=.T. $END
 $CUBE   MESH=coarse $END
! Request to calculate first 9 alpha and 7 beta orbitals.
! Minus sign means beta orbitals if available, or natural orbitals, 
! if available. Note that program will rearrange MOs to simplify processing.
! The order of MOs here is not important.
! Look into punch cube printout to find the actual order of orbitals.
 $ELDENS IEDEN=1  ICORBS(1)=1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,9 $END
 $DATA
H2O
CNV 2

 O           8.0   0.0000000000   0.0000000000   0.7205815395
 H           1.0   0.0000000000   0.7565140024   0.1397092302
 $END

Example 4:

 $CONTRL SCFTYP=ROHF RUNTYP=energy icharg=+1 mult=2 $END
 $SYSTEM TIMLIM=3000 MEMORY=30000000 $END
 $BASIS  GBASIS=TZV NDFUNC=3 NPFUNC=3 DIFFSP=.T. DIFFS=.T. $END
 $CUBE   MESH=coarse $END
 $ELDENS IEDEN=1  MORB=4 $END
 $DATA
H2O
CNV 2

 O           8.0   0.0000000000   0.0000000000   0.7205815395
 H           1.0   0.0000000000   0.7565140024   0.1397092302
 $END

Example 5:

 $CONTRL SCFTYP=UHF RUNTYP=energy icharg=+1 mult=2 $END
 $SYSTEM TIMLIM=3000 MEMORY=30000000 $END
 $BASIS  GBASIS=TZV NDFUNC=3 NPFUNC=3 DIFFSP=.T. DIFFS=.T. $END
 $CUBE   MESH=coarse $END
 $ELDENS IEDEN=1 spind=.t. grdfld=.t. derivs(1)=0,1,2 $END
 $DATA
H2O
CNV 2

 O           8.0   0.0000000000   0.0000000000   0.7205815395
 H           1.0   0.0000000000   0.7565140024   0.1397092302
 $END