Skip to content
Merged
Show file tree
Hide file tree
Changes from 78 commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
c66459e
initial commit of a new documentation for the dust emission module by…
dmleung Nov 22, 2025
90a67d5
Adding citations and more changes to the dust emission scheme documen…
dmleung Dec 24, 2025
bb0dec6
adding back two references that were accidentally deleted in order to…
dmleung Dec 24, 2025
2306242
Some cleanup, shortening, and rewriting of the dust doc
dmleung Jan 12, 2026
b05b018
Merge branch 'b4b-dev' into docs-playground
dmleung Jan 12, 2026
892b4f6
make irrigate false a default for fates, restrict irrigate to be true…
mvdebolskiy Mar 12, 2026
7c98116
Merge branch 'b4b-dev' into bug-fix/irrigate-fates
ekluzek Mar 12, 2026
5213525
Make errmsg more useful and shorter
mvdebolskiy Mar 14, 2026
96fd2c9
Merge branch 'bug-fix/irrigate-fates' of https://github.com/mvdebolsk…
mvdebolskiy Mar 14, 2026
0222b89
Merge branch 'b4b-dev' into bug-fix/irrigate-fates
ekluzek Mar 16, 2026
67dcd1d
22 Mar 2026: Added tables for referencing the values of the common co…
dmleung Mar 23, 2026
4952c1e
Merge branch 'b4b-dev' into docs-playground
slevis-lmwg Mar 23, 2026
70aa7e8
Changing one more rho_{a} to rho_{atm}
slevis-lmwg Mar 23, 2026
ef0068c
Merge tag 'ctsm5.4.031' into merge-master-to-b4bdev-20260409
samsrabin Apr 10, 2026
d4f4d6d
Merge pull request #3919 from samsrabin/merge-master-to-b4bdev-20260409
samsrabin Apr 10, 2026
01a515e
revised section 2-15 mizuRoute following to-do-list
nmizukami Apr 11, 2026
58da943
Merge branch 'b4b-dev' into TechNote_mod_2_15_mizuRoute
ekluzek Apr 14, 2026
bf78e58
Merge branch 'b4b-dev' into bug-fix/irrigate-fates
ekluzek Apr 16, 2026
91e69a6
Merge branch 'b4b-dev' into docs-playground
ekluzek Apr 16, 2026
c77fbca
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
fb81fed
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
e7cf4bd
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
4813c7f
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
21b1fce
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
3a4a7b6
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
f5522c5
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
d40391a
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
73862ec
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
d177f61
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
a0e3ec0
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
2b6e6b5
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
2d5d7a2
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
c2b48c4
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
b9a890c
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
5d8cb6b
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
d942e1e
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
3b14379
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
ebf383f
Update doc/source/tech_note/Dust/CLM50_Tech_Note_Dust.rst
ekluzek Apr 16, 2026
5deb17b
Merge pull request #3812 from mvdebolskiy/bug-fix/irrigate-fates
slevis-lmwg Apr 16, 2026
f144fee
Make sure submodules are up to date to cesm3_0_beta08 which they are,…
ekluzek Apr 17, 2026
f2bf380
Merge pull request #3938 from ekluzek/update_submodules_cesm3_0_beta0…
ekluzek Apr 20, 2026
c70649e
added more changes and corrections, changed equation number to alias,…
dmleung Apr 21, 2026
723b3fe
Merge tag 'ctsm5.4.034' into b4b-dev
samsrabin Apr 23, 2026
6871825
TEMPORARY change a word in a .rst file.
samsrabin Apr 23, 2026
153c35b
Docs build workflow: Upload logs on failure.
samsrabin Apr 23, 2026
117b0fe
Add "Post PR comment with doc-build failure log" workflow.
samsrabin Apr 23, 2026
76d0773
Introduce a doc syntax error
samsrabin Apr 23, 2026
7c07a3d
Add trigger for new workflow file.
samsrabin Apr 23, 2026
01f41b7
TEMPORARY remove docs-pr-failure-post-comment.yml
samsrabin Apr 23, 2026
305ff98
Restore docs-pr-failure-post-comment.yml
samsrabin Apr 23, 2026
0b83eea
Fix artifact name in docs-pr-failure-post-comment workflow.
samsrabin Apr 23, 2026
0674495
Skip comment job when triggering docs run did not fail.
samsrabin Apr 23, 2026
ada1f31
Build comment body in a file, post with gh pr comment --body-file.
samsrabin Apr 23, 2026
e3d381e
Download artifact into a named subdirectory.
samsrabin Apr 23, 2026
6183413
Carry PR number through the failure artifact.
samsrabin Apr 23, 2026
6bd4252
Another doc syntax change.
samsrabin Apr 23, 2026
8cf2ae5
Another syntax break
samsrabin Apr 23, 2026
445123c
Capture build_docs output to build-logs/build.log.
samsrabin Apr 23, 2026
381a5e0
Another syntax break
samsrabin Apr 23, 2026
3499995
Propagate build_docs failure through the tee pipe.
samsrabin Apr 23, 2026
cc38361
Preserve stdout/stderr ordering in captured build log.
samsrabin Apr 23, 2026
2bb249d
Suppress ANSI color codes in captured build log.
samsrabin Apr 23, 2026
2d2ca02
Add some workflow comments.
samsrabin Apr 23, 2026
a967527
Strip ANSI color codes in the PR-comment log only.
samsrabin Apr 23, 2026
788dcc0
Fix doc syntax
samsrabin Apr 23, 2026
2e5b10b
Slightly change auto comment.
samsrabin Apr 23, 2026
bf870bb
Render build-log details as expanded by default.
samsrabin Apr 23, 2026
aad851a
Fix doc syntax
samsrabin Apr 23, 2026
5ce1eff
Add missing EOF newline
samsrabin Apr 23, 2026
1fbe07c
Revert another docs test change.
samsrabin Apr 23, 2026
b081ad6
Merge pull request #3955 from samsrabin/comment-on-docs-test-fail
samsrabin Apr 24, 2026
7c661da
Merge branch 'b4b-dev' into TechNote_mod_2_15_mizuRoute
ekluzek Apr 24, 2026
187ea33
Apply suggestion from @ekluzek
ekluzek Apr 24, 2026
202cfec
Merge pull request #3925 from nmizukami/TechNote_mod_2_15_mizuRoute
ekluzek Apr 24, 2026
6a98966
Merge branch 'b4b-dev' into docs-playground
ekluzek Apr 24, 2026
23cdb03
Merge pull request #3624 from dmleung/docs-playground
ekluzek Apr 24, 2026
b6ebc3a
Merge tag 'ctsm5.4.034' into merge-b4bdev-20260424
ekluzek Apr 24, 2026
4976961
Merge remote-tracking branch 'escomp/b4b-dev' into merge-b4bdev-20260424
ekluzek Apr 24, 2026
e7c279c
Update change files
ekluzek Apr 24, 2026
cf578e9
Move the Contributors section to the user part rather than the develo…
ekluzek Apr 24, 2026
aad5efc
Correct the test number and add a fail test for FATES with irrigate
ekluzek Apr 25, 2026
67cd7bf
Final update of change files
ekluzek Apr 27, 2026
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
66 changes: 66 additions & 0 deletions .github/workflows/docs-pr-failure-post-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Post PR comment with doc-build failure log

