Skip to content

Commit

Permalink
Merge branch 'dev_issue811'
Browse files Browse the repository at this point in the history
Bounds assertion for C isotopes when threading is on

Previously, the bounds of c13 and c14 in subroutines TruncateCStates and
TruncateCandNStates were not checked when threading was on. This PR allows us
to handle c13 and c14 arrays like everything else in CTSM including (bounds
checking).

This PR resolves issue ESCOMP#811
  • Loading branch information
billsacks committed Feb 20, 2020
2 parents 5cc4ede + ece16d8 commit 95fc9e1
Show file tree
Hide file tree
Showing 4 changed files with 478 additions and 139 deletions.
24 changes: 12 additions & 12 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -432,7 +432,7 @@
<machine name="cheyenne" compiler="intel" category="aux_clm"/>
</machines>
<options>
<option name="wallclock">0:20:00</option>
<option name="wallclock">00:20:00</option>
<option name="comment" >Do a test with RTM and flooding on as that also impacts CLM code</option>
</options>
</test>
Expand Down Expand Up @@ -740,7 +740,7 @@
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Want an ERP test covering some non-default irrigation options. Long enough so that we're likely to exercise the various groundwater irrigation code.</option>
</options>
</machine>
Expand Down Expand Up @@ -1646,7 +1646,7 @@
<machines>
<machine name="izumi" compiler="nag" category="aux_clm">
<options>
<option name="wallclock">0:20:00</option>
<option name="wallclock">00:20:00</option>
<option name="comment">Debug test covering some non-default irrigation options.</option>
</options>
</machine>
Expand All @@ -1657,7 +1657,7 @@

<machine name="izumi" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Include a tracer consistency check in debug mode.</option>
</options>
</machine>
Expand All @@ -1669,7 +1669,7 @@

<machine name="cheyenne" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">A debug ERP test of the NWP configuration with active BGC and CROP.</option>
</options>
</machine>
Expand All @@ -1680,7 +1680,7 @@
<machines>
<machine name="cheyenne" compiler="gnu" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Ensure that turning on water tracers doesn't change answers. Cold start for now, until we can use initial conditions from a non-isotope case in an isotope case; once we can do that, this should be changed to not be cold start (e.g., 5-day decStart transient test: see also https://github.com/ESCOMP/ctsm/issues/495#issuecomment-516619853).</option>
</options>
</machine>
Expand All @@ -1691,7 +1691,7 @@

<machine name="cheyenne" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Include a debug ERP test of the NWP configuration.</option>
</options>
</machine>
Expand All @@ -1703,7 +1703,7 @@

<machine name="cheyenne" compiler="gnu" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Include a short smoke test covering the nldas2 grid and the I2000Ctsm50NwpSpNldasGs compset, which uses NLDAS datm forcing.</option>
</options>
</machine>
Expand All @@ -1715,7 +1715,7 @@

<machine name="cheyenne" compiler="gnu" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Include a short smoke test covering the nldas2 grid and the I2000Ctsm50NwpSpNldasRsGs compset, which uses NLDAS datm forcing.</option>
</options>
</machine>
Expand Down Expand Up @@ -1900,7 +1900,7 @@
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Include a test of the NUOPC cap</option>
</options>
</machine>
Expand All @@ -1910,7 +1910,7 @@
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">Can use this test to determine if there are significant throughput changes, at least for this common and important configuration. Note that this deliberately doesn't have any testmods in order to (1) avoid doing history output (because the timing of output can be very variable, and mixing output timing with other aspects of model time can be confusing), and (2) generally keep the test replicating a production configuration as closely as possible (so, for example, we do NOT set BFBFLAG=TRUE for this test).</option>
</options>
</machine>
Expand All @@ -1920,7 +1920,7 @@
<machines>
<machine name="cheyenne" compiler="intel" category="aux_clm">
<options>
<option name="wallclock">0:30:00</option>
<option name="wallclock">00:30:00</option>
<option name="comment">This test runs CTSM's Fortran unit tests. We're abusing the system test infrastructure to run these, so that a run of the test suite results in the unit tests being run as well. Grid and compset are irrelevant here, except that compset must be one that includes CTSM in order for CIME to find the test definition.</option>
</options>
</machine>
Expand Down
105 changes: 105 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,109 @@
===============================================================
Tag name: ctsm1.0.dev084
Originator(s): negins (Negin Sobhani,UCAR/CSEG,303-497-1224)
Date: Wed Feb 19 15:05:03 MST 2020
One-line Summary: Bounds assertion for C isotopes when threading is on

Purpose of changes
------------------

Previously, the bounds of c13 and c14 in subroutines TruncateCStates and
TruncateCandNStates were not checked when threading was on. This PR allows us
to handle c13 and c14 arrays like everything else in CTSM including (bounds
checking).

This PR resolves issue ESCOMP/ctsm#811


Bugs fixed or introduced
------------------------

Issues fixed (include CTSM Issue #):
-ESCOMP/ctsm#811

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_0

[ ] ctsm5_0-nwp

[ ] clm4_5

Notes of particular relevance for users
---------------------------------------

Caveats for users (e.g., need to interpolate initial conditions): none

Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): none

Changes made to namelist defaults (e.g., changed parameter values): none

Changes to the datasets (e.g., parameter, surface or initial files): none

Substantial timing or memory changes: none

Notes of particular relevance for developers: (including Code reviews and testing)
---------------------------------------------
NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide

Caveats for developers (e.g., code that is duplicated that requires double maintenance): none

Changes to tests or testing:
- There was an issue (wrong wallclock time ) for one of the tests in the test
definitions which got fixed: (SMS_D_Vnuopc.f10_f10_musgs.I2000Clm50SpRsGs..)
- Also, I tried making the wallclocktime for all tests in
cime_config/testdefs/testlist_clm.xml consistent in the format of hh:mm:ss.

Code reviewed by: Bill Sacks


CTSM testing:

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

build-namelist tests:

cheyenne - not run

tools-tests (test/tools):

cheyenne - not run

PTCLM testing (tools/shared/PTCLM/test):

cheyenne - not run

python testing (see instructions in python/README.md; document testing done):

(any machine) - not run

regular tests (aux_clm):

cheyenne ---- OK
izumi ------- PASS

If the tag used for baseline comparisons was NOT the previous tag, note that here:


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

Changes answers relative to baseline: NO

Detailed list of changes
------------------------

List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): none

Pull Requests that document the changes (include PR ids):
(https://github.com/ESCOMP/CTSM/pull/923)

===============================================================
===============================================================
Tag name: ctsm1.0.dev083
Originator(s): negins (Negin Sobhani,UCAR/CSEG,303-497-1224)
Date: Thu Feb 6 12:12:26 MST 2020
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm1.0.dev084 negins 02/19/2020 Bounds assertion for C isotopes when threading is on
ctsm1.0.dev083 negins 02/06/2020 Some BFB Fixes: Resolve issues #683, # 874, #878, # 885, # 745, #838
ctsm1.0.dev082 oleson 02/01/2020 Rename variables to avoid confusion; fix QSNOEVAP diagnostic
ctsm1.0.dev081 slevis 01/13/2020 Speed up restart writes
Expand Down
Loading

0 comments on commit 95fc9e1

Please sign in to comment.