diff --git a/.github/workflows/fleximod_test.yaml b/.github/workflows/fleximod_test.yaml index 24bcac95d..f18dab136 100644 --- a/.github/workflows/fleximod_test.yaml +++ b/.github/workflows/fleximod_test.yaml @@ -1,8 +1,8 @@ on: push: - branches: [ master ] + branches: [ master, cesm3.0-alphabranch ] pull_request: - branches: [ master ] + branches: [ master, cesm3.0-alphabranch ] jobs: fleximod-test: runs-on: ubuntu-latest @@ -16,7 +16,12 @@ jobs: - id: run-fleximod run: | $GITHUB_WORKSPACE/bin/git-fleximod update - $GITHUB_WORKSPACE/bin/git-fleximod test + echo + echo "Update complete, checking status" + echo + $GITHUB_WORKSPACE/bin/git-fleximod status | tee status.out + grep testfails status.out || exit 0 + exit 1 # - name: Setup tmate session # if: ${{ failure() }} # uses: mxschmitt/action-tmate@v3 diff --git a/.gitmodules b/.gitmodules index 6ef1d2861..731f16de8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,7 +37,7 @@ path = cime url = https://github.com/ESMCI/cime fxDONOTUSEurl = https://github.com/ESMCI/cime - fxtag = cime6.1.25 + fxtag = cime6.1.29 fxrequired = ToplevelRequired [submodule "fms"] @@ -66,7 +66,7 @@ url = https://github.com/ESCOMP/CTSM fxDONOTUSEurl = https://github.com/ESCOMP/CTSM fxrequired = ToplevelRequired - fxtag = ctsm5.2.027 + fxtag = ctsm5.3.002 [submodule "cice"] path = components/cice @@ -80,7 +80,7 @@ url = https://github.com/ESCOMP/MOM_interface fxDONOTUSEurl = https://github.com/ESCOMP/MOM_interface fxrequired = ToplevelRequired - fxtag = mi_240822 + fxtag = mi_240923 [submodule "cism"] path = components/cism @@ -114,7 +114,7 @@ path = components/ww3 url = https://github.com/ESCOMP/WW3_interface fxDONOTUSEurl = https://github.com/ESCOMP/WW3_interface - fxtag = ww3i_0.0.3 + fxtag = main_0.0.14 fxrequired = ToplevelRequired [submodule "mizuroute"] @@ -157,4 +157,4 @@ url = https://github.com/NCAR/CUPiD.git fxDONOTUSEurl = https://github.com/NCAR/CUPiD.git fxrequired = ToplevelRequired - fxtag = v0.1.0 + fxtag = v0.1.1 diff --git a/.lib/git-fleximod/.github/workflows/pytest.yaml b/.lib/git-fleximod/.github/workflows/pytest.yaml index 0868dd9a3..6cb8102b9 100644 --- a/.lib/git-fleximod/.github/workflows/pytest.yaml +++ b/.lib/git-fleximod/.github/workflows/pytest.yaml @@ -18,7 +18,7 @@ jobs: # reference the matrixe python version here. - uses: actions/setup-python@v5 with: - python-version: '3.9' + python-version: '3.12' # Cache the installation of Poetry itself, e.g. the next step. This prevents the workflow # from installing Poetry every time, which can be slow. Note the use of the Poetry version @@ -29,7 +29,7 @@ jobs: uses: actions/cache@v4 with: path: ~/.local - key: poetry-1.7.1 + key: poetry-1.8.2 # Install Poetry. You could do this manually, or there are several actions that do this. # `snok/install-poetry` seems to be minimal yet complete, and really just calls out to @@ -42,7 +42,7 @@ jobs: # cache it. - uses: snok/install-poetry@v1 with: - version: 1.7.1 + version: 1.8.2 virtualenvs-create: true virtualenvs-in-project: true @@ -74,4 +74,7 @@ jobs: git config --global user.name "${GITHUB_ACTOR}" git config --global user.email "${GITHUB_ACTOR_ID}+${GITHUB_ACTOR}@users.noreply.github.com" poetry run pytest + - name: Setup tmate session + if: ${{ failure() }} + uses: mxschmitt/action-tmate@v3 diff --git a/.lib/git-fleximod/git_fleximod/cli.py b/.lib/git-fleximod/git_fleximod/cli.py index 085508390..208bc0468 100644 --- a/.lib/git-fleximod/git_fleximod/cli.py +++ b/.lib/git-fleximod/git_fleximod/cli.py @@ -2,7 +2,7 @@ import argparse from git_fleximod import utils -__version__ = "0.9.0" +__version__ = "0.9.2" def find_root_dir(filename=".gitmodules"): """ finds the highest directory in tree diff --git a/.lib/git-fleximod/git_fleximod/gitinterface.py b/.lib/git-fleximod/git_fleximod/gitinterface.py index f0dc19090..fb20883cd 100644 --- a/.lib/git-fleximod/git_fleximod/gitinterface.py +++ b/.lib/git-fleximod/git_fleximod/gitinterface.py @@ -82,6 +82,8 @@ def config_get_value(self, section, name): def config_set_value(self, section, name, value): if self._use_module: with self.repo.config_writer() as writer: + if "." in section: + section = section.replace("."," \"")+'"' writer.set_value(section, name, value) writer.release() # Ensure changes are saved else: diff --git a/.lib/git-fleximod/git_fleximod/submodule.py b/.lib/git-fleximod/git_fleximod/submodule.py index 30a53f00f..c939d54bc 100644 --- a/.lib/git-fleximod/git_fleximod/submodule.py +++ b/.lib/git-fleximod/git_fleximod/submodule.py @@ -186,7 +186,7 @@ def _add_remote(self, git): return newremote else: i = 0 - while "newremote" in remotes: + while newremote in remotes: i = i + 1 newremote = f"newremote.{i:02d}" else: @@ -303,9 +303,9 @@ def sparse_checkout(self): print(f"Error checking out {self.name:>20} at {self.fxtag}") else: print(f"Successfully checked out {self.name:>20} at {self.fxtag}") - rgit.config_set_value(f'submodule "{self.name}"', "active", "true") - rgit.config_set_value(f'submodule "{self.name}"', "url", self.url) - rgit.config_set_value(f'submodule "{self.name}"', "path", self.path) + rgit.config_set_value('submodule.' + self.name, "active", "true") + rgit.config_set_value('submodule.' + self.name, "url", self.url) + rgit.config_set_value('submodule.' + self.name, "path", self.path) def update(self): """ diff --git a/.lib/git-fleximod/git_fleximod/utils.py b/.lib/git-fleximod/git_fleximod/utils.py index eef15113a..c4f43d523 100644 --- a/.lib/git-fleximod/git_fleximod/utils.py +++ b/.lib/git-fleximod/git_fleximod/utils.py @@ -312,10 +312,7 @@ def execute_subprocess(commands, status_to_caller=False, output_to_caller=False) "returned status {0}".format(error.returncode) ) msg = failed_command_msg(msg_context, commands, output=error.output) - if return_to_caller: - logging.warning(error) - logging.warning(msg) - else: + if not return_to_caller: logging.error(error) logging.error(msg) log_process_output(error.output) diff --git a/.lib/git-fleximod/pyproject.toml b/.lib/git-fleximod/pyproject.toml index ecd1ac0f0..619cdabe3 100644 --- a/.lib/git-fleximod/pyproject.toml +++ b/.lib/git-fleximod/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "git-fleximod" -version = "0.9.0" +version = "0.9.2" description = "Extended support for git-submodule and git-sparse-checkout" authors = ["Jim Edwards "] maintainers = ["Jim Edwards "] diff --git a/.lib/git-fleximod/tbump.toml b/.lib/git-fleximod/tbump.toml index 236c90aad..920ff0591 100644 --- a/.lib/git-fleximod/tbump.toml +++ b/.lib/git-fleximod/tbump.toml @@ -2,7 +2,7 @@ github_url = "https://github.com/jedwards4b/git-fleximod/" [version] -current = "0.9.0" +current = "0.9.2" # Example of a semver regexp. # Make sure this matches current_version before diff --git a/ChangeLog b/ChangeLog index d24c5de49..cecbbc4c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,112 @@ +============================================================== +Tag name: cesm3_0_alpha03d +Originator(s): CSEG +Date: 25th September 2024 +One-line Summary: CLM answer changing tag + +components/cam https://github.com/ESCOMP/CAM/cam6_4_032 -- +components/cice https://github.com/ESCOMP/CESM_CICE/tree/cesm_cice6_5_0_12 ** +cime https://github.com/ESMCI/cime/tree/cime6.1.29 ** +share https://github.com/ESCOMP/CESM_share/tree/share1.1.2 -- +ccs_config https://github.com/ESMCI/ccs_config_cesm/tree/ccs_config_cesm1.0.7 -- +components/cmeps https://github.com/ESCOMP/CMEPS/tree/cmeps1.0.16 -- +components/cdeps https://github.com/ESCOMP/CDEPS/tree/cdeps1.0.53 -- +components/cism https://github.com/ESCOMP/cism-wrapper/tree/cismwrap_2_2_002 -- +components/clm https://github.com/ESCOMP/ctsm/tree/ctsm5.3.002 ** +components/fms https://github.com/ESCOMP/FMS_interface/tree/fi_240822 -- +components/mizuroute https://github.com/ESCOMP/mizuRoute/tree/cesm-coupling.n02_v2.1.3 -- +components/mom https://github.com/ESCOMP/MOM_interface/mi_240923 ** +components/mosart https://github.com/ESCOMP/mosart/tree/mosart1_1_02 -- +components/rtm https://github.com/ESCOMP/rtm/tree/rtm1_0_80 -- +components/ww3 https://github.com/ESCOMP/WW3-CESM/tree/main_0.0.14 ** +libraries/parallelio https://github.com/NCAR/ParallilIO/tree/pio2_6_3 -- +tools/CUPiD https://github.com/NCAR/CUPiD/tree/v0.1.1 ** + +cime + Chris Fischer 2024-09-25 - cime6.1.29 - cime (cesm3_0_alpha03d) + https://github.com/ESMCI/cime/tags/cime6.1.29 + + cime6.1.29: Improve functionality of hidden workflow flag. + cime6.1.28: Avoid breaking Python environment by prepending CIME paths to PYTHONPATH. + cime6.1.27: Mark SETUP as FAIL if case.cmpgen_namelists fails. + cime6.1.26: Make the hidden status of batch jobs xml dependent. + + +clm +Erik Kluzek 2024-09-27 - ctsm5.3.002 - components/clm (cesm3_0_alpha03d) +https://github.com/ESCOMP/ctsm/tags/ctsm5.3.002 + +Duplicate tag of ctsm5.3.001 + + +Erik Kluzek 2024-09-27 - ctsm5.3.001 - components/clm (cesm3_0_alpha03d) +https://github.com/ESCOMP/ctsm/tags/ctsm5.3.001 + +Merge of b4b-dev to master. Some documentation updates. +Some new namelist warnings for hillslope options. + + + Erik Kluzek 2024-09-24 - ctsm5.3.0 - components/clm (cesm3_0_alpha03d) + https://github.com/ESCOMP/ctsm/tags/ctsm5.3.0 + + Minor version update for CTSM: + - New surface datasets NOT backward compatible with ctsm5.2 ones + - New f09 1850 IC file + - New "hand tuned" parameter file + - New Li2024 fire turned on for clm6_0 + - fire emissions factor file update + + + Erik Kluzek 2024-09-05 - ctsm5.2.028 - components/clm (cesm3_0_alpha03d) + https://github.com/ESCOMP/ctsm/tags/ctsm5.2.028 + + FATES update for history flushing + + +CUPiD + Michael Levy 2024-09-16 - v0.1.1 - tools/CUPiD (cesm3_0_alpha03d) + https://github.com/NCAR/CUPiD/tags/v0.1.1 + + Remove manage_externals in favor of git submodules. + Also update the key_metrics example (and clean up documentation) + + +mom + Alper Altuntas 2024-09-23 - mi_240923 - components/mom (cesm3_0_alpha03d) + https://github.com/ESCOMP/MOM_interface/tags/mi_2409?? + + Fix memory leak introduced with MARBL changes. + + + Michael Levy 2024-09-18 - mi_240920 - components/mom (cesm3_0_alpha03d) + https://github.com/ESCOMP/MOM_interface/tags/mi_2409?? + + Update externals: + 1. Latest version of MARBL improves diag_table for fully coupled runs + 2. Created an ESCOMP fork of stochastic_physics + + + Alper Altuntas 2024-09-09 - mi_240909b - components/mom (cesm3_0_alpha03d) + https://github.com/ESCOMP/MOM_interface/tags/mi_240909b + + - MARBL: add STF_SALT_{tracer} diagnostics to diag_table. + - Check if fluxes%salt_flux is associated. + + + Alper Altuntas 2024-08-30 - mi_240909 - components/mom (cesm3_0_alpha03d) + https://github.com/ESCOMP/MOM_interface/tags/mi_2408??c + + - Updates in FPMix and Stokes Most + - Modify NUOPC cap to accept separate glc runoff fluxes + - Re-tuning to bring MOM in line with CESM3 development runs: + + +ww3 + Alper Altuntas 2024-09-09 - main_0.0.14 - components/ww3 (cesm3_0_alpha03d) + https://github.com/ESCOMP/WW3_interface/tags/main_0.0.14 + + Merge latest dev/ufs-weather-model + ============================================================== Tag name: cesm3_0_alpha03c Originator(s): CSEG diff --git a/ccs_config b/ccs_config index e2a542212..e4ac80ef1 160000 --- a/ccs_config +++ b/ccs_config @@ -1 +1 @@ -Subproject commit e2a542212c4a1aff5ac7d55544ecc6eb8c495c93 +Subproject commit e4ac80ef142954e582b4065222145352f22cd3a4 diff --git a/cime b/cime index f89e7a2da..2776043f0 160000 --- a/cime +++ b/cime @@ -1 +1 @@ -Subproject commit f89e7a2dae2af669fd60aead591e17fdc4f5cbf4 +Subproject commit 2776043f0d20d2bc1094afeb48e0cc242b0b0407 diff --git a/cime_config/testlist_allactive.xml b/cime_config/testlist_allactive.xml index 690bc1884..64730ae4d 100644 --- a/cime_config/testlist_allactive.xml +++ b/cime_config/testlist_allactive.xml @@ -8,6 +8,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cime_config/testmods_dirs/allactive/crossleap/include_user_mods b/cime_config/testmods_dirs/allactive/crossleap/include_user_mods new file mode 100644 index 000000000..6d2868784 --- /dev/null +++ b/cime_config/testmods_dirs/allactive/crossleap/include_user_mods @@ -0,0 +1 @@ +../defaultio diff --git a/cime_config/testmods_dirs/allactive/crossleap/shell_commands b/cime_config/testmods_dirs/allactive/crossleap/shell_commands new file mode 100755 index 000000000..800c5fb8e --- /dev/null +++ b/cime_config/testmods_dirs/allactive/crossleap/shell_commands @@ -0,0 +1,2 @@ +./xmlchange RUN_STARTDATE=2004-02-28 +./xmlchange CLM_BLDNML_OPTS=-ignore_warnings --append diff --git a/cime_config/testmods_dirs/allactive/crossleap_gregorian/include_user_mods b/cime_config/testmods_dirs/allactive/crossleap_gregorian/include_user_mods new file mode 100644 index 000000000..ae8286cb1 --- /dev/null +++ b/cime_config/testmods_dirs/allactive/crossleap_gregorian/include_user_mods @@ -0,0 +1 @@ +../crossleap diff --git a/cime_config/testmods_dirs/allactive/crossleap_gregorian/shell_commands b/cime_config/testmods_dirs/allactive/crossleap_gregorian/shell_commands new file mode 100755 index 000000000..8a5681ef9 --- /dev/null +++ b/cime_config/testmods_dirs/allactive/crossleap_gregorian/shell_commands @@ -0,0 +1 @@ +./xmlchange CALENDAR=GREGORIAN diff --git a/cime_config/testmods_dirs/allactive/decstart/include_user_mods b/cime_config/testmods_dirs/allactive/decstart/include_user_mods new file mode 100644 index 000000000..6d2868784 --- /dev/null +++ b/cime_config/testmods_dirs/allactive/decstart/include_user_mods @@ -0,0 +1 @@ +../defaultio diff --git a/cime_config/testmods_dirs/allactive/decstart/shell_commands b/cime_config/testmods_dirs/allactive/decstart/shell_commands new file mode 100755 index 000000000..f3e89bb4f --- /dev/null +++ b/cime_config/testmods_dirs/allactive/decstart/shell_commands @@ -0,0 +1,2 @@ +./xmlchange RUN_STARTDATE=2001-12-30 +./xmlchange CLM_BLDNML_OPTS=-ignore_warnings --append diff --git a/components/cam b/components/cam index 3e9a281e5..98c35fcb0 160000 --- a/components/cam +++ b/components/cam @@ -1 +1 @@ -Subproject commit 3e9a281e580d1c370d09e591ac9e4926c8e7cd48 +Subproject commit 98c35fcb0aa62d4b51ebc437e3d5df185b17e817 diff --git a/components/cdeps b/components/cdeps index 46c10740c..f6bc97483 160000 --- a/components/cdeps +++ b/components/cdeps @@ -1 +1 @@ -Subproject commit 46c10740ce83a154edfc876093f72e7f041c3659 +Subproject commit f6bc97483a1bfb7352c6c5610a13ed898a86990b diff --git a/components/clm b/components/clm index 289913e55..a3459c540 160000 --- a/components/clm +++ b/components/clm @@ -1 +1 @@ -Subproject commit 289913e55b07e99abeef3ee5688981ec6cc5ae28 +Subproject commit a3459c54022057a2d5711c7fffdf5b3524623857 diff --git a/components/cmeps b/components/cmeps index e71a5aa81..5b7d76978 160000 --- a/components/cmeps +++ b/components/cmeps @@ -1 +1 @@ -Subproject commit e71a5aa81e31f2fd996cb79dd3390fdc213f35e8 +Subproject commit 5b7d76978e2fdc661ec2de4ba9834b985decadc6 diff --git a/components/mom b/components/mom index 7cbb891c7..298d20a2a 160000 --- a/components/mom +++ b/components/mom @@ -1 +1 @@ -Subproject commit 7cbb891c7aaffb4f9e806a5fef668bd725d95d3c +Subproject commit 298d20a2a0c952eb185f8641e304028a4a58d5b5 diff --git a/components/ww3 b/components/ww3 index 8a8b45b8c..d16f7c8fd 160000 --- a/components/ww3 +++ b/components/ww3 @@ -1 +1 @@ -Subproject commit 8a8b45b8cb8d9db0e8b60fc917099cc441d180f5 +Subproject commit d16f7c8fdefb51385703f5821942a0c124812323 diff --git a/libraries/FMS b/libraries/FMS index fdfeff74a..2ababb52d 160000 --- a/libraries/FMS +++ b/libraries/FMS @@ -1 +1 @@ -Subproject commit fdfeff74ae7d0147b6499e732a5b0f2c5a39fbc1 +Subproject commit 2ababb52d7f25113d547a03d88ee1c78b14137ec diff --git a/libraries/parallelio b/libraries/parallelio index f52ade075..6539ef05a 160000 --- a/libraries/parallelio +++ b/libraries/parallelio @@ -1 +1 @@ -Subproject commit f52ade075619b32fa141993b5665b0fe099befc2 +Subproject commit 6539ef05ae7584ec570a56fdab9f7dfb336c2b80 diff --git a/tools/CUPiD b/tools/CUPiD index 5c2b957b7..5cad93329 160000 --- a/tools/CUPiD +++ b/tools/CUPiD @@ -1 +1 @@ -Subproject commit 5c2b957b783c2df863817a93abf73786d7acbe3e +Subproject commit 5cad933293165959621ba282a42f3b54945415ea