env:
DOCS_FAILURE_ARTIFACT: test-build-docs-container_failed

on:
workflow_run:
workflows: ["Test building docs when they're updated"]
types: [completed]

jobs:
comment:
if: >-
github.event.workflow_run.event == 'pull_request'
&& github.event.workflow_run.conclusion == 'failure'
runs-on: ubuntu-latest
permissions:
pull-requests: write
actions: read
steps:
- name: Check for failure artifact
id: check
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
run: |
gh api repos/$REPO/actions/runs/${{ github.event.workflow_run.id }}/artifacts \
--jq '.artifacts[] | select(.name == "${{ env.DOCS_FAILURE_ARTIFACT }}") | .id' > artifact_id.txt

if [ -s artifact_id.txt ]; then
echo "found=true" >> $GITHUB_OUTPUT
else
echo "found=false" >> $GITHUB_OUTPUT
fi

- name: Download logs
if: steps.check.outputs.found == 'true'
uses: actions/download-artifact@v4
with:
name: ${{ env.DOCS_FAILURE_ARTIFACT }}
path: ${{ env.DOCS_FAILURE_ARTIFACT }}
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}

- name: Post comment
if: steps.check.outputs.found == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
run: |
PR_NUMBER=$(cat "${DOCS_FAILURE_ARTIFACT}/pr_number.txt")

