<?xml version="1.0" encoding="iso-8859-1" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" 
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [ 
<!ENTITY mathml "http://www.w3.org/1998/Math/MathML"> 
]> 
<?xml-stylesheet type="text/css" href="esmf.css"?> 
<html  
xmlns="http://www.w3.org/1999/xhtml"  
><head><title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<meta name="generator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)" /> 
<meta name="originator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)" /> 
<!-- xhtml,mozilla --> 
<meta name="src" content="esmf.tex" /> 
<meta name="date" content="2004-12-29 23:11:00" /> 
<link rel="stylesheet" type="text/css" href="esmf.css" /> 
</head><body 
>
<div class="center" 
>
 Online version: <a 
href="http://sand.ess.uci.edu/doc/esmf" class="url" ><span 
class="cmtt-12">http://sand.ess.uci.edu/doc/esmf</span></a>               December 29, 2004<br />
<span 
class="cmbx-12x-x-144">ESMF Cheat Sheet</span><br />
by Charlie Zender<br />
University of California at Irvine<br />
</div>
<!--l. 110--><p class="nopar"> Department of Earth System Science                                                  zender@uci.edu
<br class="newline" />University of California                                                                                 Voice:
(949) 824-2987
<br class="newline" />Irvine, CA&#x00A0;&#x00A0;92697-3100                                                                                      Fax:
(949) 824-3256
</p>
   <h3 class="likesectionHead"><a 
  id="x1-1000"></a>Contents</h3>
   <div class="tableofcontents">
   <span class="sectionToc">1 <a 
href="#x1-30001" id="QQ2-1-3">Introduction</a></span>
<br />   <span class="sectionToc">2 <a 
href="#x1-40002" id="QQ2-1-4">Environment</a></span>
<br />   &#x00A0;<span class="subsectionToc">2.1 <a 
href="#x1-50002.1" id="QQ2-1-5">Bash</a></span>
<br />   <span class="sectionToc">3 <a 
href="#x1-60003" id="QQ2-1-6">Models</a></span>
<br />   &#x00A0;<span class="subsectionToc">3.1 <a 
href="#x1-70003.1" id="QQ2-1-7">CCSM Component Models</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.1.1 <a 
href="#x1-80003.1.1" id="QQ2-1-8">CAM: Community Atmosphere Model</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.1.2 <a 
href="#x1-90003.1.2" id="QQ2-1-9">CLM: Community Land Model</a></span>
<br />   &#x00A0;<span class="subsectionToc">3.2 <a 
href="#x1-100003.2" id="QQ2-1-10">CCSM: Community Climate System Model</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.1 <a 
href="#x1-110003.2.1" id="QQ2-1-11">ESMF-specific CCSM modifications</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.2 <a 
href="#x1-120003.2.2" id="QQ2-1-12">Creating a new CCSM case</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.3 <a 
href="#x1-130003.2.3" id="QQ2-1-13">Resolved Scripts</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.4 <a 
href="#x1-140003.2.4" id="QQ2-1-14">Run Geometry</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.5 <a 
href="#x1-150003.2.5" id="QQ2-1-15">Testing CCSM</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.6 <a 
href="#x1-160003.2.6" id="QQ2-1-16">Submitting Run Scripts</a></span>
<br />   &#x00A0;&#x00A0;<span class="subsubsectionToc">3.2.7 <a 
href="#x1-170003.2.7" id="QQ2-1-17">Archiving Data</a></span>
<br />   <span class="sectionToc"><a 
href="#Q1-1-20">Index</a></span>
   </div>
                                                                                         
                                                                                         
   <h3 class="likesectionHead"><a 
  id="x1-2000"></a>List of Tables</h3>
   <div class="tableofcontents">
   </div>
<!--l. 128--><p class="noindent">
</p>
   <h3 class="sectionHead"><span class="titlemark">1   </span> <a 
  id="x1-30001"></a>Introduction</h3>
<!--l. 129--><p class="noindent">The <a 
href="http://www.ess.uci.edu/esmf" >Earth System Modeling Facility</a> (ESMF<a 
  id="dx1-3001"></a>) is designed to run large climate simulation codes.
This document describes some general usage pointers for the ESMF, then demonstrates how to
install and run certain codes (Section&#x00A0; <a 
href="#x1-60003">3<!--tex4ht:ref: sxn:mdl --></a>).
</p><!--l. 135--><p class="noindent">
</p>
   <h3 class="sectionHead"><span class="titlemark">2   </span> <a 
  id="x1-40002"></a>Environment</h3>
<!--l. 136--><p class="noindent">Users must have and maintain standard environment files. Essentially these files provide path
information and helpful shortcuts to the users and any batch scripts that invoke them. These files
need not be overly complex.
</p><!--l. 141--><p class="noindent">
</p>
   <h4 class="subsectionHead"><span class="titlemark">2.1   </span> <a 
  id="x1-50002.1"></a>Bash</h4>
<!--l. 142--><p class="noindent">The default login shell on the ESMF is Bash<a 
  id="dx1-5001"></a>. Add these lines to your default standard shell file
<span 
class="cmss-12">.bashrc</span><a 
  id="dx1-5002"></a>, or <span 
class="cmss-12">.profile</span><a 
  id="dx1-5003"></a>:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
