Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
5229e4b
Change Clm60 compsets that use SGLC to use DGLC%NOEVOLVE except for t…
ekluzek Jul 7, 2026
9cb37c3
Make Fates compsets more consistent so that those with Gs have stub g…
ekluzek Jul 7, 2026
455495e
Make Clm60Fates tests consistently use RsGs compsets for single-point…
ekluzek Jul 7, 2026
3ef1aec
Have Fates compsets be consistent in having RsGs to be used for singl…
ekluzek Jul 8, 2026
72088a8
Fix the compsets used in a couple of tests
ekluzek Jul 8, 2026
dad2c6c
CISM used to have two modes one for evolving and one for non-evolving…
ekluzek Jul 8, 2026
d8fb7f8
Update the list of compsets, since DGLC needs to be mentioned
ekluzek Jul 8, 2026
790b4d1
Make sure single point cases use an existing compset (and in some cas…
ekluzek Jul 9, 2026
9505cb7
Have 5x5_amazon regional tests use a RsGs compset so that both ROF an…
ekluzek Jul 9, 2026
9784174
Change global Fates tests to include MOSART
ekluzek Jul 9, 2026
a2a02be
For spinup testmods check if the ROF component is MOSART and then set…
ekluzek Jul 10, 2026
93341ff
Switch CAM grid tests away from stub ROF so remove the Rs in the comp…
ekluzek Jul 15, 2026
9688587
Change Clm60 tests with CISM to ones with Crujra forcing as that's wh…
ekluzek Jul 15, 2026
78f095a
Update science support to remove from pre-CLM60 compsets and have on …
ekluzek Jul 15, 2026
5ae5aca
Change all I1Pt compsets to have a RsGs for stub ROF and stub GLC end…
ekluzek Jul 16, 2026
0ca3907
Change Clm50 compsets refererences to Clm60 compsets and update resol…
ekluzek Jul 16, 2026
9e54d47
Add a new Clm60 BgcCrop spinup compset for CPLHIST forcing that can b…
ekluzek Jul 16, 2026
540b981
Change the CPLHIST 1850 spinup compset to Clm60
ekluzek Jul 16, 2026
26977d0
Change Clm50 compsets to use DGLC, and make them consistently use Gs …
ekluzek Jul 17, 2026
f6fed61
Fix a few things to make sure Gs is in the compset name when needed a…
ekluzek Jul 17, 2026
6e8e8df
Update compset name, which isn't strictly needed, but just to make su…
ekluzek Jul 17, 2026
3bcedb2
Fix #4129 remove izumi_nag tests from aux_cime_baselines testlist and…
ekluzek Jul 17, 2026
5fa559c
Fix a couple Fates compsets and tests
ekluzek Jul 17, 2026
20e0ffa
Remove the VIC compsets and mention of use_vichydro from the user_nl_…
ekluzek Jul 17, 2026
8b80af9
Correct compset name so that the python sys tests will pass
ekluzek Jul 17, 2026
e4da344
Remove mention of VIC in the documentation
ekluzek Jul 17, 2026
389f76d
Indent the namelist which is needed for the doc build to be happy
ekluzek Jul 17, 2026
7bc975f
Remove instances of BGCDV and use_cndv in compsets and tests
ekluzek Jul 20, 2026
afcb4f4
Remove references to the BGCDV model that's being deprecated, also re…
ekluzek Jul 20, 2026
33277a1
A few more clarifications on DGVM things
ekluzek Jul 21, 2026
38d4a8d
Update note on use_cndv
ekluzek Jul 21, 2026
78f8dcd
Remove NWP-BGC or NWP-BGC-Crop compsets and tests
ekluzek Jul 21, 2026
5feb38c
Update notes about clm4_5 namelist items that may be retained, or dep…
ekluzek Jul 22, 2026
e69e1e0
Add a simple physics testmod to test the clm4_5 physics options that …
ekluzek Jul 22, 2026
cee030e
Move the clm45cam4 test to clm50cam4
ekluzek Jul 22, 2026
e2ecc82
Change test for CMIP6 ndep for one stream to two streams since one is…
ekluzek Jul 22, 2026
68f0f00
Change name of testmod to be more descriptive
ekluzek Jul 22, 2026
7e8e3ba
Remove the oldhyd test and testmod
ekluzek Jul 22, 2026
e165c2c
Remove the no_subgrid_fluxes test and testmod
ekluzek Jul 22, 2026
6fef9f7
Update the tillage/remove-residue test to Clm60, these are features t…
ekluzek Jul 22, 2026
96204a5
Add note about the namelist options in oldhyd and no_subgrid_fluxes t…
ekluzek Jul 22, 2026
2c3a293
Merge branch 'master' into update_compsets_to_use_dglc
ekluzek Jul 23, 2026
04dbe51
Seperate the bgcCropSimplePhysics testmod into two so the base versio…
ekluzek Jul 23, 2026
c35af13
Merge branch 'update_compsets_to_use_dglc' of github.com:ekluzek/CTSM…
ekluzek Jul 23, 2026
1bc367b
Move the finundated setting from SimplePhysics to bgcCropSimplePhysic…
ekluzek Jul 23, 2026
dae78dd
Remove all of the Clm45 tests and remove the FireLi2014Qian testmod t…
ekluzek Jul 23, 2026
71f6eab
Remove all of the Clm45 compsets
ekluzek Jul 23, 2026
6a7ffe1
Remove ability to set CLM45 in the long compset name and remove the c…
ekluzek Jul 23, 2026
01d1a8f
Remove mention of CLM45
ekluzek Jul 23, 2026
374e846
Try to fix the doc-build problem
ekluzek Jul 23, 2026
ed6f6cf
Add blank line before the literal block which seems to be needed for …
ekluzek Jul 23, 2026
25db569
Update remaining Clm50 compsets to use DGLC if they aren't Gs, or add…
ekluzek Jul 29, 2026
71f104d
Update doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst
ekluzek Jul 29, 2026
d3ef3cc
Changes from the code review with @slevis-lmwg remove some of the dyn…
ekluzek Jul 29, 2026
f1e1164
Merge branch 'update_compsets_to_use_dglc' of github.com:ekluzek/CTSM…
ekluzek Jul 29, 2026
de54133
Update doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst
ekluzek Jul 29, 2026
4008844
Fix case of MOSART to lowercase so will work
ekluzek Jul 29, 2026
dab47db
Correct mizuRoute compsets and tests with the nldas and 5x5_amazon on…
ekluzek Jul 29, 2026
ddf5f05
Correct the new mizuRoute alias with stub GLC
ekluzek Jul 30, 2026
bdecf28
Remove mention of clm4_5 physics for the purpose of tracking major an…
ekluzek Jul 30, 2026
985abf1
Add notes on the testlists included
ekluzek Jul 31, 2026
dceff12
Rename the check compset files
ekluzek Aug 1, 2026
a1cedb4
Turn into a subroutine that can be called with different patterns and…
ekluzek Aug 1, 2026
a31ec70
Update names referenced to the new name
ekluzek Aug 1, 2026
dbf7e3d
Add exec permission to script
ekluzek Aug 1, 2026
022b76c
Add checking for CISM options
ekluzek Aug 1, 2026
1b5f737
Make all NoAnthro alises explicit that they use Rtm
ekluzek Aug 1, 2026
1f0bd43
Add another function that checks if something is NOT in the alias tha…
ekluzek Aug 1, 2026
9f23a17
Make sure DGLC is used unless GLC is specified
ekluzek Aug 1, 2026
15daf21
If forcing not specified make sure GSWP3 is being used
ekluzek Aug 1, 2026
1d7099c
Get the checks that were failing to work by shortening the string
ekluzek Aug 1, 2026
7fccaf0
Merge tag 'ctsm5.4.048' into update_compsets_to_use_dglc
ekluzek Aug 1, 2026
7542359
Add a comment for each of the Clm50 tests with Cruv7, most of them sh…
ekluzek Aug 3, 2026
9d67fcf
Remove a duplicated test, we don't need a GSWP3 forcing version
ekluzek Aug 3, 2026
1a2d12e
Make most of the Clm50 Cruv7 compsets tests with default forcing (exc…
ekluzek Aug 3, 2026
be58dbd
Remove a duplicated test
ekluzek Aug 3, 2026
558b48f
Remove all but one of the Cruv7 compsets
ekluzek Aug 3, 2026
caac0d0
Remove some unneeded tests as pointed out by #4148
ekluzek Aug 3, 2026
66d5fad
Merge tag 'ctsm5.4.049' into update_compsets_to_use_dglc
ekluzek Aug 3, 2026
5ca0c73
Set DGLC coupling to half a day so the 12hour test will work
ekluzek Aug 4, 2026
43c110c
Add the missing Clm50 compset
ekluzek Aug 4, 2026
58bf331
Set GLC_NCPL for the compsets that set ROF_NCPL to so that they will…
ekluzek Aug 4, 2026
e9c570c
Make FatesCru tests to use default forcing, and update Cruv7 tests in…
ekluzek Aug 4, 2026
813ddcb
More work to make expected fails and testlist consistent with each other
ekluzek Aug 5, 2026
ca9ddc1
Update .github/workflows/check-compset-aliases.sh
ekluzek Aug 5, 2026
ea15174
Update doc/source/users_guide/overview/introduction.rst
ekluzek Aug 5, 2026
4f8d62a
Update doc/source/users_guide/overview/introduction.rst
ekluzek Aug 5, 2026
967294e
Remove math equation for population density
ekluzek Aug 5, 2026
2c5f9e4
Merge branch 'update_compsets_to_use_dglc' of github.com:ekluzek/CTSM…
ekluzek Aug 5, 2026
76999d0
Fix compset names in two fates tests
ekluzek Aug 5, 2026
9b58012
Update doc/source/users_guide/overview/introduction.rst
ekluzek Aug 6, 2026
a65f1fd
Add some clarification notes about the SSP and SSPMATRIX tests as not…
ekluzek Aug 6, 2026
fb6ee74
Merge branch 'update_compsets_to_use_dglc' of github.com:ekluzek/CTSM…
ekluzek Aug 6, 2026
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
137 changes: 79 additions & 58 deletions cime_config/config_compsets.xml

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions cime_config/testdefs/ExpectedTestFails.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
</test>

<!-- aux_clm test suite failures -->
<test name="ERP_Ld9.f45_f45_mg37.I2000Clm50FatesRs.derecho_intel.clm-FatesColdAllVars">
<test name="ERP_Ld9.f45_f45_mg37.I2000Clm50FatesRsGs.derecho_intel.clm-FatesColdAllVars">
<phase name="COMPARE_base_rest">
<status>FAIL</status>
<issue>#3660</issue>
Expand Down Expand Up @@ -142,7 +142,7 @@
<comment>Divide by zero happens when ch4finundatedmapalgo==bilinear with intel/2025.3.2, but passes for nn,consf,consd</comment>
</phase>
</test>
<test name="ERS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm60FatesRs.derecho_intel.clm-FatesCold">
<test name="ERS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm60FatesRsGs.derecho_intel.clm-FatesCold">
<phase name="RUN">
<status>FAIL</status>
<issue>#3798</issue>
Expand Down Expand Up @@ -171,7 +171,7 @@
</phase>
</test>

<test name="ERP_P256x2_Ld30.f45_f45_mg37.I2000Clm60FatesRs.derecho_intel.clm-mimicsFatesCold">
<test name="ERP_P256x2_Ld30.f45_f45_mg37.I2000Clm60FatesRsGs.derecho_intel.clm-mimicsFatesCold">
<phase name="RUN">
<status>FAIL</status>
<issue>#2261</issue>
Expand Down Expand Up @@ -233,14 +233,14 @@
</phase>
</test>

<test name="PEM_D_Ld20.5x5_amazon.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdSeedDisp">
<test name="PEM_D_Ld20.5x5_amazon.I2000Clm50FatesRsGs.derecho_gnu.clm-FatesColdSeedDisp">
<phase name="COMPARE_base_modpes">
<status>FAIL</status>
<issue>FATES#1089</issue>
</phase>
</test>

<test name="PEM_D_Ld20.5x5_amazon.I2000Clm50FatesRs.derecho_intel.clm-FatesColdSeedDisp">
<test name="PEM_D_Ld20.5x5_amazon.I2000Clm50FatesRsGs.derecho_intel.clm-FatesColdSeedDisp">
<phase name="COMPARE_base_modpes">
<status>FAIL</status>
<issue>FATES#1089</issue>
Expand Down
110 changes: 55 additions & 55 deletions cime_config/testdefs/testlist_clm.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#!/bin/bash

./xmlchange CLM_ACCELERATED_SPINUP="on"
./xmlchange MOSART_MODE="NULL"

COMP_ROF=`./xmlquery --value COMP_ROF`
if [[ $COMP_ROF == "MOSART" ]]; then
./xmlchange MOSART_MODE="NULL"
fi

Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
./xmlchange CLM_ACCELERATED_SPINUP=sasu
./xmlchange MOSART_MODE=NULL

COMP_ROF=`./xmlquery --value COMP_ROF`
if [[ $COMP_ROF == "MOSART" ]]; then
./xmlchange MOSART_MODE="NULL"
fi
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
./xmlchange CLM_ACCELERATED_SPINUP=sasu
./xmlchange DATM_YR_START=1901,DATM_YR_END=1902
./xmlchange MOSART_MODE=NULL

COMP_ROF=`./xmlquery --value COMP_ROF`
if [[ $COMP_ROF == "MOSART" ]]; then
./xmlchange MOSART_MODE="NULL"
fi
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#!/bin/bash

./xmlchange MOSART_MODE="NULL"
COMP_ROF=`./xmlquery --value COMP_ROF`
if [[ $COMP_ROF == "MOSART" ]]; then
./xmlchange MOSART_MODE="NULL"
fi
Comment thread
ekluzek marked this conversation as resolved.
26 changes: 13 additions & 13 deletions doc/source/tech_note/Glacier/CLM50_Tech_Note_Glacier.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ Compared with CLM4.5 (:ref:`Oleson et al. 2013 <Olesonetal2013>`), CLM5.0 contai

- A number of namelist parameters offer fine-grained control over glacier behavior in different regions of the world (section :numref:`Glacier regions`). (The options used outside of Greenland and Antarctica reproduce the standard CLM4.5 glacier behavior.)

- CLM can now keep its glacier areas and elevations in sync with CISM when running with an evolving ice sheet. (However, in typical configurations, the ice sheet geometry still remains fixed throughout the run.)
- CLM can now keep its glacier areas and elevations in sync with CISM as the ice sheet is evolving. (However, in typical configurations, the ice sheet geometry still remains fixed throughout the run, since the data glacier model is used [DGLC as part of CDEPS].)

- The downscaling to elevation classes now includes downwelling longwave radiation and partitioning of precipitation into rain vs. snow (section :numref:`Multiple elevation class scheme`).

- Other land units within the CISM domain undergo the same downscaling as the glacier land unit, and surface mass balance is computed for the natural vegetated land unit. This allows CLM to produce glacial inception when running with an evolving ice sheet model.
- Other land units within the CISM domain undergo the same downscaling as the glacier land unit, and surface mass balance is computed for the natural vegetated land unit. This allows CLM to produce glacial inception when running with the CISM evolving ice sheet model.

- There have also been substantial improvements to CLM's snow physics, as described in other chapters of this document.

Expand All @@ -29,27 +29,27 @@ Compared with CLM4.5 (:ref:`Oleson et al. 2013 <Olesonetal2013>`), CLM5.0 contai
Overview
--------

CLM is responsible for computing two quantities that are passed to the ice sheet model:
CLM is responsible for computing two quantities that are passed to the ice sheet model (either CISM, DGLC or SGLC):

#. Surface mass balance (SMB) - the net annual accumulation/ablation of mass at the upper surface (section :numref:`Computation of the surface mass balance`)

#. Ground surface temperature, which serves as an upper boundary condition for CISM's temperature calculation The ice sheet model is typically run at much higher resolution than CLM (e.g., :math:`\sim`\ 5 km rather than :math:`\sim`\ 100 km). To improve the downscaling from CLM's grid to the ice sheet grid, the glaciated portion of each grid cell is divided into multiple elevation classes (section :numref:`Multiple elevation class scheme`). The above quantities are computed separately in each elevation class. The CESM coupler then computes high-resolution quantities via horizontal and vertical interpolation, and passes these high-resolution quantities to CISM.

There are several reasons for computing the SMB in CLM rather than in CISM:
There are several reasons for computing the SMB in CLM rather than in CISM/DGLC:

#. It is much cheaper to compute the SMB in CLM for :math:`\sim`\ 10 elevation classes than in CISM. For example, suppose we are running CLM at a resolution of :math:`\sim`\ 50 km and CISM at :math:`\sim`\ 5 km. Greenland has dimensions of about 1000 x 2000 km. For CLM we would have 20 x 40 x 10 = 8,000 columns, whereas for CISM we would have 200 x 400 = 80,000 columns.

#. We can use the sophisticated snow physics parameterization already in CLM instead of implementing a separate scheme for CISM. Any improvements to CLM are applied to ice sheets automatically.
#. We can use the sophisticated snow physics parameterization already in CLM instead of implementing a separate scheme for CISM/DGLC. Any improvements to CLM are applied to ice sheets automatically.

#. The atmosphere model can respond during runtime to ice-sheet surface changes (even in the absence of two-way feedbacks with CISM). As shown by :ref:`Pritchard et al. (2008)<Pritchardetal2008>`, runtime albedo feedback from the ice sheet is critical for simulating ice-sheet retreat on paleoclimate time scales. Without this feedback the atmosphere warms much less, and the retreat is delayed.
#. The atmosphere model can respond during runtime to ice-sheet surface changes (even in the absence of two-way feedbacks when DGLC is used rather than CISM). As shown by :ref:`Pritchard et al. (2008)<Pritchardetal2008>`, runtime albedo feedback from the ice sheet is critical for simulating ice-sheet retreat on paleoclimate time scales. Without this feedback the atmosphere warms much less, and the retreat is delayed.

#. The improved SMB is potentially available in CLM for all glaciated grid cells (e.g., in the Alps, Rockies, Andes, and Himalayas), not just those which are part of ice sheets.

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.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@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!!!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

One thing I confirmed in looking at what's different between cases with DGLC%NOEVOLVE and SGLC is that gld_do_dynglacier==.true. because GLC_TWO_WAY_COUPLING==TRUE for DGLC and is FALSE for SGLC. This is something set in CMEPS.

I think the upshot with that is that DGLC is providing the topographic heights. Which goes along with one thing that @billsacks says above here

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.)

I had trouble isolating a point over greenland that didn't have any glacier. But, in comparing TBOT (which is downscaled over greenland) I see differences in it over the Greenland coastline. So I think this sufficiently confirms that question.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

In terms of this:

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).

