Skip to content

Commit

Permalink
Merge pull request #818 from grantfirl/wrapper_808_816
Browse files Browse the repository at this point in the history
Wrapper for #808 and #816
  • Loading branch information
climbfuji committed Dec 23, 2021
2 parents b6d6e4a + 64aa48f commit aae0d5f
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 15 deletions.
6 changes: 3 additions & 3 deletions physics/module_sf_noahmp_glacier.f90
Original file line number Diff line number Diff line change
Expand Up @@ -738,10 +738,10 @@ subroutine csnow_glacier (isnow ,nsnow ,nsoil ,snice ,snliq ,dzsnso ,
! thermal conductivity of snow

do iz = isnow+1, 0
tksno(iz) = 3.2217e-6*bdsnoi(iz)**2. ! stieglitz(yen,1965)
! tksno(iz) = 3.2217e-6*bdsnoi(iz)**2. ! stieglitz(yen,1965)
! tksno(iz) = 2e-2+2.5e-6*bdsnoi(iz)*bdsnoi(iz) ! anderson, 1976
! tksno(iz) = 0.35 ! constant
! tksno(iz) = 2.576e-6*bdsnoi(iz)**2. + 0.074 ! verseghy (1991)
tksno(iz) = 2.576e-6*bdsnoi(iz)**2. + 0.074 ! verseghy (1991)
! tksno(iz) = 2.22*(bdsnoi(iz)/1000.)**1.88 ! douvill(yen, 1981)
enddo

Expand Down Expand Up @@ -2657,7 +2657,7 @@ subroutine compact_glacier (nsnow ,nsoil ,dt ,stc ,snice , & !in
real (kind=kind_phys), parameter :: c4 = 0.04 !< [1/k]
real (kind=kind_phys), parameter :: c5 = 2.0 !<
real (kind=kind_phys), parameter :: dm = 100.0 !< upper limit on destructive metamorphism compaction [kg/m3]
real (kind=kind_phys), parameter :: eta0 = 0.8e+6 !< viscosity coefficient [kg-s/m2]
real (kind=kind_phys), parameter :: eta0 = 1.8e+6 !< viscosity coefficient [kg-s/m2]
!according to anderson, it is between 0.52e6~1.38e6
real (kind=kind_phys) :: burden !< pressure of overlying snow [kg/m2]
real (kind=kind_phys) :: ddz1 !< rate of settling of snow pack due to destructive metamorphism.
Expand Down
6 changes: 3 additions & 3 deletions physics/module_sf_noahmplsm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2532,10 +2532,10 @@ subroutine csnow (parameters,isnow ,nsnow ,nsoil ,snice ,snliq ,dzsnso
! thermal conductivity of snow

do iz = isnow+1, 0
tksno(iz) = 3.2217e-6*bdsnoi(iz)**2. ! stieglitz(yen,1965)
! tksno(iz) = 3.2217e-6*bdsnoi(iz)**2. ! stieglitz(yen,1965)
! tksno(iz) = 2e-2+2.5e-6*bdsnoi(iz)*bdsnoi(iz) ! anderson, 1976
! tksno(iz) = 0.35 ! constant
! tksno(iz) = 2.576e-6*bdsnoi(iz)**2. + 0.074 ! verseghy (1991)
tksno(iz) = 2.576e-6*bdsnoi(iz)**2. + 0.074 ! verseghy (1991)
! tksno(iz) = 2.22*(bdsnoi(iz)/1000.)**1.88 ! douvill(yen, 1981)
enddo

Expand Down Expand Up @@ -7365,7 +7365,7 @@ subroutine compact (parameters,nsnow ,nsoil ,dt ,stc ,snice , & !in
real (kind=kind_phys), parameter :: c4 = 0.04 ![1/k]
real (kind=kind_phys), parameter :: c5 = 2.0 !
real (kind=kind_phys), parameter :: dm = 100.0 !upper limit on destructive metamorphism compaction [kg/m3]
real (kind=kind_phys), parameter :: eta0 = 0.8e+6 !viscosity coefficient [kg-s/m2]
real (kind=kind_phys), parameter :: eta0 = 1.8e+6 !viscosity coefficient [kg-s/m2]
!according to anderson, it is between 0.52e6~1.38e6
real (kind=kind_phys) :: burden !pressure of overlying snow [kg/m2]
real (kind=kind_phys) :: ddz1 !rate of settling of snow pack due to destructive metamorphism.
Expand Down
18 changes: 10 additions & 8 deletions physics/sfc_diff.f
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ end subroutine sfc_diff_finalize
!! in Zeng et al. (1998) \cite zeng_et_al_1998).
!! - Calculate Zeng's momentum roughness length formulation over land and sea ice.
!! - Calculate the new vegetation-dependent formulation of thermal roughness length
!! (Zheng et al.(2009) \cite zheng_et_al_2009).
!! Zheng et al. (2009) \cite zheng_et_al_2009 proposed a new formulation on
!! (Zheng et al.(2012) \cite zheng_et_al_2012).
!! Zheng et al. (2012) \cite zheng_et_al_2012 proposed a new formulation on
!! \f$ln(Z_{0m}^,/Z_{0t})\f$ as follows:
!! \f[
!! ln(Z_{0m}^,/Z_{0t})=(1-GVF)^2C_{zil}k(u*Z_{0g}/\nu)^{0.5}
Expand Down Expand Up @@ -305,12 +305,14 @@ subroutine sfc_diff_run (im,rvrdm1,eps,epsm1,grav, & !intent(in)
tem2 = tem1 * tem1
tem1 = one - tem2

if( ivegsrc == 1 ) then

z0max = exp( tem2*log01 + tem1*log(z0max) )
elseif (ivegsrc == 2 ) then
z0max = exp( tem2*log01 + tem1*log(z0max) )
endif
! Removed the following lines by W. Zheng, for effective z0m (z0max) is applied only
! for land.
!wz if( ivegsrc == 1 ) then
!wz
!wz z0max = exp( tem2*log01 + tem1*log(z0max) )
!wz elseif (ivegsrc == 2 ) then
!wz z0max = exp( tem2*log01 + tem1*log(z0max) )
!wz endif

z0max = max(z0max, zmin)

Expand Down
4 changes: 3 additions & 1 deletion physics/sfc_noahmp_drv.F90
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ subroutine noahmpdrv_run &

! --- in/outs:
weasd, snwdph, tskin, tprcp, srflag, smc, stc, slc, &
canopy, trans, zorl, &
canopy, trans, tsurf, zorl, &
rb1, fm1, fh1, ustar1, stress1, fm101, fh21, &

! --- Noah MP specific
Expand Down Expand Up @@ -245,6 +245,7 @@ subroutine noahmpdrv_run &
real(kind=kind_phys), dimension(:,:) , intent(inout) :: slc ! liquid soil moisture [m3/m3]
real(kind=kind_phys), dimension(:) , intent(inout) :: canopy ! canopy moisture content [mm]
real(kind=kind_phys), dimension(:) , intent(inout) :: trans ! total plant transpiration [m/s]
real(kind=kind_phys), dimension(:) , intent(inout) :: tsurf ! surface skin temperature [K]
real(kind=kind_phys), dimension(:) , intent(inout) :: zorl ! surface roughness [cm]

real(kind=kind_phys), dimension(:) , intent(inout) :: rb1 ! bulk richardson #
Expand Down Expand Up @@ -921,6 +922,7 @@ subroutine noahmpdrv_run &
sncovr1 (i) = snow_cover_fraction

! qsurf (i) = spec_humidity_surface
tsurf (i) = tskin(i)

tvxy (i) = temperature_leaf
tgxy (i) = temperature_ground
Expand Down
8 changes: 8 additions & 0 deletions physics/sfc_noahmp_drv.meta
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,14 @@
type = real
kind = kind_phys
intent = inout
[tsurf]
standard_name = surface_skin_temperature_after_iteration_over_land
long_name = surface skin temperature after iteration over land
units = K
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
[zorl]
standard_name = surface_roughness_length_over_land
long_name = surface roughness length over land (temporary use as interstitial)
Expand Down

0 comments on commit aae0d5f

Please sign in to comment.