Title: The CCSM2'0 Quick Start Guide
1 The CCSM2.0 Quick Start Guide
Lawrence Buja CCSM Software Engineering Group
ccsm_at_ucar.edu June 29 2002
2CCSM2.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
3What 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
4The 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
5The CCSM distribution
ccsm2.0.tar.gz (35 Mbytes) Scripts Model Code
ccsm2.0.inputdata.T42_gx1v3.tar (.8 Gbytes
) Initial data
/fs/LOGNAME/
HOME/
inputdata/ CSMDATA
ccsm2.0/ CSMROOT
6The CCSM source code inputdata/
7The CCSM source code Top Level
(CSMROOT)
8The CCSM source code models/
9The CCSM source code scripts/
test.a1.run cpl.setup.csh atm.setup.csh ocn.setup.
csh ice.setup.csh lnd.setup.csh datm.setup.csh doc
n.setup.csh dice.setup.csh dlnd.setup.csh ccsm_arc
hive test.a1.har
ccsm_gui.pl
ccsm_checkenvs ccsm_cpdata ccsm_getfile ccsm_getin
put ccsm_getrestart ccsm_msmkdir ccsm_msread ccsm_
mswrite ccsm_splitdf modules.AIX.seaborg modules.I
RIX64.nirvana modules.IRIX64.ute test.a1.mods.
10Building 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)
11Building the CCSM
- A sample run script (test.a1.run) is distributed.
- Functional summary of test.a1.run
-
- setenv A abc
- setenv B xyz
- foreach i (cpl atm ocn ice lnd)
- i.setup.csh
- end
- mpirun cpl atm ocn ice lnd
- exit
Define environment
Loop over setup scripts
Run CCSM
12Building 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.
13Building the CCSM
Initial data
Scripts Model Code
HOME/ccsm2.0/ CSMROOT
/fs/LOGANME/inputdata/ CSMDATA
doc/
models/
scripts/
Large model build/execute directories
/ptmp/LOGNAME/CASE EXEROOT
14Methods 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 files
- hybrid new run from initial or restart files
- branch new run from restart files
- continue extend an existing run exactly
15General 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.
16Exact Restarts
- 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
-
17Changing the code
- Frozen 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 code
- Use same "frozen code" for different work
18Changing 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
19CCSM Components
20CCSM2 Performance
21Output 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) .
22History 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.
23CCSM Yearly Output (b20.014)
cpl atm ocn ice lnd
1.4 Gbytes 0.7 Gbytes 4.1 Gbytes .6 Gbytes
.4 Gbytes
Tape Archive Devices
7.4 Gbytes/year
24Getting help
- http//www.ccsm.ucar.edu forum
- ccsm_at_ucar.edu