Yes, I could confirm this by going through the code. glc_dyn_runoff_routing gets set by the glacier region, so over Greenland it'll be TRUE for either DGLC or CISM.

#. 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.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think this needs some adjustment as well. The last part applies to both SGLC and DGLC.


#. 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.)
Comment thread
ekluzek marked this conversation as resolved.

It is also possible to run CESM with an evolving ice sheet. In this case, CLM responds to CISM's evolution by adjusting the areas of the glacier land unit and each elevation class within this land unit, as well as the mean topographic heights of each elevation class. Thus, CLM's glacier areas and elevations remain in sync with CISM's. Conservation of mass and energy is done as for other landcover change (see Chapter :numref:`rst_Transient Landcover Change`).

Expand Down Expand Up @@ -80,7 +80,7 @@ The world's glaciers and ice sheets are broken down into a number of different r

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.)
Comment thread
ekluzek marked this conversation as resolved.
Outdated

.. _Table Glacier region behaviors:

Expand Down Expand Up @@ -119,7 +119,7 @@ The atmospheric surface temperature, potential temperature, specific humidity, d

This downscaling allows lower-elevation columns to undergo surface melting while columns at higher elevations remain frozen. This gives a more accurate simulation of summer melting, which is a highly nonlinear function of air temperature.

Within the CISM domain, this same downscaling procedure is also applied to all non-urban land units. The elevation of non-glacier land units is taken from the mean elevation of ice-free grid cells in CISM. This is done in order to keep the glaciated and non-glaciated portions of the CISM domain as consistent as possible.
Within the CISM/DGLC domain, this same downscaling procedure is also applied to all non-urban land units. The elevation of non-glacier land units is taken from the mean elevation of ice-free grid cells in CISM/DGLC. This is done in order to keep the glaciated and non-glaciated portions of the CISM/DGLC domain as consistent as possible.

