clm5.0 tutorial: running clm - cesm® · compset specifies the “component set” component set...

99
CLM5.0 Tutorial: Running CLM Danica Lombardozzi, Keith Oleson, Erik Kluzek, Ahmed Tawfik, Marysa Lague NCAR is sponsored by the National Science Foundation

Upload: others

Post on 09-Jun-2020

70 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CLM5.0Tutorial:RunningCLM

Danica Lombardozzi, Keith Oleson, Erik Kluzek, Ahmed

Tawfik, Marysa Lague

NCAR is sponsored by the National Science Foundation

Page 2: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

• CESM at a glance 1)  The CESM framework 2)  Finding information about CLM & CESM 3) Overview of CLM (and CESM) directory structure

• Basic workflow 1) Create a new case 2)  Invoke case_setup 3) Build the executable 4) Run and output data

• Changing configuration options 1) Component Sets 2) ENV files (env_[command]) 3) Namelist files (user_nl_[model])

• Getting help

• Appendix

Outline

Page 3: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Coupler

The Community Earth System Model (CESM) is a set of models that can be run independently or together to simulate the Earth global climate.

TheCESMFramework

TheCLMisthefocusofthisweek’stutorial

Page 4: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

The Community Earth System Model (CESM) is a set of models that can be run independently or together to simulate the Earth global climate.

TheCESMFramework

out of the box = works immediately after installation without any modification

The CLM (and the CESM) can be run through a set of scripts provided with the model. The first part of this practical session is a quick start to the CLM workflow (out-of-the-box)

TheCLMisthefocusofthisweek’stutorial

Page 5: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CESM1.2WebPageh=p://www.cesm.ucar.edu/models/cesm2.0/

Model Input Data

Background and Sponsors

How to acquire the code

Reporting problems Getting Help

Release Notes Scientific validation

Post processing Tools

Model Documentation

Timing & Load Balance

Page 6: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

ModelDocumentaFon

ModelDiagnosFcs

Post-processingTools

CLMWebPageh=p://www.cesm.ucar.edu/models/cesm1.2/clm

Page 7: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

CESM data

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

CESMDirectoryStructure

- CESM source code /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01 - CESM data /glade/p/cesm/cseg/inputdata

Code & Data directories:

Note:Todayweareusingapre-releasedversionofCESM2.0.ReleasedCESMcodeisin:/glade/p/cesm/releases

CESM Source Code

Page 8: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

CESM data

Source code has 2 subdirectories:

- components: contains the code for every model component

- cime: contains the scripts you need to run CESM

CESM Source Code

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

cam (atmosphere)

cice (sea ice)

cism (land ice)

aquap (aquaplanet)

mosart (river routing)

pop (ocean)

rtm (river routing)

ww3 (ocean waves)

CESMDirectoryStructure

clm (land)

Note:thesubdirectoriesof“components”willchangebasedonwhetheryouareusingaCESMcodebaseoraCLMcodebase.ShownhereisthestructurefortheCESMmodelbase.ForCLM,youwillonlyfind“clm”,“mosart”or“rtm”,and“cism”subdirectories.YoucanuseeithercodebasetorunCLM-onlysimulaMons,whicharedefinedbythecomponentsetyouchoose.MoreinformaMononcomponentsetsispresentedlater.

Page 9: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CESMDirectoryStructure

“Inputdata" directory, $DIN_LOC_ROOT, contains all input data required to run the model

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

cam (atmosphere)

cice (sea ice)

cism (land ice)

aquap (aquaplanet)

mosart (river routing)

pop (ocean)

rtm (river routing)

ww3 (ocean waves)

clm (land)

CESM Source Code

Page 10: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

• CESM at a glance 1)  The CESM framework 2)  Finding information about CLM & CESM 3) Overview of CLM (and CESM) directory structure

• Basic workflow 1) Create a new case 2)  Invoke case_setup 3) Build the executable 4) Run and output data

• Changing configuration options 1) Component Sets 2) ENV files (env_[command]) 3) Namelist files (user_nl_[model])

• Getting help

• Appendix

Outline

Page 11: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CESM can be run in 4 steps: Work Flow: Super Quick Start

Here,youwilllearntousethesefourstepstosetupandrunasimulaMon.APercompleMngthissecMon,youwilllearnhowtomakebasicmodificaMonstothemodelconfiguraMon.

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

ThisstepsetsupanewsimulaMon.ItisthemostcomplicatedofthesefourstepsbecauseitinvolvesmakingchoicestosetupthemodelconfiguraMon

