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

Noah MP updates for Prototype 8 (GFSv17) #729

Merged
merged 39 commits into from
Dec 2, 2021
Merged

Conversation

HelinWei-NOAA
Copy link
Collaborator

@HelinWei-NOAA HelinWei-NOAA commented Sep 13, 2021

  1. Add some extra surface fields required to close the offline energy/water budget computation. These fields are listed below:
  • LAND FRACTION
  • INST PREC ADVEC HEAT
  • WATER IN AQUIFER
  • ACM EIWATER(CANOPY WATER EVAPORATION)
  • ACM PLANTTR( PLANT TRANSPIRATION)
  • ACM SOILSE (BARE SOIL EVAPORATION)
  • AVE PREC ADVEC HEAT
  1. The surface loop control/iteration removal when Noah MP is used
    Surface skin temperature is determined inside the Noah MP LSM with its own surface scheme/iteration.
    'guess_run'/iteration (for determination of skin temperature with weak winds) in surface loop control is
    set to 'false' when Noah MP LSM (lsm=2) is used.

  2. New coupling interface
    The land model provides feedback to the atmospheric boundary layer. The required bulk Richard
    number input to the boundary layer scheme is computed using grid-aggregated momentum (from the
    roughness lengths over the tiles and vegetation fraction) and thermal roughness (from interpolation
    of kB^-1 from the tiles) lengths.

  3. The addition of GFS surface scheme in Noah MP surface layer call
    To be consistent with the surface layer treatment for the other part of the surface in the model, the original
    GFS surface layer scheme is added to the Noah MP surface layer option.

  4. Fix the inout issue of smc in Noah LSM (sflx.f)

@climbfuji
Copy link
Collaborator

@HelinWei-NOAA @barlage Now that we are ready to merge P8 features, can we take up this PR again? We will need to update the PR with the latest changes frorm the authoritative repository (same for fv3atm, ufs-weather-model) and then complete the review process. We are probably looking at the first days in December for a commit date (because of Thanksgiving fewer PRs are scheduled for next week). Does this work for you?

@HelinWei-NOAA
Copy link
Collaborator Author

Yes. I have ufs-weather-model branch ready on my fork for this change. I will create a ufs-weather-model PR once I have the other branch updated to current. Thanks.

@HelinWei-NOAA @barlage Now that we are ready to merge P8 features, can we take up this PR again? We will need to update the PR with the latest changes frorm the authoritative repository (same for fv3atm, ufs-weather-model) and then complete the review process. We are probably looking at the first days in December for a commit date (because of Thanksgiving fewer PRs are scheduled for next week). Does this work for you?

update because of Noah MP
update for the modification of the Noah MP physics
formatting codes based on review
formatting codes based on review
formatting codes based on review
formatting codes based on review

implicit none

real(kind=kind_phys), parameter :: a2 = 17.2693882
real(kind=kind_phys), parameter :: a3 = 273.16
real(kind=kind_phys), parameter :: a4 = 35.86
real(kind=kind_phys), parameter :: a23m4 = a2*(a3-a4)
real(kind=kind_phys), parameter :: gravity = 9.81
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do you really need to define your own gravity variable? I don't actually see it being used, but if it is, for continuity with other physics, you should pass in the variable with CCPP standard name of gravitational_acceleration.

Copy link
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

This looks good to me, although the changes related to removing NoahMP from the "guess" iteration should be double-checked to make sure that there aren't unintended consequences for the sfc_nst scheme. The other comments relate to code cleanup.

@@ -6,6 +6,8 @@
module noahmp_glacier_globals

use machine , only : kind_phys
use sfc_diff, only : stability
Copy link
Collaborator

Choose a reason for hiding this comment

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

One thing I forgot in the review so far. Since physics/module_sf_noahmp_glacier.f90 now depends on sfc_diff's stability subroutine, we should add a dependency on sfc_diff.f in physics/sfc_noahmp_drv.meta:

diff --git a/physics/sfc_noahmp_drv.meta b/physics/sfc_noahmp_drv.meta
index 52b35473..b4367bfd 100644
--- a/physics/sfc_noahmp_drv.meta
+++ b/physics/sfc_noahmp_drv.meta
@@ -1,7 +1,7 @@
 [ccpp-table-properties]
   name = noahmpdrv
   type = scheme
-  dependencies = funcphys.f90,machine.F,module_sf_noahmp_glacier.f90,module_sf_noahmplsm.f90,noahmp_tables.f90,set_soilveg.f
+  dependencies = funcphys.f90,machine.F,module_sf_noahmp_glacier.f90,module_sf_noahmplsm.f90,noahmp_tables.f90,set_soilveg.f,sfc_diff.f

 ########################################################################
 [ccpp-arg-table]

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

done

@climbfuji
Copy link
Collaborator

@grantfirl can you confirm that the issues you raised have been addressed? Thanks!

Copy link
Collaborator

@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.

PR looks good to me.

@climbfuji
Copy link
Collaborator

All requests for changes have been addressed, and regression testing is completed. Merging.

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.

4 participants