diff --git a/physics/module_sf_noahmp_glacier.f90 b/physics/module_sf_noahmp_glacier.f90 index b5abd871b..4c3a53c88 100644 --- a/physics/module_sf_noahmp_glacier.f90 +++ b/physics/module_sf_noahmp_glacier.f90 @@ -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 @@ -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. diff --git a/physics/module_sf_noahmplsm.f90 b/physics/module_sf_noahmplsm.f90 index 81dd1dceb..944446085 100644 --- a/physics/module_sf_noahmplsm.f90 +++ b/physics/module_sf_noahmplsm.f90 @@ -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 @@ -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. diff --git a/physics/sfc_diff.f b/physics/sfc_diff.f index 84c01caaa..c745e3c1e 100644 --- a/physics/sfc_diff.f +++ b/physics/sfc_diff.f @@ -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} @@ -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) diff --git a/physics/sfc_noahmp_drv.F90 b/physics/sfc_noahmp_drv.F90 index 7ef542f42..1fd9773ff 100644 --- a/physics/sfc_noahmp_drv.F90 +++ b/physics/sfc_noahmp_drv.F90 @@ -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 @@ -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 # @@ -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 diff --git a/physics/sfc_noahmp_drv.meta b/physics/sfc_noahmp_drv.meta index c9a6c0258..e37036c32 100644 --- a/physics/sfc_noahmp_drv.meta +++ b/physics/sfc_noahmp_drv.meta @@ -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)