Skip to content

Commit

Permalink
Merge pull request NCAR#356 from tanyasmirnova/ruc_land_ice_v1
Browse files Browse the repository at this point in the history
Added the capability to use climatological LAI in RUC LSM
  • Loading branch information
climbfuji committed Nov 21, 2019
2 parents e0d5f16 + b492f2e commit 7f530ed
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 10 deletions.
4 changes: 2 additions & 2 deletions physics/module_sf_ruclsm.F90
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ SUBROUTINE LSMRUC( &
Z3D,P8W,T3D,QV3D,QC3D,RHO3D, &
GLW,GSW,EMISS,CHKLOWQ, CHS, &
FLQC,FLHC,MAVAIL,CANWAT,VEGFRA,ALB,ZNT, &
Z0,SNOALB,ALBBCK, & !Z0,SNOALB,ALBBCK,LAI, &
Z0,SNOALB,ALBBCK,LAI, &
landusef, nlcat, & ! mosaic_lu, mosaic_soil, &
soilctop, nscat, &
QSFC,QSG,QVG,QCG,DEW,SOILT1,TSNAV, &
Expand Down Expand Up @@ -218,6 +218,7 @@ SUBROUTINE LSMRUC( &
CANWAT, & ! new
SNOALB, &
ALB, &
LAI, &
EMISS, &
MAVAIL, &
SFCEXC, &
Expand Down Expand Up @@ -269,7 +270,6 @@ SUBROUTINE LSMRUC( &
PC, &
SFCRUNOFF, &
UDRUNOFF, &
LAI, &
EMISSL, &
ZNTL, &
LMAVAIL, &
Expand Down
23 changes: 15 additions & 8 deletions physics/sfc_drv_ruc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,11 @@ end subroutine lsm_ruc_finalize
! DH* TODO - make order of arguments the same as in the metadata table
subroutine lsm_ruc_run & ! inputs
& ( iter, me, master, kdt, im, nlev, lsoil_ruc, lsoil, zs, &
& u1, v1, t1, q1, qc, soiltyp, vegtype, sigmaf, &
& u1, v1, t1, q1, qc, soiltyp, vegtype, sigmaf, laixy, &
& sfcemis, dlwflx, dswsfc, snet, delt, tg3, cm, ch, &
& prsl1, zf, ddvel, shdmin, shdmax, alvwf, alnwf, &
& snoalb, sfalb, flag_iter, flag_guess, isot, ivegsrc, fice, &
& smc, stc, slc, lsm_ruc, lsm, land, islimsk, &
& smc, stc, slc, lsm_ruc, lsm, land, islimsk, rdlai, &
& imp_physics, imp_physics_gfdl, imp_physics_thompson, &
& smcwlt2, smcref2, wspd, do_mynnsfclay, &
& con_cp, con_rv, con_rd, con_g, con_pi, con_hvap, con_fvirt,& ! constants
Expand Down Expand Up @@ -178,6 +178,8 @@ subroutine lsm_ruc_run & ! inputs
& ch, prsl1, ddvel, shdmin, shdmax, &
& snoalb, alvwf, alnwf, zf, qc, q1, wspd

real (kind=kind_phys), dimension(:), intent(in) :: laixy

real (kind=kind_phys), intent(in) :: delt
real (kind=kind_phys), intent(in) :: con_cp, con_rv, con_g, &
con_pi, con_rd, &
Expand All @@ -187,6 +189,8 @@ subroutine lsm_ruc_run & ! inputs
integer, dimension(im), intent(in) :: islimsk ! sea/land/ice mask (=0/1/2)
logical, intent(in) :: do_mynnsfclay

logical, intent(in) :: rdlai

! --- in/out:
integer, dimension(im), intent(inout) :: soiltyp, vegtype
real (kind=kind_phys), dimension(lsoil_ruc) :: dzs
Expand Down Expand Up @@ -317,6 +321,8 @@ subroutine lsm_ruc_run & ! inputs
zs, sh2o, smfrkeep, tslb, smois, wetness, & ! out
me, master, errmsg, errflg)

xlai = 0.

endif ! flag_init=.true.,iter=1
!-- end of initialization

Expand Down Expand Up @@ -516,10 +522,10 @@ subroutine lsm_ruc_run & ! inputs
ffrozp(i,j) = real(nint(srflag(i)),kind_phys)
endif

!tgs - for now set rdlai2d to .false., WRF has LAI maps, and RUC LSM
! uses rdlai2d = .true.
rdlai2d = .false.
!if( .not. rdlai2d) xlai = lai_data(vtype)
!tgs - rdlai is .false. when the LAI data is not available in the
! - INPUT/sfc_data.nc

rdlai2d = rdlai

conflx2(i,1,j) = zf(i) * 2. ! factor 2. is needed to get the height of
! atm. forcing inside RUC LSM (inherited
Expand Down Expand Up @@ -611,6 +617,8 @@ subroutine lsm_ruc_run & ! inputs
albbck(i,j) = max(0.01, 0.5 * (alvwf(i) + alnwf(i)))
alb(i,j) = sfalb(i)

if(rdlai2d) xlai(i,j) = laixy(i)

tbot(i,j) = tg3(i)

!> - 4. history (state) variables (h):
Expand Down Expand Up @@ -806,8 +814,7 @@ subroutine lsm_ruc_run & ! inputs
& chs(i,j), flqc(i,j), flhc(i,j), &
! --- input/outputs:
& wet(i,j), cmc(i,j), shdfac(i,j), alb(i,j), znt(i,j), &
& z0(i,j), snoalb1d(i,j), albbck(i,j), &
! & z0, snoalb1d, alb, xlai, &
& z0(i,j), snoalb1d(i,j), albbck(i,j), xlai(i,j), &
& landusef(i,:,j), nlcat, &
! --- mosaic_lu and mosaic_soil are moved to the namelist
! & mosaic_lu, mosaic_soil, &
Expand Down
14 changes: 14 additions & 0 deletions physics/sfc_drv_ruc.meta
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,12 @@
type = integer
intent = in
optional = F
[rdlai]
standard_name = flag_for_reading_leaf_area_index_from_input
long_name = flag for reading leaf area index from initial conditions for RUC LSM
units = flag
dimensions = ()
type = logical
[zs]
standard_name = depth_of_soil_levels_for_land_surface_model
long_name = depth of soil levels for land surface model
Expand Down Expand Up @@ -556,6 +562,14 @@
kind = kind_phys
intent = in
optional = F
[laixy]
standard_name = leaf_area_index
long_name = leaf area index
units = none
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
optional = F
[sfalb]
standard_name = surface_diffused_shortwave_albedo
long_name = mean surface diffused sw albedo
Expand Down

0 comments on commit 7f530ed

Please sign in to comment.