www.ccsm.ucar.edu The CCSM2.0 Quick Start Guide Lawrence Buja CCSM Software Engineering Group [email protected] June 29 2002
Mar 20, 2016
www.ccsm.ucar.edu
The CCSM2.0 Quick Start Guide
Lawrence BujaCCSM Software Engineering Group
[email protected] 29 2002
www.ccsm.ucar.edu
CCSM2.0 Quick Start Guide
• What is needed to run CCSM2?• Downloading the CCSM2.0 distribution• The CCSM source code• Input datasets • Building the CCSM• Running the CCSM • CCSM output data
www.ccsm.ucar.edu
What is needed to run CCSM2?
• OS: IBM AIX or SGI IRIX64• Compilers: Fortran 90, C • Tools: gunzip, gnumake, Perl5, Perl/Tk• Permanent & Temporary disk space• Libraries: MPI and netCDF • Input data : 0.2 GB for T31_gx3 grid,
0.8 GB for T42_gx1v3 grid
• CCSM2 source code: 35 MB
www.ccsm.ucar.edu
The CCSM2.0 distribution
CCSM2.0 is available via the web from: http://www.cgd.ucar.edu/csm/models/ccsm2.0
ccsm2.0.tar.gz CCSM2.0 source codes ccsm2.0.inputdata.T42_gx1v3.tar input data for T42_gx1v3 resolution ccsm2.0.inputdata.T31_gx3.tar input data for T31_gx3 resolution ccsm2.0.inputdata.T62.tar latm data for T62 resolution ccsm2.0.inputdata.CLM_SPINUP_FILES.tar are CLM datasets
gunzip -c ccsm2.0.tar.gz | tar -xf -
tar -xf ccsm2.0.inputdata.T42_gx1v3.tar
www.ccsm.ucar.edu
The CCSM distribution
$HOME/
ccsm2.0/$CSMROOT
/fs/$LOGNAME/
inputdata/$CSMDATA
ccsm2.0.tar.gz
(35 Mbytes)
Scripts & Model Code
ccsm2.0.inputdata.T42_gx1v3.tar
(.8 Gbytes )
Initial data
www.ccsm.ucar.edu
The CCSM source code: inputdata/
cp l5 /
cp l/
cam 2/
datm 5/
la tm 5/
atm /
pop /
docn5/
ocn/
cs im 4/
dice5/
ice /
clm 2/
dlnd5/
lnd /
inputdata/
www.ccsm.ucar.edu
The CCSM source code: Top Level
doc/docum enta tion
m odels/m odel source code
scrip ts /bu ild /run Scrip ts
ccsm 2.0/C C SM 2.0 R oot D irectory
$H O M E /
($CSMROOT)
www.ccsm.ucar.edu
The CCSM source code: models/
cp l5 /
cp l/
cam 2/
datm 5/
la tm 5/
atm /
pop /
docn5/
ocn/
csim 4/
d ice5/
ice /
clm 2/
d lnd5/
lnd / b ld / shr/
$C SM R O O T /m odels/
www.ccsm.ucar.edu
The CCSM source code: scripts/
test.a1/ gui_run/ too ls /
$C C S M R O O T /scrip ts /
test.a1.runcpl.setup.cshatm.setup.cshocn.setup.cshice.setup.cshlnd.setup.cshdatm.setup.cshdocn.setup.cshdice.setup.cshdlnd.setup.cshccsm_archivetest.a1.har
ccsm_checkenvsccsm_cpdataccsm_getfileccsm_getinputccsm_getrestartccsm_msmkdirccsm_msreadccsm_mswriteccsm_splitdfmodules.AIX.seaborgmodules.IRIX64.nirvanamodules.IRIX64.utetest.a1.mods.*
ccsm_gui.pl
www.ccsm.ucar.edu
Building the CCSM Three levels of c-shell scripts are used:
– Run script builds & runs CCSM (i.e. test.a1.run)– Define the CCSM environment– Run each component setup script– Execute all components simultaneously
– Setup scripts builds each model (i.e. ice.setup.csh)– Position any input data needed by that component– Generate the component's namelist input file – Build the component executable
– Utility tools (i.e. ccsm_getinput)
www.ccsm.ucar.edu
Building the CCSM
A sample run script (test.a1.run) is distributed.Functional summary of test.a1.run
setenv A abc setenv B xyzforeach i (cpl atm ocn ice lnd)
$i.setup.cshendmpirun cpl atm ocn ice lndexit
Loop over setup scripts
Define environment
Run CCSM
www.ccsm.ucar.edu
Building the CCSM: $CASE
$CASE identifies a CCSM run. The sample $CASE is test.a1,$CASE for the CCSM control run is b20.007
To define a new $CASE– Copy all of test.a1/ into $CASE/– rename test.a1.run to $CASE.run– Modify the main run script
– CASE CASESTR CSMROOT CSMDATA EXEROOT ARCROOT
– $HOME/ccsm2.0/scripts/$CASE/$CASE.run submitted to the batch queue.
www.ccsm.ucar.edu
Building the CCSM
$HOME/ccsm2.0/$CSMROOT
/fs/$LOGANME/inputdata/$CSMDATA
Scripts & Model Code Initial data
/ptmp/$LOGNAME/$CASE$EXEROOT
Large model build/execute directories
doc/ models/ scripts/
www.ccsm.ucar.edu
Methods for starting the CCSM
New CCSM case is started as either a startup, hybrid or branch run, depending on the science requirements.
startup: new run from arbitrary input fileshybrid:new run from initial or restart filesbranch: new run from restart files continue: extend an existing run exactly
www.ccsm.ucar.edu
General concepts: Exact Restarts
• Wall-clock limits in the batch queues typically restrict runs to a finite length, usually 1-3 model years.
• At specified intervals, restart and initial files will be created by all components
• Runs are extended as "continue" runs.• A continued run must give exactly the same results
as if the run had never stopped.
www.ccsm.ucar.edu
Are your results reproducible?
Factors: •Any change in machine architecture•Any change in math libraries•Running on different number of processors•Changes you've made to the code•Additional variables added to model not
properly written to restart files
Exact Restarts
www.ccsm.ucar.edu
Changing the codeFrozen Code
Keep the CCSM2.0 model code "frozen"To introduce code changes:
• copy specific model files to new directory• modify the new copies of model code• tell the model setup scripts to get the modified
code from the new directory first, then get rest of unchanged model code from the "frozen" version
This method encapsulates modified codeUse same "frozen code" for different work
www.ccsm.ucar.edu
Changing the code
Three levels of change:1. "Bit-for-bit" (no change to answers)
• adding/subtracting output
2. Machine-level (answers similar at the bit level) • Changes in operation order• Changes in math libraries• changes in compiler options/flags/versions
3. Algorithm changes (answers change)• Different parameterization• Rerun control integration
www.ccsm.ucar.edu
atm
ocn
icelnd Coupler
CCSM Components
www.ccsm.ucar.edu
CCSM2: PerformanceOCN
ICE
LND
ATM
CPL
8 3 7
8 37
7 4
3 7 2 14
41secs
53 secs/day total (~130 years/month)
NERSC T42/gx1v3 (128Pes)
32
8
8
32
48
Critical path
www.ccsm.ucar.edu
Output log files
• The printed output from each CCSM component is saved in a "log file" A coordinated timestamp links filenames
$LID is of the form YYMMDD-hhmmss, where YYMMDD are the Year, Month, Day and hhmmss are hour, minute and second that the run began (i.e. $EXEROOT/ocn/ocn.log.000626-082714) .
www.ccsm.ucar.edu
History and restart output data
• Default: netCDF monthly averaged history files for all components in netCDF format.
• CCSM2.0 also writes out binary restart files from all components at regular intervals.
• The total output volume of the model output can vary greatly depending upon the output frequencies and options selected.
www.ccsm.ucar.edu
TapeArchive Device
cpl
atm
ocn
icelnd
1.4 Gbytes
0.7 Gbytes
4.1 Gbytes
.6 Gbytes .4 Gbytes
disk
disk
disk
TapeArchive Devices
7.4 Gbytes/year
CCSM Yearly Output (b20.014)