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
16 changes: 7 additions & 9 deletions _toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,13 +130,12 @@ chapters:
- file: notebooks/challenge/clm_ctsm/clm_exercise_1
- file: notebooks/challenge/clm_ctsm/clm_exercise_2
- file: notebooks/challenge/clm_ctsm/clm_exercise_3
- file: notebooks/challenge/pop/pop
- file: notebooks/challenge/mom/mom
sections:
- file: notebooks/challenge/pop/pop_exercise_1
- file: notebooks/challenge/pop/pop_exercise_2
- file: notebooks/challenge/pop/pop_exercise_3
- file: notebooks/challenge/pop/pop_exercise_4
- file: notebooks/challenge/mom/mom_exercise_5
- file: notebooks/challenge/mom/mom_exercise_1
- file: notebooks/challenge/mom/mom_exercise_2
- file: notebooks/challenge/mom/mom_exercise_3
- file: notebooks/challenge/mom/mom_exercise_4
- file: notebooks/challenge/cice/cice
sections:
- file: notebooks/challenge/cice/cice_exercise_1
Expand All @@ -162,11 +161,10 @@ chapters:
- file: notebooks/diagnostics/clm_ctsm/clm_ctsm
sections:
- file: notebooks/diagnostics/clm_ctsm/basics_clm
- file: notebooks/diagnostics/pop/pop
- file: notebooks/diagnostics/mom/mom
sections:
- file: notebooks/diagnostics/pop/basics_pop
- file: notebooks/diagnostics/pop/advanced_pop
- file: notebooks/diagnostics/mom/basics_mom
- file: notebooks/diagnostics/mom/advanced_mom
- file: notebooks/diagnostics/cice/cice
sections:
- file: notebooks/diagnostics/cice/basics_cice
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
"source": [
"# Ocean \n",
"\n",
"The default ocean component of CESM is the Parallel Ocean Program (POP). This will change in CESM3, where the default ocean component will be the Modular Ocean Model version 6 (MOM6). You will have the option to run a case using MOM6 in the last challenge exercise.\n",
"The default ocean component of CESM3 is the Modular Ocean Model version 6 (MOM6).\n",
"\n",
"It can be helpful for people interested in ocean science to run simulations with only active sea ice and ocean components and atmospheric forcing. This exercise will teach you how to run one of these ice-ocean simulations.\n",
"\n",
"This exercise was created by Gustavo Marques."
"This exercise was originally created for POP by Gustavo Marques and adapted for MOM6 by William Xu."
]
},
{
Expand All @@ -27,11 +27,10 @@
"id": "a39c7159-f7ee-4515-920f-68a8d345e392",
"metadata": {},
"source": [
"- Student will learn what a G compset is, the types of forcing available to run one, and how to run one.\n",
"- Student will learn what G compsets are, the types of forcing available to run one, and how to run one.\n",
"- Student will learn how to make a namelist modification that turns off the overflow parameterization and compare results with a control experiment.\n",
"- Student will learn how to make a source code modification that changes zonal wind stress and compare results with a control experiment.\n",
"- Student will learn what a G1850ECO compset is and compare it to the G compset.\n",
"- Student will learn how to run a G compset using MOM6."
"- Student will learn what a GW1850MARBL_JRA compset is and compare it to the GW_JRA compset."
]
},
{
Expand All @@ -47,46 +46,12 @@
"id": "59f7b9fd-7a3d-4b54-b874-61ddc264b102",
"metadata": {},
"source": [
"- All exercises except the last one (\"5 - Control case using MOM6\") use the same code base as the rest of the tutorial. \n",
"- You will be using the G compset at the T62_g37 resolution (or TL319_t232 when using MOM6).\n",
"- All exercises use the same code base as the rest of the tutorial. \n",
"- You will be using the GW_JRA compset at the TL319_t233_wg37 resolution.\n",
"- You will run a control simulation and three experimental simulations. Each simulation will be run for one year. \n",
"- You will then use 'ncview' \\([http://meteora.ucsd.edu/~pierce/ncview_home_page.html](http://meteora.ucsd.edu/~pierce/ncview_home_page.html)\\) to evaluate how the experiments differ from the control simulation."
]
},
{
"cell_type": "markdown",
"id": "f1ed4850-1e61-4b03-b036-69ecaa06f23f",
"metadata": {},
"source": [
"## Useful POP references"
]
},
{
"cell_type": "markdown",
"id": "27190b16-2c11-40a1-94fc-09fe0fbb1a57",
"metadata": {},
"source": [
"<div class=\"alert alert-info\" style=\"text-align: center;\">\n",
"\n",
"[CESM POP User's Guide](https://www.cesm.ucar.edu/models/pop)\n",
"\n",
"</div>"
]
},
{
"cell_type": "markdown",
"id": "9f4fecc3-e03e-4d35-aecb-7daa16a9acb0",
"metadata": {
"tags": []
},
"source": [
"<div class=\"alert alert-info\" style=\"text-align: center;\">\n",
"\n",
"[CESM POP Discussion Forum](https://bb.cgd.ucar.edu/cesm/forums/pop.136/)\n",
"\n",
"</div>"
]
},
{
"cell_type": "markdown",
"id": "16849059-810c-4af7-8930-8af58fe75c11",
Expand Down Expand Up @@ -144,29 +109,7 @@
"id": "9ad378a2-89e1-4afe-ad88-e0c0759b9864",
"metadata": {},
"source": [
"The G compset has active and coupled ocean and sea-ice components. The G compset requires boundary forcing from the atmosphere. The G compset is forced with atmospheric data that does not change interactively as the ocean and sea-ice evolve in time. The land and land ice are not active during a G compset experiment and the runoff is specified. "
]
},
{
"cell_type": "markdown",
"id": "3ce9e152-c915-4e18-8199-040a26cf68c5",
"metadata": {},
"source": [
"![gcase](../../../images/challenge/gcase.png)\n",
"\n",
"*<p style=\"text-align: center;\"> Figure: G compset definition. </p>*"
]
},
{
"cell_type": "markdown",
"id": "346ef398-2703-4990-9387-d9006e75c5e6",
"metadata": {},
"source": [
"<div class=\"alert alert-info\" style=\"text-align: center;\">\n",
"\n",
"[Component Set Definitions](https://www2.cesm.ucar.edu/models/cesm2/config/compsets.html)\n",
"\n",
"</div>"
"The G compsets have active and coupled ocean and sea-ice components. The G compsets require boundary forcing from the atmosphere. The G compsets are forced with atmospheric data that does not change interactively as the ocean and sea-ice evolve in time. The land and land ice are not active during a G compset experiment and the runoff is specified. A GW compset experiment also has an active wave model."
]
},
{
Expand All @@ -183,14 +126,11 @@
"metadata": {},
"source": [
"There are two types of temporal forcing for G compsets:\n",
"- Normal Year Forcing (NYF) is 12 months of atmospheric data (like a climatology) that repeats every year. NYF is the default forcing.\n",
"- Interannual varying forcing (GIAF) is forcing that varies by year over the time period (1948-2017). \n",
"\n",
"There are two datasets that can be used for G compsets:\n",
"- JRA55-do atmospheric data \\([Tsujino et al. 2018](https://doi.org/10.1016/j.ocemod.2018.07.002)\\)\n",
"- Coordinated Ocean-ice Reference Experiments (CORE) version 2 atmospheric data \\([Large and Yeager 2009](http://doi.org/10.1007/s00382-008-0441-3)\\).\n",
"- Repeat Year Forcing (RYF) is 12 months of atmospheric data (from a particular time period) that repeats.\n",
"- Interannual varying forcing (GIAF) is forcing that varies by year over the time period (1958-2023). \n",
"\n",
"In these exercises we will use the CORE NYF."
"We use the following interannual forcing for G compsets:\n",
"- JRA55-do atmospheric data \\([Tsujino et al. 2018](https://doi.org/10.1016/j.ocemod.2018.07.002)\\)"
]
},
{
Expand All @@ -208,12 +148,12 @@
"source": [
"1) You can create an annual average of the first year's data for each simulationg using the `ncra` (netCDF averager) command from the netCDF operators package \\([NCO](https://nco.sourceforge.net/)\\). \n",
"```\n",
"ncra $OUTPUT_DIR/*.pop.h.0001*nc $CASENAME.pop.h.0001.nc\n",
"ncra $OUTPUT_DIR/*.mom.h.0001*nc $CASENAME.mom.h.0001.nc\n",
"```\n",
"\n",
"2) Create a file that contains differences between each of the experiments and the control simulation\n",
"```\n",
"ncdiff $CASENAME.pop.h.0001.nc $CONTROLCASE.pop.h.0001.nc $CASENAME_diff.nc\n",
"ncdiff $CASENAME.mom.h.0001.nc $CONTROLCASE.mom.h.0001.nc $CASENAME_diff.nc\n",
"```\n",
"\n",
"3) Examine variables within each annual mean and the difference files using `ncview`\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"id": "f406f992-92bd-4b17-9bd3-b99c5c8abaf3",
"metadata": {},
"source": [
"# 5: Control case using MOM6"
"# 1: Control case"
]
},
{
Expand All @@ -14,7 +14,7 @@
"metadata": {},
"source": [
"<div class=\"alert alert-warning\">\n",
"<strong>We will use a different CESM tag (cesm2_3_beta17) for this exercise. </strong><br>\n",
"<strong>We will use a different CESM tag (cesm3_0_alpha09b) for this exercise. </strong><br>\n",
"</div>"
]
},
Expand All @@ -23,41 +23,25 @@
"id": "92d9d3d2-3476-47fb-9b46-f26f5f79fdb2",
"metadata": {},
"source": [
"## Download CESM (tag cesm2_3_beta17)\n",
"## Download CESM (tag cesm3_0_alpha09b)\n",
"\n",
"If needed, revisit the [Download CESM](https://ncar.github.io/CESM-Tutorial/notebooks/basics/code/git_download_cesm.html) section before executing the following steps.\n",
"\n",
"### Git Clone\n",
"<div class=\"alert alert-info\">\n",
"<strong>Change the current directory to the code workspace directory: </strong><br>\n",
"<strong>Go to the directory where you store your source code (create one if you don't already have it), e.g.: </strong><br>\n",
"\n",
"```\n",
"cd /glade/u/home/$USER/code\n",
"cd /glade/u/home/$USER/cesm.code\n",
"```\n",
"<br>\n",
" \n",
"<strong>Download the cesm code to your code workspace directory as `cesm2_3_beta17`: </strong><br>\n",
"<strong>Download the cesm code to your source code directory as `cesm3_0_alpha09b`: </strong><br>\n",
"```\n",
"git clone https://github.com/ESCOMP/CESM.git cesm2_3_beta17\n",
"cd cesm2_3_beta17\n",
"git checkout cesm2_3_beta17\n",
"git clone https://github.com/ESCOMP/CESM.git cesm3_0_alpha09b\n",
"cd cesm3_0_alpha09b\n",
"git checkout cesm3_0_alpha09b\n",
"./bin/git-fleximod update\n",
"``` \n",
"</div>\n",
"\n",
"### Download the Component Models with checkout_externals\n",
"\n",
"MOM6 is still an optional component in this version of CESM. Therefore, we need to run the `checkout_externals` command with the `-o` (optional) argument to download the required and optional component models:\n",
"\n",
"<div class=\"alert alert-info\">\n",
" \n",
"```\n",
"cd /glade/u/home/$USER/code/cesm2_3_beta17\n",
"./manage_externals/checkout_externals -o\n",
"```\n",
"<br>\n",
"\n",
"*Note: If you get a message about accepting a certificate permanently or temporarily, accept the certificate permanently. If you do not get this message, do not worry, you are still on track!\n",
"\n",
"</div>"
]
},
Expand All @@ -66,7 +50,7 @@
"id": "d708d564-464b-49fb-96c5-a98b91e9b91b",
"metadata": {},
"source": [
"**Congratulations, you have now downloaded the cesm2_3_beta17 tag on your workspace!!**"
"**Congratulations, you have now downloaded the cesm3_0_alpha09b tag on your workspace!!**"
]
},
{
Expand All @@ -83,11 +67,17 @@
"metadata": {},
"source": [
"<div class=\"alert alert-info\">\n",
"<strong>Run a JRA-forced MOM6 control case</strong><br><br>\n",
"<strong>Create, build, and run a JRA-forced MOM6 control case</strong><br><br>\n",
" \n",
"Create a case called **gmom_jra.run_length** using the compset ``GMOM_JRA`` at ``TL319_t232`` resolution. \n",
"Create a case called **g.GW_JRA.TL319_t233_wg37.001** using the compset ``GW_JRA`` at ``TL319_t233_wg37`` resolution.\n",
"- G means this is a G case\n",
"- W means it is coupled to the wave model (Wave Watch 3)\n",
"- JRA is the atmospheric forcing data\n",
"- TL319 specifies the atmospheric resolution\n",
"- t233 specifies the ocean model resolution (2/3 degree)\n",
"- wg37 specifies the wave model resolution (3 degree)\n",
" \n",
"Set the run length to **5 year**. \n",
"Set the run length to **1 year**. \n",
"\n",
"Build and run the model. Since this is a control case, we want to build it \"out of the box\" without any modifications. \n",
"\n",
Expand All @@ -104,10 +94,13 @@
"\n",
"<summary> <font face=\"Times New Roman\" color='blue'>Click here for hints</font> </summary>\n",
"\n",
"**How do I check the composets with MOM6?**\n",
"\n",
"Go to [CESM2.2.0 Component Sets Definitions](https://docs.cesm.ucar.edu/models/cesm2/config/compsets.html) and look for \"MOM\" using the \"Search\" box.\n",
"**How do I create the case?**\n",
"\n",
"First, you need to decide where to put your case root, and this should be different from where you store your source code, e.g.:\n",
"```\n",
"/glade/u/home/$USER/cesm.cases\n",
"```\n",
"<br>\n",
"\n",
"**How do I compile?**\n",
"\n",
Expand All @@ -128,8 +121,8 @@
"(2) Compare the contents of the ``h.z`` and ``h.sfc`` files using ``ncdump``.\n",
"\n",
"```\n",
"ncdump -h gmom_jra.run_length.mom6.h.z.0005-12.nc\n",
"ncdump -h gmom_jra.run_length.mom6.h.sfc.0005-12.nc\n",
"ncdump -h g.GW_JRA.TL319_t233_wg37.001.mom6.h.z.0005-12.nc\n",
"ncdump -h g.GW_JRA.TL319_t233_wg37.001.mom6.h.sfc.0005-12.nc\n",
"```\n",
"\n",
"(3) Look at the sizes of the files. \n",
Expand All @@ -147,23 +140,23 @@
"<details>\n",
"<summary><font face=\"Times New Roman\" color='blue'>Click here for the solution</font></summary><br>\n",
" \n",
"Create a new case <font face=\"Courier\" color='purple'><strong>gmom_jra.run_length</strong></font> with the command:\n",
"Create a new case <font face=\"Courier\" color='purple'><strong>g.GW_JRA.TL319_t233_wg37.001</strong></font> with the command:\n",
"```\n",
"cd /glade/u/home/$USER/code/cesm2_3_beta17/cime/scripts/\n",
"./create_newcase --case /glade/u/home/$USER/cases/gmom_jra.run_length --compset GMOM_JRA --res TL319_t232 \n",
"cd /glade/u/home/$USER/cesm.code/cesm3_0_alpha09b/cime/scripts/\n",
"./create_newcase --case /glade/u/home/$USER/cesm.cases/g.GW_JRA.TL319_t233_wg37.001 --compset GW_JRA --res TL319_t233_wg37\n",
"```\n",
"<br>\n",
"\n",
"Case <font face=\"Courier\" color='purple'><strong>setup</strong></font>:\n",
"``` \n",
"cd ~/cases/gmom_jra.run_length \n",
"cd /glade/u/home/$USER/cesm.cases/g.GW_JRA.TL319_t233_wg37.001 \n",
"./case.setup\n",
"```\n",
"<br>\n",
"\n",
"Change the <font face=\"Courier\" color='purple'><strong>run length</strong></font>:\n",
"``` \n",
"./xmlchange STOP_N=5,STOP_OPTION=nyears\n",
"./xmlchange STOP_N=1,STOP_OPTION=nyears\n",
"```\n",
"<br>\n",
"\n",
Expand All @@ -183,11 +176,11 @@
"<br>\n",
"\n",
"When the run is completed, look into the archive directory for: \n",
"<font face=\"Courier\" color='purple'><strong>gmom_jra.run_length</strong></font>. \n",
"<font face=\"Courier\" color='purple'><strong>g.GW_JRA.TL319_t233_wg37.001</strong></font>. \n",
" \n",
"(1) Check that your archive directory on derecho (The path will be different on other machines): \n",
"```\n",
"cd /glade/derecho/scratch/$USER/archive/gmom_jra.run_length/ocn/hist\n",
"cd /glade/derecho/scratch/$USER/archive/g.GW_JRA.TL319_t233_wg37.001/ocn/hist\n",
"\n",
"ls \n",
"```\n",
Expand Down
Loading