1.1.8. Quickstart

Running the CLM requires a suite of UNIX utilities and programs and you should make sure you have all of these available before trying to go forward with using it. If you are missing one of these you should contact the systems administrator for the machine you wish to run on and make sure they are installed.

List of utilities required for CESM in the “CESM2.1 Software/Operating System Prerequisites” section in http://www.cesm.ucar.edu/models/cesm1.2//cesm/doc/usersguide/book1.html - UNIX bash shell (for some of the CLM tools scripts) - NCL (for some of the offline tools for creating/modifying CLM input datasets see Chapter 2 for more information on NCL) - Python

Before working with CLM5.0 read the QuickStart Guide in the |cesmrelease| Scripts User’s Guide. Once you are familiar with how to setup cases for any type of simulation with CESM you will want to direct your attention to the specifics of using CLM.

For some of the details of setting up cases for CLM5.0 read the README and text files available from the “$CTSMROOT/doc” directory (see the “CLM Web pages” section for a link to the list of these files). Here are the important ones that you should be familiar with.

README file describing the directory structure.

The IMPORTANT_NOTES file talks about important things for users to know about using the model scientifically. It content is given in the next chapter on “What is scientifically validated and functional in |version| in |cesmrelease|?”.

The ChangeLog/ChangeSum talk about advances in different versions of CLM. The content of these files is largely explained in the previous chapter on “What is new with |version| in |cesmrelease| since previous public releases?”.

The release-clm5.0.ChangeLog gives the specific changes that have gone on the release-clm5.0 branch. clm3_0_ChangeLog, clm4_0_ChangeLog, clm4_5_ChangeLog gives the changes that culimated in that given version of the CLM.

Note other directories have README files that explain different components and tools used when running CLM and are useful in understanding how those parts of the model work and should be consulted when using tools in those directories. For more details on configuring and customizing a case with CLM see Chapter 1.

The Quickstart.GUIDE (which can be found in $CTSMROOT/doc) is repeated here.

$CTSMROOT/doc/Quickstart.GUIDE                                    Jun/08/2018

          Quick-Start to Using cpl7 Scripts for clm5_0
          ============================================

Assumptions: You want to use cheyenne with clm5_0 BGC
             to do a clm simulation with data atmosphere and the
             latest GSWP3v1 atm forcing files and settings. You also want to cycle
             the GSWP3v1 atm data between 1950 to 2010 and you want to run at
             0.9x1.25 degree resolution.

Process:

   # Create the case

   cd cime/scripts

   ./create_newcase --case <testcase> --mach cheyenne --res f09_g16_gl4 -compset I2000Clm50BgcCrop
   (./create_newcase -help -- to get help on the script)

   # Setup the case

   cd <testcase>
   ./xmlchange id1=val1,id2=val2  # to make changes to any settings in the env_*.xml files
   ./case.setup
   (./case.setup -help -- to get help on the script)

   # Add any namelist changes to the user_nl_* files

   $EDITOR user_nl_*

   # Compile the code

   ./case.build

   # Submit the run

   ./case.submit

Information on Compsets:

     "I" compsets are the ones with clm and datm7 without ice and ocean.
     Most of the "I" compsets for CLM5.0 use the GSWP3v1 data with solar following
     the cosine of solar zenith angle, precipitation constant, and other
     variables linear interpolated in time (and with appropriate time-stamps on
     the date). 

     To get a list of the "I" compsets use the "query_config" utility in cime/scripts

    ./query_config --compsets clm

Automatically resubmitting jobs:

   After doing a short simulation that you believe is correct

   ./xmlchange CONTINUE_RUN=TRUE

   # Change RESUBMIT to number greater than 0, and CONTINUE_RUN to TRUE...

   ./case.submit