Skip to content
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

Selective port of land-ice-related updates from NCAR/ccpp-physics #41

Closed

Conversation

spencerkclark
Copy link
Member

@spencerkclark spencerkclark commented May 20, 2024

Description

This PR ports a selected set of updates to the land-ice portions of Noah-MP (primarily module_sf_noahmp_glacier.f90) from NCAR/ccpp-physics.

Primary change

The primary goal of this PR is accomplished by the first commit, which adds an gfs_physics_nml.iopt_gla namelist option to the version of Noah-MP implemented in SHiELD. This new namelist option can be set to either iopt_gla = 1 or iopt_gla = 2, with iopt_gla = 1 resulting in the existing behavior, ostensibly allowing phase changes to occur within land ice, and iopt_gla = 2 disabling phase changes within land ice.

iopt_gla = 2 has been set to be the new default for two reasons:

  • It fixes the issue with iopt_gla = 1 that the soil temperature in land ice regions would never fall below 273.16 K.
  • It is hard-coded to be the behavior in NCAR/ccpp-physics.

Other changes

After the first commit, this PR includes some updates to the glacier physics and primary Noah-MP modules that appear genuinely related to land ice, as opposed to related to changes needed to refactor the handling of the surface layer to accommodate GSL's MYNN scheme. These changes were selected by manually inspecting the commit history of the module_sf_noahmp_glacier.F90 file in NCAR/ccpp-physics one commit-diff at a time1.

Presumably these are bug fixes / tuning adjustments, so it seems sensible to make these changes at the same time as adding the iopt_gla option, but they are not essential for fixing the soil temperature issue over Antarctica.

How Has This Been Tested?

These changes have been tested by running short SHiELD simulations with Noah-MP and checking the soil temperature in Antarctica:

  • With the existing code, as we have observed, the soil temperature is pinned to 273.16 K.
  • With the first commit alone, and iopt_gla = 2, the soil temperature has a more realistic distribution in Antarctica, dropping to as low as around 200 K in the center. With iopt_gla = 1, results are bitwise-identical to the existing code.
  • With the addition of the updates in subsequent commits, results change for both the iopt_gla = 1 and iopt_gla = 2 options, but this is expected given that these are presumably bug fixes / tuning adjustments.

I will run longer C24 simulations to confirm details of the approximate changes in surface temperature we might expect as a result of this changes—based on earlier results I expect decreases in the annual mean surface temperature over Antarctica of about 10 K.

Checklist:

Please check all whether they apply or not

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Footnotes

  1. This is across file renames dating back to anything after this commit, which I believe is around the time that Kai last updated Noah-MP in SHiELD.

@spencerkclark
Copy link
Member Author

Superseded by #42.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant