
1. Introduction to CESM#
Tutorials at the 2026 paleoCAMP | June 15–June 29, 2026
Jiang Zhu
jiangzhu@ucar.edu
Climate & Global Dynamics Laboratory
NSF National Center for Atmospheric Research
Learning Objectives#
Know the basic structure of CESM as software, including the workspaces
Time to learn: 15 minutes
NOTE: Hands-on exercise is in the next module. You don’t need to do anything yet.
The Community Earth System Model (CESM)#
CESM is a fully coupled global Earth system model developed primarily by the NSF National Center for Atmospheric Research (NCAR) in collaboration with colleagues in the research community. It provides state-of-the-art computer simulations of Earth’s past, present, and future states.
CESM as software#
~5 million lines of FORTRAN* source code and scripts (Minecraft is estimated to have 1.8-4.8 million)
You need to build the source code to create and run the executable on a supercomputer.
Read more on the CESM website
*NOTE: Why FORTRAN?
CESM Workspaces (assuming you run a company that builds new electric vehicles)#
In CESM, we describe a numerical experiment as a case, identified by a casename.
CESM Code, “Headquarters”
FORTRAN, Python, & XML (Extensible Markup Language) files
contains your intellectual property, e.g., research and designing of EVs
E.g.,
/glade/work/jiangzhu/paleocamp/cesm2.1.5
Inputdata Directory, “Supply Warehouse”
NetCDF data for boundary/initial conditions
contains the raw materials, e.g., steel and batteries
E.g.,
/glade/campaign/cesm/cesmdata/inputdata
Case Directory, “Production Control Room”
Text, script, XML files
where you give instructions, e.g., to hire 100 workers and produce 5 EVs per day
E.g.,
/glade/u/home/jiangzhu/casename
Run Directory, “Factory”
Executables, output NetCDF files, …
where workers assemble the EVs
E.g.,
/glade/derecho/scratch/jiangzhu/casename/run
Archive Directory, “Storage”
Organized output files, log files in text, …
where you store the assembled EVs and work log
E.g.,
/glade/derecho/scratch/jiangzhu/archive/casename

Figure: CESM2 Workspaces
Get the CESM code#
CESM code development and release is on GitHub: ESCOMP/CESM.git
If you would like to get a copy of the code in the future
git clone -b release-cesm2.1.5 https://github.com/ESCOMP/CESM.git cesm2.1.5
cd cesm2.1.5
./manage_externals/checkout_externals
*NOTE: for this tutorial, if you decide to run CESM, please use the code in my workspace: /glade/work/jiangzhu/paleocamp/cesm2.1.5
Summary#
CESM is software primarily in FORTRAN and you need to build the executable.
Like managing an EV company, you deal with multiple workspaces. What are they?
CESM code is managed on GitHub.
Optional advanced resources#
Check out the full annual CESM Tutorial here
Apply for the Annual CESM Tutorial for free