Skip to content

wet() bug fix and workaround for bad tsfco#247

Merged
rhaesung merged 1 commit into
ufs-community:ufs/devfrom
SamuelTrahanNOAA:bugfix/good-wet-tsfco
Feb 12, 2025
Merged

wet() bug fix and workaround for bad tsfco#247
rhaesung merged 1 commit into
ufs-community:ufs/devfrom
SamuelTrahanNOAA:bugfix/good-wet-tsfco

Conversation

@SamuelTrahanNOAA
Copy link
Copy Markdown
Collaborator

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.

@GeorgeGayno-NOAA
Copy link
Copy Markdown

Is UFS_UTILS providing bad input data - bad orography or a bad coldstart initial condition?

@SamuelTrahanNOAA
Copy link
Copy Markdown
Collaborator Author

Is UFS_UTILS providing bad input data - bad orography or a bad coldstart initial condition?

The tsfco comes from the surface files, while the land masks and fractions come from the orography files. There is clearly a disagreement between the two.

I cannot be certain the problem comes from a bad UFS_UTILS. Our UFS_UTILS was modified by @NingWang325. Thus, I don't know if the problem is with the original UFS_UTILS or with Ning's modifications, or nither.

It's also possible the person running this (Sijie Pan; don't know his github handle) mixed surface and orography files from different versions of UFS_UTILS. Monday, I carefully regenerated everything from Ning's version so Sijie can rerun with a set of files that are known to be consistent. Perhaps when he does that, all our problems will vanish.

Copy link
Copy Markdown

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

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

Thanks for fixing this. I will note that if we were strict about CCPP requirements, we wouldn't allow writing to stdout and stderr in schemes, but given that we have never enforced that rule, there is plenty of precedence for writing to stdout/stderr in schemes, and we don't have a great alternative at the moment (errmsg), this is fine. I guess all I am trying to say is that I thought about the rules and decided for myself that it is ok to ignore them for now ;-)

@rhaesung rhaesung merged commit 5f20857 into ufs-community:ufs/dev Feb 12, 2025
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.

5 participants