ESCOMP / CMEPS

NUOPC Community Mediator for Earth Prediction Systems
https://escomp.github.io/CMEPS/
24 stars 79 forks source link

Separate the control of removing negative runoff for lnd vs glc, and set default to false for glc-derived runoff #481

Closed billsacks closed 4 months ago

billsacks commented 4 months ago

Description of changes

This is a follow-up to #471 .

At least for now, we want the default to be to remove negative runoff for lnd-derived runoff, but NOT for glc-derived runoff. This PR implements that change. Note that this changes behavior for the correction of glc-derived runoff, but keeps the behavior the same as before for lnd-derived runoff.

Specific notes

Contributors other than yourself, if any: General idea based on discussion with @mvertens , @gustavo-marques, @Katetc , @wwieder, @slevis-lmwg, @whlipscomb, @gunterl

CMEPS Issues Fixed (include github issue #): None

Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial): Yes - changes answers substantially for runoff fields in some B compsets (or other configurations with both active land/river and active ocean) - but only for configurations that have glc-derived runoff; this can currently come from configurations with CISM in EVOLVE mode or DGLC (even in NOEVOLVE mode). Note that this change just undoes part of the answer changes that came from #471 .

Any User Interface Changes (namelist or namelist defaults changes)? Separates the namelist item remove_negative_runoff into two separate options: remove_negative_runoff_lnd and remove_negative_runoff_glc.

Testing performed

Please describe the tests along with the target model and machine(s) If possible, please also added hashes that were used in the testing

Using cesm2_3_beta17 (with CISM at 756cfa6f0514d89977d2732ad06a4d364da5d418, mosart at mosart1.1.02, and removing the contents of cime_config/testmods_dirs/allactive/defaultio/user_nl_mosart: Ran three versions of SMS_D_Ld3.f19_g17.B1850G.derecho_intel.allactive-cism-test_coupling:

I checked the behavior in these in runs with dbug_flag set to 21 so I would see diagnostics of what fields were being adjusted, and confirmed that the correct fields were being operated on in all three cases.