Thisstepconfiguresthemodelsothatitcancompile

Thisstepcompilesthemodel

ThisstepsubmitsthemodelsimulaMontothesupercomputerqueue

Page 12: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Open a secure shell window: Terminal, Cygwin, PuTTY, Mobaxterm

Log on using your yubikey: ssh –Y <username>@yellowstone.ucar.edu

Your screen displays a response: Token_response:

Enter your PIN number (do not hit enter), then touch the yubikey button. This will insert a new one-time password and a return

First: Logging in to Yellowstone

Note:theyubikeyisacFvatedbythewarmthofyourfinger,notthepressureofpushingthebu=on

Whenyouseethetokenresponseprompt,enteryourpinandthentouchtheyubikeybu=on.

1.

2.

3.

Page 13: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Exercise1:Create&runanout-of-the-boxsimulaCon

Page 14: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Work Flow: Super Quick Start

Wewillprogressstepbystep,starMngwithstep1

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Exercise1:Create&runanout-of-the-boxsimulaCon

Page 15: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CLMDirectoryStructure

the script you need to set up a new simulation (or create a new case)

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase cism (land ice)

mosart (river routing)

clm (land)

CESM Source Code

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

FollowthestepsonthenextslidetosetupasimulaMon

Note:Thisweek,weareusingaCLMcodebase,whichhasfewersubdirectoriesthantheCESMcodebase.

Page 16: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Stophere./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC Typethiscommandline:

Next,let’sdigintothedetailsofthiscommandtounderstandtheparts

ToDo:Exercise1:Create&runanout-of-the-boxsimulaCon

Page 17: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcase requires 3 arguments

./create_newcase –case ~/I1850CLM50_001 –res f19_g16 –compset IM1850CRUCLM50BGC

I = CLM only, 1850

What is the casename ?

Which resolution?

Which model configuration ? Which set of components ?

In the scripts directory, create_newcase is the tool that generates a new case. Createanewcase

YourCaseName 2-degree

Note:Apreviouslyrequired4thargument,“-mach”,isnolongerneededwhenusingasupportedmachine.CIMEnowfiguresoutwhatmachineyouarerunningon.Ifyouarerunningonanunsupportedmachine,thisargumentisrequired.

Page 18: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcasearguments3 arguments required by create_newcase:

create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

Page 19: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcasearguments

case is the location and name of the case being created ~/I1850CLM50_001 “~” = home directory, or /glade/u/home/{username} I1850CLM50_001 = case directory name

Recommendation: Use meaningful names, including model version, type of simulation, and any additional details to help you remember the configuration of this simulation Note: Steps 2-4 take place in the case directory that you create here in step 1. More on that coming up.

3 arguments required by create_newcase:

create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

Page 20: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcasearguments

atm lnd ocn/ice river lnd mask

lnd-ice wave

res specifies the model resolutions (or grid): f19_g16 (atm/lnd_ocn/ice) Grid naming convention

Each model resolution can be specified by its alias, short name and long name.

Example of equivalent alias, short name and long name: -  alias: f19_g16 (atm/lnd_ocn/ice) -  short name: 1.9x2.5_gx1v6 -  long name = a%1.9x2.5_l%1.9x2.5_oi%gx1v6_r%r05_m%gx1v6_g%null_w%null

3 arguments required by create_newcase:

create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

Page 21: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcasearguments

lnd ice ocn river lnd-ice wave time atm

compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs 2000) and physics options (e.g. CLM4.5 vs CLM5.0) for those models. All CLM-only compsets start with “I”. Compset naming convention Each model compset can be specified by its alias, short name and long name. Example of equivalent alias, short name and long name:

-  alias: IM1850CRUCLM50BGC -  long name = 1850_DATM%CRU_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV

3 arguments required by create_newcase:

create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

Page 22: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

atm

cpl

ocn

lnd

ice

Land-ice wave

Plug and play

River

MoreonCESMcomponentsetsPlug and play of components with different component models

active data stub Color code:

KeyDefiniFons:AcCve: SimulaFonisusingthecodefromthemodelduringtherunData: SimulaFonisreadingindatafromafileforthiscomponentStub: Componentisnotbeingused

Page 23: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

DATM

cpl

SOCN

CLM

SICE

I (CLM-only)

MOSART

MoreonCESMcomponentsetsPlug and play of components with different component models

active data stub Color code:

SGLC

KeyDefiniFons:AcCve: SimulaFonisusingthecodefromthemodelduringtherunData: SimulaFonisreadingindatafromafileforthiscomponentStub: Componentisnotbeingused

