Skip to content

Commit e6156d5

Browse files
committed
Merge tag 'mi_251024b' into update_MARBL_FeForcing
2 parents 2fc3694 + b4d2c82 commit e6156d5

File tree

18 files changed

+813
-136
lines changed

18 files changed

+813
-136
lines changed

.github/workflows/general-ci-tests.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,23 @@ jobs:
9494
- name: Run the check_default_params script
9595
run: python tests/check_default_params.py
9696

97+
# Job to check if duplicate parameters exist in param template files
98+
check_duplicate_params:
99+
100+
runs-on: ubuntu-latest
101+
102+
steps:
103+
# Checkout the repo
104+
- uses: actions/checkout@v4
105+
106+
# Run the test
107+
- name: Run the check_duplicate_params script
108+
run: |
109+
python tests/check_duplicate_params.py param_templates/MOM_input.yaml
110+
python tests/check_duplicate_params.py param_templates/input_data_list.yaml
111+
python tests/check_duplicate_params.py param_templates/input_nml.yaml
112+
python tests/check_duplicate_params.py param_templates/diag_table.yaml
113+
97114
# Job to run check_input_data_list script
98115
check_input_data_list:
99116

@@ -118,10 +135,7 @@ jobs:
118135

119136
# Run the test
120137
- name: Run the check_input_data_repo script
121-
run: |
122-
sudo apt-get update && sudo apt-get install -y subversion
123-
pip install 'svn>=1,<1.1'
124-
python tests/check_input_data_repo.py
138+
run: python tests/check_input_data_repo.py
125139

126140
# Job to run the black formatter for cime_config, see black documentation for more info
127141
check_black_format_for_cime_config:

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
path = MOM6
33
url = https://github.com/NCAR/MOM6.git
44
fxDONOTUSEurl = https://github.com/NCAR/MOM6.git
5-
fxtag = dev/ncar_250428
5+
fxtag = dev/ncar_251024b
66
fxrequired = AlwaysRequired
77

88
[submodule "stochastic_physics"]
99
path = externals/stochastic_physics
1010
url = https://github.com/ESCOMP/stochastic_physics.git
1111
fxDONOTUSEurl = https://github.com/ESCOMP/stochastic_physics.git
12-
fxtag = fcb_0.0.1
12+
fxtag = sp_250827
1313
fxrequired = AlwaysRequired
1414

1515
[submodule "MARBL"]
1616
path = externals/MARBL
1717
url = https://github.com/marbl-ecosys/MARBL.git
1818
fxDONOTUSEurl = https://github.com/marbl-ecosys/MARBL.git
19-
fxtag = marbl0.48.2
19+
fxtag = marbl0.48.3
2020
fxrequired = AlwaysRequired
2121

MOM6

Submodule MOM6 updated 214 files

cime_config/buildnml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import logging
1515
CIMEROOT = os.environ.get("CIMEROOT")
1616
if CIMEROOT is None:
1717
raise SystemExit("ERROR: must set CIMEROOT environment variable")
18-
sys.path.append(os.path.join(CIMEROOT, "scripts", "Tools"))
18+
sys.path.append(os.path.join(CIMEROOT, "CIME", "Tools"))
1919

2020
# The scope of the following path expansion is limited to this script only,
2121
# and is needed to import MOM6 input file classes:
@@ -399,10 +399,13 @@ def prechecks(case, inst_suffixes):
399399
f"Missing rpointer files in rundir. Expected files with pattern {rpointer_pattern}.",
400400
)
401401

402-
# check if the restart file is present in rundir
402+
# check if the restart file is present in rundir for fresh branch or hybrid runs
403403
if run_type in ["branch", "hybrid"] and not continue_run and not get_refcase:
404-
restart_file = os.path.join(rundir, f'./{run_refcase}.mom6.r.{run_refdate}-{run_reftod}.nc')
405-
assert os.path.exists(restart_file), f"Missing restart file {run_refcase}.mom6.r.{run_refdate}-{run_reftod}.nc in rundir."
404+
restart_file_pattern = run_refcase + r".mom6.*.r." + run_refdate + "-" + run_reftod + r".*nc$"
405+
restart_files = [
406+
f for f in os.listdir(rundir) if re.match(restart_file_pattern, f)
407+
]
408+
assert len(restart_files) > 0, f"Missing restart file in rundir. Expected file matching pattern {restart_file_pattern}."
406409