alias&#x00A0;bsrc=&#x0022;source&#x00A0;${HOME}/.bashrc&#x0022;
&#x00A0;<br />alias&#x00A0;cp=&#x2019;cp&#x00A0;-i&#x2019;&#x00A0;#&#x00A0;-i&#x00A0;=&#x00A0;inquire
&#x00A0;<br />alias&#x00A0;cvc=&#x2019;cvs&#x00A0;commit&#x00A0;-m&#x00A0;&#x0022;&#x0022;&#x2019;
&#x00A0;<br />alias&#x00A0;cvu=&#x2019;cvs&#x00A0;update&#x00A0;-kk&#x2019;
&#x00A0;<br />alias&#x00A0;env=&#x2019;env&#x00A0;|&#x00A0;sort&#x00A0;|&#x00A0;more&#x2019;
&#x00A0;<br />alias&#x00A0;h=&#x2019;history&#x2019;
&#x00A0;<br />alias&#x00A0;ls=&#x2019;ls&#x00A0;-F&#x2019;&#x00A0;#&#x00A0;-F&#x00A0;=&#x00A0;mark&#x00A0;directories&#x00A0;with&#x00A0;/,&#x00A0;links&#x00A0;with&#x00A0;@,&#x00A0;etc.
&#x00A0;<br />alias&#x00A0;m=&#x2019;less&#x2019;
&#x00A0;<br />alias&#x00A0;make=&#x2019;gmake&#x2019;
&#x00A0;<br />alias&#x00A0;mv=&#x2019;mv&#x00A0;-i&#x2019;&#x00A0;#&#x00A0;-i&#x00A0;=&#x00A0;inquire
&#x00A0;<br />alias&#x00A0;rm=&#x2019;rm&#x00A0;-i&#x2019;&#x00A0;#&#x00A0;-i&#x00A0;=&#x00A0;inquire
&#x00A0;<br />alias&#x00A0;scp=&#x2019;scp&#x00A0;-C&#x2019;&#x00A0;#&#x00A0;-p&#x00A0;=&#x00A0;preserve&#x00A0;mode,&#x00A0;time,&#x00A0;-C&#x00A0;=&#x00A0;enable&#x00A0;compression
&#x00A0;<br />alias&#x00A0;tar=&#x2019;gtar&#x2019;
&#x00A0;<br />export&#x00A0;CVS&#x005F;RSH=&#x2019;ssh&#x2019;
&#x00A0;<br />export&#x00A0;CVSUMASK=&#x2019;002&#x2019;&#x00A0;#&#x00A0;Default&#x00A0;file&#x00A0;permissions&#x00A0;for&#x00A0;CVS
&#x00A0;<br />export&#x00A0;HOST=&#x2018;/bin/hostname&#x2018;
&#x00A0;<br />export&#x00A0;NETCDF&#x005F;INC=&#x2019;/usr/local/include&#x2019;
&#x00A0;<br />export&#x00A0;NETCDF&#x005F;LIB=&#x2019;/usr/local/lib&#x2019;
&#x00A0;<br />export&#x00A0;PS1=&#x2019;&#x005C;u@&#x005C;h:&#x005C;w&#x005C;$&#x00A0;&#x2019;&#x00A0;#&#x00A0;Prompt&#x00A0;user@host:cwd$&#x00A0;NeR98&#x00A0;p.&#x00A0;71&#x00A0;NB:&#x00A0;single&#x00A0;quotes
</div>
</td></tr></table>
<!--l. 167--><p class="indent">   Many ESMF users will want to run models, such as CCSM, which use C&#x00A0;Shell<a 
  id="dx1-5004"></a> scripts. For these
scripts to work in batch mode, users must have a valid <span 
class="cmss-12">.cshrc</span><a 
  id="dx1-5005"></a> file as well.
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
alias&#x00A0;csrc&#x00A0;&#x0022;source&#x00A0;${HOME}/.cshrc&#x0022;
&#x00A0;<br />alias&#x00A0;cp&#x00A0;&#x2019;cp&#x00A0;-i&#x2019;&#x00A0;#&#x00A0;-i&#x00A0;=&#x00A0;inquire
&#x00A0;<br />alias&#x00A0;cvc&#x00A0;&#x2019;cvs&#x00A0;commit&#x00A0;-m&#x00A0;&#x0022;&#x0022;&#x2019;
&#x00A0;<br />alias&#x00A0;cvu&#x00A0;&#x2019;cvs&#x00A0;update&#x00A0;-kk&#x2019;
&#x00A0;<br />alias&#x00A0;env&#x00A0;&#x2019;env&#x00A0;|&#x00A0;sort&#x00A0;|&#x00A0;more&#x2019;
&#x00A0;<br />alias&#x00A0;h&#x00A0;&#x2019;history&#x2019;
&#x00A0;<br />alias&#x00A0;ls&#x00A0;&#x2019;ls&#x00A0;-F&#x2019;&#x00A0;#&#x00A0;-F&#x00A0;=&#x00A0;mark&#x00A0;directories&#x00A0;with&#x00A0;/,&#x00A0;links&#x00A0;with&#x00A0;@,&#x00A0;etc.
&#x00A0;<br />alias&#x00A0;m&#x00A0;&#x2019;less&#x2019;
&#x00A0;<br />alias&#x00A0;make&#x00A0;&#x2019;gmake&#x2019;
&#x00A0;<br />alias&#x00A0;mv&#x00A0;&#x2019;mv&#x00A0;-i&#x2019;&#x00A0;#&#x00A0;-i&#x00A0;=&#x00A0;inquire
&#x00A0;<br />alias&#x00A0;rm&#x00A0;&#x2019;rm&#x00A0;-i&#x2019;&#x00A0;#&#x00A0;-i&#x00A0;=&#x00A0;inquire
&#x00A0;<br />alias&#x00A0;scp&#x00A0;&#x2019;scp&#x00A0;-p&#x00A0;-C&#x2019;&#x00A0;#&#x00A0;-p&#x00A0;=&#x00A0;preserve&#x00A0;mode,&#x00A0;time,&#x00A0;-C&#x00A0;=&#x00A0;enable&#x00A0;compression
&#x00A0;<br />alias&#x00A0;tar&#x00A0;&#x2019;gtar&#x2019;
&#x00A0;<br />setenv&#x00A0;CVS&#x005F;RSH&#x00A0;&#x2019;ssh&#x2019;
&#x00A0;<br />setenv&#x00A0;CVSUMASK&#x00A0;&#x2019;002&#x2019;
&#x00A0;<br />setenv&#x00A0;HOST&#x00A0;&#x2018;/bin/hostname&#x2018;
&#x00A0;<br />setenv&#x00A0;NETCDF&#x005F;INC&#x00A0;&#x2019;/usr/local/include&#x2019;
&#x00A0;<br />setenv&#x00A0;NETCDF&#x005F;LIB&#x00A0;&#x2019;/usr/local/lib&#x2019;
&#x00A0;<br />set&#x00A0;prompt=${USER}@${HOST}:${cwd}&#x005C;$&#x0022;&#x00A0;&#x0022;
</div>
</td></tr></table>
<!--l. 192--><p class="indent">   Users with a <span 
class="cmss-12">.login</span><a 
  id="dx1-5006"></a> file in their home directory should ensure that it executes error
