paleoCAMP logo

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.

  1. 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

  2. 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

  3. 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

  4. Run Directory, “Factory

    • Executables, output NetCDF files, …

    • where workers assemble the EVs

    • E.g., /glade/derecho/scratch/jiangzhu/casename/run

  5. 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

CESM2 Workspaces

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