407410
def postchecks(case, MOM_input_final):
408411
"""Performs checks after input files are generated. To be called within prep_input() as a final step."""
@@ -433,7 +436,15 @@ def buildnml(case, caseroot, compname):
433436
# Build the component namelist
434437
if compname != "mom":
435438
raise AttributeError
436-
439+
# add the FMS library to the list of cesm support libraries for the case
440+
# designed to be backward compatible in case cmeps does not define CASE_SUPPORT_LIBRARIES
441+
try:
442+
libs = case.get_values("CASE_SUPPORT_LIBRARIES")
443+
if libs is not None and "FMS" not in libs:
444+
libs.extend(["gptl","pio","csm_share","FMS"])
445+
case.set_value("CASE_SUPPORT_LIBRARIES", ",".join(libs))
446+
except:
447+
pass
437448
ninst = case.get_value("NINST_OCN")
438449
inst_suffixes = (
439450
["_{:04d}".format(i + 1) for i in range(ninst)] if ninst > 1 else [""]
@@ -460,7 +471,7 @@ def buildnml(case, caseroot, compname):
460471
def _main_func():
461472

462473
caseroot = parse_input(sys.argv)
463-
with Case(caseroot) as case:
474+
with Case(caseroot, read_only=False) as case:
464475
buildnml(case, caseroot, "mom")
465476

466477

cime_config/config_archive.xml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
11
<components version="2.0">
22
<comp_archive_spec compname="mom" compclass="ocn">
33
<rest_file_extension>r</rest_file_extension>
4+
<rest_file_extension>r_stoch</rest_file_extension>
45
<!-- match filenames of the form
56
h[.optional stream name][._optional instance number].(date string).nc[.optional tile number] -->
6-
<hist_file_extension>h(\.\w+)?(\._\d*)?\.[-\d+]+\.nc(\.\d*)?$</hist_file_extension>
7+
<hist_file_extension>h(\.\w+)?(\._\d*)?\.[-\d+]+\.nc(\.\d*)?(\.gz)?$</hist_file_extension>
78
<!-- match filenames of the form
89
h.(static|ocean_geometry)[._optional instance number].nc[.optional tile number] -->
9-
<hist_file_extension>h\.(static|ocean_geometry)(\._\d*)?\.nc(\.\d*)?$</hist_file_extension>
10+
<hist_file_extension>h\.(static|ocean_geometry)(\._\d*)?\.nc(\.\d*)?(\.gz)?$</hist_file_extension>
1011
<!-- match filenames of the form
1112
h.bgc.*[._optional instance number].nc -->
12-
<hist_file_extension>h\.bgc\..*?.?[_\d+]+.nc$</hist_file_extension>
13+
<hist_file_extension>h\.bgc\..*(\._\d+)?\.nc$</hist_file_extension>
1314
<!-- match filenames of the form
14-
ic.(date string[_optional id for splitting date over many files)[._optional instance number].nc[.optional tile number] -->
15-
<hist_file_extension>ic.[-\d(_\d)?+]+(\._\d*)?\.nc(\.\d*)?$</hist_file_extension>
16-
<hist_file_ext_regex>\w+\.\w+(\.\w+)?(\._\d*)?</hist_file_ext_regex>
15+
ic.(date string)[._optional instance number].nc[.optional tile number] -->
16+
<hist_file_extension>ic\.[-\d_]+(\._\d*(_\d)?)?\.nc(\.\d*)?$</hist_file_extension>
17+
<hist_file_extension>e</hist_file_extension>
18+
<hist_file_ext_regex>\w+\.\w+(\._\d*)?</hist_file_ext_regex>
1719
<rpointer>
18-
<rpointer_file>rpointer.ocn$NINST_STRING.$DATENAME</rpointer_file>
20+
<rpointer_file>rpointer.ocn$NINST_STRING</rpointer_file>
1921
<rpointer_content>$CASE.mom6$NINST_STRING.r.$DATENAME.nc</rpointer_content>
2022
</rpointer>
2123
<test_file_names>
2224
<tfile disposition="copy">rpointer.ocn.1976-01-01-00000</tfile>
2325
<tfile disposition="copy">casename.mom6.r.1976-01-01-00000.nc</tfile>
2426
<tfile disposition="copy">casename.mom6.r.1976-01-01-00000_1.nc</tfile>
27+
<tfile disposition="copy">casename.mom6.r_stoch.1976-01-01-00000.nc</tfile>
2528
<tfile disposition="move">casename.mom6.h.bgc.native.1976-01-01.nc</tfile>
2629
<tfile disposition="move">casename.mom6.h.bgc.z.1976-01-01.nc</tfile>
2730
<tfile disposition="move">casename.mom6.h.native.1976-01-01-00000.nc</tfile>

cime_config/testdefs/testlist_mom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
<option name="wallclock">01:00:00</option>
9292
</options>
9393
</test>
94-
<test name="SMS_Ld2" grid="ne30pg3_t232" compset="BLT1850">
94+
<test name="SMS_Ld2" grid="ne30pg3_t232" compset="B1850C_LTso">
9595
<machines>
9696
<machine name="derecho" compiler="intel" category="aux_mom"/>
9797
<machine name="derecho" compiler="intel" category="pr_mom"/>

0 commit comments

Comments
 (0)