Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grid cell-level error check for H2O #1228

Merged
merged 23 commits into from
Feb 20, 2021
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
654b53d
Grid cell-level error check for H2O: non-transient simulations only
slevis-lmwg Dec 8, 2020
5a0c758
Deleted a blank line; committing this in prep for update to latest tag
slevis-lmwg Dec 8, 2020
714ef19
Merge tag 'ctsm5.1.dev018' into gcell_bal_checks_h2o
slevis-lmwg Dec 8, 2020
ff59a5f
Mods required in new code from conflicts not caught by git
slevis-lmwg Dec 9, 2020
78a979f
Move call BalanceCheck to after call lnd2atm; use existing _grc vars
slevis-lmwg Dec 17, 2020
4ab9f3d
Some clean-up before moving on to solving the transient h2o balance
slevis-lmwg Dec 18, 2020
d267ceb
Mods for successful grid cell-level H2O error checks in transient cases
slevis-lmwg Dec 23, 2020
b636724
Merge tag 'ctsm5.1.dev019' into gcell_bal_checks_h2o
slevis-lmwg Dec 23, 2020
32a7930
Minor clean-up
slevis-lmwg Dec 23, 2020
097ff98
First draft of ChangeLog
slevis-lmwg Dec 23, 2020
cb6a840
Revisions part 1 in response to code review
slevis-lmwg Jan 23, 2021
799e011
Revisions part 2: bypass `for_testing_zero_dynbal_fluxes` cases
slevis-lmwg Jan 24, 2021
23bf38b
Revisions part 3: Insert comment about negative dribble terms
slevis-lmwg Jan 25, 2021
c5b0961
Addition of text to the comment that I added in the last commit
slevis-lmwg Jan 26, 2021
6e38fc2
Revisions part 4: Tracking wa_reset_nonconservation_gain
slevis-lmwg Jan 27, 2021
6f0bf37
Minor cleanup of comments and write statements
slevis-lmwg Jan 28, 2021
bf52b8a
Cleanup of comments, write-statmts, and formatting
slevis-lmwg Jan 29, 2021
5dbbc81
Revisions 4b: Move code from the beg. to the ending of h2o balance check
slevis-lmwg Jan 29, 2021
645e831
Merge tag 'ctsm5.1.dev021' into gcell_bal_checks_h2o
slevis-lmwg Feb 1, 2021
910fa8b
Merge tag 'ctsm5.1.dev023' into gcell_bal_checks_h2o
slevis-lmwg Feb 11, 2021
6768534
Bypass grc-level h2o check when use_soil_moisture_streams = .true.
slevis-lmwg Feb 14, 2021
09e3553
Revisions required for I*G tests and *clm-prescribed tests to PASS
slevis-lmwg Feb 19, 2021
5a0ba10
Small updates to ChangeLog and ChangeSum
slevis-lmwg Feb 20, 2021
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
120 changes: 120 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,124 @@
===============================================================
Tag name: ctsm5.1.dev0??
Originator(s): slevis (Samuel Levis,303-665-1310)
Date: Wed Dec 23 11:29:33 MST 2020
One-line Summary: Grid cell-level error check for H2O

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

For more robust mass balance error checking, introduced
grid cell-level error check for H2O following the approach
of pull requests #984 and #1022


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

