Skip to content
Merged
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
34ab9ff
Add init_interp_fill_missing_urban_with_HD to namelist definition
olyson May 14, 2025
4a58c4a
Revert this change and put it in after adding new tests
olyson May 15, 2025
5afe7a4
Add urban namelist and urban landunit variables for interpolation
olyson May 21, 2025
1c02054
Split interplation into urban and non-urban quantities
olyson May 21, 2025
782d2c6
Add new urban variables to handle new tests
olyson May 21, 2025
214828a
Add init_interp_fill_missing_urban_with_HD to namelist
olyson May 21, 2025
1cb2e18
Add three new tests
olyson May 21, 2025
6dba82c
Ensure urban input pft and column type matches the output pft and col…
olyson May 28, 2025
8ef1473
Update comment
olyson May 28, 2025
2d9fc26
Add system test
olyson May 28, 2025
35cd9e6
Python: Avoid non-portable os.mknod().
samsrabin Jun 6, 2025
4ccfca9
Avoid Python test errors on systems without default clmforcingindir.
samsrabin Jun 6, 2025
4ede239
Use pathlib.Path.touch() instead of os.system("touch").
samsrabin Jun 6, 2025
51948b5
Move test_derecho_mpirun to its own system testing file.
samsrabin Jun 6, 2025
9c4aa34
Add GitHub workflow to run Python unit tests.
samsrabin Jun 6, 2025
ac3b0a5
Move Python lint/black check into python-tests.yml.
samsrabin Jun 6, 2025
be12355
tips-for-working-with-rst.md: Add common errors, cheatsheet links.
samsrabin Jun 9, 2025
c24e389
Fix an anchor.
samsrabin Jun 9, 2025
e92327a
tips-for-working-with-rst.md: Add table of contents.
samsrabin Jun 9, 2025
d5b929e
tips-for-working-with-rst.md: Fix a section header.
samsrabin Jun 9, 2025
390adab
tips-for-working-with-rst.md: Location of backtick key
samsrabin Jun 9, 2025
d508571
Merge remote-tracking branch 'escomp/b4b-dev' into python-test-portab…
samsrabin Jun 10, 2025
2222385
Docs docs: Move some errors into error section.
samsrabin Jun 10, 2025
2339b36
add notes to specify snow/ice units are liquid water equivalent
sy-li Jun 10, 2025
da6be48
Changes in response to review.
olyson Jun 11, 2025
d4cfbc4
Add _aborts to testname
olyson Jun 11, 2025
cf14faa
single_point_case.py: Change a print() to logger.info().
samsrabin Jun 25, 2025
bc2a04c
Add subset_data tests of output filenames w/o site name. Failing.
samsrabin Jun 25, 2025
511b484
Fix conversions of Longitude to str.
samsrabin Jun 25, 2025
8050c3b
subset_data: Fix argument in an instruction.
samsrabin Jun 25, 2025
aca0a5d
test_sys_subset_data.py: Check that create_newcase works.
samsrabin Jun 25, 2025
8460949
Reformat with black.
samsrabin Jun 25, 2025
4b50783
Add previous commit to .git-blame-ignore-revs.
samsrabin Jun 25, 2025
21eb393
Merge tag 'ctsm5.3.061' into merge-master-20250626
slevis-lmwg Jun 26, 2025
1f80940
Merge pull request #3288 from slevis-lmwg/merge-master-20250626
slevis-lmwg Jun 26, 2025
877d4fd
Merge branch 'b4b-dev' into more-subset-data-lon-fixes
samsrabin Jun 26, 2025
a976348
unit_testing.py: Simplify add_args().
samsrabin Jun 26, 2025
71cb2d1
unit_testing.py: Rename add_args() to add_machine_node_args().
samsrabin Jun 26, 2025
bd695ac
Merge branch 'b4b-dev' into python-test-portability
samsrabin Jun 26, 2025
c1c9a3d
Merge pull request #3238 from samsrabin/python-test-portability
samsrabin Jun 27, 2025
319ea5a
Merge branch 'b4b-dev' into more-subset-data-lon-fixes
samsrabin Jun 27, 2025
8026b9d
Merge pull request #3286 from samsrabin/more-subset-data-lon-fixes
samsrabin Jun 27, 2025
e9ecc53
Merge pull request #3247 from sy-li/docs-playground
samsrabin Jun 28, 2025
5df8e8f
Change "say" to "think".
samsrabin Jul 7, 2025
64ec968
Add XS, S, M, L, and XL pe layouts for ne120
ekluzek Jul 8, 2025
83a627c
Make new derecho ne120 layouts concurrent with DATM on one node
ekluzek Jul 9, 2025
dd4a93e
Add pelayouts of various sizes for mpasa15
ekluzek Jul 9, 2025
b3d9bf1
Add tests for the new testlist decomp_init
ekluzek Jul 9, 2025
f4d5295
Make ROF same frequency as ATM which is needed for higher resolutions…
ekluzek Jul 9, 2025
ed4f426
Add failing test to expected fails
ekluzek Jul 9, 2025
96d44ea
Fix string replacements in lreprstruct test
billsacks Jul 9, 2025
e93ebff
Turn off a bunch of things to make it run faster
ekluzek Jul 9, 2025
e303ea2
Add some additional timers around decomp level activity
ekluzek Jun 26, 2025
7774316
Merge pull request #3315 from ekluzek/add_decompinit_testlist
ekluzek Jul 9, 2025
92d2a5c
Merge pull request #3314 from billsacks/fix_lreprstruct_grain_replace…
ekluzek Jul 9, 2025
e920fc2
Merge branch 'b4b-dev' into b4b-dev_init_interp_urb
ekluzek Jul 10, 2025
b6bd8f6
Use double dashes for append
ekluzek Jul 10, 2025
c6392dc
Fix typo in xmlchange
ekluzek Jul 10, 2025
e4e72f2
Add new system test to aux_clm for testing missing urban fill
ekluzek Jul 10, 2025
9103603
Update paths to ones in svn inputdata
ekluzek Jul 10, 2025
ad64068
Merge pull request #3132 from olyson/b4b-dev_init_interp_urb
ekluzek Jul 10, 2025
4b058a3
Merge branch 'b4b-dev' into add-rst-tips
samsrabin Jul 10, 2025
7e52c96
Merge pull request #3240 from samsrabin/add-rst-tips
samsrabin Jul 10, 2025
d894f78
Merge tag 'ctsm5.3.062' into b4b-dev-merge-20250710
samsrabin Jul 10, 2025
4d8d2f3
Update ChangeLog/Sum.
samsrabin Jul 10, 2025
0f7c453
Add my affiliation in ChangeLog.
samsrabin Jul 10, 2025
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
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,4 @@ cdf40d265cc82775607a1bf25f5f527bacc97405
742cfa606039ab89602fde5fef46458516f56fd4
4ad46f46de7dde753b4653c15f05326f55116b73
75db098206b064b8b7b2a0604d3f0bf8fdb950cc
84609494b54ea9732f64add43b2f1dd035632b4c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Check Python formatting
name: Run Python tests

