-
Notifications
You must be signed in to change notification settings - Fork 369
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
Update glc coupler budgets for active Greenland ice sheet #6634
base: master
Are you sure you want to change the base?
Update glc coupler budgets for active Greenland ice sheet #6634
Conversation
Update various bits of code needed for completing and testing of glc coupler budgets. Still very much in the testing and debugging phase.
Code additions and debugging for addition of Greenland surface mass balance terms to glc budget code, including temporary lines for debugging and validation.
… component Given known number of time steps smb flux is accumulated over, x2g_ smb flux term in budget table now agrees with value calculated from mali and cpl hist files (still need to add support for automatically determining number of averaging steps). Similar support on l2x_ side is close (summing product of accumulation fluxes in different MECs w/ area fractions and cell areas) but off in budget tables from cpl calculated values by ~5%.
Checkpointing changes to coupler budget code that accounts for l2x_ and g2x_ Greenland surface mass balance fluxes, with various lines supporting debugging outputs included. Cleaned up code without debug lines to follow.
Clean up commenting and debugging lines, leaving bare minimum needed to make draft PR understandable.
Notes: Jon has been meeting with Steve about this. Will test more for impact when no glc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jonbob -- This all looks great to me. Thanks for figuring out how to get it working properly.
One somewhat unrelated question - in line 4800, are we leaving "do_g2x=.true." unspecified because we are (currently) not sending any glc to coupler fields? But, once we start sending calving flux to coupler (for example) this would be explicitly included and set to true?
That's right -- we actually already have some fields in that part of the budget calculation, even if they are 0 |
... but because they are currently 0 we are just avoiding that part of the subroutine call for now (?). |
test merge passes:
verified the new budget lines are all 0 when smb values are not being passed |
@stephenprice -- I pushed some commits to your branch to get the budget balanced. This is what I get now after a month from a SMS.ne30pg2_r05_IcoswISC30E3r5_gis20.BGWCYCL1850.chrysalis_gnu.allactive-gis20km run:
|
@jonbob -- This branch has now been synched with master (as of ~5pm, 12-5-24). Let me know if you need anything else from me, and thanks again for finishing this off. |
@rljacob - I think this is ready for you to look at. I'll test again, but I did make sure there is no impact when glc is not in the configuration other than a couple of new lines in the budget that are populated with 0's |
@@ -1493,7 +1493,8 @@ subroutine glc_export_mct(g2x_g, errorCode) | |||
!call route_ice_runoff(0.0_RKIND, & !Recuperate runoff routing switch code (originally in glc_route_ice_runoff module in earlier code), and attach to ice calving flux once present... | |||
! rofi_to_ocn=Fogg_rofi, & | |||
! rofi_to_ice=Figg_rofi) | |||
g2x_g % rAttr(index_g2x_Fogg_rofi,n)=0.0 !...and remove these placeholders | |||
g2x_g % rAttr(index_g2x_Fogg_rofi,n)=0.0!...and remove these placeholders | |||
!g2x_g % rAttr(index_g2x_Fogg_rofi,n)=0.0001d0 ! dummy value to allow tracking through coupler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please remove commented out code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done(ish). Note that I left the commented out "call route_ice_runoff" in because that is something we are likely going to need to activate with further work on this section of the budgets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving but not I have not carefully checked the logic. In my exploration of land ice coupling I didn't look at the budget diags.
Remove placeholder / commmented out code in glc_comp_mct Correct revision history comment in glc section of seq_diag_mct
verified the budget is not impacted by this PR for non-MALI runs other than adding water and heat rows for smb that are populated with 0's, by running ne30pg2_r05_IcoswISC30E3r5 WCYCL1850 configurations for a month |
A one-month run of SMS.ne30pg2_r05_IcoswISC30E3r5_gis20.BGWCYCL1850.chrysalis_gnu.allactive-gis20km has this for the one-month all_time budget:
|
passes:
but shows DIFFs running e3sm_landice_developer. @stephenprice -- the change I made to the renormalization to use lfrin instead of lfrac will change the results. Do you or @chloewhicker want to make a longer run to make sure this impact s OK before merging this PR? |
This PR adds functionality to coupler budget code so that x2g_ and l2x_ fields associated with Greenland ice sheet surface mass balance are accounted for in the coupler budget tables. Also added, but currently passing fields of zeroes, is support for g2x_ fields associated with iceberg fluxes when running with a dynamic Greenland ice sheet. Additional information for testing this PR is included in the notes below.
[BFB]