Skip to content

Commit

Permalink
Based on 1-D testing in ESM-SnowMIP a change to computation of snow t…
Browse files Browse the repository at this point in the history
…hermal conductivity is made in module_sf_ruclsm.F90.
  • Loading branch information
tanyasmirnova committed Oct 23, 2023
1 parent 1a56327 commit a515ec3
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions physics/module_sf_ruclsm.F90
Original file line number Diff line number Diff line change
Expand Up @@ -4071,7 +4071,7 @@ SUBROUTINE SNOWSEAICE( debug_print,xlat,xlon, &
RHOnewCSN=sheatsn * RHOnewSN

if(isncond_opt == 1) then
if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand All @@ -4088,13 +4088,13 @@ SUBROUTINE SNOWSEAICE( debug_print,xlat,xlon, &
if(rhosn < 156._kind_phys .or. (newsnow > zero .and. rhonewsn < 156._kind_phys)) then
keff = 0.023_kind_phys + 0.234_kind_phys * rhosn * 1.e-3_kind_phys
!-- fact is added by tgs based on 4 Jan 2017 testing
fact = 5._kind_phys
!fact = 5._kind_phys
else
keff = 0.138_kind_phys - 1.01_kind_phys * rhosn*1.e-3_kind_phys + 3.233_kind_phys * rhosn**2 * 1.e-6_kind_phys
fact = 2._kind_phys
!fact = 2._kind_phys
endif

if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand Down Expand Up @@ -4535,7 +4535,7 @@ SUBROUTINE SNOWSEAICE( debug_print,xlat,xlon, &

RHOCSN=sheatsn* RHOSN
if(isncond_opt == 1) then
if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand All @@ -4552,13 +4552,13 @@ SUBROUTINE SNOWSEAICE( debug_print,xlat,xlon, &
if(rhosn < 156._kind_phys .or. (newsn > zero .and. rhonewsn < 156._kind_phys)) then
keff = 0.023_kind_phys + 0.234_kind_phys * rhosn * 1.e-3_kind_phys
!-- fact is added by tgs based on 4 Jan 2017 testing
fact = 5._kind_phys
!fact = 5._kind_phys
else
keff = 0.138_kind_phys - 1.01_kind_phys * rhosn*1.e-3_kind_phys + 3.233_kind_phys * rhosn**2 * 1.e-6_kind_phys
fact = 2._kind_phys
!fact = 2._kind_phys
endif

if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand Down Expand Up @@ -5219,7 +5219,7 @@ SUBROUTINE SNOWTEMP( debug_print,xlat,xlon, &
RHOCSN=sheatsn* RHOSN
RHOnewCSN=sheatsn* RHOnewSN
if(isncond_opt == 1) then
if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand All @@ -5236,10 +5236,10 @@ SUBROUTINE SNOWTEMP( debug_print,xlat,xlon, &
if(rhosn < 156._kind_phys .or. (newsnow > zero .and. rhonewsn < 156._kind_phys)) then
keff = 0.023_kind_phys + 0.234_kind_phys * rhosn * 1.e-3_kind_phys
!-- fact is added by tgs based on 4 Jan 2017 testing
fact = 5._kind_phys
!fact = 5._kind_phys
else
keff = 0.138_kind_phys - 1.01_kind_phys * rhosn*1.e-3_kind_phys + 3.233_kind_phys * rhosn**2 * 1.e-6_kind_phys
fact = 2._kind_phys
!fact = 2._kind_phys
if(debug_print) then
print *,'SnowTemp xlat,xlon,rhosn,keff', xlat,xlon,rhosn,keff,keff/rhocsn*fact
print *,'SNOWTEMP - 0.265/rhocsn',0.265_kind_phys/rhocsn
Expand All @@ -5249,7 +5249,7 @@ SUBROUTINE SNOWTEMP( debug_print,xlat,xlon, &
print *,'SNOWTEMP - xlat,xlon,newsnow,rhonewsn,rhosn,fact,keff',xlat,xlon,newsnow, rhonewsn,rhosn,fact,keff
endif

if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand Down Expand Up @@ -5802,7 +5802,7 @@ SUBROUTINE SNOWTEMP( debug_print,xlat,xlon, &

RHOCSN=sheatsn* RHOSN
if(isncond_opt == 1) then
if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand All @@ -5819,10 +5819,10 @@ SUBROUTINE SNOWTEMP( debug_print,xlat,xlon, &
if(rhosn < 156._kind_phys .or. (newsnow > zero .and. rhonewsn < 156._kind_phys)) then
keff = 0.023_kind_phys + 0.234_kind_phys * rhosn * 1.e-3_kind_phys
!-- fact is added by tgs based on 4 Jan 2017 testing
fact = 5._kind_phys
!fact = 5._kind_phys
else
keff = 0.138_kind_phys - 1.01_kind_phys * rhosn*1.e-3_kind_phys + 3.233_kind_phys * rhosn**2 * 1.e-6_kind_phys
fact = 2._kind_phys
!fact = 2._kind_phys
if(debug_print) then
print *,'End SNOWTEMP - xlat,xlon,rhosn,keff',xlat,xlon,rhosn,keff
print *,'End SNOWTEMP - 0.265/rhocsn',0.265/rhocsn
Expand All @@ -5833,7 +5833,7 @@ SUBROUTINE SNOWTEMP( debug_print,xlat,xlon, &
xlat,xlon,newsnow, rhonewsn,rhosn,fact,keff,keff/rhocsn*fact
endif

if(newsnow <= zero .and. snhei > 3.0_kind_phys*SNHEI_crit .and. rhosn > 250._kind_phys) then
if(newsnow <= zero .and. snhei > one .and. rhosn > 250._kind_phys) then
!-- some areas with large snow depth have unrealistically
!-- low snow density (in the Rockie's with snow depth > 1 m).
!-- Based on Sturm et al. the 2.5e-6 is typical for hard snow slabs.
Expand Down

0 comments on commit a515ec3

Please sign in to comment.