From 1113ed4657e510a814277f6660c9f3cc777167eb Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 14 Oct 2026 15:29:24 -0600 Subject: [PATCH 1/6] Add exclude patterns to avoid 'not in toctree' warning --- _config.yml | 10 +++++++++- _toc.yml | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 198ea11..e0e147f 100644 --- a/_config.yml +++ b/_config.yml @@ -5,9 +5,17 @@ title: CLM Tutorial author: NCAR/CGD Staff logo: images/ncar_logo.png -# Removing CESM2 Porting for 2026 tutorial (need to update to CESM3 in future) exclude_patterns: + - notebooks/diagnostics/additional/cvdp.ipynb + - notebooks/intro/cesm_expts/** + - notebooks/intro/community_experiments.ipynb + - notebooks/modifications/xml.ipynb + - notebooks/modifications/xml/** + - notebooks/namelist/** + - notebooks/resources/ncar_hpc_login.ipynb - notebooks/resources/porting.ipynb + - notebooks/resources/profile.ipynb + - notebooks/resources/tutorial_specific.ipynb sphinx: config: diff --git a/_toc.yml b/_toc.yml index ac86611..2d2a17c 100644 --- a/_toc.yml +++ b/_toc.yml @@ -15,6 +15,8 @@ chapters: - file: notebooks/intro/project - file: notebooks/intro/getting_involved - file: notebooks/intro/getting_help + # IF UNCOMMENTING THE BELOW, MAKE SURE TO REMOVE THEIR ENTRIES + # FROM exclude_patterns IN _config.yml. #- file: notebooks/intro/community_experiments # sections: # - file: notebooks/intro/cesm_expts/clim_data_guide @@ -48,6 +50,8 @@ chapters: - file: notebooks/basics/exercises/extra - file: notebooks/basics/exercises/review_questions +# IF UNCOMMENTING THE BELOW, MAKE SURE TO REMOVE THEIR ENTRIES +# FROM exclude_patterns IN _config.yml. #- file: notebooks/modifications/xml # sections: # - file: notebooks/modifications/xml/overview @@ -70,6 +74,8 @@ chapters: # - file: notebooks/modifications/xml/exercises/xml_runtype_exercise # - file: notebooks/modifications/xml/exercises/xml_timestep_exercise +# IF UNCOMMENTING THE BELOW, MAKE SURE TO REMOVE THEIR ENTRIES +# FROM exclude_patterns IN _config.yml. #- file: notebooks/namelist/namelist # sections: # - file: notebooks/namelist/overview @@ -144,6 +150,8 @@ chapters: - file: notebooks/resources/github - file: notebooks/resources/fortran - file: notebooks/resources/netcdf + # IF UNCOMMENTING THE BELOW, MAKE SURE TO REMOVE ITS ENTRY + # FROM exclude_patterns IN _config.yml. # - file: notebooks/resources/porting From 93957e95be6c86cea5202080da843dd54fd3018a Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 14 Oct 2026 15:30:27 -0600 Subject: [PATCH 2/6] Avoid 'Non-consecutive header level increase' warning --- notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb b/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb index a387933..62668b2 100644 --- a/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb +++ b/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb @@ -603,7 +603,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Questions:\n", + "### Questions:\n", "- What is the primary difference in GPP between the IHIST BGC case and the I2000 SP case?\n", "- Why might this be occuring? " ] From a557745dfa3a510b57db394105ed6f3149f5e8cd Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 14 Oct 2026 15:41:56 -0600 Subject: [PATCH 3/6] Avoid "Non-consecutive header level increase" warning --- notebooks/challenge/clm_ctsm/clm_exercise_5.ipynb | 2 +- notebooks/resources/ncar_hpc_module.ipynb | 6 +++--- notebooks/resources/tutorial_queue_account.ipynb | 6 +++--- notebooks/singlepoint/exercises/FATESsp_NEON.ipynb | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/notebooks/challenge/clm_ctsm/clm_exercise_5.ipynb b/notebooks/challenge/clm_ctsm/clm_exercise_5.ipynb index c94ad6e..80f8292 100644 --- a/notebooks/challenge/clm_ctsm/clm_exercise_5.ipynb +++ b/notebooks/challenge/clm_ctsm/clm_exercise_5.ipynb @@ -348,7 +348,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Questions: \n", + "### Questions: \n", "\n", " - How do GPP and LAI track each other through the year? Which leads the other in spring, and does that make physical sense?\n", " - Does LAI fall all the way to zero in winter? What does the residual tell you about the mix of plant functional types at this site? (think back to which PFTs grow at BART.)" diff --git a/notebooks/resources/ncar_hpc_module.ipynb b/notebooks/resources/ncar_hpc_module.ipynb index 39ccdd1..d4f75dd 100644 --- a/notebooks/resources/ncar_hpc_module.ipynb +++ b/notebooks/resources/ncar_hpc_module.ipynb @@ -49,7 +49,7 @@ "id": "33d4014c-bc0f-4ab0-aaf3-cf6cf7572f22", "metadata": {}, "source": [ - "### Checking what modules are loaded in your environment\n", + "## Checking what modules are loaded in your environment\n", "\n", "To check what modules you have loaded in your environment, use the following at the command line:" ] @@ -69,7 +69,7 @@ "id": "2a5ec941-4f4a-4a99-a3a0-6e514c448805", "metadata": {}, "source": [ - "### Checking what modules are available\n", + "## Checking what modules are available\n", "\n", "You can see which modules are available on the HPC resources by using the following at the command line:" ] @@ -119,7 +119,7 @@ "id": "65848ac8-1cad-47bf-b680-8b129ce4e25d", "metadata": {}, "source": [ - "### Loading a new module to your environment\n", + "## Loading a new module to your environment\n", "\n", "You can load one of the available modules (here we show loading ncview) using the following at the command line: " ] diff --git a/notebooks/resources/tutorial_queue_account.ipynb b/notebooks/resources/tutorial_queue_account.ipynb index 366b0e5..afa6800 100644 --- a/notebooks/resources/tutorial_queue_account.ipynb +++ b/notebooks/resources/tutorial_queue_account.ipynb @@ -13,7 +13,7 @@ "id": "4a6f76fe-9658-443c-89a7-9ede364803e5", "metadata": {}, "source": [ - "### Tutorial Project Account\n", + "## Tutorial Project Account\n", "\n", "
\n", "You should have access to project account UESM0016 and use this for your simulations.\n", @@ -30,7 +30,7 @@ "id": "9db9d54e-ef78-44ef-a003-4ddd8a416317", "metadata": {}, "source": [ - "### Special Queues\n", + "## Special Queues\n", "\n", "
\n", "\n", @@ -60,7 +60,7 @@ "id": "d312e6e0-f48b-4f86-a97b-96c255d35d26", "metadata": {}, "source": [ - "### Compiling in the Special Queue" + "## Compiling in the Special Queue" ] }, { diff --git a/notebooks/singlepoint/exercises/FATESsp_NEON.ipynb b/notebooks/singlepoint/exercises/FATESsp_NEON.ipynb index c39d8c3..c6a2f3e 100644 --- a/notebooks/singlepoint/exercises/FATESsp_NEON.ipynb +++ b/notebooks/singlepoint/exercises/FATESsp_NEON.ipynb @@ -701,7 +701,7 @@ "\n", "***\n", "\n", - "### **./create_clone**\n", + "## **./create_clone**\n", "\n", "
\n", "\n", From 669885391934d6775f98844a6645831f47654bf2 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 14 Oct 2026 15:53:32 -0600 Subject: [PATCH 4/6] Avoid "Lexing literal_block" warnings --- notebooks/challenge/clm_ctsm/clm_ctsm.ipynb | 18 +++--------------- .../challenge/clm_ctsm/clm_exercise_2.ipynb | 18 +++--------------- .../challenge/clm_ctsm/clm_exercise_3.ipynb | 18 +++--------------- notebooks/resources/text_editors.ipynb | 12 ++---------- 4 files changed, 11 insertions(+), 55 deletions(-) diff --git a/notebooks/challenge/clm_ctsm/clm_ctsm.ipynb b/notebooks/challenge/clm_ctsm/clm_ctsm.ipynb index 688094a..d48daa0 100644 --- a/notebooks/challenge/clm_ctsm/clm_ctsm.ipynb +++ b/notebooks/challenge/clm_ctsm/clm_ctsm.ipynb @@ -127,23 +127,11 @@ "metadata": {}, "source": [ "As explained earlier, you can get information on compsets by using \"query_config in the cime/scripts directory under your CESM checkout.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "06a6c211", - "metadata": { - "vscode": { - "languageId": "shellscript" - } - }, - "outputs": [], - "source": [ + "\n", + "```bash\n", "cd /glade/u/home/$USER/code/my_cesm_code\n", "cime/scripts/query_config --compsets clm | grep \"I2000Clm60Sp \"\n", - "\n" + "```" ] }, { diff --git a/notebooks/challenge/clm_ctsm/clm_exercise_2.ipynb b/notebooks/challenge/clm_ctsm/clm_exercise_2.ipynb index 70f54d4..6ebe4b1 100644 --- a/notebooks/challenge/clm_ctsm/clm_exercise_2.ipynb +++ b/notebooks/challenge/clm_ctsm/clm_exercise_2.ipynb @@ -22,23 +22,11 @@ "metadata": {}, "source": [ "Using query_config again we learn more about this compset:\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b4513705", - "metadata": { - "vscode": { - "languageId": "shellscript" - } - }, - "outputs": [], - "source": [ + "\n", + "```bash\n", "cd /glade/u/home/$USER/code/my_clm_code\n", "cime/scripts/query_config --compsets clm | grep \"I2000Clm60Sp \"\n", - "\n" + "```" ] }, { diff --git a/notebooks/challenge/clm_ctsm/clm_exercise_3.ipynb b/notebooks/challenge/clm_ctsm/clm_exercise_3.ipynb index f81986f..4af731c 100644 --- a/notebooks/challenge/clm_ctsm/clm_exercise_3.ipynb +++ b/notebooks/challenge/clm_ctsm/clm_exercise_3.ipynb @@ -56,23 +56,11 @@ "We will be running FATES in Satellite Phenology mode. This can be done by either choosing an SP compset (e.g. ) or manually setting this via the `user_nl_clm` file, with the parameters `use_fates_sp`, `use_fates_nocomp`, `use_fates_fixed_biogeog`. Check out the online documentation for more information on these parameters.\n", "\n", "Using query_config again we learn more about the FATES compset we will use:\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "286afe86", - "metadata": { - "vscode": { - "languageId": "shellscript" - } - }, - "outputs": [], - "source": [ + "\n", + "```bash\n", "cd /glade/u/home/$USER/code/my_clm_code\n", "cime/scripts/query_config --compsets clm | grep \"I2000Clm60FatesSpCrujraRsGs \"\n", - "\n" + "```" ] }, { diff --git a/notebooks/resources/text_editors.ipynb b/notebooks/resources/text_editors.ipynb index 98e7863..9f95a65 100644 --- a/notebooks/resources/text_editors.ipynb +++ b/notebooks/resources/text_editors.ipynb @@ -21,16 +21,8 @@ "id": "69a56d2b-7508-4df0-9dc1-33f1f0887127", "metadata": {}, "source": [ - "## Emacs" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "14daecd3-2958-4925-bc37-e8748db4937b", - "metadata": {}, - "outputs": [], - "source": [ + "## Emacs\n", + "\n", "Emacs is an extensible, customizable, and self-documenting editor. Emacs opens a GUI to your computer and requires X11 forwarding. Once open, it can be used similar to a normal document including scrolling.\n", "\n", "**NOTE:** `emacs` **does not need to be loaded in your environment to be used. While it will work from the terminal command line, it does not work in the Jupyter environment.**" From efb24bd630bf58624f08256d883c4968a6223eb2 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 14 Oct 2026 15:57:20 -0600 Subject: [PATCH 5/6] Fix an image ref --- notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb b/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb index 62668b2..aaee008 100644 --- a/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb +++ b/notebooks/challenge/clm_ctsm/clm_exercise_4.ipynb @@ -397,7 +397,7 @@ "
\n", "Click here for the solution
\n", "\n", - "![plot example](\"../../../images/challenge/fates_vcmax_diff.png\")\n", + "![plot example](../../../images/challenge/fates_vcmax_diff.png)\n", "\n", "*

Figure: Plotting solution comparing the two FATES simulations.

*\n", " \n", From 3cfc4789461c2ddbb3616bc7668a9d1360b1136c Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 14 Oct 2026 15:58:45 -0600 Subject: [PATCH 6/6] Workflow now fails on warnings. --- .github/workflows/gh-page_builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gh-page_builder.yml b/.github/workflows/gh-page_builder.yml index c95ac35..bdad61e 100644 --- a/.github/workflows/gh-page_builder.yml +++ b/.github/workflows/gh-page_builder.yml @@ -26,7 +26,7 @@ jobs: PATH="${PATH}:${HOME}/.local/bin" - name: Build book HTML run: | - jupyter-book build . + jupyter-book build -W --keep-going . - name: Push _build/html to gh-pages # The below condition allows publication on pushes to main (including PR merges) as well as workflow_dispatch from main. if: github.ref == 'refs/heads/main'