Skip to content
marysa edited this page Sep 28, 2020 · 22 revisions

Welcome to the SimpleLand wiki!

THIS IS A WORK IN PROGRESS!!!! Updating instructions as I have the chance!

Background Info:

The Simple Land Interface Model (SLIM) is an idealized land surface model that couples to CESM in place of CLM. A full model description is available in the supplementary information of Laguë et al. 2019: https://journals.ametsoc.org/jcli/article/32/18/5725/344078/Separating-the-Impact-of-Individual-Land-Surface

In the current format, SLIM works coupled with CESM2.1 - that is, if whatever configuration you're wanting (except for the land) can be set up with the code from CESM2.1 (e.g. CAM5, CAM6), you should be able to swap out CLM for SLIM using the code here. A few caveats on that:

  • SLIM runoff isn't currently being passed to the coupler; if you're wanting to run with a dynamic ocean (not a slab ocean or fixed SSTs), we'll need to implement that. Straightforward enough for liquid water, but we'll likely have to devise some sort of "calving" scheme to avoid snow building up over Greenland/Antarctica.

  • I've typically used SLIM with a slab ocean, where the q-fluxes for the slab ocean come from a coupled CAM5 CESM simulation. These q-fluxes may or may not be suitable for your purposes.

Notable details:

Building a SLIM-CESM run is very similar to building a normal CESM run, just with a bit more tweaking of your inputs than an out-of-the-box CESM configuration before you're ready to go! A quick summary of the notable differences from a "normal" CESM run:

  • create your case using a "longname" compset, where you tell the model exactly what combination of atm/land/ocean/ice etc you'd like to use

  • you're going to tell CESM to build with CLM, but since you're using the code from this repository, SLIM is actually sitting where CLM would otherwise sit. As far as the rest of CESM knows, it is still using CLM, but the actual CLM code has been entirely replaced by SLIM. One day, hopefully we'll make this interface a little smoother so you can tell CESM "build with CLM" or "build with SLIM" from the same codebase.

  • Right now, if you're running CLM simulations AND SLIM simulations, you need to keep two separate copies of the source code - one for CLM, and one for SLIM.

  • The input files for SLIM are not currently in the main input folder of CESM data on Cheyenne. But, the input files are small and are the main way the user modifies how SLIM looks, so you'll likely want to change this file to control what your land looks like. An example file is included on this page.


Getting Started:

Detailed instructions coming soon. Below is a work in progress that rapidly deteriorates!


These steps should take you from the "download the code from github" step all they way to "yay, I'm running a SLIM-CESM simulation!"

Get the code

  1. On github (here, welcome!), navigate to the repository for SLIM: https://github.com/marysa/SimpleLand
  2. Make sure you're on the (as of Sept 2020, anyhow) branch called cesm2_2_slim
  3. In the terminal/command line, log on to whatever server you'd like your copy of the SLIM source code to live. For me, I'm using Cheyenne - if you use this computer, you can see where I've downloaded the SLIM code here: /glade/u/home/mlague/cesm_source/slim_example
  4. Copy the code from github to your folder! e.g.
    git clone https://github.com/marysa/SimpleLand.git
  5. You'll now have a folder called "SimpleLand". Open it.
    cd SimpleLand
  6. Now you'll need to checkout all the "external" components SLIM needs to run - in particular, this is going to go fetch the source code for CAM. To do this, type:
    ./manage_externals/checkout_externals
    Note that it is also going to download a bunch of other stuff, like all the FATES source code, that technically SLIM doesn't, and indeed can't, ever use. One day this will be tidied up enough such that this no longer needs to happen (not downloading it is easy, my problem is that when the model initializes it looks for that source code and is unhappy when it can't find it - I haven't taken the time to figure out how to make this stop happening since it isn't a problem if I'm willing to cart around a little extra model baggage... Not ideal, but again, it is on the list of things to clean up later!)
  7. Bummer. It looks like the get_externals is trying to get CAM code from svn, where it used to live, rather that git, where it lives now. I haven't downloaded SLIM in a while, so didn't realize this was an issue.
Clone this wiki locally