Skip to content

Commit

Permalink
calculate constants only once per i
Browse files Browse the repository at this point in the history
  • Loading branch information
SamuelTrahanNOAA committed Sep 27, 2023
1 parent dbd5f58 commit 75ec623
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions physics/clm_lake.f90
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,19 @@ SUBROUTINE clm_lake_run( &
dz_lake(c,:) = z_lake(1,:)
enddo

! Soil hydraulic and thermal properties
isl = ISLTYP(i)
if (isl == 0 ) isl = 14
if (isl == 14 ) isl = isl + 1

watsat = 0.489_kind_lake - 0.00126_kind_lake*sand(isl)
csol = (2.128_kind_lake*sand(isl)+2.385_kind_lake*clay(isl)) / (sand(isl)+clay(isl))*1.e6_kind_lake ! J/(m3 K)
tkm = (8.80_kind_lake*sand(isl)+2.92_kind_lake*clay(isl))/(sand(isl)+clay(isl)) ! W/(m K)
bd = (1._kind_lake-watsat(1,1))*2.7e3_kind_lake
tkmg = tkm ** (1._kind_lake- watsat(1,1))
tkdry = (0.135_kind_lake*bd + 64.7_kind_lake) / (2.7e3_kind_lake - 0.947_kind_lake*bd)
tksatu = tkmg(1,1)*0.57_kind_lake**watsat(1,1)

do c = 1,column

forc_t(c) = SFCTMP ! [K]
Expand Down Expand Up @@ -593,21 +606,6 @@ SUBROUTINE clm_lake_run( &
do k = -nlevsnow+0,nlevsoil
zi(c,k) = zi3d(i,k)
enddo
do k = 1,nlevsoil
! Soil hydraulic and thermal properties
isl = ISLTYP(i)
if (isl == 0 ) isl = 14
if (isl == 14 ) isl = isl + 1

watsat(c,k) = 0.489_kind_lake - 0.00126_kind_lake*sand(isl)
csol(c,k) = (2.128_kind_lake*sand(isl)+2.385_kind_lake*clay(isl)) / (sand(isl)+clay(isl))*1.e6_kind_lake ! J/(m3 K)
tkm = (8.80_kind_lake*sand(isl)+2.92_kind_lake*clay(isl))/(sand(isl)+clay(isl)) ! W/(m K)
bd = (1._kind_lake-watsat(c,k))*2.7e3_kind_lake
tkmg(c,k) = tkm ** (1._kind_lake- watsat(c,k))
tkdry(c,k) = (0.135_kind_lake*bd + 64.7_kind_lake) / (2.7e3_kind_lake - 0.947_kind_lake*bd)
tksatu(c,k) = tkmg(c,k)*0.57_kind_lake**watsat(c,k)
enddo

enddo

eflx_lwrad_net = -9999
Expand Down

0 comments on commit 75ec623

Please sign in to comment.