Page 24: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CAM

cpl

DOCN

CLM

CICE

F (CLM-CAM)

MoreonCESMcomponentsetsPlug and play of components with different component models

active data stub Color code:

SGLC

KeyDefiniFons:AcCve: SimulaFonisusingthecodefromthemodelduringtherunData: SimulaFonisreadingindatafromafileforthiscomponentStub: Componentisnotbeingused

MOSART

Page 25: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Inthescriptsdirectory(intheSourceCode),whereyourunthecommand“create_newcase”,youcansearchforcompsets,resoluFons(e.g.modelgrid),etc.:./manage_case-query<type>Where“type”canbe:compsets-setby<name>;component-name<name>;grids;machinesAnd“name”isthenameofaparFcularmodelcomponent,likeclm,cam,datm,etc.Forexample:./manage_case-querycompsets-setbyclmWilllistallthe“I”compsetsavailableForaddiConalhelpandopCons:./manage_case-help

MoreInformaFon&Helpcreate_newcase:

Note:InthereleasedversionofCLM5.0,thesyntaxwillchangeto“./manage_case--query-<type>”(e.g.,./manage_case--query-grids).See./manage_case--helpforallopMons.

Page 26: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

MoreInformaFon&Helpcreate_newcase:

AlistofvalidvaluesisalsoavailableontheCESMwebsite:

h=p://www.cesm.ucar.edu/models/cesm2.0/

Page 27: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC Thiscommandlinecreatesacasedirectorywiththecasenameyouspecified.Let’sexplorethatdirectorystructure.

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 28: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CLMDirectoryStructure

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

~/I1850CLM50_001 $CASEROOT

case.setup env_*xml

xmlchange

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

create_newcase creates case directory that contains:

case_setup: script used in the next step

files with xml variables used by CESM scripts

script to edit env_*xml files

subdirectory for case-specific code modifications

cism (land ice)

mosart (river routing)

clm (land)

Page 29: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Usingthiscommandline,wejustsetupanewsimulaMonandcreatedthecasedirectory.

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 30: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Nowwe’llconfigurethecaseyoujustsetup.

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 31: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 Type this command line: ./case.setup Stophere

Starthere

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 32: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CLMDirectoryStructure

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

case.setup creates:

case scripts (to compile, run, and archive)

namelist modification files user_nl_xxx Note:theuser_nl_xxx,or“namelist”,filesarewhereyoucanchangemodelopFonsandinputdata

CaseDocs CaseDocs: directory that contains copies of the namelists This is for reference only and files in this directory SHOULD NOT BE EDITED.

cism (land ice)

mosart (river routing)

clm (land)

Page 33: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup Usingthiscommandline,wejustconfiguredthemodelandcreatedthefilestomodifyopMons&inputdata.

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 34: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Next,wewillcompilethemodelcode

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 35: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Stophere

Starthere

Type this command line: ./case.build

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 36: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CaseDocs

CLMDirectoryStructure

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

run $RUNDIR

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

atm

lnd

ocn

ice

glc

cpl

wav

lib

Thecase.buildscript:1)  Checksinputdata2)  Createsabuild/

rundirectorywithmodelexecutableandnamelists

Note:Ifaninputdataismissing,buildabortsandprovidesalistofmissingfiles.

cism (land ice)

mosart (river routing)

clm (land)

Page 37: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Usingthiscommandline,wejustcompiledthemodelandcreatedarundirectorywithmodelexecutables.

Type this command line: ./case.build

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 38: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

We’reonthelaststep!WewillsubmitthesimulaMontothesupercomputerqueue

Type this command line: ./case.build

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 39: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

Work Flow: Super Quick Start

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Starthere

Type this command line: ./case.build

Type this command line: ./case.submit

Exercise1:Create&runanout-of-the-boxsimulaConcd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 40: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

[dll@yslogin5~/I1850CLM50_001]$ bjobs JOBID USER 192822 dll

STAT QUEUE PEND regular

When you submit a job, you will see confirmation that it successfully submitted:

FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME yslogin3-ib *M50_001.run Sep 6 08:34

Your job is waiting in the queue

Your job is running

Submit and Check Job Status

Checkingjobs:a.  Typebjobs orb.  Typebjobs---ualltoseeeveryone’sjobs

