Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions physics/SFC_Models/Land/RUC/lsm_ruc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1697,6 +1697,8 @@ subroutine rucinit (lsm_cold_start, im, lsoil_ruc, lsoil, & ! in
integer, dimension(1:lsoil) :: sm_levels_input ! 4 - for Noah lsm

integer :: ii,jj
real (kind_phys) :: cq,r61,r273,arp,brp,x,evs,eis

! Initialize the CCPP error handling variables
errmsg = ''
errflg = 0
Expand Down Expand Up @@ -1772,6 +1774,25 @@ subroutine rucinit (lsm_cold_start, im, lsoil_ruc, lsoil, & ! in

else

!> - Table TBQ is for resolution of balance equation in vilka()
CQ=173.15_kind_dbl_prec-.05_kind_dbl_prec
R273=1._kind_dbl_prec/con_t0c
R61=6.1153_kind_dbl_prec*0.62198_kind_dbl_prec
ARP=77455._kind_dbl_prec*41.9_kind_dbl_prec/461.525_kind_dbl_prec
BRP=64._kind_dbl_prec*41.9_kind_dbl_prec/461.525_kind_dbl_prec

DO K=1,5001
CQ=CQ+.05_kind_dbl_prec
EVS=EXP(17.67_kind_dbl_prec*(CQ-con_t0c)/(CQ-29.65_kind_dbl_prec))
EIS=EXP(22.514_kind_dbl_prec-6.15E3_kind_dbl_prec/CQ)
if(CQ.ge.con_t0c) then
! tbq is in mb
tbq(k) = R61*evs
else
tbq(k) = R61*eis
endif
END DO

! For RUC restart data, return here
return

Expand Down
50 changes: 25 additions & 25 deletions physics/SFC_Models/Land/RUC/module_sf_ruclsm.F90
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ MODULE module_sf_ruclsm
private
!private qsn

public :: lsmruc, ruclsminit, rslf
public :: lsmruc, ruclsminit, rslf, tbq

!> CONSTANT PARAMETERS
!! @{
Expand Down Expand Up @@ -75,6 +75,7 @@ MODULE module_sf_ruclsm
REFKDT_DATA,FRZK_DATA,ZBOT_DATA, SMLOW_DATA,SMHIGH_DATA, &
CZIL_DATA
!! @}
real (kind_phys), DIMENSION(1:5001) :: tbq


CONTAINS
Expand Down Expand Up @@ -381,9 +382,6 @@ SUBROUTINE LSMRUC(xlat,xlon, &

real (kind_phys), DIMENSION(1:2*(nsl-2)) :: DTDZS

real (kind_phys), DIMENSION(1:5001) :: TBQ


real (kind_phys), DIMENSION( 1:nsl ) :: SOILM1D, &
TSO1D, &
SOILICE, &
Expand Down Expand Up @@ -436,6 +434,7 @@ SUBROUTINE LSMRUC(xlat,xlon, &

character(len=*),intent(out) :: errmsg
integer, intent(out) :: errflg
real (kind=8) :: walltime, tb, te

!-----------------------------------------------------------------
!
Expand All @@ -455,26 +454,6 @@ SUBROUTINE LSMRUC(xlat,xlon, &
testptlon = 278.66 !289.03_kind_phys !271.622 !286.75 !280.6 !164.0 !283.0
!--


!> - Table TBQ is for resolution of balance equation in vilka()
CQ=173.15_kind_dbl_prec-.05_kind_dbl_prec
R273=1._kind_dbl_prec/tfrz
R61=6.1153_kind_dbl_prec*0.62198_kind_dbl_prec
ARP=77455._kind_dbl_prec*41.9_kind_dbl_prec/461.525_kind_dbl_prec
BRP=64._kind_dbl_prec*41.9_kind_dbl_prec/461.525_kind_dbl_prec

DO K=1,5001
CQ=CQ+.05_kind_dbl_prec
EVS=EXP(17.67_kind_dbl_prec*(CQ-tfrz)/(CQ-29.65_kind_dbl_prec))
EIS=EXP(22.514_kind_dbl_prec-6.15E3_kind_dbl_prec/CQ)
if(CQ.ge.tfrz) then
! tbq is in mb
tbq(k) = R61*evs
else
tbq(k) = R61*eis
endif
END DO

!> - Initialize soil/vegetation parameters
!--- This is temporary until SI is added to mass coordinate ---!!!!!

Expand Down Expand Up @@ -7261,8 +7240,9 @@ SUBROUTINE RUCLSMINIT( debug_print, landfrac, fice, min_seaice, &
!-- local
real (kind_phys), DIMENSION ( 1:nzs ) :: SOILIQW

INTEGER :: I,J,L,itf,jtf
INTEGER :: I,J,L,K,itf,jtf
real (kind_phys) :: RIW,XLMELT,TLN,DQM,REF,PSIS,QMIN,BCLH
real (kind_phys) :: cq,r61,r273,arp,brp,x,evs,eis

INTEGER :: errflag

Expand Down Expand Up @@ -7350,6 +7330,26 @@ SUBROUTINE RUCLSMINIT( debug_print, landfrac, fice, min_seaice, &
ENDDO
ENDDO

!> - Table TBQ is for resolution of balance equation in vilka()
CQ=173.15_kind_dbl_prec-.05_kind_dbl_prec
R273=1._kind_dbl_prec/tfrz
R61=6.1153_kind_dbl_prec*0.62198_kind_dbl_prec
ARP=77455._kind_dbl_prec*41.9_kind_dbl_prec/461.525_kind_dbl_prec
BRP=64._kind_dbl_prec*41.9_kind_dbl_prec/461.525_kind_dbl_prec

DO K=1,5001
CQ=CQ+.05_kind_dbl_prec
EVS=EXP(17.67_kind_dbl_prec*(CQ-tfrz)/(CQ-29.65_kind_dbl_prec))
EIS=EXP(22.514_kind_dbl_prec-6.15E3_kind_dbl_prec/CQ)
if(CQ.ge.tfrz) then
! tbq is in mb
tbq(k) = R61*evs
else
tbq(k) = R61*eis
endif
END DO
write(6,'("ruclsminit: Done initializing tbq")')


END SUBROUTINE ruclsminit
!
Expand Down
Loading