Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ This repository includes materials designed to be an introduction to running the

## Goals of This Tutorial

**Through this tutorial, you will learn how to:
<strong>Through this tutorial, you will learn how to:

- Create and run CESM simulations.
- Understand the structure and configuration of CESM experiments.
- Modify model settings, forcings, and input datasets.
- Analyze and interpret model output.
- Design and perform simple scientific experiments using CESM.

The materials are primarily based on CESM3 concepts and workflows, although many of the principles apply to other versions of CESM as well.**
The materials are primarily based on CESM3 concepts and workflows, although many of the principles apply to other versions of CESM as well.</strong>

## Yearly In-Person Tutorials

Expand Down
4 changes: 2 additions & 2 deletions notebooks/basics/cesm_workspaces.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
"\n",
"Before creating and running CESM simulations, you will create directories to store the CESM source code and a directory to store all your case directories. \n",
"\n",
"In the CESM jargon, a `case` refers to a specific instance of a model simulation."
"In the CESM jargon, a `case` refers to a **model simulation**."
]
},
{
Expand Down Expand Up @@ -150,7 +150,7 @@
"id": "4e972986-5267-43a8-917b-1e36c7117323",
"metadata": {},
"source": [
"You do not need to create the input data directory (`$DIN_LOC_ROOT`) on NCAR systems, as these datasets are already available in a shared location.\n",
"You do not need to create the input data directory (`$DIN_LOC_ROOT`) on NCAR systems, as these datasets are already available in a shared location. This location is shared by all CESM users to save space on the NCAR supercomputer. \n",
"\n",
"Similarly, the build (`$EXEROOT`), run (`$RUNDIR`), and archive (`$DOUT_S_ROOT`) directories are created automatically when you create a CESM case."
]
Expand Down
15 changes: 7 additions & 8 deletions notebooks/basics/code/git_download_cesm.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,14 @@
"<div class=\"alert alert-info\">\n",
"<strong>Exercise: Clone the CESM Repository </strong><br>\n",
" \n",
"- Change the current directory to the code workspace directory: \n",
"- **Change the current directory to the code workspace directory**: \n",
"\n",
"```\n",
" cd /glade/u/home/$USER/code\n",
"```\n",
"<br>\n",
" \n",
"- Download the CESM code to your code workspace directory as `my_cesm_code`:\n",
"- **Download the CESM code to your code workspace directory as `my_cesm_code`:**\n",
"\n",
"```\n",
" git clone https://github.com/ESCOMP/CESM.git my_cesm_code\n",
Expand All @@ -104,7 +104,7 @@
"```\n",
"The directory name `my_cesm_code` is only an example. You may choose any directory name you prefer. Outside of this tutorial, many users choose names that identify the CESM version they are working with (for example, `cesm3.0`, or `cesm3.0_Tutorial2026`).\n",
"\n",
"- Verify the Tutorial Tag\n",
"- **Verify the Tutorial Tag**\n",
"\n",
"You can verify that you are using the correct version by running:\n",
"\n",
Expand All @@ -126,7 +126,7 @@
"metadata": {},
"source": [
"\n",
"<div class=\"alert alert-info\"> \n",
"<div class=\"alert alert-success\"> \n",
"<details>\n",
"\n",
"<summary> <font face=\"Times New Roman\" color='blue'>Click here for example output</font> </summary>\n",
Expand Down Expand Up @@ -204,7 +204,7 @@
"\n",
"One of the first decisions when starting a modeling project is choosing which version of CESM to use. Factors to consider include:\n",
"\n",
"- Scientific and technical support for the version.\n",
"- Scientific and technical support for the version. As a rule of the thumb, release tags are the most supported version of CESM. \n",
"- Availability of model features required for your research.\n",
"- Consistency with community experiments or previous studies.\n",
"- Compatibility with analysis tools and workflows.\n",
Expand Down Expand Up @@ -239,11 +239,10 @@
"metadata": {},
"source": [
"\n",
"<div class=\"alert alert-info\"> \n",
"<div class=\"alert alert-success\"> \n",
"<details>\n",
"\n",
"<summary> <font face=\"Times New Roman\" color='blue'>Click here for example output</font> </summary>\n",
"\n",
"<br>\n",
" \n",
"```\n",
Expand Down Expand Up @@ -275,7 +274,7 @@
"\n",
"## Step 3. Download Component Models with `git-fleximod` \n",
"\n",
"The CESM repository itself does not contain all component model source code. Individual model components are maintained in separate repositories and must be downloaded after cloning CESM. \n",
"The CESM repository itself does not contain all component model source code. **Individual model components are maintained in separate repositories** and must be downloaded after cloning CESM. \n",
"\n",
"CESM3 uses `git-fleximod` to manage external repositories. \n",
"\n",
Expand Down
4 changes: 2 additions & 2 deletions notebooks/basics/code_overview.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"id": "56f53601-ba7c-41b0-8d9e-d56f67689734",
"metadata": {},
"source": [
"Before you can start running the CESM, you must first download the CESM code from Github and set up your Workspace. This exercise is estimated to take around 30-60 minutes, depending on your previous experience with NCAR HPC and Github."
"Before you can start running the CESM, you must first **download the CESM code from Github and set up your Workspace**. This exercise is estimated to take around 30-60 minutes, depending on your previous experience with NCAR HPC and Github."
]
},
{
Expand Down Expand Up @@ -43,7 +43,7 @@
"id": "89b36bf1-182b-4460-af55-6f05b7a4a086",
"metadata": {},
"source": [
"If you are unfamiliar with logging into NCAR HPC resources, please review the[section](https://ncar.github.io/CESM-Tutorial/notebooks/prereqs/prereqs_overview.html#ncar-high-performance-computing-hpc) on logging into Derecho before continuing.\n",
"If you are unfamiliar with logging into NCAR HPC resources, please review the [section](https://ncar.github.io/CESM-Tutorial/notebooks/prereqs/prereqs_overview.html#ncar-high-performance-computing-hpc) on logging into Derecho before continuing.\n",
"\n",
"## GitHub and Git\n",
"\n",
Expand Down
16 changes: 8 additions & 8 deletions notebooks/namelist/documentation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,16 @@
"id": "42e1dd6f-c704-4f69-965a-a015d3d0baed",
"metadata": {},
"source": [
"The search results will include the namelist variable ``nhtfrq``, as illustrated in *Figure 2*. ``nhtfrq`` is the variable you need in order to controls the frequency at which CAM history files are written. \n",
"The search results will include the namelist variable ``nhtfrq``, as illustrated in *Figure 1*. ``nhtfrq`` is the variable you need in order to controls the frequency at which CAM history files are written. \n",
"\n",
"If you click on **+** on the left of `nhtfrq`, this will return the attributes of the namelist variable. \n",
"If you click on **+** on the left of `nhtfrq`, this will return the attributes of the namelist variable as shown in *Figure 2*. \n",
"\n",
"This provides detailed information, including:\n",
"\n",
"- A description of the variable.\n",
"- The valid values and their meanings.\n",
"- The default value.\n",
"- The namelist group where the variable is defined.\n",
"___\n",
"![Attribute of a namelist variable](../../images/namelist/nhtfrq.png)\n",
"\n",
Expand All @@ -53,12 +59,6 @@
"id": "419a5f30-7738-49b3-8cf2-607d39b43e40",
"metadata": {},
"source": [
"This provides detailed information, including:\n",
"\n",
"- A description of the variable.\n",
"- The valid values and their meanings.\n",
"- The default value.\n",
"- The namelist group where the variable is defined.\n",
"\n",
"When making namelist modifications, it is good practice to consult the documentation to verify that the variable exists, understand its behavior, and ensure that the specified values are valid.\n",
"\n",
Expand Down
6 changes: 3 additions & 3 deletions notebooks/namelist/output.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@
"id": "34b38707-9fbb-4e2a-bb99-5d3ddac76dc0",
"metadata": {},
"source": [
"If you don't add anything to the namelist, CESM will generate its **``default output``**. This is what was done in previous chapters of this tutorial. By default, CESM components typically write monthly mean history files, along with a predefined set of variables. Some components may also produce additional output at higher temporal frequencies.\n",
"If you don't add anything to the namelist, CESM will generate its **default output** This is the output you got in the previous chapters exercises of this tutorial. By default, CESM components typically write **monthly mean history files, along with a predefined set of variables**. Some components may also produce additional output at higher temporal frequencies.\n",
"\n",
"Depending on your scientific goals, you may wish to customize the model output. Common modifications include:\n",
"- Changing the output frequency (for example, from monthly to daily or hourly).\n",
"- Creating additional history files with different output frequencies.\n",
"- Adding variables that are not included in the default output.\n",
"- Reducing the number of output variables to save disk space. \n",
"\n",
"In this chapter **``Customizing output``**, we will cover how to output at a different frequency, add history files, or add variables to the history files.\n",
"In this chapter **Customizing output**, we cover how to output variables at a different frequency, add history files, or add variables to the history files.\n",
"\n",
"In the sections below, we provide the basics of customizing the output for the different components (atm, lnd, ice, and pop). The section on **customizing CAM output** is the most comprehensive and introduces many of the concepts that are common across CESM components. We therefore **recommend reviewing that section first, even if your primary interest is another component model**."
"In particular, we provide the basics of customizing the output for the different components (atm, lnd, ice, and mom). The section on **customizing CAM output** is the most comprehensive and introduces many of the concepts that are common across CESM components. We therefore **recommend reviewing that section first, even if your primary interest is another component model**."
]
}
],
Expand Down
23 changes: 16 additions & 7 deletions notebooks/namelist/output/output_cam.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -324,9 +324,9 @@
"fincl2 = 'T:I','Q:I','U:I','V:I'\n",
"```\n",
"\n",
"#### Output Files for Different Averaging Types\n",
"#### **Output Files for Different Averaging Types**\n",
"\n",
"CAM may write variables with different averaging characteristics to separate output files.\n",
"In CESM3, CAM writes variables with different averaging characteristics to separate output files.\n",
"\n",
"For example:\n",
"\n",
Expand All @@ -345,7 +345,7 @@
"- `T:A` and `PRECT:A` are time-averaged variables.\n",
"- `U:I` is an instantaneous variable.\n",
"\n",
"CAM may place the averaged and instantaneous variables in separate output files because they require different temporal processing.\n",
"CAM will place the averaged and instantaneous variables in separate output files because they require different temporal processing.\n",
"\n",
"***Note**: The exact naming and grouping of history files can vary between CAM versions. If you do not find a variable in the expected history file, check the history files in the run directory to determine where CAM has written it.*\n",
"\n",
Expand Down Expand Up @@ -425,10 +425,11 @@
"source": [
"## Interpolating Output to a Latitude–Longitude Grid, `interpolate_output`\n",
"\n",
"CAM is often run using the spectral-element (SE) dynamical core, \n",
"where model variables are stored on an unstructured cubed-sphere grid. \n",
"In CESM3, CAM is by default run using the **spectral-element (SE) dynamical core**, \n",
"where model variables are stored on an **unstructured cubed-sphere grid**. \n",
"While this grid is advantageous for model simulations, many analysis \n",
"and visualization tools are designed to work with regular latitude–longitude grids.\n",
"and visualization tools are designed to work with regular latitude–longitude grids\n",
"However, CAM can **interpolate output to a latitude–longitude grid** on the fly. \n",
"\n",
"For example, to interpolate output to a 1° × 1° latitude–longitude grid, \n",
"add the following lines to `user_nl_cam`:\n",
Expand All @@ -445,7 +446,7 @@
"- `interpolate_nlat = 181` specifies the number of latitude points.\n",
"- `interpolate_nlon = 360` specifies the number of longitude points.\n",
"\n",
"The resulting output will be written on a regular 1° × 1° latitude–longitude grid.\n",
"The output will be written on a regular 1° × 1° latitude–longitude grid.\n",
"\n",
"***Note**: Interpolation affects only the history-file output. The model itself continues to run on its native spectral-element grid.*\n",
"\n",
Expand Down Expand Up @@ -485,6 +486,14 @@
"</div>"
]
},
{
"cell_type": "markdown",
"id": "b952d7fc-20c0-4ad7-83fa-fb991d9b5d94",
"metadata": {},
"source": [
"## "
]
},
{
"cell_type": "markdown",
"id": "f22c3b80-b173-4e43-8af9-e684683aaf99",
Expand Down
26 changes: 21 additions & 5 deletions notebooks/namelist/output/output_cice.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,12 @@
"- A second history stream is written daily.\n",
"- The remaining history streams are disabled (`'x'`).\n",
"\n",
"## Evaluate Your Understanding\n",
"\n",
"<div class=\"alert alert-info\">\n",
"<strong>Evaluate your understanding</strong>\n",
"\n",
"How would you configure CICE to output 6-hourly instantaneous values?\n",
"</div>\n",
"\n",
"<details>\n",
"<summary>Click here for the solution</summary>\n",
Expand All @@ -95,13 +98,17 @@
"\n",
"</details>\n",
"\n",
"## Evaluate Your Understanding\n",
"\n",
"How would you configure CICE to output daily averages?\n",
"<div class=\"alert alert-info\">\n",
"<strong>Evaluate your understanding</strong>\n",
"\n",
"<details>\n",
"<summary>Click here for the solution</summary>\n",
"How would you configure CICE to output daily averages?\n",
"</div>\n",
"\n",
"<div class=\"alert alert-success\">\n",
" \n",
"<details> \n",
"<summary><font face=\"Times New Roman\" color='blue'>Click here for the solution</font></summary><br> \n",
"Add the following lines to `user_nl_cice`:\n",
"\n",
"```fortran\n",
Expand All @@ -111,6 +118,7 @@
"```\n",
"\n",
"</details>\n",
"</div>\n",
"\n",
"> **Note**\n",
">\n",
Expand All @@ -123,6 +131,14 @@
"For additional information about CICE history output and namelist settings, consult the CESM2 CICE documentation.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cd5a30ad-a0d6-4c19-8e68-54d5f4069a85",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand Down
Loading