Killingjobs:a.  FindyourJobIDa`ertypingbjobsb.  Typebkill<JobID>

Job ID

Yourjobwassubmi=edtotheregularqueue(“q”).WallclockFme(“W”)andprojectnumber(“P”)arealsospecified

Page 41: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CaseDocs

CLMDirectoryStructure

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

run $RUNDIR

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

When running, the model scripts write files into your run directory.

atm

lnd

ocn

ice

glc

cpl

wav

lib

cism (land ice)

mosart (river routing)

clm (land)

Page 42: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CaseDocs

CLMDirectoryStructure

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

run $RUNDIR

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

When complete, a short-term archive directory is created, and history and log files are moved here. Files necessary to continue the run are left in $RUNDIR

wav

/glade/scratch/userx/ archive/I1850CLM50_001 $DOUT_S_ROOT

atm

lnd

ocn

ice

glc

rof

cpl

logs

hist

Short Term Archive

rest

dart

atm

lnd

ocn

ice

glc

cpl

wav

lib

cism (land ice)

mosart (river routing)

clm (land)

Page 43: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

UpNext:MakingchangestoCLMconfiguraFonopFons

Page 44: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

• CESM at a glance 1)  The CESM framework 2)  Finding information about CLM & CESM 3) Overview of CLM (and CESM) directory structure

• Basic workflow 1) Create a new case 2)  Invoke case_setup 3) Build the executable 4) Run and output data

• Changing configuration options 1) Component Sets 2) ENV files (env_[command]) 3) Namelist files (user_nl_[model])

• Getting help

• Appendix

Outline

Page 45: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Type this command line: ./case.build

Type this command line: ./case.submit

Review: The 4 commands to run CLM

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 46: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

CaseDocs

Review:CLMDirectories&Commands

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

/glade/p/cesm/cseg/inputdata $DIN_LOC_ROOT

share cpl atm lnd ocn ice glc wav rof

CESM data

run $RUNDIR

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

(1)

(2)(3)(4)

atm

lnd

ocn

ice

glc

cpl

wav

lib

cism (land ice)

mosart (river routing)

clm (land)

Page 47: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

On Yellowstone Checkingjobs:

a.  Typebjobs orb.  Typebjobs---ualltoseeeveryone’sjobs, or

Killingjobs:

a.  FindyourJOBIDa`ertypingbjobsb.  Typebkill<JOBID>

Review:QueuesandJobs

Page 48: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

FindingmodeloutputDirectory:/glade/scratch/{userXX}/archive/I850CLM50_001/lnd/hist

Change this to your user name

Page 49: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Directory:/glade/scratch/{userXX}/archive/I850CLM50_001/lnd/hist Files(use“ls”tolistthem):

I1850CLM50_001.h0.0001-12.nc

Case Name Time

Output Type (history)

File Type (netCDF)

Change this to your user name

Findingmodeloutput

Page 50: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

3TypesofBasicModificaFons

1.  ComponentSets

2.  ENVfiles(env_[command])

3.  Namelistfiles(user_nl_[model])

Page 51: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

1.  ComponentSetsSet up a simulation for 2000

2.  ENVfiles(env_[command])

3.  Namelistfiles(user_nl_[model])

3TypesofBasicModificaFons

Page 52: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcase requires 3 arguments

./create_newcase –case ~/I1850CLM50_001 –res f19_g16 –compset IM1850CRUCLM50BGC

What is the casename ?

Which resolution?

Which model configuration ? Which set of components ?

Createanewcase

I1850CLM50_001 IM1850CRUCLM50BGC (I = CLM only, 1850)

f19_g16 (2-degree) Youused:

Thecommandline:

Page 53: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcase requires 3 arguments

./create_newcase –case ~/I1850CLM50_001 –res f19_g16 –compset IM1850CRUCLM50BGC

What is the casename ?

Which resolution?

Which model configuration ? Which set of components ?

Createanewcase

I1850CLM50_001 IM1850CRUCLM50BGC (I = CLM only, 1850)

f19_g16 (2-degree)

Nowwe’llchangethecompset

Page 54: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

ChangingSimulaFonComponentsCompset,orcomponentset:predefinedopFonsforrunningthemodel

UsecompsettochangethetypeofsimulaFon

Page 55: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Changingcompsetsletsyourundifferentexperiments

Some component options: •  Year (1850, 2000, transient, etc.) •  Data atmosphere (GSWP3, CRUNCEP, CPLHIST3HrWx) •  Model options (SP [satellite phenology], BGC

[biogeochemistry]) •  RCP scenarios

Page 56: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Changingcompsetsletsyourundifferentexperiments

Some component options: •  Year (1850, 2000, transient, etc.) •  Data atmosphere (GSWP3, CRUNCEP, CPLHIST3HrWx) •  Model options (SP [satellite phenology], BGC

[biogeochemistry]) •  RCP scenarios