Issues fixed (include CTSM Issue #): #201


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

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: [For timing changes, can check PFS test(s) in the test suite]
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:
None

CTSM testing:

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

build-namelist tests:

cheyenne -

tools-tests (test/tools):

cheyenne -

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

cheyenne -

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

(any machine) -

regular tests (aux_clm):

cheyenne ---- PEND (expect OK)
izumi ------- PEND (expect OK)

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


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
Specific example from running the single point test
ERI_D_Ld9.1x1_camdenNJ.I2000Clm50BgcCruRs.cheyenne_intel.clm-default:
RMS ERRH2O 6.0280E-21 NORMALIZED 7.6050E-06

Explanation: Moving call BalanceCheck to after the call lnd2glc in
subroutine clm_drv causes a change in order of operations that leads to
the above change in ERRH2O.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the only change is in ERRH2O (which I think should be the case... this can be confirmed by running summarize_cprnc_diffs after you run the testing), then it would be helpful to note that here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the reminder to use summarize_cprnc_diffs.

In the izumi tests (since I haven't started cheyenne ones, yet) this made me aware of more diffs than just ERRH2O. I will look into them, but I'm guessing they are all diagnostic variables, since fundamental output (e.g. TSA and sensible/latent heat fluxes) does not change. For the record, here are the diffs that I'm finding.

In CLM45 in particular, it's HEAT_CONTENT1 and LIQUID_CONTENT1 instead of ERRH2O:

SMS_D_Ld1.f19_g17.I1850Clm45Cn.izumi_gnu.clm-default.C.0123-183835iz_gnu.clm2.h0.0001-01-02-00000.nc.cprnc.out     
: LIQUID_CONTENT1 : RMS 0.0089078        : RMS_NORM 9.0913e-06
: HEAT_CONTENT1   : RMS 2972.5           : RMS_NORM 2.3365e-06

SMS_D_Ld5.f10_f10_musgs.I1850Clm45BgcCrop.izumi_nag.clm-crop.C.0123-183835iz_nag.clm2.h0.0001-01-06-00000.nc.cprnc.out               : HEAT_CONTENT1   : RMS 622.51           : RMS_NORM 4.8444e-07
SMS_D_Ld5.f10_f10_musgs.I1850Clm45BgcCrop.izumi_nag.clm-crop.C.0123-183835iz_nag.clm2.h0.0001-01-06-00000.nc.cprnc.out               : LIQUID_CONTENT1 : RMS 0.0018655        : RMS_NORM 1.9323e-06

In the tracer consistency test there's a longer list:

SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2O                 : RMS 8.8982e-24       : RMS_NORM 4.2211e-09
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2OSNO_H2OTR        : RMS 1.2317e-16       : RMS_NORM 1.4699
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2OSNO_TESTBIG      : RMS 1.2317e-15       : RMS_NORM 1.4699
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2OSNO_TESTMED      : RMS 1.2317e-17       : RMS_NORM 1.4699
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2OSNO_TESTSMALL    : RMS 1.2317e-26       : RMS_NORM 1.4699
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2O_H2OTR           : RMS 3.6932e-15       : RMS_NORM 1.6513
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2O_TESTBIG         : RMS 3.6932e-14       : RMS_NORM 1.6513
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2O_TESTMED         : RMS 3.6932e-16       : RMS_NORM 1.6513
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : ERRH2O_TESTSMALL       : RMS 3.6932e-25       : RMS_NORM 1.6513
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SINKS_H2OTR       : RMS 5.8877e-07       : RMS_NORM 0.51309
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SINKS_TESTBIG     : RMS 5.8877e-06       : RMS_NORM 0.51309
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SINKS_TESTMED     : RMS 5.8877e-08       : RMS_NORM 0.51309
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SINKS_TESTSMALL   : RMS 5.8877e-17       : RMS_NORM 0.51309
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SOURCES_H2OTR     : RMS 4.3591e-07       : RMS_NORM 0.091886
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SOURCES_TESTBIG   : RMS 4.3591e-06       : RMS_NORM 0.091886
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SOURCES_TESTMED   : RMS 4.3591e-08       : RMS_NORM 0.091886
SMS_D_Ld10.f10_f10_musgs.I2000Clm50BgcCrop.izumi_intel.clm-tracer_consistency.C.0123-183835iz_int.clm2.h0.2000-01-11-00000.nc.cprnc.out : SNOW_SOURCES_TESTSMALL : RMS 4.3591e-17       : RMS_NORM 0.091886

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I repeated the above tests with my latest code and the CLM45 issue went away:
SMS_D_Ld1.f19_g17.I1850Clm45Cn.izumi_gnu.clm-default PASS
SMS_D_Ld5.f10_f10_musgs.I1850Clm45BgcCrop.izumi_nag.clm-crop PASS

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tracer consistency test gave the same result as before.
@billsacks does this concern you and should I pursue it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to make sure I understand: it sounds like the differences at this point are just in (1) ERRH2O (expected), and (2) various tracer terms in the tracer consistency test. If so, I think that's fine. I looked into this a bit: The tracer differences arise because the balance check call (which calculates ERRH2OSNO, SNOW_SINKS and SNOW_SOURCES) is now done after a temporary call in the driver to ResetCheckedTracers. There are currently a number of those ResetCheckedTracers calls sprinkled throughout the driver loop; they are temporary things that are needed for iterative tracerization of the code, and will eventually be removed; since they change the values of all tracer terms, it's expected that this rearrangement will change answers like this for the tracer quantities.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated to dev021 and ran the izumi test-suite.
I got the same result (using summarize_cprnc_diffs):
Only ERRH2O differs, except in the tracer consistency test, as above.



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/1228

===============================================================
===============================================================
Tag name: ctsm5.1.dev019
Originator(s): sacks (Bill Sacks)
Date: Sat Dec 19 06:55:46 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
============================================================================================================================
ctsm5.1.dev020 slevis 12/23/2020 Grid cell-level error check for H2O
ctsm5.1.dev019 sacks 12/19/2020 Fix ndep from coupler
ctsm5.1.dev018 slevis 12/08/2020 Add ACTIVE (T/F) column to master hist fields table and alphabetize
ctsm5.1.dev017 slevis 11/17/2020 Write history fields master list to separate optional file
Expand Down
Loading