General information on running the FORTRAN tools

The tools run either one of two ways, with a namelist to provide options, or with command line arguments (and NOT both). interpinic and cprnc run with command line arguments, and the other tools run with namelists.

Running FORTRAN tools with namelists

mkgridata, mksurfdata and mkdatadomain run with namelists that are read from standard input. Hence, you create a namelist and then run them by redirecting the namelist file into standard input as follows:


./program < namelist
For programs with namelists there is at least one sample namelist with the name "program".namelist (i.e. mksurfdata.namelist for the mksurfdata program). There may also be other sample namelists that end in a different name besides "namelist". Namelists that you create should be similar to the example namelist. The namelist values are also documented along with the other namelists in the: models/lnd/clm/bld/namelist_files/namelist_definition.xml file and default values in the: models/lnd/clm/bld/namelist_files/namelist_defaults_clm_tools.xml file.

Running FORTRAN tools with command line options

interpinic and cprnc run with command line arguments. The detailed sections below will give you more information on the command line arguments specific to each tool. Also running the tool without any arguments will give you a general synopsis on how to run the tool. For example to get help on running interpinic do the following.


cd models/lnd/clm/tools/interpinic
gmake
./interpinic

Running FORTRAN tools built with SMP=TRUE

When you enable SMP=TRUE on your build of one of the tools that make use of it, you are using OpenMP for shared memory parallelism (SMP). In SMP loops are run in parallel with different threads run on different processors all of which access the same memory (called on-node). Thus you can only usefully run up to the number of processors that are available on a single-node of the machine you are running on. For example, on the NCAR machine bluefire there are 32 processors per node, but the SMT hardware on the machine allows you to submit twice as many threads or 64 threads. So to run the mksurfdata on bluefire optimized, with 64 threads you would do the following:


cd models/lnd/clm/tools/mksurfdata
gmake OPT=TRUE SMP=TRUE
setenv OMP_NUM_THREADS 64
./mksurfdata < mksurfdata.namelist