Examples of simulations using different compsets: •  Stabilize (“spin up”) a biogeochemsitry (includes N & C cycles) simulation for 1850

•  Run a transient historical simulation from 1850-2000 based on the 1850 spin up

•  Run a transient future simulation from 2000 through 2100 using RCP8.5

•  Run a “time slice” simulation for 2000

Page 57: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Wheretofindalistofcompsets:http://www.cesm.ucar.edu/models/cesm1.2/cesm/doc/modelnl/compsets.html Website lists ALL compsets for released CESM. CLM only = “I” compsets

In CESM scripts directory, can run: ./manage_case-querycompsets-setbyclm

Tip: Add “ | more” at the end of the command line, then use the spacebar to scroll through the options

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

(1)

Page 58: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

create_newcase requires 3 arguments

./create_newcase –case ~/I2000CLM50_001 –res f19_g16 –compset IMCRUCLM50BGC

What is the casename ?

Which resolution?

Which model configuration ? Which set of components ?

Exercise2:Create&buildsimulaConfor2000

I2000CLM50_001 IMCRUCLM50BGC (I = CLM only, 2000)

f19_g16 (2-degree)

Page 59: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

./create_newcase -case ~/I2000CLM50_001 -res f19_g16 -compset IMCRUCLM50BGC

cd into case directory: cd ~/I2000CLM50_001 ./case.setup

Type this command line: ./case.build

Type this command line: ./case.submit

StopHere

Exercise2:Create&buildsimulaConfor2000

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 60: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

1.  ComponentSets

2.  ENVfiles(env_[command].xml)Changing the length of the run

3.  Namelistfiles(user_nl_[model])

3TypesofBasicModificaFons

Page 61: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

./create_newcase -case ~/I2000CLM50_001 -res f19_g16 -compset IMCRUCLM50BGC

cd into case directory: cd ~/I2000CLM50_001 ./case.setup

Type this command line: ./case.build

Type this command line: ./case.submit

Exercise3:ChangethelengthofsimulatedCme

Change the run length BEFORE submitting

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 62: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Two methods of changing the run length. Method1usesthe“xmlchange"scriptandisthepreferredmethod

Usewhenmodifying“xml”files(e.g.env_run.xml)1.  Benefit:Won’tletyoumessupthesyntax!2.  Forhelp,type./xmlchange-help3.  Use“./xmlquerylist”tolistallvariablesandtheirvaluesinallthe.xmlfiles Example:ediFngenv_run.xmlviathexmlchangetool./xmlchange{variabletobechanged}={valuetochangeto}

* We won’t use xml commands right now, but you will during the next section.

HowTo:ChangethelengthofsimulatedCme

Page 63: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Method 2 edits the scripts directly and involves two steps:

1)  Modify env_run.xml to set desired simulated length (STOP_N and STOP_OPTION)

2)  Modify env_batch.xml to tell computer how much computer time is needed to complete the simulation (JOB_WALLCLOCK_TIME)

When modifying files, use an editor of your choice

Examples: Emacs nedit vi

HowTo:ChangethelengthofsimulatedCme

Page 64: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

In a text editor*, open env_run.xml

* If you don’t have a preferred editor, emacs is user friendly. Type “emacs env_run.xml” (or “emacs anyfilename”)

1)Modifyenv_run.xmltosetdesiredsimulatedlength

Exercise3:ChangethelengthofsimulatedCme

CaseDocs

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

env_xxx

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

Page 65: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

env_run.xmlscriptThisisthebeginningoftheenv_run.xmlscript:

Page 66: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

RunFmevariablescanbechangedinenv_run.xmlatanypointandcontrolthemechanicsoftherun(length,resubmits,andarchiving).

Commonvariablestochangeinclude:

1.  STOP_OPTIONà setstherunFmeintervaltype,i.e.nmonths,ndays,nyears

2.  STOP_Nà setsthenumberofintervalstorunthemodelduringthespecifiedwallclock*Fme.

*WallclockFmeissetintheenv_batch.xmlfileandisameasureoftheactualFme.

3.   RESUBMITà setsthenumberofFmestoresubmittherun

Scrollthroughthescripttofindthesevariables

env_run.xmlscript

Page 67: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Exercise3(Part1):RunsimulaFonfor5years

1.   STOP_OPTIONà changeto“nyears”

2.   STOP_Nà changeto“5”

