Skip to content

Commit 31bca4e

Browse files
committed
test 6-9
1 parent e039a94 commit 31bca4e

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90

+17-1
Original file line numberDiff line numberDiff line change
@@ -593,8 +593,24 @@ subroutine GFS_phys_time_vary_init (
593593

594594
isnow = nint(snowxy(ix))+1 ! snowxy <=0.0, dzsno >= 0.0
595595

596+
! using stc and tgxy to linearly interpolate the snow temp for each layer
597+
!Calculate the total thickness
598+
! total_thickness = sum(dzsno)
599+
! Calculate the temperature difference
600+
! temp_diff=tgxy(ix)-stc(ix,1)
601+
! Calculate the mid-points and interpolate temperatures for each layer
602+
! accumulated_thickness = 0.0
603+
! do is = isnow, 0
604+
! accumulated_thickness = accumulated_thickness + dzsno(is)
605+
! mid_points(is) = accumulated_thickness - dzsno(is) / 2.0
606+
! layer_temp = tgxy(ix) + (mid_points(is) / total_thickness) * temp_diff
607+
! tsnoxy(ix,is) = layer_temp
608+
! end do
609+
596610
do is = isnow,0
597-
tsnoxy(ix,is) = tgxy(ix)
611+
! tsnoxy(ix,is) = tgxy(ix)
612+
! tsnoxy(ix,is) = tgxy(ix) + (( sum(dzsno(isnow:is)) -0.5*dzsno(is) )/snd)*(tgxy(ix)-stc(ix,1))
613+
tsnoxy(ix,is) = tgxy(ix) + (( sum(dzsno(isnow:is)) -0.5*dzsno(is) )/snd)*(stc(ix,1)-tgxy(ix))
598614
snliqxy(ix,is) = zero
599615
snicexy(ix,is) = one * dzsno(is) * weasd(ix)/snd
600616
enddo

physics/SFC_Models/Land/Noahmp/module_sf_noahmplsm.F90

+6-5
Original file line numberDiff line numberDiff line change
@@ -1989,7 +1989,7 @@ subroutine energy (parameters,ice ,vegtyp ,ist ,nsnow ,nsoil , & !in
19891989

19901990
real (kind=kind_phys), parameter :: mpe = 1.e-6
19911991
real (kind=kind_phys), parameter :: psiwlt = -150. !metric potential for wilting point (m)
1992-
real (kind=kind_phys), parameter :: z0 = 0.002 ! bare-soil roughness length (m) (i.e., under the canopy)
1992+
real (kind=kind_phys), parameter :: z0 = 0.015 ! bare-soil roughness length (m) (i.e., under the canopy)
19931993

19941994
! ---------------------------------------------------------------------------------------------------
19951995
! initialize fluxes from veg. fraction
@@ -2626,10 +2626,10 @@ subroutine csnow (parameters,isnow ,nsnow ,nsoil ,snice ,snliq ,dzsnso
26262626
! thermal conductivity of snow
26272627

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

@@ -5817,7 +5817,8 @@ subroutine thermalz0(parameters, fveg, z0m, z0mg, zlvl,
58175817

58185818
if (opt_trs == z0heqz0m) then
58195819

5820-
z0m_out = exp(fveg * log(z0m) + (1.0 - fveg) * log(z0mg))
5820+
! z0m_out = exp(fveg * log(z0m) + (1.0 - fveg) * log(z0mg))
5821+
z0m_out = fveg * z0m + (1.0 - fveg) * z0mg
58215822
z0h_out = z0m_out
58225823

58235824
elseif (opt_trs == chen09) then
@@ -5834,7 +5835,7 @@ subroutine thermalz0(parameters, fveg, z0m, z0mg, zlvl,
58345835
endif
58355836

58365837
z0h_out = exp( fveg * log(z0m * exp(-czil*0.4*258.2*sqrt(ustarx*z0m))) + &
5837-
(1.0 - fveg) * log(max(z0m/exp(kb_sigma_f0),1.0e-6)) )
5838+
(1.0 - fveg) * log(max(z0mg/exp(kb_sigma_f0),1.0e-6)) )
58385839

58395840
elseif (opt_trs == tessel) then
58405841

0 commit comments

Comments
 (0)