NOAA-EMC / fv3atm

Other
32 stars 157 forks source link

HR4 Gravity Wave Drag Update #836

Closed Qingfu-Liu closed 4 months ago

Qingfu-Liu commented 6 months ago

Description

(Instructions: this, and all subsequent sections of text should be removed and filled in as appropriate.) Provide a detailed description of what this PR does.
This PR#836 depends ccpp-physics PR#207.

  1. This update is a combination of the gravity wave drag (GWD) versions from the NOAA/GSL and NOAA/PSL
  2. The test results with this update can be seen in: a) summer: https://www.emc.ncep.noaa.gov/gmb/jhan/vsdbw/hr3e50s b) winter: https://www.emc.ncep.noaa.gov/gmb/jhan/vsdbw/hr3d11w HR4GWD: same as HR3 but with the updated GWD

    Compared to the HR2 and HR3, the HR4GWD shows a significant improvement especially in 500mb height AC and CONUS precipitation forecast skills. The HR4GWD reduces the cold and dry biases in the lower troposphere compared to the HR3. It also reduces the negative wind speed biases in the troposphere compared to the HR2.

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

Issue(s) addressed

Gravity Wave Drag Update for HR4

Testing

How were these changes tested?
yes. see previous description

Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) No. Need to create new input.nml and new fix file ugwd Have the ufs-weather-model regression test been run? On what platform?
Regression test has not been run.

Dependencies

If testing this branch requires non-default branches in other repositories, list them. Those branches should have matching names (ideally) Tests need new input.nml file and new fix file ugwd Do PRs in upstream repositories need to be merged first? None

DusanJovic-NOAA commented 6 months ago

Please see the build error messages in the CI build, here:

https://github.com/NOAA-EMC/fv3atm/actions/runs/9142433918/job/25137982061?pr=836#step:6:2123

Qingfu-Liu commented 6 months ago

Please see the build error messages in the CI build, here:

https://github.com/NOAA-EMC/fv3atm/actions/runs/9142433918/job/25137982061?pr=836#step:6:2123

@DusanJovic-NOAA Thanks. I will contact Lisa to see if she can fix this problem.

Qingfu-Liu commented 6 months ago

Something wrong with my newly commit. Not sure why the commit upload all the files, working to fix the problem. Please postpone the review

Qingfu-Liu commented 5 months ago

Fixed the compile problem. This PR#836 is ready for review

DusanJovic-NOAA commented 5 months ago

Please list the ccpp/physics PR that this PR depends on

Qingfu-Liu commented 5 months ago

Please list the ccpp/physics PR that this PR depends on

@DusanJovic-NOAA Thanks. I will add it to the description section. Currently, I am still working on the compile issues from the new gravity code I was given this week. Will upload the new code after fix the compile issues

Qingfu-Liu commented 5 months ago

All the code for HR4 GWD and Noahmp just been updated (include the files GFS_typedefs.F90 and GFS_typedefs.meta), and ready to be tested

DusanJovic-NOAA commented 5 months ago

Compilation is still failing: https://github.com/NOAA-EMC/fv3atm/actions/runs/9322369288/job/25663317683#step:6:185

grantfirl commented 5 months ago

Compilation is still failing: https://github.com/NOAA-EMC/fv3atm/actions/runs/9322369288/job/25663317683#step:6:185

@Qingfu-Liu Please update the ccpp-physics submodule pointer to https://github.com/ufs-community/ccpp-physics/pull/207/commits/6b783323e2dd8553cc46ef0ffff1adbae3e095ff

  1. make sure the above commit is checked out in ccpp/physics
  2. cd up to FV3
  3. git add ccpp/physics
  4. git commit -m "update ccpp/physics submodule pointer"
  5. git push

When I started my RTs on Hera, I manually updated to the top of your PR branches, but since the submodule pointers are not updated in fv3atm and ufs-weather-model, the CI tests will still fail.

Qingfu-Liu commented 5 months ago

Compilation is still failing: https://github.com/NOAA-EMC/fv3atm/actions/runs/9322369288/job/25663317683#step:6:185

@Qingfu-Liu Please update the ccpp-physics submodule pointer to ufs-community/ccpp-physics@6b78332

  1. make sure the above commit is checked out in ccpp/physics
  2. cd up to FV3
  3. git add ccpp/physics
  4. git commit -m "update ccpp/physics submodule pointer"
  5. git push

When I started my RTs on Hera, I manually updated to the top of your PR branches, but since the submodule pointers are not updated in fv3atm and ufs-weather-model, the CI tests will still fail.