3.   RESUBMITà setsthenumberofFmestoresubmittherunWewon’tuse“resubmit”rightnow.Hereisanexampleforhowtorun5yearsusingtheresubmitopMon:STOP_N=1RESUBMIT=4**Thiswillrun5differentsimulaMonsfor1yeareach**

TODO:Intheenv_run.xmlscriptinyourI2000CLM50_001case,change:

Page 68: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Usingatexteditor,openenv_batch.xml

Exercise 3 (Part 2): Modify env_batch.xml to tell computer how much computer time is needed to complete the simulation (Wall Clock Time)

env_batch.xmlscript

CaseDocs

SourceMods

CASE Directory

Tools

LockedFiles

Buildconf

~/I1850CLM50_001

case.setup case.build

case.submit user_nl_xxx

env_xxx

Page 69: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

env_batch.xmlscript

1)queuetype(also:economy,premium,etc.)

2)wallclockFmerequested*

3)projectnumber

CommonVariablestochange:

Makesurethatchangesareinthejob“run”,atthetopofthescript.Youcanalsomakechangestotheshort-termandlong-termarchivesubmissionscriptshere.

*Note:MaximumallowablewallclockMmeonYellowstoneis12hours.SubmissionsrequesMnglessMmetypicallyhaveshorterwaitMmesinthequeue.

Page 70: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Exercise3(Part):ChangewallclockFme

changeJOB_WALLCLOCK_TIME to“2:00”

TODO:Intheenv_batch.xmlscriptinyourI2000CLM50_001case,change:

Page 71: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

./create_newcase -case ~/I2000CLM50_001 -res f19_g16 -compset IMCRUCLM50BGC

cd into case directory: cd ~/I2000CLM50_001 ./case.setup

Type this command line: ./case.build

Type this command line: ./case.submit

Exercise3:ChangethelengthofsimulatedCme

