Skip to content

Commit 5267c45

Browse files
committed
Merge branch 'ufs/dev' into sync_NCAR_main_2025_09_04
2 parents cfb52a7 + fff3c24 commit 5267c45

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -528,10 +528,8 @@ subroutine GFS_phys_time_vary_init (
528528
endif
529529

530530
if (vegtyp == 15) then ! land ice in MODIS/IGBP
531-
if (weasd(ix) < 0.1_kind_phys) then
532-
weasd(ix) = 0.1_kind_phys
533-
snd = 0.01_kind_phys
534-
endif
531+
weasd(ix) = 600.0_kind_phys ! 600mm SWE for glacier
532+
snd = 2.0_kind_phys ! 2m snow depth for glacier
535533
endif
536534

537535
if (snd < 0.025_kind_phys ) then

physics/SFC_Models/Land/Noahmp/module_sf_noahmp_glacier.F90

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -785,8 +785,8 @@ subroutine csnow_glacier (isnow ,nsnow ,nsoil ,snice ,snliq ,dzsnso ,
785785
do iz = isnow+1, 0
786786
! tksno(iz) = 3.2217e-6*bdsnoi(iz)**2. ! stieglitz(yen,1965)
787787
! tksno(iz) = 2e-2+2.5e-6*bdsnoi(iz)*bdsnoi(iz) ! anderson, 1976
788-
! tksno(iz) = 0.35 ! constant
789-
tksno(iz) = 2.576e-6*bdsnoi(iz)**2. + 0.074 ! verseghy (1991)
788+
tksno(iz) = 0.35 ! constant
789+
! tksno(iz) = 2.576e-6*bdsnoi(iz)**2. + 0.074 ! verseghy (1991)
790790
! tksno(iz) = 2.22*(bdsnoi(iz)/1000.)**1.88 ! douvill(yen, 1981)
791791
enddo
792792

@@ -982,8 +982,8 @@ subroutine snowalb_bats_glacier (nband,cosz,fage,albsnd,albsni)
982982
cf1=((1.+sl1)/(1.+sl2*cosz)-sl1)
983983
fzen=amax1(cf1,0.)
984984

985-
albsni(1)=0.95*(1.-c1*fage)
986-
albsni(2)=0.65*(1.-c2*fage)
985+
albsni(1)=0.95 !*(1.-c1*fage) ! remove aging over glaciers
986+
albsni(2)=0.65 !*(1.-c2*fage) ! remove aging over glaciers
987987

988988
albsnd(1)=albsni(1)+0.4*fzen*(1.-albsni(1)) ! vis direct
989989
albsnd(2)=albsni(2)+0.4*fzen*(1.-albsni(2)) ! nir direct
@@ -2616,7 +2616,7 @@ subroutine snowwater_glacier (nsnow ,nsoil ,imelt ,dt ,sfctmp , & !in
26162616
! local
26172617
integer :: iz
26182618
real (kind=kind_phys) :: bdsnow !< bulk density of snow (kg/m3)
2619-
real (kind=kind_phys),parameter :: mwd = 100. !< maximum water depth (mm)
2619+
real (kind=kind_phys),parameter :: mwd = 600. !< maximum water depth (mm)
26202620
! ----------------------------------------------------------------------
26212621
snoflow = 0.0
26222622
ponding1 = 0.0
@@ -2650,6 +2650,23 @@ subroutine snowwater_glacier (nsnow ,nsoil ,imelt ,dt ,sfctmp , & !in
26502650
ponding1 ,ponding2 ,fsh , & !inout
26512651
qsnbot ) !out
26522652

2653+
!reset the glacier to 2m depth with 600mm SWE
2654+
2655+
isnow = -3
2656+
snice(-2) = 15.0
2657+
snice(-1) = 60.0
2658+
snice( 0) = 525.0
2659+
snliq(-2) = 0.0
2660+
snliq(-1) = 0.0
2661+
snliq( 0) = 0.0
2662+
if(stc( 0) < 100.0) stc( 0) = stc( 1) ! if the temperature is missing,
2663+
if(stc(-1) < 100.0) stc(-1) = stc( 0) ! set to layer below
2664+
if(stc(-2) < 100.0) stc(-2) = stc(-1) ! should not be necessary
2665+
dzsnso(-2)= 0.05
2666+
dzsnso(-1)= 0.20
2667+
dzsnso( 0)= 1.75
2668+
sneqv = 600.0
2669+
26532670
!set empty snow layers to zero
26542671

26552672
do iz = -nsnow+1, isnow
@@ -2662,7 +2679,7 @@ subroutine snowwater_glacier (nsnow ,nsoil ,imelt ,dt ,sfctmp , & !in
26622679

26632680
!to obtain equilibrium state of snow in glacier region
26642681

2665-
if(sneqv > mwd) then ! 100 mm -> maximum water depth
2682+
if(sneqv > mwd) then ! 600 mm -> maximum water depth
26662683
bdsnow = snice(0) / dzsnso(0)
26672684
snoflow = (sneqv - mwd)
26682685
snice(0) = snice(0) - snoflow

0 commit comments

Comments
 (0)