free.
</p><!--l. 195--><p class="indent">   Alternatively, users can change their login shell to <span 
class="cmtt-12">csh</span><a 
  id="dx1-5007"></a> or <span 
class="cmtt-12">tcsh</span><a 
  id="dx1-5008"></a> vis the standard ESMF
procedure
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
ssh&#x00A0;esmfcws
&#x00A0;<br />passwd&#x00A0;-s
</div>
</td></tr></table>
<!--l. 202--><p class="noindent">
</p>
   <h3 class="sectionHead"><span class="titlemark">3   </span> <a 
  id="x1-60003"></a>Models</h3>
<!--l. 204--><p class="noindent">This section describes how to install and run some of the various climate, chemical, and
biogeochemical models for which the ESMF is designed.
</p><!--l. 208--><p class="noindent">
</p>
   <h4 class="subsectionHead"><span class="titlemark">3.1   </span> <a 
  id="x1-70003.1"></a>CCSM Component Models</h4>
<!--l. 209--><p class="noindent">This section documents how to install and run the component models which compose the fully
coupled NCAR CCSM<a 
  id="dx1-7001"></a> (Community Climate System Model<a 
  id="dx1-7002"></a>). Running the fully coupled CCSM
itself is described in Section&#x00A0; <a 
href="#x1-100003.2">3.2<!--tex4ht:ref: sxn:ccsm_cpl --></a>. First we describe the preliminary system modifications common to
all CCSM component models.
</p><!--l. 217--><p class="indent">   CCSM component models may run in Symmetric Multi-Processor<a 
  id="dx1-7003"></a> (SMP<a 
  id="dx1-7004"></a>), Single Program
Multiple Data<a 
  id="dx1-7005"></a> (SPMD<a 
  id="dx1-7006"></a>), and hybrid<a 
  id="dx1-7007"></a> (i.e., combined SMP and SPMD) modes. To take avantage of
the SPMD capabilities, make sure you have the Message Passing Interface<a 
  id="dx1-7008"></a> (MPI<a 
  id="dx1-7009"></a>) installed.
MPI is already installed on the ESMF. To install it on a Debian<a 
  id="dx1-7010"></a> GNU/Linux<a 
  id="dx1-7011"></a> machine
use:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
apt-get&#x00A0;install&#x00A0;mpich&#x00A0;#&#x00A0;Debian&#x00A0;GNU/Linux
</div>
</td></tr></table>
<!--l. 229--><p class="indent">   CCSM build scripts may require the GNU Make<a 
  id="dx1-7012"></a> executable to be named <span 
class="cmtt-12">gmake</span><a 
  id="dx1-7013"></a> rather than
<span 
class="cmtt-12">make</span><a 
  id="dx1-7014"></a>. <span 
class="cmtt-12">gmake </span>is installed in <span 
class="cmss-12">/usr/local/bin</span><a 
  id="dx1-7015"></a> on the ESMF. To point the GNU <span 
class="cmtt-12">make </span>executable on a
Debian<a 
  id="dx1-7016"></a> GNU/Linux<a 
  id="dx1-7017"></a> machine to <span 
class="cmtt-12">gmake </span>use, e.g.,
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
sudo&#x00A0;ln&#x00A0;-s&#x00A0;/usr/bin/make&#x00A0;/usr/bin/gmake
</div>
</td></tr></table>
<!--l. 238--><p class="indent">   All CCSM input-output (I/O<a 
  id="dx1-7018"></a>) is performed with the <a 
href="http://www.unidata.ucar.edu/packages/netcdf" >netCDF</a> data model. netCDF is
already installed on the ESMF. To install netCDF on a Debian GNU/Linux machine
use:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
apt-get&#x00A0;install&#x00A0;netcdf&#x00A0;#&#x00A0;Debian&#x00A0;GNU/Linux
</div>
</td></tr></table>
<!--l. 247--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.1.1   </span> <a 
  id="x1-80003.1.1"></a>CAM: Community Atmosphere Model</h5>
<!--l. 248--><p class="noindent">No documentation yet. Please contribute!
</p><!--l. 251--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.1.2   </span> <a 
  id="x1-90003.1.2"></a>CLM: Community Land Model</h5>
