ctsm5.4.048: Update Clm60 compsets to use dglc and Clm50/Clm60 Fates tests to be RsGs only for single-point/regional and Crujra forcing rather than Cru #4110
Conversation
…lacier, if Gs isn't given then DGLC is used
…/regional cases, and without that for global tests, and change Clm60FatesCru tests to Clm60FatesCrujra
…e-point/regional tests and not having just Rs, this fixes the lack of I2000Clm60FatesRsGs compset that was needed for a test on Izumi
…, now that distinction is done in the compset by either using CISM or DGLC, make a first pass at clarifying this in the tech-note
…es add the right one) and that the compsets for single point cases have stub ROF and stub Glacier
… MOSART_MODE to null if so. Otherwise don't do anything so that tests with Stub ROF can be done
| In typical runs, CISM is not evolving; CLM computes the SMB and sends it to CISM, but CISM's ice sheet geometry remains fixed over the course of the run. In these runs, CISM serves two roles in the system: | ||
| In typical runs, DGLC is used and the ice sheet is not evolving; CLM computes the SMB and sends it to DGLC, but DGLC's ice sheet geometry remains fixed over the course of the run. In these runs, DGLC serves two roles in the system: | ||
|
|
||
| #. Over the CISM domain (typically Greenland in CESM2), CISM dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. CISM also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) |
There was a problem hiding this comment.
@billsacks I misinterpreted this line here that with SGLC no downscaling will be done. Reading it again it's saying that with CISM the elevation of non-glacier land units is determined and atmospheric fields within are downscaled, but with SGLC this downscaling over non-glacier land units is NOT done. But, since line 48 says that it's talking about CISM in NOEVOLVE mode it appears that this downscaling now refers to DGLC in NOEVOLVE mode. But, I don't think that's true either. I think this really applies only when running with CISM.
So I took it to mean that no downscaling over glacier land units will happen with SGLC, but it's really that this special downscaling over non-glacier land units happens when running with CISM over glacier regions (so in Greenland). So both SGLC and DGLC%NOEVOLVE work the same way in that regard there is no special downscaling over non-glacier land units. And also both SGLC and DGLC will downscale over glacier land-units, because that's dictated by the surface dataset.
This means some of the changes I made to the Tech Note about DGLC%NOEVOLVE need to change a bit. But, also line 50 shouldn't be listed as applying to NOEVOLVE mode, it should appear somewhere else as a general statement that applies when the ice sheet is evolving as you are running with CISM.
There was a problem hiding this comment.
@ekluzek - I think your current text is correct... I think your comments about needing to make adjustments are not right: from the perspective of CTSM, DGLC%NOEVOLVE should be the same as the old CISM%NOEVOLVE in these respects:
- I think DGLC%NOEVOLVE still provides topographic heights of non-glacier landunits within its domain. I'm not positive of this, though, and it should probably be confirmed somehow. (It could be confirmed by looking at the downscaled vs. non-downscaled atmospheric fields over a grid cell in Greenland that doesn't have any glacier cover.)
- DGLC does still provide the grid onto which SMB is downscaled.
If I remember correctly, there is one key difference between DGLC%NOEVOLVE and CISM%NOEVOLVE: DGLC%NOEVOLVE handles the fluxes, and so glc_dyn_runoff_routing is true for DGLC%NOEVOLVE, whereas it was false for CISM%NOEVOLVE. This could require some adjustment to the text in the "Computation of surface mass balance" section, if you haven't already adjusted it: I think it's now the case that glc_dyn_runoff_routing will typically be true for any run with either DGLC or CISM (given that CISM is now typically just used for EVOLVE runs).
It would be good to check all of this with @Katetc .
Thank you for your work on this!!!
| In typical runs, DGLC is used and the ice sheet is not evolving; CLM computes the SMB and sends it to DGLC, but DGLC's ice sheet geometry remains fixed over the course of the run. In these runs, DGLC serves two roles in the system: | ||
|
|
||
| #. Over the CISM domain (typically Greenland in CESM2), CISM dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. CISM also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) | ||
| #. Over the DGLC domain (typically Greenland in CESM), DGLC dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. DGLC also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) |
There was a problem hiding this comment.
I think this needs some adjustment as well. The last part applies to both SGLC and DGLC.
| #. Over the DGLC domain (typically Greenland in CESM), DGLC dictates glacier areas and topographic elevations, overriding the values on CLM's surface dataset. DGLC also dictates the elevation of non-glacier land units in its domain, and only in this domain are atmospheric fields downscaled to non-glacier land units. (So if you run with a stub glacier model - SGLC - then glacier areas and elevations will be taken entirely from CLM's surface dataset, and no downscaling will be done over non-glacier land units.) | ||
|
|
||
| #. CISM provides the grid onto which SMB is downscaled. (If you run with SGLC then SMB will still be computed in CLM, but it won't be downscaled to a high-resolution ice sheet grid.) | ||
| #. DGLC provides the grid onto which SMB is downscaled. (If you run with SGLC then SMB will still be computed in CLM, but it won't be downscaled to a high-resolution ice sheet grid.) |
There was a problem hiding this comment.
SGLC here would apply to both SGLC and DGLC%NOEVOLVE as well.
|
In CSEG we said that CAM will update it's testing to upgrade their F compsets/tests that are for CAM7 to use CLM60 rather than CLM50. As such I'll change the CLM50 compsets for CAM special grids to be CLM60 compsets, since that will be coming. See this issue in CAM: |
|
Also in CSEG we wondered if CAM compsets/tests should run with DGLC%NOEVOLVE. That isn't as important as I had originally thought because of the misunderstanding I had about the tech note. And so I'm going to assume the answer is no for now. The issue for that is here: |
…at should be scientifically supported
…only Crujra compsets
…ing for consistency and readability as well as being able to match the need for compsets that have RsGs if you run without tower forcing data
…ution and add double hyphens for create_newcase options as even though both are allowed, double hyphens is more likely to stay in place. Also remove a reference to CLM4.0
❌ Docs build failedBuild logs |
…e used for the CLM6.0 spinup simulations
…for stub-glacier, also remove the unused I2000Clm50SpRtm compset
❌ Docs build failedBuild logs |
…nd not when it shouldn't
…re compsets are consistent throughout CTSM code
…st and move one of them to derecho_gnu
❌ Docs build failedBuild logs |
❌ Docs build failedBuild logs |
| <compset> | ||
| <alias>I2000Clm50SpRtm</alias> | ||
| <lname>2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM_SGLC_SWAV</lname> | ||
| <science_support grid="f09_f09_mt232"/> |
There was a problem hiding this comment.
Note: support for f19 is also at play here. And for 2000 as in here, it's supported in the sense of having initial condition files, but not in having a simulation that goes with it. The same goes for the IC files for 1979, and 2010 as well.
Whether having IC files for a compset means it's "scientifically supported" is a question for the larger group.
slevis-lmwg
left a comment
There was a problem hiding this comment.
Thanks again @ekluzek for the paired review of your work.
I'm posting a few comments to avoid forgetting. And, as we agreed, I will revisit this PR when you check the remaining checkboxes.
| b. Ice runoff from snow capping is melted (generating a negative sensible heat flux) and runs off as liquid. This matches the behavior for non-glacier columns. This is appropriate in regions that have little iceberg calving in reality. This can be important to avoid unrealistic cooling of the ocean and consequent runaway sea ice growth. | ||
|
|
||
| The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the Greenland region stops at the edge of Greenland as defined by CISM. This means that, by default, SMB is not computed for grid cells outside Greenland but within the CISM domain. (This treatment of the non-Greenland portion of the CISM domain as being the same as the world's mountain glaciers rather than like Greenland itself is mainly for the sake of avoiding unrealistic fluxes from the Canadian archipelago that can potentially result in runaway sea ice growth in that region.) | ||
| The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the Greenland region stops at the edge of Greenland as defined by CISM/DGLC. This means that, by default, SMB is not computed for grid cells outside Greenland but within the CISM/DGC domain. (This treatment of the non-Greenland portion of the CISM/DGC domain as being the same as the world's mountain glaciers rather than like Greenland itself is mainly for the sake of avoiding unrealistic fluxes from the Canadian archipelago that can potentially result in runaway sea ice growth in that region.) |
There was a problem hiding this comment.
| The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the Greenland region stops at the edge of Greenland as defined by CISM/DGLC. This means that, by default, SMB is not computed for grid cells outside Greenland but within the CISM/DGC domain. (This treatment of the non-Greenland portion of the CISM/DGC domain as being the same as the world's mountain glaciers rather than like Greenland itself is mainly for the sake of avoiding unrealistic fluxes from the Canadian archipelago that can potentially result in runaway sea ice growth in that region.) | |
| The default behaviors for the world's glacier and ice sheet regions are described in :numref:`Table Glacier region behaviors`. Note that the Greenland region stops at the edge of Greenland as defined by CISM/DGLC. This means that, by default, SMB is not computed for grid cells outside Greenland but within the CISM/DGLC domain. (This treatment of the non-Greenland portion of the CISM/DGLC domain as being the same as the world's mountain glaciers rather than like Greenland itself is mainly for the sake of avoiding unrealistic fluxes from the Canadian archipelago that can potentially result in runaway sea ice growth in that region.) |
just typos
| Note that the SMB typically is defined as the total accumulation of ice and snow, minus the total ablation. The SMB flux passed to CISM/DGLC is the mass balance for ice alone, not snow. We can think of CLM as owning the snow, whereas CISM/DGLC owns the underlying ice. Fluctuations in snow depth between 0 and 10 m water equivalent are not reflected in the SMB passed to CISM/DGLC. In transient runs, this can lead to delays of a few decades in the onset of accumulation or ablation in a given glacier column. | ||
|
|
||
| SMB is computed and sent to the CESM coupler regardless of whether and where CISM is operating. However, the effect of SMB terms on runoff fluxes differs depending on whether and where CISM is evolving in two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where CISM is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, CISM's mass is not considered to be part of the coupled system. In cases where CISM is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. | ||
| SMB is computed and sent to the CESM coupler regardless of whether and where CISM/DGLC is operating. However, the effect of SMB terms on runoff fluxes differs depending on if CISM is used as the ice sheet is evolving in a two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where DGLC is used and the ice sheet is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, DGLC's mass is not considered to be part of the coupled system. In cases where CISM is used and the ice sheet is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. |
There was a problem hiding this comment.
| SMB is computed and sent to the CESM coupler regardless of whether and where CISM/DGLC is operating. However, the effect of SMB terms on runoff fluxes differs depending on if CISM is used as the ice sheet is evolving in a two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where DGLC is used and the ice sheet is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, DGLC's mass is not considered to be part of the coupled system. In cases where CISM is used and the ice sheet is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. | |
| SMB is computed and sent to the CESM coupler regardless of whether and where CISM/DGLC is operating. However, the effect of SMB terms on runoff fluxes differs depending on whether CISM is used and the ice sheet is evolving in a two-way-coupled mode. This is described by the variable *glc\_dyn\_runoff\_routing*. (This is real-valued in the code to handle the edge case where a CLM grid cell partially overlaps with the CISM grid, but we describe it as a logical variable here for simplicity.) In typical cases where DGLC is used and the ice sheet is not evolving, *glc\_dyn\_runoff\_routing* will be false everywhere; in these cases, DGLC's mass is not considered to be part of the coupled system. In cases where CISM is used and the ice sheet is evolving and sending its own calving flux to the coupler, *glc\_dyn\_runoff\_routing* will be true over the CISM domain and false elsewhere. |
clearer wording
| </options> | ||
| </test> | ||
| <test name="SMS_Ly3_Mmpi-serial" grid="1x1_numaIA" compset="I2000Clm50BgcDvCropQianRs" testmods="clm/ignor_warn_cropMonthOutputColdStart"> | ||
| <test name="SMS_Ly3_Mmpi-serial" grid="1x1_numaIA" compset="I2000Clm50BgcDvCropQianRsGs" testmods="clm/ignor_warn_cropMonthOutputColdStart"> |
There was a problem hiding this comment.
Since I'm looking, I'm making a note that this will end up removed in a later commit in this PR.
|
|
||
| <compset> | ||
| <alias>I2000Clm45SpRs</alias> | ||
| <lname>2000_DATM%GSWP3v1_CLM45%SP_SICE_SOCN_SROF_SGLC_SWAV</lname> |
There was a problem hiding this comment.
I may have missed others that need it:
Should this SGLC compset and the next one have "Gs" in the alias? Or maybe you told me that you would not update the 4.5 compsets? Though I see one that you changed in line 658 below
Description of changes
Update most of the CLM60 compsets to use DGLC%NOEVOLVE rather than stub glacier. I1Pt single point compsets are left alone.
Make single point tests and compsets all have RsGs at the end of the alias to specify stub ROF and stub GLC, and do this consistently in all compsets and tests.
Change FATES CLM60 tests to use RsGs compsets for single-point/regional and without it for global. And change Clm60FatesCru tests to Clm60FatesCrujra. Make FATES tests (other than single-point) run with MOSART and DGLC.
Make single point tests all consistently use Qian forcing compsets for consistency and speed. Remove most of the Cru tests except for one with Clm50.
Also since I'm messing with compsets and tests, and removing compsets and tests for several things we've decided to deprecate: clm4_5, BGCDV, %BGC%NWP, and VIC.
Specific notes
Contributors other than yourself, if any:
CTSM issues resolved or otherwise addressed, if any:
If answers are expected to change, describe (delete this line otherwise): Yes
Definition of many Clm60 compsets change so that DGLC is used
Any user interface changes (namelist or namelist defaults changes)?
Change in compset definition for many Clm60 compsets
Testing planned or performed, if any:
Requirements before merge: