CCPP SciDoc for UFS-SRW v2.2.0  SRW v2.2.0
Common Community Physics Package Developed at DTC

◆ lsmruc()

subroutine, public module_sf_ruclsm::lsmruc ( real (kind_phys), intent(in)  xlat,
real (kind_phys), intent(in)  xlon,
real (kind_phys), intent(in)  DT,
logical, intent(in)  init,
logical, intent(in)  lsm_cold_start,
integer, intent(in)  KTAU,
integer, intent(in)  iter,
integer, intent(in)  NSL,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  graupelncv,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  snowncv,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  rainncv,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  raincv,
real (kind_phys), dimension( 1:nsl), intent(in)  ZS,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  RAINBL,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  SNOW,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  SNOWH,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  SNOWC,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  FRZFRAC,
logical, intent(in)  frpcpn,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(out)  rhosnf,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(out)  precipfr,
logical, intent(in)  exticeden,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  hgt,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  stdev,
real (kind_phys), dimension( ims:ime, kms:kme, jms:jme ), intent(in)  Z3D,
real (kind_phys), dimension( ims:ime, kms:kme, jms:jme ), intent(in)  P8W,
real (kind_phys), dimension( ims:ime, kms:kme, jms:jme ), intent(in)  T3D,
real (kind_phys), dimension( ims:ime, kms:kme, jms:jme ), intent(in)  QV3D,
real (kind_phys), dimension( ims:ime, kms:kme, jms:jme ), intent(in)  QC3D,
real (kind_phys), dimension( ims:ime, kms:kme, jms:jme ), intent(in)  RHO3D,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  EMISBCK,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  GLW,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  GSWdn,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  GSW,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  EMISS,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  CHKLOWQ,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  CHS,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  FLQC,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  FLHC,
real (kind_phys), dimension( ims:ime), intent(in)  rhonewsn_ex,
integer, intent(in)  mosaic_lu,
integer, intent(in)  mosaic_soil,
integer, intent(in)  isncond_opt,
integer, intent(in)  isncovr_opt,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  MAVAIL,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  CANWAT,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  VEGFRA,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  ALB,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  ZNT,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  Z0,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  SNOALB,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  ALBBCK,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  LAI,
real (kind_phys), dimension( ims:ime , 1:nlcat, jms:jme ), intent(in)  landusef,
integer, intent(in)  nlcat,
real (kind_phys), dimension( ims:ime , 1:nscat, jms:jme ), intent(in)  soilctop,
integer, intent(in)  nscat,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  QSFC,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  QSG,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  QVG,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  QCG,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  DEW,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SOILT1,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  TSNAV,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  TBOT,
integer, dimension( ims:ime , jms:jme ), intent(in)  IVGTYP,
integer, dimension( ims:ime , jms:jme ), intent(in)  ISLTYP,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  XLAND,
integer, intent(in)  ISWATER,
integer, intent(in)  ISICE,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  XICE,
real (kind_phys), intent(in)  XICE_THRESHOLD,
real (kind_phys), intent(in)  CP,
real (kind_phys), intent(in)  RV,
real (kind_phys), intent(in)  RD,
real (kind_phys), intent(in)  G0,
real (kind_phys), intent(in)  PI,
real (kind_phys), intent(in)  LV,
real (kind_phys), intent(in)  STBOLT,
real (kind_phys), dimension( ims:ime , 1:nsl, jms:jme ), intent(inout)  SOILMOIS,
real (kind_phys), dimension( ims:ime , 1:nsl, jms:jme ), intent(inout)  SH2O,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SMAVAIL,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SMMAX,
real (kind_phys), dimension( ims:ime , 1:nsl, jms:jme ), intent(inout)  TSO,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SOILT,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  EDIR,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  EC,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  ETT,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SUBLIM,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SNOH,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  HFX,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  QFX,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  LH,
real (kind_phys), dimension( its:ite, jts:jte )  INFILTR,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  RUNOFF1,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  RUNOFF2,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  ACRUNOFF,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(inout)  SFCEXC,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SFCEVP,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  GRDFLX,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(out)  SNOWFALLAC,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  ACSNOW,
real (kind_phys), dimension( ims:ime, jms:jme ), intent(inout)  SNOM,
real (kind_phys), dimension( ims:ime, 1:nsl, jms:jme)  SMFR3D,
real (kind_phys), dimension( ims:ime, 1:nsl, jms:jme)  KEEPFR3DFLAG,
logical, intent(in)  myj,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  shdmin,
real (kind_phys), dimension( ims:ime , jms:jme ), intent(in)  shdmax,
logical, intent(in)  rdlai2d,
integer, intent(in)  ims,
integer, intent(in)  ime,
integer, intent(in)  jms,
integer, intent(in)  jme,
integer, intent(in)  kms,
integer, intent(in)  kme,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  jts,
integer, intent(in)  jte,
integer, intent(in)  kts,
integer, intent(in)  kte,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

RUC LSM General Algorithm

  • Table TBQ is for resolution of balance equation in vilka()
  • Initialize soil/vegetation parameters
  • Initializing inside-snow temp if it is not defined
  • For RUC LSM CHKLOWQ needed for MYJPBL should 1 because is actual specific humidity at the surface, and not the saturation value
  • Z3D(1) is thickness between first full sigma level and the surface, but first mass level is at the half of the first sigma level (u and v are also at the half of first sigma level)
  • Initialize snow, graupel and ice fractions in frozen precip
  • Apply the same frozen precipitation fraction to convective precip
  • Calculate snow, graupel and ice fractions in falling frozen precip
  • If here no info about constituents of frozen precipitation, suppose it is all snow
  • Convert exchange coeff QKMS to [m/s]
  • Convert incoming snow and canwat from mm to m
  • Call soilvegin() to initialize soil and surface properties

References qsn(), sfctmp(), and soilvegin().

Referenced by lsm_ruc::lsm_ruc_run().

Here is the call graph for this function:
Here is the caller graph for this function: