-
Notifications
You must be signed in to change notification settings - Fork 216
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1413 from billsacks/billsacks/glc_tavg_v2
Pass annual-average fields to GLC These changes are from Mariana Vertenstein (primarily) and myself Until now, the CESM coupler has been sending CISM daily-average fields, and then CISM has been averaging these fields to annual-averages in order to do its mass balance time step using annual-average SMB (and temperature). This has a number of problems: (1) We could not restart mid-year, because CISM doesn't write the necessary partial accumulation information to its restart files. (2) With Bill Lipscomb's new remapping (bilinear + conservation correction; coming soon), there were too-large corrections needed when doing the remapping from CLM to CISM on daily fields. (3) This led to a discrepancy between TG and BG/IG compsets: In BG/IG, CISM received the annual average of remapped daily fields; in TG, CISM received the remapped annual average fields. The remapping is not a linear operation, so there would typically be differences in these two runs. This tag, together with cism2_1_30, allows the coupler to make annual averages before remapping fields to CISM. This was a bit tricky: CISM still needs to be called once per day in order to support mid-year restarts (CESM can only restart at a frequency when all components are called). So now the GLC calling frequency has been separated from the GLC averaging frequency. Then GLC/CISM is passed a flag saying whether the inputs are currently valid; CISM only accumulates averages of the inputs when they are valid. (In the standard case, this means that CISM accumulates a single value each year, leaving all of the averaging up to the coupler. But this supports the ability to still do the averaging in CISM if this is desired - however, note that mid-year restarts won't work in that case [CISM now aborts if you try to do a mid-year restart in that configuration].) This is implemented in such a way that ACME runs with MPAS-LI should be unaffected: the default GLC_AVG_PERIOD for ACME is 'glc_coupling_period', which makes things collapse to the old behavior. There are some mostly-unrelated changes in src/drivers/mct/cime_config/buildnml and src/drivers/mct/cime_config/namelist_definition_drv.xml. These use add_default rather than set_value for the various *_cpl_dt entries, because in general we should not be calling set_value directly. And, since we're using add_default, we needed to add skip_default_entry="true" to the relevant xml variables. In CESM, this change must be coordinated with cism2_1_30 and CESM-Development/cime_config#6 Test suite: scripts_regression_tests on yellowstone Also, aux_glc test suite with cism2_1_30: - out-of-the-box: tests pass, and bit-for-bit except for IG tests without test_coupling - with GLC_AVG_PERIOD = 'glc_coupling_period': tests pass and bit-for-bit, except for expected failures in tests that restart mid-year Test baseline: For aux_glc tests, baseline was cism2_1_29 Test namelist changes: YES - adds new glc_avg_period Test status: greater than roundoff-level changes for multi-year runs with CISM, other than TG Fixes none User interface changes?: new xml variable, GLC_AVG_PERIOD Code review: Tony Craig, Jim Edwards, Rob Jacob, Matt Hoffman
- Loading branch information
Showing
11 changed files
with
249 additions
and
166 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.