Skip to content

Commit

Permalink
Merge tag 'ctsm5.1.dev169' into masterdoc
Browse files Browse the repository at this point in the history
Merge pull request ESCOMP#2382 from samsrabin/merge-b4bdev-20240222

Brings in 3 PRs from b4b-dev to master:
- Do not crash "make all" even if pylint isn't clean (ESCOMP#2353; Sam Rabin)
- Resolve pylint issues (ESCOMP#2354; Sam Rabin)
- Move FSURDATMODIFYCTSM test to Derecho (ESCOMP#2364; Sam Rabin)
  • Loading branch information
olyson committed Feb 28, 2024
2 parents 05c069c + 4ba1501 commit 0873db5
Show file tree
Hide file tree
Showing 38 changed files with 4,702 additions and 3,102 deletions.
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ e4d38681df23ccca0ae29581a45f8362574e0630
025d5e7c2e80263717fb029101d65cbbf261c3c4
a9d96219902cf609636886c7073a84407f450d9a
d866510188d26d51bcd6d37239283db690af7e82
0dcd0a3c1abcaffe5529f8d79a6bc34734b195c7
# Ran SystemTests and python/ctsm through black python formatter
5364ad66eaceb55dde2d3d598fe4ce37ac83a93c
8056ae649c1b37f5e10aaaac79005d6e3a8b2380
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/assign-to-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Auto Assign to Project(s)

on:
issues:
types: [opened, labeled]
pull_request:
types: [opened, labeled]
issue_comment:
types: [created]

jobs:
assign_high_priority:
runs-on: ubuntu-latest
name: Assign to High Priority project
steps:
- name: Assign issues and pull requests with priority-high label to project 25
uses: srggrs/assign-one-project-github-action@1.3.1
if: |
contains(github.event.issue.labels.*.name, 'priority: high') ||
contains(github.event.pull_request.labels.*.name, 'priority: high')
with:
project: 'https://github.com/ESCOMP/CTSM/projects/25'
column_name: 'Needs triage'
6 changes: 3 additions & 3 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -484,9 +484,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<!-- The default filenames are given relative to the root directory
for the CLM2 data in the CESM distribution -->
<!-- Plant function types (relative to {csmdata}) -->
<paramfile phys="clm5_1" >lnd/clm2/paramdata/ctsm51_params.c240105.nc</paramfile>
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c240105.nc</paramfile>
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c240105.nc</paramfile>
<paramfile phys="clm5_1" >lnd/clm2/paramdata/ctsm51_params.c240207b.nc</paramfile>
<paramfile phys="clm5_0" >lnd/clm2/paramdata/clm50_params.c240207b.nc</paramfile>
<paramfile phys="clm4_5" >lnd/clm2/paramdata/clm45_params.c240207b.nc</paramfile>

<!-- ================================================================== -->
<!-- FATES default parameter file -->
Expand Down
5 changes: 3 additions & 2 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3308,8 +3308,8 @@

<test name="FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1" grid="5x5_amazon" compset="I2000Clm50SpRs">
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm"/>
<machine name="cheyenne" compiler="intel" category="clm_pymods"/>
<machine name="derecho" compiler="gnu" category="aux_clm"/>
<machine name="derecho" compiler="gnu" category="clm_pymods"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
Expand Down Expand Up @@ -3433,6 +3433,7 @@
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm"/>
<machine name="derecho" compiler="intel" category="aux_clm"/>
<machine name="izumi" compiler="intel" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">00:30:00</option>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm51_ciso_cwd_hr_params.c240105.nc'
paramfile = '$DIN_LOC_ROOT/lnd/clm2/paramdata/ctsm51_ciso_cwd_hr_params.c240207b.nc'
hist_fincl1 = 'CWDC_HR','C13_CWDC_HR','C14_CWDC_HR','CWD_HR_L2','CWD_HR_L2_vr','CWD_HR_L3','CWD_HR_L3_vr'
286 changes: 286 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,290 @@
===============================================================
Tag name: ctsm5.1.dev169
Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu)
Date: Thu 22 Feb 2024 09:42:57 AM MST
One-line Summary: Merge b4b-dev

Purpose and description of changes
----------------------------------

Brings in 3 PRs from b4b-dev to master:
- Do not crash "make all" even if pylint isn't clean (ESCOMP/CTSM#2353; Sam Rabin)
- Resolve pylint issues (ESCOMP/CTSM#2354; Sam Rabin)
- Move FSURDATMODIFYCTSM test to Derecho (ESCOMP/CTSM#2364; Sam Rabin)

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------

CTSM issues fixed:
- Fixes ESCOMP/CTSM#2255: make lint is not clean in ctsm5.1.dev152
- Fixes ESCOMP/CTSM#2316: "make all" doesn't run black if lint fails
- FIXES ESCOMP/CTSM#2362: FSURDATMODIFYCTSM test should be moved to Derecho or Izumi


Notes of particular relevance for developers:
---------------------------------------------

Changes to tests or testing:
- FSURDATMODIFYCTSM test changed from derecho_intel (didn't work in debug mode) to derecho_gnu. I.e., from
FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1.5x5_amazon.I2000Clm50SpRs.derecho_intel
to
FSURDATMODIFYCTSM_D_Mmpi-serial_Ld1.5x5_amazon.I2000Clm50SpRs.derecho_gnu


Testing summary:
----------------

[PASS means all tests PASS; OK means tests PASS other than expected fails.]

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK

any other testing (give details below):
- "make all" in python/ is clean.


Other details
-------------

Pull Requests that document the changes (include PR ids):
- ESCOMP/CTSM#2353: Do not crash "make all" even if pylint isn't clean (https://github.com/ESCOMP/CTSM/pull/2353)
- ESCOMP/CTSM#2354: Resolve pylint issues (https://github.com/ESCOMP/CTSM/pull/2354)
- ESCOMP/CTSM#2364: Move FSURDATMODIFYCTSM test to Derecho (https://github.com/ESCOMP/CTSM/pull/2364)

===============================================================
===============================================================
Tag name: ctsm5.1.dev168
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
Date: Fri 16 Feb 2024 01:27:41 PM MST
One-line Summary: Remove a source of negative snocan in CanopyFluxesMod

Purpose and description of changes
----------------------------------

In ctsm5.2 testing, this test
LWISO_Ld10.f10_f10_mg37.I2000Clm50BgcCrop.derecho_gnu.clm-coldStart
complained of a tiny negative ice1_grc tracer not matching the bulk
value. My troubleshooting led me to more than tiny negative snocan
originating in a line of code that this PR now changes to prevent
negative values.

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[Put an [X] in the box for any configuration with significant answer changes.]

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------
CTSM issues fixed (include CTSM Issue #):
Fixes #2366

Notes of particular relevance for developers:
---------------------------------------------
Caveats for developers (e.g., code that is duplicated that requires double maintenance):
It was suggested at the ctsm software meeting yesterday that, in addition to
including "max(0._r8," in this line of code, that I reorder the code
by bringing "liqcan(p) =" before "snocan(p) =". I have decided against this
because the existing order repeats in a following paragraph of code right
after this one. It's likely that the group's suggestion would have worked, but
I did not want to delay this PR for a longer evaluation because CTSM5.2 is
waiting for this merge, in order to proceed with next steps.


Testing summary:
----------------

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK


Answer changes
--------------

Changes answers relative to baseline: YES

Summarize any changes to answers, i.e.,
- what code configurations: all
- what platforms/compilers: all
- nature of change: roundoff
A short test, e.g.
SMS_Ln9.ne30pg2_ne30pg2_mg17.I1850Clm50Sp.derecho_intel.clm-clm50cam6LndTuningMode
has these maximum differences:
RMS H2OCAN 4.7359E-19 NORMALIZED 4.0163E-18
RMS SNOCAN 4.4873E-19 NORMALIZED 9.1036E-18
while the differences grow in longer tests.

Other details
-------------
Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/ctsm/pull/2371

===============================================================
===============================================================
Tag name: ctsm5.1.dev167
Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu)
Date: Thu 08 Feb 2024 01:56:05 PM MST
One-line Summary: Delete _FillValue and history from parameter files

Purpose and description of changes
----------------------------------

Updates parameter files to c240207b. These are the same as c240105 except:
- Attribute _FillValue has been removed from all variables
- Global attributes history, history_of_appended_files, and latest_git_log have been removed


Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------

CTSM issues fixed (include CTSM Issue #):
- Fixes #2347


Testing summary:
----------------

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK


Other details
-------------

Pull Requests that document the changes (include PR ids):
- #2350: Delete _FillValue and history from parameter files (https://github.com/ESCOMP/CTSM/pull/2350)

===============================================================
===============================================================
Tag name: ctsm5.1.dev166
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310), tking (Teagan King), samrabin (Sam Rabin)
Date: Wed 24 Jan 2024 05:39:41 PM MST
One-line Summary: BFB merge tag

Purpose and description of changes
----------------------------------

#2315 @TeaganKing Refactoring run_neon for PLUMBER2 part1
#2213 @samsrabin Automatically assign high priority items to project 25
#2330 @samsrabin Add Izumi version of the aux_clm unit testing
#2326 @samsrabin run_sys_tests: Check Python environment for FatesColdTwoStream tests

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[Put an [X] in the box for any configuration with significant answer changes.]

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------

CTSM issues fixed (include CTSM Issue #):
Fixes #2315
Fixes #2213
Fixes #2330
Fixes #2326

Known bugs introduced in this tag (include issue #):
- New feature coming in with #2213 where user will receive email from
github when pushing to their remote:
"Run failed: .github/workflows/assign-to-project.yml"
- New feature that also affects older tags: The izumi FatesColdTwoStream
test submitted from ./run_sys_tests will fail at CREATE_NEWCASE unless users
introduce "module load lang/python/3.7.0" in their .bash_profile.
Longterm solution discussed in #2335. The test also works when submitted
manually with ./create_test.

Notes of particular relevance for developers:
---------------------------------------------
Changes to tests or testing:
#2315 New unit tests for arg_parse and NeonSite
#2330 New test in aux_clm that does unit testing on izumi because unit
testing does not work on derecho, yet

Testing summary:
----------------

[PASS means all tests PASS; OK means tests PASS other than expected fails.]

python testing (if python code has changed; see instructions in python/README.md; document testing done):

derecho - OK, pylint gives long list of warnings (expected)

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK


Answer changes
--------------
Changes answers relative to baseline: No

Other details
-------------
Pull Requests that document the changes (include PR ids):
https://github.com/ESCOMP/ctsm/pull/2334

===============================================================
===============================================================
Tag name: ctsm5.1.dev165
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310), oleson (Keith Oleson), samrabin (Sam Rabin)
Date: Fri 19 Jan 2024 06:40:36 PM MST
Expand Down
4 changes: 4 additions & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.1.dev169 samrabin 02/22/2024 Merge b4b-dev
ctsm5.1.dev168 slevis 02/16/2024 Remove a source of negative snocan in CanopyFluxesMod
ctsm5.1.dev167 samrabin 02/08/2024 Delete _FillValue and history from parameter files
ctsm5.1.dev166 multiple 01/24/2024 BFB merge tag
ctsm5.1.dev165 slevis 01/19/2024 Turn Meier2022, tillage, residue removal on for ctsm5.1, fix #2212
ctsm5.1.dev164 rgknox 01/17/2024 Compatibility and tests for FATES 2-Stream
ctsm5.1.dev163 samrabin 01/10/2024 Add tillage and residue removal
Expand Down
4 changes: 2 additions & 2 deletions python/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ ifneq ($(verbose), not-set)
endif

PYLINT=pylint
PYLINT_ARGS=-j 4 --rcfile=ctsm/.pylintrc
PYLINT_ARGS=-j 4 --rcfile=ctsm/.pylintrc --fail-under=0
PYLINT_SRC = \
ctsm
# NOTE: These don't pass pylint checking and should be added when we put into effort to get them to pass
# ../cime_config/SystemTests \
# ../cime_config/buildlib \
# ../cime_config/buildnml

all: test lint black
all: test black lint
@echo
@echo
@echo "Successfully ran all standard tests"
Expand Down
5 changes: 4 additions & 1 deletion python/ctsm/.pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,10 @@ good-names=i,
_,
# --- default list is above here, our own list is below here ---
# Allow logger as a global name in each module, because this seems to follow general recommended convention:
logger
logger,
# Allow these names, which are commonly used in matplotlib instructions
ax,
im

# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
Expand Down
Loading

0 comments on commit 0873db5

Please sign in to comment.