Support for several grids are hardwired in the CESM1 release. "create_newcase -l"
provides a current listing of supported "out-of-the-box" grids. In general, CESM grids
are associated with a specific combination of atmosphere, land, and ocean/ice grids
using a particular naming convention like f19_g16 for the f19 atm/lnd grid combined
with the g16 ocn/ice grid. The f19 atm/lnd grid is the shortname for the 1.9x2.5
finite volume dycore grid. The g16 ocn/ice grid is the shortname for the gx1v6
one-degree displaced pole grid. To add a new grid, just a few things need to be
done. First, create both an individual long and shortname for the individual
grid (ie. f19=1.9x2.5) and for the grid combination (ie. f19_g16). Then add that
grid to the config_grid.xml file. Next, update individual components to support
those new grids. This usually begins with the components template file, but may
also require source code modifications in some cases. More details are provided
below.

The most difficult issue associated with adding a new grid is generating the
required grid files for components and generating any new mapping files required
by the coupler. On some level, the best advice is to mimic datasets that already
exist for other grids for your grid. That means, produce new datasets that
follow the formatting standard. CESM has some tools to help with this, and they
should be outlined in each components' documentation. There is specific process for generating
mapping file in CESM. To learn more about this process, contact CESM directly.

To add a new grid, edit the scripts/ccsm_utils/config_grid.xml
and add the specific individual grids in the first section with their nx and ny sizes.
The add the grid combination as a section below specifying the individual grids for
each component, the mapping filenames, and other information. Just follow an example
of an existing grid definition. Once this is complete, the grid will be "supported"
in the CESM scripts and cases can be created with it.

The next step is to add support for the new grids in the components. This would
generally be done initially in the component template files, models/*/*/bld/*.template
. Each component handles this differently, so it's up to the user to
decide which components need updates and how to best implement the update. As part
of the template update, new grid files and input datasets may have been generated.
These need to be added to each component on an individual basis.