For detailed review of steps needed to create new grids in ACME see CAM-SE Variable Resolution Grid Generation, CIME documentation, and CESM 1.2 manual and (most current) Running E3SM on New Atmosphere Grids .
This is a summary of steps required to create mapping/weighting/domain files for the model if one starts with an atmosphere, HOMME, mesh. We follow instructions in ACME and HOMME files with some modifications and clarifications.
These notes contain instructions for a particular situation, modifying input files for compset FC5AV1F with resolution conusx4v1_conusx4v1 . Since new algorithm for weights is being introduced in Homme (for locally refined meshes, new weights are now consistent with an element area), mapping files and domain files for refined meshes need to be replaced. Turns out that only one homme locally refined mesh is used in config_grids.xml, mesh conusx4v1.g . The process of creating new corresponding mapping files and domain files is described below.
There are a few types of grids/maps/files that are discussed below:
...
- Replace domain files, configure a test
~/ACME/cime/scripts/create_newcase -case $CASE -res conusx4v1_conusx4v1 -mach skybridge -compiler intel -compset FC5AV1C-04 -project NNN
Change COLD START to ON in env_run.xml (can be verified in run folder in lnd_in that finidat='', that is, it is empty). Run for, say, 5 days. - This will produce a restart file $CASE.clm2.r.0001-01-06-00000.nc . Copy it to some DIR because it will be modified by an interpolating routine.
- Change to DIR.
- Build interpinic from ACME/components/clm/tools/clm4_5 . Older versions of the interpolation do not have dimension 'levgrdn', so, a newer build is required. Before building, set variables as below. I am not sure all of these options are crucial.
export INC_NETCDF=${NETCDF_PATH}/include
Now there is a problem with dependencies in source file directory, because one file is a C file. Run make once, disable making dependencies in makefile, remove line with she_isnan.o from dependencies file. Then make again except now the line to make executable will carry the same shc_isnan.o . Copypaste the command line for the executable, remove shc_isnan.o from it and execute.
export LIB_NETCDF=$NETCDF_PATH/lib
export USER_FC=ifort
export SMP=TRUE
export OMP_NUM_THREADS=8
gmake OPT=TRUE SMP=TRUEIf trying to run the executable from, say, a new window, set OMP_NUM_THREADS=8 again.
- Run the interpinic in DIR by
ACME/components/clm/tools/clm4_5/interpinic/interpinic -i /projects/ccsm/inputdata/lnd/clm2/initdata_map/clmi.ICRUCLM45.conusx4v1.74e105b.clm2.r.0021-01-01-00000.nc -o $CASE.clm2.r.0001-01-06-00000.nc
where the '-i' file is the one that is used by the compset&resolution when the case is configured as is (not a cold start run) and can be found in lnd_in namelist, finidat variable. As it says in Using interpinic to interpolate initial conditions to different resolutions ,
-i = Input filename to interpolate from -o = Output interpolated file, and starting template file - Now we try to run with new land IC conditions: Set the case as before by running create_newcase, run cesm_setup, open user_nl_clm and insert
finidat = 'DIR/$CASE.clm2.r.0001-01-06-00000.nc' . - Run $CASE.build, verify that finidat is correctly set in lnd_in .
- This should be it.
...