In contrast to most CLM subgrid units, glacier\_mec columns can be active (i.e., have model calculations run there) even if their area is zero. These are known as "virtual" columns. This is done because the ice sheet model may require a SMB for some grid cells where CLM has zero glacier area in that elevation range. Virtual columns also facilitate glacial advance and retreat in the two-way coupled case. Virtual columns do not affect energy exchange between the land and the atmosphere.

Expand All @@ -132,9 +132,9 @@ This section describes the computation of surface mass balance and associated ru

The SMB of a glacier or ice sheet is the net annual accumulation/ablation of mass at the upper surface. Ablation is defined as the mass of water that runs off to the ocean. Not all the surface meltwater runs off; some of the melt percolates into the snow and refreezes. Accumulation is primarily by snowfall and deposition, and ablation is primarily by melting and evaporation/sublimation. CLM uses a surface-energy-balance (SEB) scheme to compute the SMB. In this scheme, the melting depends on the sum of the radiative, turbulent, and conductive fluxes reaching the surface, as described elsewhere in this document.

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 is the mass balance for ice alone, not snow. We can think of CLM as owning the snow, whereas CISM owns the underlying ice. Fluctuations in snow depth between 0 and 10 m water equivalent are not reflected in the SMB passed to CISM. In transient runs, this can lead to delays of a few decades in the onset of accumulation or ablation in a given glacier column.
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.
Comment thread
ekluzek marked this conversation as resolved.
Outdated

Any snow capping (section :numref:`Runoff from glaciers and snow-capped surfaces`) is added to :math:`q_{ice,frz}`. Any liquid water (i.e., melted ice) below the snow pack in the glacier column is added to :math:`q_{ice,melt}`, then is converted back to ice to maintain a pure-ice column. Then the total SMB is given by :math:`q_{ice,tot}`:

Expand Down
Loading
Loading