Using interpinic to interpolate initial conditions to different resolutions

"interpinic" is used to interpolate initial conditions from one resolution to another. In order to do the interpolation you must first run CLM to create a restart file to use as the "template" to interpolate into. Running from arbitrary initial conditions (i.e. finidat = ' ') for a single time-step is sufficient to do this. Make sure the model produces a restart file. You also need to make sure that you setup the same configuration that you want to run the model with, when you create the template file.

Command line options to interpinic:

-i = Input filename to interpolate from
-o = Output interpolated file, and starting template file

There is a sample template file in the models/lnd/clm/tools/interpinic directory and can be used to run interpolate to. However, this file was created with an older version of CLM and hence we actually recommend that you would do a short run with CLM to create a template file to use.

Example 2-1. Example of running CLM to create a template file for interpinic to interpolate to


> cd scripts
> ./create_newcase -case cr_f10_TmpltI1850CN -res f10_f10 -compset I1850CN \
-mach bluefire
> cd cr_f10_TmpltI1850CN
# Set starting date to end of year
> ./xmlchange -file env_conf.xml -id RUN_STARTDATE -val 1948-12-31
# Set year align to starting year
> ./xmlchange -file env_conf.xml -id DATM_CLMNCEP_YR_ALIGN -val 1948
# Set to run a cold start
> ./xmlchange -file env_conf.xml -id CLM_FORCE_COLDSTART -val on
# Set to run only a single day, so a restart file will be created on Jan/1/1949
> ./xmlchange -file env_run.xml -id STOP_N -val 1
# Then configure, build and run as normal
> ./configure -case
> ./cr_f10_TmpltI1850CN.bluefire.build
> ./cr_f10_TmpltI1850CN.bluefire.submit
# And copy the resulting restart file to your interpinic directory
> cd ../models/lnd/clm/tools/interpinic
> cp /ptmp/$LOGIN/cr_f10_TmpltI1850CN/run/cr_f10_TmpltI1850CN.clm2.r.1949-01-01-00000.nc .

In the next example we build interpinic optimized with shared memory on for 64 threads so that it runs as fast as possible, to interpolate one of the standard 1-degree datasets to the above 10x15 template file that we created.

Example 2-2. Example of building and running interpinic to interpolate a 1-degree finidat dataset to 10x15


> cd models/lnd/clm/tools/interpinic
> gmake OPT=TRUE SMP=TRUE
> env OMP_NUM_THREADS=64 ./interpinic -o cr_f10_TmpltI1850CN.clm2.r.1949-01-01-00000.nc /
-i /fs/cgd/csm/inputdata/ccsm4_init/b40.1850.track1.1deg.006/0863-01-01/b40.1850.track1.1deg.006.clm2.r.0863-01-01-00000.nc

Tip: Running interpinic at high resolution can take a long time, so we recommend that you always build it optimized and with shared memory processing on, to cut down the run time as much as possible.

Warning

interpinic does NOT work for CNDV (bgc=cndv).

In Appendix B we give a simpler way to run interpinic for several standard resolutions at once, with a script to loop over several resolutions. This is useful for CLM developers who need to create many finidat files at once.