{
echo "### ❌ Docs build failed"
echo
echo '<details open="true">'
echo "<summary>Build logs</summary>"
echo
echo '```'
cat "${DOCS_FAILURE_ARTIFACT}/build.log"
echo '```'
echo
echo "</details>"
} > comment-body.md

gh pr comment "$PR_NUMBER" --repo "$REPO" --body-file comment-body.md
22 changes: 21 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,24 @@ jobs:
- name: Build docs using Docker (Podman has trouble on GitHub runners)
id: build-docs
run: |
cd doc && ./build_docs -b ${PWD}/_build -c -d
set -o pipefail
mkdir -p build-logs
cd doc && PYTHONUNBUFFERED=1 ./build_docs -b ${PWD}/_build -c -d 2>&1 | tee >(sed -E $'s/\x1b\\[[0-9;]*[a-zA-Z]//g' > "${GITHUB_WORKSPACE}/build-logs/build.log")
# The tee writes build.log for the PR comment (posted by docs-pr-failure-post-comment.yml); the inner sed strips ANSI color codes that would otherwise render as garbage in the comment.
# PYTHONUNBUFFERED=1 because otherwise the teed log will be out of order

# The rest of the steps only trigger on failure of above build-docs step.
# They upload logs that will be used by the docs-pr-failure-post-comment.yml workflow.

- name: Record PR number on failure
if: failure() && steps.build-docs.outcome == 'failure' && github.event_name == 'pull_request'
run: |
mkdir -p build-logs
echo "${{ github.event.pull_request.number }}" > build-logs/pr_number.txt

- name: Upload logs on failure
if: failure() && steps.build-docs.outcome == 'failure'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-build-docs-container_failed
path: build-logs/
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -68,23 +68,23 @@ fxDONOTUSEurl = https://github.com/ESCOMP/mizuRoute
[submodule "ccs_config"]
path = ccs_config
url = https://github.com/ESMCI/ccs_config_cesm.git
fxtag = ccs_config_cesm1.0.79
fxtag = ccs_config_cesm1.0.83
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git

[submodule "cime"]
path = cime
url = https://github.com/ESMCI/cime
fxtag = cime6.1.169
fxtag = cime6.1.176
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESMCI/cime

