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

CCPP physics: wet() bug fix and workaround for bad tsfco #916

Conversation

SamuelTrahanNOAA
Copy link
Contributor

Description

Fixes this problem:

It was caused by missing values (-1e+20) for sea surface temperature on wet points in input data. (Wet points are points where the CCPP wet array is true, thus indicating the surface is at least partly water.) There's a bug fix and a workaround:

  1. Bug fix: In certain situations, the wet array can be mistakenly true when it should be false due to the location being 100% ice. An "else" statement corrects this.
  2. Workaround: If the input sea surface temperatures (tsfco) are invalid on a wet point, the lowest model level temperature is used instead.

There is no other temperature available on those points that can reasonably be used as a sea surface temperature. The lowest model level temperature may not be a perfect analogue for the sea surface temperature, but it'll be more realistic than -1E+20 K.

Issue(s) addressed

Testing

How were these changes tested?

  • Confirmed that infinities in tendencies go away.
  • Ran hera regression tests to ensure no tests change.

What compilers / HPCs was it tested with?

Hera.

Are the changes covered by regression tests? (If not, why? Do new tests need to be added?)

A lower-resolution version of this configuration has a regression test.

This specific input that causes a problem is too high a resolution to be a regression test. Also, this problem likely originates from trouble with the initial conditions. We don't need to test the model with potentially problematic input.

Have the ufs-weather-model regression test been run? On what platform?

Hera.

Will the code updates change regression test baseline? If yes, why? Please show the baseline directory below.

No.

  • Please commit the regression test log files in your ufs-weather-model branch

Dependencies

Requirements before merging

  • All new code in this PR is tested by at least one unit test
  • All new code in this PR includes Doxygen documentation (no documentation changes needed)
  • All new code in this PR does not add new compilation warnings (check CI output)

jkbk2004 pushed a commit that referenced this pull request Feb 12, 2025
… bug fix and workaround for bad tsfco #916 (#896)

* Parallel IO enhancements from GDIT

* Add SW clear-sky downward flux at surface to available diagnostics

* fix compilation error in GFS_diagnostics.F90

* update atmos_cubed_sphere to turn ENABLE_PARALLELRESTART OFF by default to avoid RT errors on some platforms (Hera, Hercules at least)

* ccpp-physics - wet() bug fix and workaround for bad tsfco


---------

Co-authored-by: Dustin Swales <[email protected]>
Co-authored-by: Samuel Trahan <samuel,[email protected]>
@grantfirl
Copy link
Collaborator

@DusanJovic-NOAA This was combined into #896 so it can be closed when you get a chance.

LarissaReames-NOAA pushed a commit to LarissaReames-NOAA/fv3atm that referenced this pull request Feb 12, 2025
… bug fix and workaround for bad tsfco NOAA-EMC#916 (NOAA-EMC#896)

* Parallel IO enhancements from GDIT

* Add SW clear-sky downward flux at surface to available diagnostics

* fix compilation error in GFS_diagnostics.F90

* update atmos_cubed_sphere to turn ENABLE_PARALLELRESTART OFF by default to avoid RT errors on some platforms (Hera, Hercules at least)

* ccpp-physics - wet() bug fix and workaround for bad tsfco


---------

Co-authored-by: Dustin Swales <[email protected]>
Co-authored-by: Samuel Trahan <samuel,[email protected]>
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.

3 participants