UGWP_v0: Scale cdmbgwd(1:2) by inverse square root of dx#1218
Conversation
* Scale cdmb with the inverse square root of dxres in ugwp_v0 * Scale cleff with the inverse square root of dxres in ugwp_v0 * Replace the non-ascii 1/2 with its ascii representation to satisfy ci test requirement.
* Make cdmbgwd0 to be rank 4 * Unify cdmbgwd0 and cdmbgwd
| @@ -485,6 +485,8 @@ SUBROUTINE GWDPS_V0(IM, km, imx, do_tofd, & | |||
| sigres = max(sigmin, sigma(J)) | |||
| if (hprime(J)/sigres > dxres) sigres = hprime(J)/dxres | |||
There was a problem hiding this comment.
One cleanup comment: This line (L486) is unnecessary because it is always .false. and can be removed. It also appears to be a leftover from earlier code, as dxres — used in the loop above — depends on j. Reassuringly, this if check has been removed in the corresponding section of the UGWP_v1 code.
There was a problem hiding this comment.
Done in 7ff8e06
More cleanup could be done but I will leave the rest as is.
mdtoyNOAA
left a comment
There was a problem hiding this comment.
Based on the success of your tuning experiments with NEPTUNE, I approve this pull request.
| !!! | ||
| !!! Create the momentum height (layer interface) array. The original momentum layers are used above the canopy height. | ||
| !!! Below the canopy height, the "momentum" layers are assumed to be ½ way between the thermodynamic layers. | ||
| !!! Below the canopy height, the "momentum" layers are assumed to be 1/2 way between the thermodynamic layers. |
There was a problem hiding this comment.
This is fixed in an upcoming PR from the ufs/dev branch already. It will get merged before this PR.
There was a problem hiding this comment.
Thank you. I see it in. It's the same change and can be merged cleanly.
|
Note to self: add @matusmartini @areinecke to CODEOWNERS for the v0 scheme. |
|
@matusmartini Can you update the PR description, please, to show the change in the cdmbgwd coefficients in the host model? Because we now divide by sqrt(dxres), they must be a lot larger than they were before. Thanks! |
I added one more commit (should be the last) to multiply the coefficients with a power of 10 so the namelist parameter for each MB and OGW from host model are within [0, 10]. For NEPTUNE the resulting |
grantfirl
left a comment
There was a problem hiding this comment.
This was discussed in a meeting and all stakeholders for this scheme approve of the science changes.
|
@matusmartini Please accept the GitHub invitation for this repo. You're being added as a collaborator with write permissions so that you can correctly be notified as a CODEOWNER whenever there is a PR for the ugwp_v0 scheme. |
Thank you. I will. I need to set up a 2-factor authenticator app first. |
Description of Changes:
This aims to generalize the UGWP version 0 gravity wave drag scheme based on tuning experiments at NRL. This scheme is effectively only used by NEPTUNE.
where
cdmbgwd(1:2)are namelist parameters specified by host model. We found that the relationship holds across different resolutions. The tuning experiments with NEPTUNE were conducted over four months of simulations withdxat ~16, 32, and 64 km.Basic idea
Different
cdmbgwd(1:2)factors for different grid spacingsdxare no longer needed. A single parametercdmbgwd(1)is now used to scale MB, and another single parametercdmbgwd(2)is used to scale OGW drag.Note that the UGWP_v0 scaling does not work across different
dx, as users have to adjust the multiplication factors based on resolution. In the UGWP_v0, the original scaling is expressed as:where
lonris the number of points on the equator. Sincedxis approximatelylength_of_equator / lonr, the original relationship forcdmb4was roughly a linear function ofdxwhile forcleffit was roughly a function ofsqrt(dx); however,cdmbgwd(1:2)multiplication factors are still a function ofdx(namelist specified based ondx).Caveat
This version 0 of GWD scheme is still used in some of the older systems based on: #1202 (comment) so this PR will affect current operational models, including GFSv16, GEFSv12 etc. However, "all the upcoming implementations will not use this scheme anymore." At minimum
cdmbgwd(1:2)will need to be reconfigured in all namelists that usegwdps_v0.Tests Conducted:
Dependencies:
None.