Table of Contents


runcmhog - preprocess a CMHOG namelist and run program in a new directory


runcmhog [-options] run_directory [[namelist/][key=val]]


runcmhog is a preprocessor to run (a series of) CMHOG programs. It expects the ’cmhogin’ input file to be present in the local directory, uses that, but any variables can be overridden via the commandline. The first argument must be a (non-existent) directory name, in which a new ’cmhogin’ file will be written, and cmhog will be run. The ’cmhog’ program is allowed to be in the unix PATH


The following options are recognized, they must appear before the run_directory name
Turn debugging on.
show brief options reminder/help message
-n namelist
Optional name of the namelist file. Default: cmhogin.
-e executable
Optional name of the executable name. By default the users search path will be consulted, for relative references remember this will be run from within the run_directory. Default: cmhog.


Cannot add new keywords, they must already have an entry in the cmhogin template file.

since run-directories are created, entries like "pgrid/pot0" contain file references that thus have to be properly relative, or absolute.

a directory name cannot contain an equals sign


Here is a shell script running a series of models from a template cmhogin in the current directory.
    runcmhog run001
    runcmhog run002 aob=3.0
    runcmhog run003 aob=2.0
    runcmhog run004 aob=3.0 qm=5.5e4
    runcmhog run005 aob=3.0 qm=3.5e4
    runcmhog run101 ggen2/nbl=200
For following snippet of c-shell code shows how easy it is to keep your CPU busy for months and months...
foreach a (1 1.5 2 2.5 3 3.5)
  foreach b (10 20 30 40 50)
    foreach c (1 3 10 30 100 300 1000)
      set dir=run1/$a/$b/$c
      mkdir -p $dir
      runcmhog -n cmhogin $dir a=$a  b=$b  c=$c >& $dir/cmhog.log


The fortran namelist format has many flavors, and you may wind up finding that your fortran compiler produces a flavor this version of the program cannot deal with. For example, a standard line reads as
 $hycon idiff=1,ifltn=1,tlim=2.0 $end
 $ggen2 nbl=37,ymin=0.1,ymax=16.0,yrat=1.15708,igrid=1,lgrid=.true. $end
 $ggen3 nbl=20,zmin=-1.5708,zmax=1.5708,igrid=1,lgrid=.true. $end
but some compilers will expect/produce a comma at the end of each line. Also, for example in RAMSES (uses fortran90) you can see this type:

See Also

hdfgrid(1NEMO) , sdsfits(1NEMO)


NEMO/src/image/hdf/cmhog      cmhog utility tools
CMHOG2                        cmhog2 code (may be out of date)


Peter Teuben

Update History

15-Jun-96    man written    PJT
19-feb-97    implemented -e and -n flags    PJT
29-jun-02    documented some more flags    PJT
14-may-03    rundir can be in a hierarchy now    PJT
21-jul-03    fix documentation bug about namelist specification    PJT

Table of Contents