A`ermodifyingenv_run.xmlandenv_batch.xml,StartHere

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Page 72: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

1.  ComponentSets

2.  ENVfiles(env_[command])

3.  Namelistfiles(user_nl_[model])*GoingbacktoI1850CLM50_001case,changingdatarecordfrequency

3TypesofBasicModificaFons

Page 73: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Type this command line: ./case.build

Type this command line: ./case.submit

Exercise4:Changingdatarecordfrequency

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

This is when you modify the namelists.

Page 74: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Review:CLMDirectories&Commands

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

(1)

run $RUNDIR

datm_in drv_flds_in drv_in lnd_in mosart_in

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

Tools

~/I1850CLM50_001

case.setup user_nl_datm user_nl_clm user_nl_cpl

user_nl_mosart

case.build case.submit

SourceMods

CASE Directory

Case Docs datm_in drv_flds_in drv_in lnd_in mosart_in

LockedFiles

Buildconf

(2)

(3)(4)

cism (land ice)

mosart (river routing)

clm (land)

Page 75: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Tools

Review:CLMDirectories&Commands

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

SourceMods

CASE Directory

LockedFiles

Buildconf

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

(1)(2)

(3)(4)

case_setup creates namelist modification files user_nl_xxx. This is where namelist files are modified

run $RUNDIR

datm_in drv_flds_in drv_in lnd_in mosart_in

~/I1850CLM50_001

case.setup user_nl_datm user_nl_clm user_nl_cpl

user_nl_mosart

case.build case.submit

Case Docs datm_in drv_flds_in drv_in lnd_in mosart_in

cism (land ice)

mosart (river routing)

clm (land)

Page 76: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Tools

Review:CLMDirectories&Commands

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

SourceMods

CASE Directory

LockedFiles

Buildconf

(1)(2)

(3)(4)

case_setup creates namelist modification files user_nl_xxx. This is where namelist files are modified

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

The build script creates namelists in the run directory

run $RUNDIR

datm_in drv_flds_in drv_in lnd_in mosart_in

~/I1850CLM50_001

case.setup user_nl_datm user_nl_clm user_nl_cpl

user_nl_mosart

case.build case.submit

Case Docs datm_in drv_flds_in drv_in lnd_in mosart_in

cism (land ice)

mosart (river routing)

clm (land)

Page 77: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Tools

Review:CLMDirectories&Commands

/glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01

$CCSMROOT

components cime

scripts create_newcase

CESM Source Code

SourceMods

CASE Directory

LockedFiles

Buildconf

(1)(2)

(3)(4)

case_setup creates namelist modification files user_nl_xxx. This is where namelist files are modified

/glade/scratch/userx/ I1850CLM50_001

$EXEROOT

Build/Run Directory

bld

The build script creates namelists in the run directory

CaseDocs contains copies of the namelists for reference only (should not be edited)

run $RUNDIR

datm_in drv_flds_in drv_in lnd_in mosart_in

~/I1850CLM50_001

case.setup user_nl_datm user_nl_clm user_nl_cpl

user_nl_mosart

case.build case.submit

Case Docs datm_in drv_flds_in drv_in lnd_in mosart_in

cism (land ice)

mosart (river routing)

clm (land)

Page 78: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

• Not all changes can be made in env_run.xml.

• user_nl_<model> files appear in the case directory after ./case.setup is invoked:

user_nl_datm atmosphere (atm_in)

user_nl_clm land (lnd_in)

user_nl_cpl coupler (driver; drv_in) user_nl_mosart river transport (mosart_in)

Exercise4:Changingdatarecordfrequency

Page 79: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

• Compsets set up namelists • user_nl_clm modifies lnd_in name list file

Important: Don’t modify the namelist file directly. Make changes in user_nl_clm.

ModifyingNamelists

Page 80: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

• Compsets set up namelists • user_nl_clm modifies lnd_in name list file

Important: Don’t modify the namelist file directly. Make changes in user_nl_clm.

ModifyingNamelists

•  Website for CLM namelist variables: http://www.cesm.ucar.edu/models/cesm1.1/cesm/doc/modelnl/nl_clm.html

** Some namelist variables can also be changed in env_run.xml file

Page 81: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

LookingatNamelistFiles

Option 1 •  cdintoyourcasedirectory,thenCaseDocs

• (~/I1850CLM50_001/CaseDocs)

•  Openlnd_inwithtexteditorOption 2 •  cdintoyourrundirectory

•  (glade/scratch/I1850CLM50_001/run)

•  Openlnd_inwithtexteditorOpenthelnd_infileusingoneoftheseopMons

Note:ThesefilestelltheinputdatasetsandmodelopMonsthatyoursimulaMonissetuptouse.Donotchangethesefilesdirectly.Ifchangesarenecessary,modifytheuser_nl_xxxfiles.

Page 82: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Beginningofthelnd_infile

Page 83: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Beginningofthelnd_infile

[CO2]

FilewithiniFalcondiFons

Filewithsurfacedataset

Differentcompsetswillchangethestatusofsomeofthesethings.

Page 84: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

ExampleModificaFon:user_nl_clm

hist_mfilt:NumberofsampleswithinafileDefaultis1Setngvalueto12wouldput12recordsintoasinglefile

Changingthefrequencyofmodeloutput

Page 85: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

ExampleModificaFon:user_nl_clm

hist_mfilt:NumberofsampleswithinafileDefaultis1Setngvalueto12wouldput12recordsintoasinglefile

Changingthefrequencyofmodeloutput

hist_nhurq:Frequencythatdataarerecordedandwri=entoafileDefault:0meansthatoutputisrecordedeverymonth(monthlyaverages)PosiCveValues:NumberofmodelFmesteps(half---hourly)foroutputrecord

ex:48meansoutputisrecordedeveryday(dailyaverages)

NegaCveValues:Absolutevalueinhoursforoutputrecordex:---1meansoutputisrecordedhourly;---24meansoutputisrecordeddaily

* Both hist_mfilt & hist_nhtfrq must be integers

Page 86: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

hist_mfilt =365=-24

Monthlyoutputwitheachmonthwri=entoaseparatefile(default,asinI2000CLM50_001case):hist_mfilthist_nhurq

=1=0

ExampleModificaFon:user_nl_clmChanging the frequency of model output

Dailyoutputwithayearsworthofdailyrecordsinafile:

hist_nhurq

Page 87: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Example4:Modifyuser_nl_clmtogetmonthlyoutput,1filepermonthinI1850CLM50_001

For this tutorial, we changed the default data record setting to daily in the I1850CLM50 compset.

Page 88: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Example4:Modifyuser_nl_clmtogetmonthlyoutput,1filepermonthinI1850CLM50_001

For this tutorial, we changed the default data record setting to daily in the I1850CLM50 compset.

hist_mfilthist_nhurq

=1=0

Inuser_nl_clm,add:

Page 89: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Then,runI1850CLM50_001for5years.Todothis:

1.  Changeuser_nl_clmtorecordmonthlyoutput

2.  ChangeSTOP_OPTIONandSTOP_Nvariablesinenv_run.xml

3.  ChangewallclockFmeinenv_batch.xml4.  RerunthesimulaFon:case.submit

Usewhatyoulearnedfromthepreviousexamplestomakethesechanges

Page 90: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(1) create a new case (2) invoke case.setup

(3) build the executable

(4) submit your run to the batch queue

./create_newcase -case ~/I1850CLM50_001 -res f19_g16 -compset IM1850CRUCLM50BGC

cd into case directory: cd ~/I1850CLM50_001 ./case.setup

Type this command line: ./case.build

Type this command line: ./case.submit

Exercise4:Changingdatarecordfrequency

After modifying the namelists, Start Here

cd into scripts directory from the source code directory: cd /glade/p/cesm/lmwg/CLM2016_Tutorial_cesm2_0_beta01/cime/scripts

Note:Thecase.submitscriptwillautomaMcallyupdateandcheckthenamelists.Ifyouwanttoupdateandcheckyournamelistsbeforesubmilng,youcanalsorunthe“preview_namelists”script.

Page 91: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

NowYOUknowhowtoruntheCLM!

Use these 3 basic modifications to run a variety of simulations.

1.  ComponentSets2.  ENVfiles(env_[command])3.  Namelistfiles(user_nl_[model])

Page 92: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

DocumenCngYourChanges:READMEfilesInyourcasedirectory,youwillfindautomaFcallygenerated

documentaFonfiles. README.casefile:detailedinformaFononyourcompsetandresoluFon,includingwhetheryourconfiguraFonhassciencesupport. Best Practice: In the README.case file, we highly recommend YOU document any changes you make to the default scripts. It is YOUR paper trail and opportunity to list modifications.

Page 93: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Exercises:TestYourKnowledge

1)  Setupa2-degreeCLM5.0-BGCsimulaFonfor2000andrunfor1monthwithdailyhistoryfiles.

2)  Setupa2-degreeCLM5.0-BGChistoricalsimulaFonandrunfor5yearswithmonthlyhistoryfiles

3)  Setupa1-degreeCLM5.0-BGC1850simulaFonandrunfor1yearwithmonthlyhistoryfiles

Page 94: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

ForaddiFonalinformaFononrunning&configuringCLM,seeCLMUser’sGuide

CLM User’s Guide:

http://www.cesm.ucar.edu/models/cesm1.2/clm/models/lnd/clm/doc/UsersGuide/book1.html

For help with other parts of the CESM: http://www.cesm.ucar.edu/models/cesm2.0/

Note:TheCLM5.0User’sGuideiscurrentlyaworkinprogress.LookforthenewversionwiththeCESM2.0release

Page 95: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Getting Help CESMBulleFnBoard:h=p://bb.cgd.ucar.edu/

Page 96: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

Appendix

• Registration • Download the source code • Hardware/software requirements

Page 97: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(A)RegistraFon•  Go to CESM2.0 home page: http://www.cesm.ucar.edu/models/cesm2.0/

•  Right hand column has a link to the registration page, click on it

•  Register -- you will be emailed a username and password

Page 98: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(B)DownloadtheSourceCode

• List the versions available on the CESM repository svn list https://svn-ccsm-release.cgd.ucar.edu/model_versions

• Check out a working copy from the repository (“Download code”) svn co https://svn-ccsm-release.cgd.ucar.edu/model_versions/cesm2_0

• Code and input datasets are in a subversion repository (*) https://svn-ccsm-release.cgd.ucar.edu/model_versions

(*) You can get subversion at http://subversion.apache.org/

Repository

model versions

ccsm4

cesm1_1

cesm2_0

Note:onlyavailableuponCESM2.0release,esMmatedDecember2016

Page 99: CLM5.0 Tutorial: Running CLM - CESM® · compset specifies the “component set” Component set specifies component models (e.g. active vs data), forcing scenarios (e.g. 1850 vs

(C)Hardware/So`wareRequirements

• Running CESM on other platforms Require porting + software - Subversion client (version 1.4.2 or greater) - Fortran and C compilers (recommend pgi, intel, or ibm xlf compilers) - NetCDF library (recommend netcdf4.1.3 or later) - MPI (MPI1 is adequate, Open MPI or MPICH seem to work on Linux clusters)

• Supported platforms CESM currently runs “out of the box” today on the following machines - yellowstone – NCAR IBM -  titan – ORNL Cray XK6 - hopper – NERSC Cray XE6 - edison – NERSC Cray Cascade - bluewaters – ORNL Cray XE6 -  intrepid – ANL IBM Bluegene/P - mira – ANL IBM Bluegene/Q -  janus – Univ Colorado HPC cluster - pleiades – NASA SGI ICE cluster - and a few others

out of the box = works immediately after installation without any modification