on:
push:
Expand All @@ -18,7 +18,27 @@ on:
- 'cime_config/buildnml/**'

jobs:
lint-and-format-check:
python-unit-tests:
runs-on: ubuntu-latest
steps:
# Checkout the code
- uses: actions/checkout@v4

# Set up the conda environment
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: ctsm_pylib
environment-file: python/conda_env_ctsm_py.yml
channels: conda-forge
auto-activate-base: false

# Run Python unit tests check
- name: Run Python unit tests
run: |
cd python
conda run -n ctsm_pylib ./run_ctsm_py_tests -u

python-lint-and-black:
runs-on: ubuntu-latest
steps:
# Checkout the code
Expand Down
10 changes: 9 additions & 1 deletion bld/namelist_files/namelist_definition_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3012,7 +3012,7 @@ snow melt of Brock et al. (2006)
group="clm_initinterp_inparm" valid_values="" >
If FALSE (which is the default): If an output type cannot be found in the input for initInterp,
code aborts
If TRUE: If an output type cannot be found in the input, fill with closest natural veg column
If TRUE: If a non-urban output type cannot be found in the input, fill with closest natural veg column
(using bare soil for patch-level variables)

NOTE: Natural vegetation and crop landunits always behave as if this were true. e.g., if
Expand All @@ -3021,6 +3021,14 @@ always fill with the closest natural veg patch / column, regardless of the value
flag. So interpolation from non-crop to crop cases can be done without setting this flag.
</entry>

<entry id="init_interp_fill_missing_urban_with_HD" type="logical" category="datasets"
group="clm_initinterp_inparm" valid_values="" >
If FALSE (which is the default): If an urban output type cannot be found in the input for initInterp,
code aborts
If TRUE: If an urban output type cannot be found in the input, fill with closest urban high density
(HD) landunit
</entry>

<entry id="init_interp_method" type="char*64" category="datasets"
group="clm_initinterp_inparm"
valid_values="general,use_finidat_areas" >
Expand Down
13 changes: 9 additions & 4 deletions cime_config/SystemTests/lreprstruct.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
"""

import re

from CIME.SystemTests.system_tests_compare_two import SystemTestsCompareTwo
from CIME.XML.standard_module_setup import *
from CIME.SystemTests.test_utils.user_nl_utils import append_to_user_nl_files
Expand Down Expand Up @@ -53,13 +55,16 @@ def _case_one_setup(self):
user_nl_clm_path = os.path.join(self._get_caseroot(), "user_nl_clm")
with open(user_nl_clm_path) as f:
user_nl_clm_text = f.read()
for grain_output in re.findall("GRAIN\w*", user_nl_clm_text):
user_nl_clm_text = user_nl_clm_text.replace(
grain_output,

def replace_grain(match):
grain_output = match.group()
return (
grain_output.replace("GRAIN", "REPRODUCTIVE1")
+ "', '"
+ grain_output.replace("GRAIN", "REPRODUCTIVE2"),
+ grain_output.replace("GRAIN", "REPRODUCTIVE2")
)

user_nl_clm_text = re.sub(r"GRAIN\w*", replace_grain, user_nl_clm_text)
with open(user_nl_clm_path, "w") as f:
f.write(user_nl_clm_text)

Expand Down
5 changes: 3 additions & 2 deletions cime_config/SystemTests/sspmatrixcn.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"""

import shutil, glob, os, sys
from pathlib import Path
from datetime import datetime

if __name__ == "__main__":
Expand Down Expand Up @@ -205,9 +206,9 @@ def run_indv(self, nstep, st_archive=True):
restdir = os.path.join(rest_r, rundate)
os.mkdir(restdir)
rpoint = os.path.join(restdir, "rpointer.clm." + rundate)
os.mknod(rpoint)
Path.touch(rpoint)
rpoint = os.path.join(restdir, "rpointer.cpl." + rundate)
os.mknod(rpoint)
Path.touch(rpoint)

def run_phase(self):
"Run phase"
Expand Down
Loading
Loading