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

Develop ugwp improvements #600

Merged
merged 22 commits into from
Dec 22, 2022

Conversation

mdtoyNOAA
Copy link
Contributor

Description

This pull request has three main components:

  1. To fix some issues with the orographic drag schemes of the "drag_suite" CCPP module which have caused model crashes to occur in GFSv17 p8 testing. These issues are described in ufs-community/ccpp-physics/Issue #20.
  2. To add optional diagnostic outputs for each of the components of the drag suite for tuning purposes. This is also described in ufs-community/ccpp-physics/Issue #20. The optional diagnostic outputs can be selected at run time by the already-existing ldiag_ugwp namelist flag.
  3. As part of the 1st component above, at the suggestion of Philip Pegion, we have added the capability to update the u and v winds in each model column based on the tendencies calculated by the mesoscale gravity wave drag and blocking schemes, and using these for the calculation of the tendencies by the small-scale gravity wave drag and turbulent orographic form drag schemes. This sequential updating of the wind profile has been shown to improve the numerical stability. The option to update the winds in this manner is controlled by a new logic flag ugwp_seq_update, which for now, is not a namelist option, but is hardwired by default to .false. in GFS_typedefs.F90. The user can change this to .true. at compile time.

Is a change of answers expected from this PR? Yes.

Issue(s) addressed

Testing

How were these changes tested? RT (new baseline, then tested against new baseline). ORT.
What compilers / HPCs was it tested with? Intel. Hera.

Have the ufs-weather-model regression test been run? Yes.
On what platform? Hera/Intel.

  • Will the code updates change regression test baseline? Yes. Changes to CCPP unified_ugwp drag suite. Please show the baseline directory below.
    /scratch1/BMC/wrfruc/mtoy/git_local/ufs-weather-model/REGRESSION_TEST_INTEL.2022_11_08

Dependencies

If testing this branch requires non-default branches in other repositories, list them.
https://github.com/mdtoyNOAA/ufs-weather-model/tree/develop_ugwp_improvements
https://github.com/mdtoyNOAA/ccpp-physics/tree/ufs/dev_ugwp_improvements

CCPP-physics pull request dependency: ccpp-physics#20

@ChunxiZhang-NOAA
Copy link
Contributor

@mdtoyNOAA Do you mind cleaning up some variables related to UGWP in GFS_typedefs.F90. Most unused variables are in this block:
if (Model%ldiag_ugwp) then
........
dv3dt_mtb
......
endif

@mdtoyNOAA
Copy link
Contributor Author

@mdtoyNOAA Do you mind cleaning up some variables related to UGWP in GFS_typedefs.F90. Most unused variables are in this block:
if (Model%ldiag_ugwp) then
........
dv3dt_mtb
......
endif

I have cleaned up several variables and am running RT's to make sure nothing is broken.
The unused variables I removed are:
dv3dt_ogw, dt3dt_ogw, dv3dt_mtb, dt3dt_mtb, dv3dt_tms, dt3dt_tms, dt3dt_ngw, du3dt_cgw, dv3dt_cgw, dt3dt_moist, du3dt_moist and dv3dt_moist

@ChunxiZhang-NOAA
Copy link
Contributor

That's great, thank you Mike.

@ChunxiZhang-NOAA
Copy link
Contributor

@mdtoyNOAA @jkbk2004 ccpp framework didn't point to the correct hash. This PR points to the latest hash, but the upstream/develop branch uses an old version. But I think it is ok to update to the latest hash.

@jkbk2004
Copy link
Collaborator

@ChunxiZhang-NOAA nice catch! @DusanJovic-NOAA @grantfirl updating ccpp framework hash can be a right way to go, isn't it?

@DusanJovic-NOAA
Copy link
Collaborator

@ChunxiZhang-NOAA nice catch! @DusanJovic-NOAA @grantfirl updating ccpp framework hash can be a right way to go, isn't it?

I guess. I'm not familiar with changes in ccpp-framework.

@mdtoyNOAA
Copy link
Contributor Author

@ChunxiZhang-NOAA nice catch! @DusanJovic-NOAA @grantfirl updating ccpp framework hash can be a right way to go, isn't it?

I guess. I'm not familiar with changes in ccpp-framework.

The latest updates to the "main" branch of "NCAR/ccpp-framework" are:

commit d4a00031381afa7cd90589040a5c7e8f53991801 (HEAD -> main, origin/main, origin/HEAD)
Merge: 4daaa24 acd3b32
Author: Michael Kavulich kavulich@ucar.edu
Date: Tue Oct 11 15:35:48 2022 -0600

Merge pull request #455 from mkavulich/limit_cap_names

Limit suite names to 37 characters or less

commit acd3b327ab449a98deb8916254573f537a5ce8d2
Author: Michael Kavulich, Jr kavulich@ucar.edu
Date: Tue Sep 27 11:38:51 2022 -0600

Limit suite names to 37 characters or less

Looks like minor changes that shouldn't change the results.

Copy link
Contributor

@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. Note that this PR will change the ccpp framework hash to d4a0003.

@jkbk2004
Copy link
Collaborator

@mdtoyNOAA ccpp pr was merged. can you update submodule pointer?

@jkbk2004
Copy link
Collaborator

@mdtoyNOAA revert branch in gitmodules as well.

@mdtoyNOAA
Copy link
Contributor Author

mdtoyNOAA commented Dec 22, 2022 via email

@jkbk2004 jkbk2004 merged commit a45e1b5 into NOAA-EMC:develop Dec 22, 2022
@grantfirl grantfirl mentioned this pull request Jan 3, 2023
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.

Improve stability of unified drag suite and add diagnostics
5 participants