[submodule "cmeps"]
path = components/cmeps
url = https://github.com/ESCOMP/CMEPS.git
fxtag = cmeps1.1.37
fxtag = cmeps1.1.44
fxrequired = ToplevelRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git
Expand Down
5 changes: 4 additions & 1 deletion bld/CLMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -2083,13 +2083,16 @@ sub setup_logic_irrigate {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;

add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'irrigate',
'use_crop'=>$nl_flags->{'use_crop'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
'use_crop'=>$nl_flags->{'use_crop'}, 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'},
'sim_year'=>$nl_flags->{'sim_year'}, 'sim_year_range'=>$nl_flags->{'sim_year_range'}, );
if ( &value_is_true($nl->get_value('irrigate') ) ) {
$nl_flags->{'irrigate'} = ".true.";
if ( $nl_flags->{'sim_year'} eq "PtVg" ) {
$log->fatal_error("irrigate=TRUE does NOT make sense with the Potential Vegetation dataset, leave irrigate=FALSE");
}
if (&value_is_true($nl_flags->{'use_fates'})) {
$log->fatal_error("irrigate=TRUE is NOT possible with use_fates=TRUE, leave irrigate=FALSE");
}
} else {
$nl_flags->{'irrigate'} = ".false.";
}
Expand Down
9 changes: 5 additions & 4 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -200,10 +200,11 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<stream_model_year_align_atm_c13 sim_year_range="1850-2000" >1700</stream_model_year_align_atm_c13>

<!-- Irrigation default (Note, the use-cases also set this) -->
<irrigate >.false.</irrigate>
<irrigate use_cndv=".false." sim_year_range="1850-2100">.true.</irrigate>
<irrigate phys="clm6_0" use_cndv=".false." sim_year_range="1850-2000">.true.</irrigate>
<irrigate phys="clm4_5" use_cndv=".false." sim_year_range="1850-2100">.false.</irrigate>
<irrigate >.false.</irrigate>
<irrigate use_fates=".true." >.false.</irrigate>
<irrigate use_cndv=".false." sim_year_range="1850-2100" use_fates=".false." >.true.</irrigate>
<irrigate phys="clm6_0" use_cndv=".false." sim_year_range="1850-2000" use_fates=".false." >.true.</irrigate>
<irrigate phys="clm4_5" use_cndv=".false." sim_year_range="1850-2100" >.false.</irrigate>

<!-- Saturation excess runoff for crops -->
<crop_fsat_equals_zero>.false.</crop_fsat_equals_zero>
Expand Down
2 changes: 1 addition & 1 deletion components/cmeps
Submodule cmeps updated 40 files
+2 −2 cime_config/buildexe
+1 −0 med_test_comps/xatm/cime_config/buildlib
+32 −0 med_test_comps/xatm/cime_config/buildnml
+25 −0 med_test_comps/xatm/cime_config/config_component.xml
+529 −0 med_test_comps/xatm/src/atm_comp_nuopc.F90
+1 −0 med_test_comps/xglc/cime_config/buildlib
+32 −0 med_test_comps/xglc/cime_config/buildnml
+26 −0 med_test_comps/xglc/cime_config/config_component.xml
+457 −0 med_test_comps/xglc/src/glc_comp_nuopc.F90
+1 −0 med_test_comps/xice/cime_config/buildlib
+32 −0 med_test_comps/xice/cime_config/buildnml
+26 −0 med_test_comps/xice/cime_config/config_component.xml
+552 −0 med_test_comps/xice/src/ice_comp_nuopc.F90
+1 −0 med_test_comps/xlnd/cime_config/buildlib
+32 −0 med_test_comps/xlnd/cime_config/buildnml
+26 −0 med_test_comps/xlnd/cime_config/config_component.xml
+564 −0 med_test_comps/xlnd/src/lnd_comp_nuopc.F90
+1 −0 med_test_comps/xocn/cime_config/buildlib
+32 −0 med_test_comps/xocn/cime_config/buildnml
+27 −0 med_test_comps/xocn/cime_config/config_component.xml
+475 −0 med_test_comps/xocn/src/ocn_comp_nuopc.F90
+1 −0 med_test_comps/xrof/cime_config/buildlib
+32 −0 med_test_comps/xrof/cime_config/buildnml
+39 −0 med_test_comps/xrof/cime_config/config_component.xml
+473 −0 med_test_comps/xrof/src/rof_comp_nuopc.F90
+39 −0 med_test_comps/xshare/cime_config/buildlib
+853 −0 med_test_comps/xshare/dead_methods_mod.F90
+346 −0 med_test_comps/xshare/dead_nuopc_mod.F90
+1 −0 med_test_comps/xwav/cime_config/buildlib
+32 −0 med_test_comps/xwav/cime_config/buildnml
+26 −0 med_test_comps/xwav/cime_config/config_component.xml
+465 −0 med_test_comps/xwav/src/wav_comp_nuopc.F90
+0 −2 mediator/esmFldsExchange_cesm_mod.F90
+154 −20 mediator/med_io_mod.F90
+51 −19 mediator/med_map_mod.F90
+289 −44 mediator/med_methods_mod.F90
+1 −1 mediator/med_phases_history_mod.F90
+21 −8 mediator/med_phases_post_rof_mod.F90
+68 −51 mediator/med_phases_prep_glc_mod.F90
+2 −2 mediator/med_phases_restart_mod.F90
Loading
Loading