<!--l. 252--><p class="noindent">The Community Land Model<a 
  id="dx1-9001"></a> (CLM<a 
  id="dx1-9002"></a>) is described by <a 
href="#XDZD03"><span 
class="cmti-12">Dai et</span>&#x00A0;<span 
class="cmti-12">al.</span></a>&#x00A0;[<a 
href="#XDZD03">2003</a>]. Other important references
are <a 
href="#XBon02"><span 
class="cmti-12">Bonan</span></a>&#x00A0;[<a 
href="#XBon02">2002</a>], <a 
href="#XBon96"><span 
class="cmti-12">Bonan</span></a>&#x00A0;[<a 
href="#XBon96">1996</a>], and <a 
href="#XBon98"><span 
class="cmti-12">Bonan</span></a>&#x00A0;[<a 
href="#XBon98">1998</a>].
</p><!--l. 257--><p class="indent">   The most frequently used WWW sites pertinent to CLM are
   1. <a 
href="http://www.ess.uci.edu/esmf" >ESMF Homepage</a>
   2. <a 
href="http://www.cgd.ucar.edu/tss/clm" >CLM Homepage</a>
   3. <a 
href="http://www.cgd.ucar.edu/tss/lsm" >LSM (CLM&#x2019;s predecessor) Homepage</a>
   4. <a 
href="http://www.cgd.ucar.edu/tss/clm/distribution/clm2.1/index.html" >CLM&#x00A0;2.1 Source Code</a>
   5. <a 
href="http://www.ccsm.ucar.edu/csm/models/lnd-clm2.1/UsersGuide_clm2.1/UsersGuide.pdf" >CLM&#x00A0;2.1 User&#x2019;s Guide (CLMUG)</a>
   6. <a 
href="http://www.ccsm.ucar.edu/support/CSM_Graphics/index_bycat.shtml" >NCL CCSM Graphics</a>
   7. <a 
href="http://nco.sf.net" >NCO netCDF Operators</a>
</p><!--l. 268--><p class="indent">   Make ESMF account capable of running CLM<a 
  id="dx1-9010"></a> offline:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
#&#x00A0;Download&#x00A0;and&#x00A0;unpack&#x00A0;CLM&#x00A0;2.1&#x00A0;source&#x00A0;code&#x00A0;into&#x00A0;your&#x00A0;home&#x00A0;directory
&#x00A0;<br />cd&#x00A0;~
&#x00A0;<br />http://www.cgd.ucar.edu:8080/accept/license?action=fillOut&#x0026;file&#x005F;id=7
&#x00A0;<br />gtar&#x00A0;xvzf&#x00A0;CLM2.1&#x005F;code.tar.gz
&#x00A0;<br />
&#x00A0;<br />#&#x00A0;Create&#x00A0;model&#x00A0;run&#x00A0;space
&#x00A0;<br />if&#x00A0;[&#x00A0;-n&#x00A0;&#x0022;${LOGNAME}&#x0022;&#x00A0;];&#x00A0;then&#x00A0;export&#x00A0;LOGNAME=${USER};&#x00A0;fi
&#x00A0;<br />mkdir&#x00A0;/ptmp/${LOGNAME}
&#x00A0;<br />
&#x00A0;<br />#&#x00A0;Create&#x00A0;local&#x00A0;script&#x00A0;directory
&#x00A0;<br />mkdir&#x00A0;~/clm;&#x00A0;cd&#x00A0;~/clm;
&#x00A0;<br />cp&#x00A0;~zender/ess&#x005F;lsp/clm.sh&#x00A0;.
&#x00A0;<br />cp&#x00A0;~zender/ess&#x005F;lsp/clm.txt&#x00A0;.
&#x00A0;<br />
&#x00A0;<br />#&#x00A0;Modify&#x00A0;default&#x00A0;CLM&#x00A0;Makefile&#x00A0;with&#x00A0;ESMF&#x00A0;paths
&#x00A0;<br />cp&#x00A0;~zender/ess&#x005F;lsp/clm&#x005F;Makefile.mk&#x00A0;${HOME}/clm2/bld/offline/Makefile
&#x00A0;<br />
&#x00A0;<br />#&#x00A0;Build&#x00A0;and&#x00A0;run&#x00A0;model
&#x00A0;<br />cd&#x00A0;~/clm;./clm.sh
&#x00A0;<br />
</div>
</td></tr></table>
<!--l. 292--><p class="noindent">
</p>
   <h4 class="subsectionHead"><span class="titlemark">3.2   </span> <a 
  id="x1-100003.2"></a>CCSM: Community Climate System Model</h4>
<!--l. 294--><p class="noindent">In modifying the CCSM to run on the ESMF, it is helpful to know that the ESMF
and the NCAR-supported machine <span 
class="cmss-12">bluesky</span><a 
  id="dx1-10001"></a> have nearly identical hardware and software
configurations. First, <span 
class="cmss-12">esmf </span>and <span 
class="cmss-12">bluesky </span>are both clusters of p655 (8-way) and p690 (32-way) nodes
connected by Federation switches. Each 8-way <span 
class="cmss-12">esmf </span>node in the compute queues has
16 GB&#x00A0;RAM (the interactive 8-way node <span 
class="cmss-12">esmf04m</span><a 
  id="dx1-10002"></a>, which is on the internet as <span 
class="cmss-12">esmf.ess.uci.edu</span>,
has twice as much RAM, 32 GB). The 32-way p690 node has 64&#x00A0;GB&#x00A0;RAM. Hence, each
computational CPU on the ESMF has 2 GB&#x00A0;RAM available. <span 
class="cmss-12">bluesky </span>has about twenty times as
many nodes as <span 
class="cmss-12">esmf</span>. Finally, <span 
class="cmss-12">esmf </span>has faster CPUs than <span 
class="cmss-12">bluesky </span>(1.5 GHz&#x00A0;rather than
1.3 GHz).
</p><!--l. 308--><p class="noindent">
</p>
                                                                                         
                                                                                         
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.1   </span> <a 
  id="x1-110003.2.1"></a>ESMF-specific CCSM modifications</h5>
