paleoCAMP logo

1. Introduction to CESM#

Tutorials at the 2025 paleoCAMP | June 16–June 30, 2025

Jiang Zhu
jiangzhu@ucar.edu
Climate & Global Dynamics Laboratory
NSF National Center for Atmospheric Research


Learning Objectives#

  • Know the basic structure of CESM as a software, including the workspaces

Time to learn: 20 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 primaily by NSF National Center for Atmospheric Research (NCAR) in collaboration with colleagues in the research community. CESM provides state of the art computer simulations of Earth’s past, present, and future Earth-system states.


CESM as a 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 about CESM here

*NOTE: Why FORTRAN?

CESM Workspaces (assuming you run a company that builds new electric vehicles)#

  1. CESM Code, “Headquarter

  • FORTRAN, Python, & XML (Extensible Markup Language) files

  • contains your intellectual properties, e.g., research/designing of EVs

  1. Inputdata Directory, “Supply Warehouse

  • NetCDF data for boundary/initial conditions

  • contains the raw materials, e.g., steel and batteries

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

  1. Build/Run Directory, “Factory

  • Library, executables, NetCDF files, …

  • where workers assemble the EVs

  1. Archive Directory, “Storage

  • NetCDF files, log files in text, …

  • where you store the assembled EVs and work log

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 ESCOMP/CESM.git 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 a software primarily in FORTRAN and you need to build the executable.

  • Like managing an EV company, you deal with multiple workplaces. 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