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

Minor cloud tunings to improve cloud fraction and radiation in UFS #1

Merged
merged 12 commits into from
Oct 18, 2022

Conversation

grantfirl
Copy link
Collaborator

All credit for code changes and description to @gthompsnWRF

This PR is attempting to increase some cloud ice aloft explicitly in the Thompson microphysics by permitting a larger number of ice crystals (as a maximum) and by overall decreasing the fractional cloudiness in the Thompson cloud fraction scheme (subroutine cal_cldfra3). The following list of 4 items describes the changes introduced by this PR:

  1. permit maximum of 5000 ice crystals per Liter (previously 500).
  2. return to using 10% of snow mass assumed as cloud ice in radiation scheme.
  3. alter the equation for cloud fraction to use SQRT(SQRT(expression)) in place of a single square root (see graphic below for how that affects the outcome).
  4. for readability purposes, I added a blank line around some subroutines and removed authors initials hnhj because this author was already credited in a comment block and having initials on many lines is pointless.

The first two items listed above are intended to improve explicitly-created clouds by the microphysics whether or not the icloud = 3 option is attempted. The third item is an attempt to reduce what was seen as too much high-altitude ice cloud causing outgoing longwave radiation to be too low compared to the 240 W/m2 target value.

The graphic below represents the cloud fraction diagnosed as a function of relative humidity for a sample condition of approximately 13km horizontal grid spacing and 250m vertical level spacing to arrive at the Critical RH values of 0.82 over land (red) and 0.90 over ocean (blue). Dashed lines are the older diagnosis and solid lines with dots are the outcome of the new code.

CF_versus_RH

@grantfirl
Copy link
Collaborator Author

Fixes NCAR#966

@gthompsnWRF
Copy link
Collaborator

@grantfirl , @haiqinli : Hi Grant. Thanks for doing this. Can I make a simple request? About 5 months ago, someone added a new boolean variable to the argument list called aero_ind_fdb at line#971 in module_mp_thompson.F90 but the person who did it disrupts my original list of most important 2D and 3D variables. While trying not to be a control freak, there's no reason to break my chain/list of variables (state and microphysics) with a boolean option. I leave all the booleans and indicies and other "fluff" to the end of the subroutine arg list.

My request is simply moving this bool variable down the arg list to precede rand_perturb_on or anywhere among other bool vars of little consequence. Would you consider this as a tiny change to enter into this PR?

@grantfirl
Copy link
Collaborator Author

@grantfirl , @haiqinli : Hi Grant. Thanks for doing this. Can I make a simple request? About 5 months ago, someone added a new boolean variable to the argument list called aero_ind_fdb at line#971 in module_mp_thompson.F90 but the person who did it disrupts my original list of most important 2D and 3D variables. While trying not to be a control freak, there's no reason to break my chain/list of variables (state and microphysics) with a boolean option. I leave all the booleans and indicies and other "fluff" to the end of the subroutine arg list.

My request is simply moving this bool variable down the arg list to precede rand_perturb_on or anywhere among other bool vars of little consequence. Would you consider this as a tiny change to enter into this PR?

@gthompsnWRF Sure thing, done: 8cfde78. I also added a check for the optional logical variable before it is used to avoid future errors.

@gthompsnWRF
Copy link
Collaborator

@grantfirl The associated/prior PR had 2 positive reviews - one of which was Ruiyu. Could we get those same reviewers again?

@grantfirl
Copy link
Collaborator Author

@ChunxiZhang-NOAA It looks like I don't have permissions in this repo to add reviewers. Can you add @RuiyuSun as a reviewer please?

Copy link

@ChunxiZhang-NOAA ChunxiZhang-NOAA left a comment

Choose a reason for hiding this comment

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

Looks good for me. Greg and Ruiyu, please review it.

@grantfirl grantfirl merged commit d93ce1a into ufs-community:ufs/dev Oct 18, 2022
ChunxiZhang-NOAA pushed a commit that referenced this pull request Dec 5, 2022
ChunxiZhang-NOAA pushed a commit that referenced this pull request Dec 22, 2022
ChunxiZhang-NOAA pushed a commit that referenced this pull request Feb 17, 2023
haiqinli referenced this pull request in haiqinli/ccpp-physics Mar 24, 2023
Remove MYNN SFC logic from noahmpdrv.F90 and fix CMakeLists.txt authors
grantfirl pushed a commit that referenced this pull request Apr 20, 2023
update CODEOWNERS to replace Chunxi with Qingfu
WChen-NOAA pushed a commit to WChen-NOAA/ccpp-physics that referenced this pull request Jun 18, 2024
Fix memory error in saturation adjustment code when MULTI_GASES=ON
grantfirl pushed a commit that referenced this pull request Sep 17, 2024
grantfirl pushed a commit that referenced this pull request Sep 30, 2024
add Rhae Sung Kim to CODEOWNERS file
grantfirl pushed a commit that referenced this pull request Nov 18, 2024
Move DDTs to host and fix compilation errors
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