@grantfirl Somehow I can't update the pointer, can you figure out what is wrong with the following command, thank you very much: /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[869]git add ccpp/physics ccpp/data /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[870]git commit -m "update ccpp/physics submodule pointer" On branch HR4-GWD-update Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) (commit or discard the untracked or modified content in submodules) modified: ccpp/physics (modified content)

no changes added to commit (use "git add" and/or "git commit -a") /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[871]git push fatal: The current branch HR4-GWD-update has no upstream branch. To push the current branch and set the remote as upstream, use

git push --set-upstream origin HR4-GWD-update

To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'.

/scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[872]git remote -v origin https://github.com/Qingfu-Liu/fv3atm (fetch) origin https://github.com/Qingfu-Liu/fv3atm (push) upstream https://github.com/NOAA-EMC/fv3atm (fetch) upstream https://github.com/NOAA-EMC/fv3atm (push) /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[873]git push origin HR4-GWD-update Username for 'https://github.com': Qingfu-Liu Password for 'https://Qingfu-Liu@github.com': Everything up-to-date

grantfirl commented 5 months ago

@Qingfu-Liu There were a couple of more issues that needed to be fixed. I'm running through final tests on Hera and then I'll have PRs into your PR branches of ccpp-physics and fv3atm. Stand by for about an hour while the tests complete please.

Qingfu-Liu commented 5 months ago

@Qingfu-Liu There were a couple of more issues that needed to be fixed. I'm running through final tests on Hera and then I'll have PRs into your PR branches of ccpp-physics and fv3atm. Stand by for about an hour while the tests complete please.

@grantfirl Thank you very much.

grantfirl commented 5 months ago

@Qingfu-Liu Once https://github.com/Qingfu-Liu/fv3atm/pull/1 is merged, this PR should be good.

grantfirl commented 5 months ago

Compilation is still failing: https://github.com/NOAA-EMC/fv3atm/actions/runs/9322369288/job/25663317683#step:6:185

@Qingfu-Liu Please update the ccpp-physics submodule pointer to ufs-community/ccpp-physics@6b78332

  1. make sure the above commit is checked out in ccpp/physics
  2. cd up to FV3
  3. git add ccpp/physics
  4. git commit -m "update ccpp/physics submodule pointer"
  5. git push

When I started my RTs on Hera, I manually updated to the top of your PR branches, but since the submodule pointers are not updated in fv3atm and ufs-weather-model, the CI tests will still fail.

@grantfirl Somehow I can't update the pointer, can you figure out what is wrong with the following command, thank you very much: /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[869]git add ccpp/physics ccpp/data /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[870]git commit -m "update ccpp/physics submodule pointer" On branch HR4-GWD-update Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) (commit or discard the untracked or modified content in submodules) modified: ccpp/physics (modified content)

no changes added to commit (use "git add" and/or "git commit -a") /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[871]git push fatal: The current branch HR4-GWD-update has no upstream branch. To push the current branch and set the remote as upstream, use

git push --set-upstream origin HR4-GWD-update

To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'.

/scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[872]git remote -v origin https://github.com/Qingfu-Liu/fv3atm (fetch) origin https://github.com/Qingfu-Liu/fv3atm (push) upstream https://github.com/NOAA-EMC/fv3atm (fetch) upstream https://github.com/NOAA-EMC/fv3atm (push) /scratch1/NCEPDEV/global/Qingfu.Liu/git/ufs-weather-model/FV3[873]git push origin HR4-GWD-update Username for 'https://github.com': Qingfu-Liu Password for 'https://Qingfu-Liu@github.com': Everything up-to-date

I'm not sure what happened here. Let's see if merging my PR into your branch fixes the CI.

Qingfu-Liu commented 5 months ago

@Qingfu-Liu Once Qingfu-Liu#1 is merged, this PR should be good.

@grantfirl merged. Thank you very much

grantfirl commented 5 months ago

@Qingfu-Liu Could you please point the ccpp-framework to this: https://github.com/NCAR/ccpp-framework/pull/549 (and update .gitmodules). This should not affect regression testing at all (it has already been tested independently on Hera).

Qingfu-Liu commented 5 months ago

@Qingfu-Liu Could you please point the ccpp-framework to this: NCAR/ccpp-framework#549 (and update .gitmodules). This should not affect regression testing at all (it has already been tested independently on Hera).

@grantfirl Currently, the ccpp-framework points to NCAR/ccpp-framework. Where should I change in order to make the ccpp-framework point to the NCAR/ccpp-framework#549 ? Thanks

[submodule "ccpp/framework"] path = ccpp/framework url = https://github.com/NCAR/ccpp-framework ==> should I change to NCAR/ccpp-framework#549 here? branch = main

grantfirl commented 5 months ago

@Qingfu-Liu Could you please point the ccpp-framework to this: NCAR/ccpp-framework#549 (and update .gitmodules). This should not affect regression testing at all (it has already been tested independently on Hera).

@grantfirl Currently, the ccpp-framework points to NCAR/ccpp-framework. Where should I change in order to make the ccpp-framework point to the NCAR/ccpp-framework#549 ? Thanks

[submodule "ccpp/framework"] path = ccpp/framework url = https://github.com/NCAR/ccpp-framework ==> should I change to NCAR/ccpp-framework#549 here? branch = main

Here is how I would do it:

  1. Make sure you're that you have the latest version of your HR4-GWD-update branch of fv3atm checked out.
  2. cd into ccpp/framework
  3. The PR branch of ccpp-framework is on the fork of peverwhee, so we need to add her fork as a remote: git add remote courtney-fork https://github.com/peverwhee/ccpp-framework
  4. git fetch courtney-fork to get the branches from her fork
  5. git checkout add_const_interface (this is the name of the branch that PR#549 points to)
  6. Double-check that the right commit of ccpp-framework is now checked out. It should be https://github.com/NCAR/ccpp-framework/pull/549/commits/6e165e5c483ece98e3dfc407f1e4d67d1a5f5eaf.
  7. cd up to the FV3 directory.
  8. git add ccpp/framework
  9. Edit .gitmodules as follows: [submodule "ccpp/framework"] path = ccpp/framework url = https://github.com/NCAR/ccpp-framework branch = main becomes [submodule "ccpp/framework"] path = ccpp/framework #url = https://github.com/NCAR/ccpp-framework #branch = main url = https://github.com/peverwhee/ccpp-framework branch = add_const_interface
  10. git add .gitmodules
  11. git commit -m "point to PR#549 of ccpp-framework"
  12. git push

This should do it! Let me know if you run into any trouble.

grantfirl commented 5 months ago

@Qingfu-Liu I also noticed that in .gitmodules, for ccpp-physics, you currently are pointing to the ufs/dev branch of your fork. The branch should match the ccpp-physics PR branch: HR4-GWD-update

Qingfu-Liu commented 5 months ago

@Qingfu-Liu I also noticed that in .gitmodules, for ccpp-physics, you currently are pointing to the ufs/dev branch of your fork. The branch should match the ccpp-physics PR branch: HR4-GWD-update

@grantfirl Thank you very much.

Qingfu-Liu commented 5 months ago

@Qingfu-Liu Could you please point the ccpp-framework to this: NCAR/ccpp-framework#549 (and update .gitmodules). This should not affect regression testing at all (it has already been tested independently on Hera).

@grantfirl Currently, the ccpp-framework points to NCAR/ccpp-framework. Where should I change in order to make the ccpp-framework point to the NCAR/ccpp-framework#549 ? Thanks [submodule "ccpp/framework"] path = ccpp/framework url = https://github.com/NCAR/ccpp-framework ==> should I change to NCAR/ccpp-framework#549 here? branch = main

Here is how I would do it:

  1. Make sure you're that you have the latest version of your HR4-GWD-update branch of fv3atm checked out.
  2. cd into ccpp/framework
  3. The PR branch of ccpp-framework is on the fork of peverwhee, so we need to add her fork as a remote: git add remote courtney-fork https://github.com/peverwhee/ccpp-framework
  4. git fetch courtney-fork to get the branches from her fork
  5. git checkout add_const_interface (this is the name of the branch that PR#549 points to)
  6. Double-check that the right commit of ccpp-framework is now checked out. It should be NCAR/ccpp-framework@6e165e5.
  7. cd up to the FV3 directory.
  8. git add ccpp/framework
  9. Edit .gitmodules as follows: [submodule "ccpp/framework"] path = ccpp/framework url = https://github.com/NCAR/ccpp-framework branch = main becomes [submodule "ccpp/framework"] path = ccpp/framework #url = https://github.com/NCAR/ccpp-framework #branch = main url = https://github.com/peverwhee/ccpp-framework branch = add_const_interface
  10. git add .gitmodules
  11. git commit -m "point to PR#549 of ccpp-framework"
  12. git push

This should do it! Let me know if you run into any trouble.

@grantfirl Thank you very much for the help. I just changed the pointer of the ccpp/framework to NCAR/ccpp-framework#549

Qingfu-Liu commented 4 months ago

The changes of the NoahMP model (which are not used for HR4-GWD-update tests) have been retracted. All the regression tests are passed on Hera