<!--l. 309--><p class="noindent">With this knowledge, we created machine files which describe the <span 
class="cmss-12">esmf </span>cluster and queueing
architecture to the CCSM. These files are based on the corresponding <span 
class="cmss-12">bluesky </span>machine files
distributed with the CCSM. Four machine-specific files are required to make the <span 
class="cmss-12">esmf </span>a valid
CCSM machine-type. These files are
   1. <span 
class="cmss-12">Macros.AIX </span>(<span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">ccsm3&#x005F;0/models/bld/Macros.AIX</span></span></span>)
   2. <span 
class="cmss-12">batch.ibm.esmf </span>(<span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines/batch.ibm.esmf</span></span></span>)
   3. <span 
class="cmss-12">env.ibm.esmf </span>(<span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines/env.ibm.esmf</span></span></span>)
   4. <span 
class="cmss-12">run.ibm.esmf </span>(<span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines/run.ibm.esmf</span></span></span>)
</p><!--l. 322--><p class="indent">First, read the purpose of the ESMF customizations. This will be helpful to those attempting to
port the CCSM to other machines (e.g., Linux clusters) at UCI. Then, copy the ESMF-customized
files to your local CCSM source tree.
</p><!--l. 327--><p class="indent">   The file <span 
class="cmss-12">Macros.AIX</span><a 
  id="dx1-11005"></a> controls the options the compiler uses to build the CCSM source code
(both C and Fortran). The first change replaces the default NCAR netCDF library path,
<span 
class="cmtt-12">/usr/local/lib64/r4i4</span>, with its ESMF equivalent, <span 
class="cmtt-12">/usr/local/lib</span>:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
mv&#x00A0;~/ccsm3&#x005F;0/models/bld/Macros.AIX&#x00A0;~/ccsm3&#x005F;0/models/bld/Macros.AIX.orig
&#x00A0;<br />cp&#x00A0;~zender/ccsm3&#x005F;0/models/bld/Macros.AIX&#x00A0;~/ccsm3&#x005F;0/models/bld/Macros.AIX
</div>
</td></tr></table>
<!--l. 336--><p class="indent">   All ESMF system libraries use the 64-bit ABI where possible. Hence NCAR&#x2019;s <span 
class="cmtt-12">lib64 </span>is simply
the ESMF&#x2019;s <span 
class="cmtt-12">lib</span>. Second, the default size for Fortran variables of type <span 
class="cmtt-12">real </span>is four bytes, i.e.,
single precision. The default size for Fortran variables of type <span 
class="cmtt-12">integer </span>is also four bytes. Newer
scientific computing codes, such as CCSM, explicitly specify the sizes of integers and reals so the
default sizes are never used. However, many old codes rely on compiler-defaults to specify the sizes
of <span 
class="cmtt-12">integer </span>and <span 
class="cmtt-12">real</span>. Some applications expect other defaults, e.g., eight-byte <span 
class="cmtt-12">real </span>and four-byte
integer or <span 
class="cmtt-12">r8i4 </span>in NCAR parlance. The ESMF uses the <span 
class="cmtt-12">r4i4 </span>standard for all libraries in
<span 
class="cmss-12">/usr/local</span><a 
  id="dx1-11006"></a>. This obsoletes the need to explicitly specify an equivalent to NCAR&#x2019;s <span 
class="cmtt-12">r4i4</span>
subdirectory.
</p><!--l. 354--><p class="indent">   The file <span 
class="cmss-12">batch.ibm.esmf</span><a 
  id="dx1-11007"></a> contains most of the default header that will be used by the CCSM run
script<a 
  id="dx1-11008"></a> when the script is run in batch mode. Here is where the default LoadLeveler<a 
  id="dx1-11009"></a> commands are
set. The ESMF uses the default CCSM settings for the IBM AIX machine <span 
class="cmss-12">bluesky</span><a 
  id="dx1-11010"></a> except for the
following changes:
      </p><ol type="1" class="enumerate1" >
      <li class="enumerate" value="1" 
><a 
  id="x1-11012x1"></a>Default class<a 
  id="dx1-11013"></a> (i.e., queue<a 
  id="dx1-11014"></a>) is <span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">com&#x005F;rg8</span></span></span> rather than <span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">csl&#x005F;rg${max&#x005F;tasks&#x005F;per&#x005F;node}</span></span></span>
      </li>
      <li class="enumerate" value="2" 
><a 
  id="x1-11016x2"></a>Default wall_clock_limit<a 
  id="dx1-11017"></a> is 21600 s (6 hr), rather than 7200 s.
      </li>
      <li class="enumerate" value="3" 
><a 
  id="x1-11019x3"></a>Job accounting is disabled by commenting out the line containing <span 
class="cmtt-12">jareport</span><a 
  id="dx1-11020"></a>.</li></ol>
<!--l. 367--><p class="nopar">
</p><!--l. 369--><p class="indent">   The file <span 
class="cmss-12">env.ibm.esmf</span><a 
  id="dx1-11021"></a> contains environment variables which determine how the CCSM is built
and where it looks for input data and stores output data. <span 
class="cmss-12">env.ibm.esmf</span><a 
  id="dx1-11022"></a> is the same as
<span 
class="cmss-12">env.ibm.bluesky</span><a 
  id="dx1-11023"></a> with the following exceptions
      </p><ol type="1" class="enumerate1" >
      <li class="enumerate" value="1" 
><a 
  id="x1-11025x1"></a><span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">GMAKE&#x005F;J</span></span></span> determines how many jobs (in effect, processors) the parallelization of the
      compilation process will request. This is set to eight but should be set to four if you
      are often compiling interactively (rather than in the compute queues).
      </li>
      <li class="enumerate" value="2" 
><a 
  id="x1-11027x2"></a><span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">DIN&#x005F;LOC&#x005F;ROOT</span></span></span> is <span 
class="cmss-12">/datashare/inputdata/csm</span><a 
  id="dx1-11028"></a> instead of <span 
class="cmss-12">/fs/cgd/csm/inputdata</span><a 
  id="dx1-11029"></a>
      </li>
      <li class="enumerate" value="3" 
><a 
  id="x1-11031x3"></a><span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">DIN&#x005F;LOC&#x005F;ROOT&#x005F;USER</span></span></span>      is          <span 
class="cmss-12">/datashare/inputdata</span><span 
class="cmss-12">_user</span><a 
  id="dx1-11032"></a>          instead          of
      <span 
class="cmss-12">/fs/cgd/csm/inputdata</span><span 
class="cmss-12">_user</span><a 
  id="dx1-11033"></a>
                                                                                         
                                                                                         
      </li>
      <li class="enumerate" value="4" 
><a 
  id="x1-11035x4"></a><span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">DIN&#x005F;LOC&#x005F;MSROOT</span></span></span> is <span 
class="cmss-12">/datashare/inputdata/csm</span><a 
  id="dx1-11036"></a> instead of <span 
class="cmss-12">/CCSM/inputdata</span><a 
  id="dx1-11037"></a></li></ol>
<!--l. 385--><p class="nopar"> Finally, the CCSM versions of <span 
class="cmss-12">env.ibm.* </span>contain a subtle bug in the task geometry clauses.
Essentially, C&#x00A0;Shell syntax splits the two <span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">set</span></span></span> statements that look like the body of many <span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">if-endif</span></span></span>
clauses into two. The first statement is inside the condition and the second is outside and thus
always executed. This bug causes geometry statements to overwrite eachother. We re-coded
<span 
class="cmss-12">env.ibm.esmf </span>to avoid this confusion.
</p><!--l. 395--><p class="indent">   The file <span 
class="cmss-12">run.ibm.esmf</span><a 
  id="dx1-11038"></a> is the template run script<a 
  id="dx1-11039"></a>. The fully resolved run script will be created
from this template. This template handles all the details of building, executing the model, as well
as storing the output data and possibly continually re-submitting the job until completion.
<span 
class="cmss-12">run.ibm.esmf</span><a 
  id="dx1-11040"></a> is identical to <span 
class="cmss-12">run.ibm.bluesky</span><a 
  id="dx1-11041"></a>.
</p><!--l. 402--><p class="indent">   Copy these three files to your local source tree:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
for&#x00A0;fl&#x00A0;in&#x00A0;batch.ibm.esmf&#x00A0;env.ibm.esmf&#x00A0;run.ibm.esmf&#x00A0;;&#x00A0;do
&#x00A0;<br />&#x00A0;&#x00A0;mv&#x00A0;~zender/ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines/${fl}&#x00A0;&#x005C;
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;~/ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines/${fl}.orig
&#x00A0;<br />&#x00A0;&#x00A0;cp&#x00A0;-f&#x00A0;~zender/ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines/${fl}&#x00A0;&#x005C;
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;~/ccsm3&#x005F;0/scripts/ccsm&#x005F;utils/Machines
&#x00A0;<br />done
</div>
</td></tr></table>
<!--l. 411--><p class="indent">   Normally, no further customization is necessary. These <span 
class="cmss-12">esmf</span>-customized defaults are sufficient
to get started running the CCSM. However, advanced CCSM users will often need to further
modify these <span 
class="cmss-12">esmf</span>-customized defaults.
</p><!--l. 417--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.2   </span> <a 
  id="x1-120003.2.2"></a>Creating a new CCSM case</h5>
<!--l. 418--><p class="noindent">We are now ready to create the new CCSM case, i.e., experiment. First, store the case name the
<span 
class="cmtt-12">$CASEID</span><a 
  id="dx1-12001"></a> environment variable. This name should be clueful about the experiments&#x2019; purpose. Next,
use the <span 
class="cmtt-12">create</span><span 
class="cmtt-12">_newcase</span><a 
  id="dx1-12002"></a> script which will create environment variable files and generate the
<span 
class="cmss-12">configure</span><a 
  id="dx1-12003"></a> script for this experiment.
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
cd&#x00A0;~/ccsm3&#x005F;0/scripts
&#x00A0;<br />export&#x00A0;CASEID=&#x2019;T31x3&#x2019;
&#x00A0;<br />export&#x00A0;CASEID=&#x2019;T42x1&#x005F;40&#x2019;
&#x00A0;<br />export&#x00A0;CASEID=&#x2019;T85x1&#x005F;64&#x2019;
&#x00A0;<br />export&#x00A0;CASEROOT=&#x0022;/ptmp/${USER}/${CASEID}&#x0022;
&#x00A0;<br />./create&#x005F;newcase&#x00A0;-case&#x00A0;${CASEROOT}&#x00A0;-mach&#x00A0;esmf&#x00A0;-res&#x00A0;T31&#x005F;gx3v5&#x00A0;-compset&#x00A0;B
&#x00A0;<br />./create&#x005F;newcase&#x00A0;-case&#x00A0;${CASEROOT}&#x00A0;-mach&#x00A0;esmf&#x00A0;-res&#x00A0;T42&#x005F;gx1v3&#x00A0;-compset&#x00A0;B
&#x00A0;<br />./create&#x005F;newcase&#x00A0;-case&#x00A0;${CASEROOT}&#x00A0;-mach&#x00A0;esmf&#x00A0;-res&#x00A0;T85&#x005F;gx1v3&#x00A0;-compset&#x00A0;B
</div>
</td></tr></table>
<!--l. 434--><p class="indent">   This will create the <span 
class="cmtt-12">$CASEROOT</span><a 
  id="dx1-12004"></a> directory. Before the model may be run, however, it is necessary
to populate the <span 
class="cmtt-12">$CASEROOT </span>directory with the resolved scripts<a 
  id="dx1-12005"></a>.
</p><!--l. 438--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.3   </span> <a 
  id="x1-130003.2.3"></a>Resolved Scripts</h5>
<!--l. 439--><p class="noindent">Each <span 
class="cmtt-12">$CASEID </span>may have multiple resolved-scripts generated for it. The resolved scripts are
customized for particular initialization sequences (e.g., restart runs), resolution, machine, and
component sets. The <span 
class="cmtt-12">configure</span><a 
  id="dx1-13001"></a> command generates the resolved scripts:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
cd&#x00A0;${CASEROOT}
&#x00A0;<br />./configure&#x00A0;-cleanmach&#x00A0;esmf&#x00A0;#&#x00A0;Cleanup&#x00A0;any&#x00A0;old&#x00A0;builds&#x00A0;for&#x00A0;esmf
&#x00A0;<br />./configure&#x00A0;-mach&#x00A0;esmf
</div>
</td></tr></table>
<!--l. 449--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.4   </span> <a 
  id="x1-140003.2.4"></a>Run Geometry</h5>
<!--l. 451--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.5   </span> <a 
  id="x1-150003.2.5"></a>Testing CCSM</h5>
<!--l. 452--><p class="noindent">CCSM supports a sohphisticated test suite. For many purposes
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
create&#x005F;test&#x00A0;-test&#x00A0;HY01a&#x00A0;-mach&#x00A0;esmf&#x00A0;-res&#x00A0;T31x3
</div>
</td></tr></table>
<!--l. 458--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.6   </span> <a 
  id="x1-160003.2.6"></a>Submitting Run Scripts</h5>
<!--l. 459--><p class="noindent">Submit the job to the ESMF LoadLeveler<a 
  id="dx1-16001"></a> queues with <span 
class="cmtt-12">llsubmit</span><a 
  id="dx1-16002"></a>:
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
cd&#x00A0;${CASEROOT}
&#x00A0;<br />llsubmit&#x00A0;T31x3x.esmf.run
</div>
</td></tr></table>
<!--l. 465--><p class="indent">   Check the status of the job in the queue with <span 
class="cmtt-12">llq</span><a 
  id="dx1-16003"></a>.
</p><!--l. 467--><p class="indent">   All CCSM component models create log files during execution. Examine these log files to
ensure your job is proceeding smoothly. The coupler<a 
  id="dx1-16004"></a> log is most informative about the overall
progress of the simulation.
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
cd&#x00A0;${CASEROOT}/cpl
&#x00A0;<br />more&#x00A0;cpl.log.041229-190833
</div>
</td></tr></table>
<!--l. 475--><p class="indent">   Log files are stamped with the job-submission time. The time-stamp has the format
<span 
class="cmtt-12">YYMMDD-HHMMSS</span>. Hence each simulation has a unique identifer, such as <span 
class="cmtt-12">041229-190833 </span>above. The
time-stamp is consistent among all the model components in the same simulation. After the
simulation completes, the model compresses the log files and stores them, along with the history
tapes (i.e., output data) in <span class="obeylines-h"><span class="verb"><span 
class="cmtt-12">/ptmp/${USER}/archive/${CASEID}</span></span></span>.
</p><!--l. 485--><p class="noindent">
</p>
   <h5 class="subsubsectionHead"><span class="titlemark">3.2.7   </span> <a 
  id="x1-170003.2.7"></a>Archiving Data</h5>
<!--l. 486--><p class="noindent">CCSM, by default, stores short term output files in
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
/ptmp/${USER}/archive/${CASEID}
</div>
</td></tr></table>
<!--l. 490--><p class="indent">   CCSM also has automated long term archiving capability. This can be customized to copy data
and logs to any computer on the Internet. Once the ESMF disk farm is working, we will activate
automatic long-term archiving to
                                                                                         
                                                                                         
</p>
   <table width="100%" 
class="verbatim"><tr class="verbatim"><td 
class="verbatim"><div class="verbatim">
/data/${USER}/archive/${CASEID}
</div>
</td></tr></table>
<!--l. 1--><p class="noindent">
</p>
   <h3 class="likesectionHead"><a 
  id="x1-180003.2.7"></a>References</h3>
<!--l. 1--><p class="noindent">
  </p><div class="thebibliography">
  <p class="bibitem"><span class="biblabel">
<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a 
  id="XBon02"></a>Bonan, G., <span 
class="cmti-12">Ecological Climatology: Concepts and applications</span>, Cambridge University Press,
  Cambridge,&#x00A0;UK, 2002.
  </p>
  <p class="bibitem"><span class="biblabel">
<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a 
  id="XBon96"></a>Bonan,   G.&#x00A0;B.,   A&#x00A0;land   surface   model   (LSM   version&#x00A0;1.0)   for   ecological,   hydrological,
  and   atmospheric   studies:   Technical   description   and   user&#x2019;s   guide,   <span 
class="cmti-12">Tech.   Rep.</span>
  <span 
class="cmti-12">NCAR/TN-417+STR</span>, National Center for Atmospheric Research, Boulder, Colo., 1996.
  </p>
  <p class="bibitem"><span class="biblabel">
<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a 
  id="XBon98"></a>Bonan, G.&#x00A0;B., The land surface climatology of the NCAR Land Surface Model coupled to the
  NCAR Community Climate Model, <span 
class="cmti-12">J.</span>&#x00A0;<span 
class="cmti-12">Clim.</span>, <span 
class="cmti-12">11</span>, 1307&#x2013;1326, 1998.
  </p>
  <p class="bibitem"><span class="biblabel">
<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a 
  id="XDZD03"></a>Dai, Y., et&#x00A0;al., The Common Land Model (CLM), <span 
class="cmti-12">Submitted to Bull.</span>&#x00A0;<span 
class="cmti-12">Am.</span>&#x00A0;<span 
class="cmti-12">Meteorol.</span>&#x00A0;<span 
class="cmti-12">Soc.</span>, <span 
class="cmti-12">84</span>,
  1013&#x2013;1023, 2003.
</p>
  </div>
<!--l. 1--><p class="noindent">
</p>
   <h3 class="likesectionHead"><a 
  id="x1-190003.2.7"></a>Index</h3>
   <div class="theindex"><span 
class="cmtt-12">configure</span>, 7 <br />
<span 
class="cmtt-12">create</span><span 
class="cmtt-12">_newcase</span>, 6 <br />
<span 
class="cmtt-12">csh</span>, 3 <br />
                                                                                         
                                                                                         
<span 
class="cmtt-12">gmake</span>, 3 <br />
<span 
class="cmtt-12">jareport</span>, 5 <br />
<span 
class="cmtt-12">llq</span>, 7 <br />
<span 
class="cmtt-12">llsubmit</span>, 7 <br />
<span 
class="cmtt-12">make</span>, 3 <br />
<span 
class="cmtt-12">tcsh</span>, 3 <br />
<span 
class="cmss-12">.bashrc</span>, 2 <br />
<span 
class="cmss-12">.cshrc</span>, 2 <br />
<span 
class="cmss-12">.login</span>, 3 <br />
<span 
class="cmss-12">.profile</span>, 2 <br />
<span 
class="cmss-12">/CCSM/inputdata</span>, 6 <br />
<span 
class="cmss-12">/datashare/inputdata/csm</span>, 6 <br />
<span 
class="cmss-12">/datashare/inputdata</span><span 
class="cmss-12">_user</span>, 6 <br />
<span 
class="cmss-12">/fs/cgd/csm/inputdata</span><span 
class="cmss-12">_user</span>, 6 <br />
<span 
class="cmss-12">/fs/cgd/csm/inputdata</span>, 6 <br />
<span 
class="cmss-12">/usr/local/bin</span>, 3 <br />
<span 
class="cmss-12">/usr/local</span>, 5 <br />
<span 
class="cmss-12">Macros.AIX</span>, 5 <br />
<span 
class="cmss-12">batch.ibm.esmf</span>, 5 <br />
<span 
class="cmss-12">configure</span>, 6 <br />
<span 
class="cmss-12">env.ibm.bluesky</span>, 5 <br />
<span 
class="cmss-12">env.ibm.esmf</span>, 5 <br />
<span 
class="cmss-12">run.ibm.bluesky</span>, 6 <br />
<span 
class="cmss-12">run.ibm.esmf</span>, 6 <br />
<span 
class="cmss-12">bluesky</span>, 4, 5 <br />
<span 
class="cmss-12">esmf04m</span>, 4
   <br />
<p class="theindex">
   Bash, 2
   <br />
</p><p class="theindex">
   C&#x00A0;Shell, 2 <br />
<span 
class="cmtt-12">$CASEID</span>, 6 <br />
<span 
class="cmtt-12">$CASEROOT</span>, 6 <br />
CCSM, 3 <br />
class, 5 <br />
CLM, 4 <br />
Community Climate System Model, 3 <br />
Community Land Model, 4 <br />
coupler, 7
   <br />
</p><p class="theindex">
   Debian, 3
   <br />
</p><p class="theindex">
                                                                                         
                                                                                         
   ESMF, 1
   <br />
</p><p class="theindex">
   GNU/Linux, 3
   <br />
</p><p class="theindex">
   hybrid, 3
   <br />
</p><p class="theindex">
   I/O, 3
   <br />
</p><p class="theindex">
   LoadLeveler, 5, 7
   <br />
</p><p class="theindex">
   Make, 3 <br />
Message Passing Interface, 3 <br />
MPI, 3
   <br />
</p><p class="theindex">
   queue, 5
   <br />
</p><p class="theindex">
   resolved scripts, 6 <br />
run script, 5, 6
   <br />
</p><p class="theindex">
   Single Program Multiple Data, 3 <br />
SMP, 3 <br />
SPMD, 3 <br />
Symmetric Multi-Processor, 3
   <br />
</p><p class="theindex">
   wall_clock_limit, 5
   <br />
</p></div>
<a 
  id="Q1-1-20"></a>
    
</body> 
</html> 

                                                                                         


