CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC
module_sf_ruclsm Module Reference

This module contains the entity of the RUC LSM model, which is a
soil/veg/snowpack and ice/snowpack/land-surface model to update soil moisture, soil temperature, skin temperature, snowpack water content, snowdepth, and all terms of the surface energy balance and surface water balance.

Functions/Subroutines

subroutine, public lsmruc (DT, init, lsm_cold_start, KTAU, iter, NSL, graupelncv, snowncv, rainncv, raincv, ZS, RAINBL, SNOW, SNOWH, SNOWC, FRZFRAC, frpcpn, rhosnf, precipfr, Z3D, P8W, T3D, QV3D, QC3D, RHO3D, EMISBCK, GLW, GSWdn, GSW, EMISS, CHKLOWQ, CHS, FLQC, FLHC, MAVAIL, CANWAT, VEGFRA, ALB, ZNT, Z0, SNOALB, ALBBCK, LAI, landusef, nlcat, soilctop, nscat, QSFC, QSG, QVG, QCG, DEW, SOILT1, TSNAV, TBOT, IVGTYP, ISLTYP, XLAND, ISWATER, ISICE, XICE, XICE_THRESHOLD, CP, RV, RD, G0, PI, LV, STBOLT, SOILMOIS, SH2O, SMAVAIL, SMMAX, TSO, SOILT, HFX, QFX, LH, INFILTR, RUNOFF1, RUNOFF2, ACRUNOFF, SFCEXC, SFCEVP, GRDFLX, SNOWFALLAC, ACSNOW, SNOM, SMFR3D, KEEPFR3DFLAG, myj, shdmin, shdmax, rdlai2d, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte)
 The RUN LSM model is described in Smirnova et al.(1997) [175] and Smirnova et al.(2000) [176]. More...
 
subroutine sfctmp (debug_print, delt, ktau, conflx, i, j, nzs, nddzs, nroot, meltfactor, ILAND, ISOIL, IVGTYP, ISLTYP, PRCPMS, NEWSNMS, SNWE, SNHEI, SNOWFRAC, RHOSN, RHONEWSN, RHOSNFALL, snowrat, grauprat, icerat, curat, PATM, TABS, QVATM, QCATM, rho, GLW, GSWdn, GSW, EMISS, EMISBCK, QKMS, TKMS, PC, MAVAIL, CST, VEGFRA, ALB, ZNT, ALB_SNOW, ALB_SNOW_FREE, lai, MYJ, SEAICE, ISICE, QWRTZ, rhocs, dqm, qmin, ref, wilt, psis, bclh, ksat, sat, cn, zsmain, zshalf, DTDZS, DTDZS2, tbq, cp, rovcp, g0, lv, stbolt, cw, c1sn, c2sn, KQWRTZ, KICE, KWT, snweprint, snheiprint, rsm, soilm1d, ts1d, smfrkeep, keepfr, soilt, soilt1, tsnav, dew, qvg, qsg, qcg, SMELT, SNOH, SNFLX, SNOM, SNOWFALLAC, ACSNOW, edir1, ec1, ett1, eeta, qfx, hfx, s, sublim, evapl, prcpl, fltot, runoff1, runoff2, soilice, soiliqw, infiltr, smf)
 This subroutine solves energy and moisture budgets. More...
 
real function qsn (TN, T)
 This function computes water vapor mixing ratio at saturation from the precomputed table and a given temperature. More...
 
subroutine soil (debug_print, i, j, iland, isoil, delt, ktau, conflx, nzs, nddzs, nroot, PRCPMS, RAINF, PATM, QVATM, QCATM, GLW, GSW, GSWin, EMISS, RNET, QKMS, TKMS, PC, cst, drip, infwater, rho, vegfrac, lai, myj, QWRTZ, rhocs, dqm, qmin, ref, wilt, psis, bclh, ksat, sat, cn, zsmain, zshalf, DTDZS, DTDZS2, tbq, xlv, CP, rovcp, G0_P, cw, stbolt, TABS, KQWRTZ, KICE, KWT, soilmois, tso, smfrkeep, keepfr, dew, soilt, qvg, qsg, qcg, edir1, ec1, ett1, eeta, qfx, hfx, s, evapl, prcpl, fltot, runoff1, runoff2, mavail, soilice, soiliqw, infiltrp, smf)
 This subroutine calculates energy and moisture budget for vegetated surfaces without snow, heat diffusion and Richards eqns in soil. More...
 
subroutine sice (debug_print, i, j, iland, isoil, delt, ktau, conflx, nzs, nddzs, nroot, PRCPMS, RAINF, PATM, QVATM, QCATM, GLW, GSW, EMISS, RNET, QKMS, TKMS, rho, myj, tice, rhosice, capice, thdifice, zsmain, zshalf, DTDZS, DTDZS2, tbq, xlv, CP, rovcp, cw, stbolt, tabs, tso, dew, soilt, qvg, qsg, qcg, eeta, qfx, hfx, s, evapl, prcpl, fltot)
 This subroutine is called for sea ice without accumulated snow on its surface. it solves heat diffusion inside ice and energy budget at the surface of ice. It computes skin temperature and temerature inside sea ice. More...
 
subroutine snowsoil (debug_print, i, j, isoil, delt, ktau, conflx, nzs, nddzs, nroot, meltfactor, rhonewsn, SNHEI_CRIT, ILAND, PRCPMS, RAINF, NEWSNOW, snhei, SNWE, SNOWFRAC, RHOSN, PATM, QVATM, QCATM, GLW, GSW, GSWin, EMISS, RNET, IVGTYP, QKMS, TKMS, PC, cst, drip, infwater, rho, vegfrac, alb, znt, lai, MYJ, QWRTZ, rhocs, dqm, qmin, ref, wilt, psis, bclh, ksat, sat, cn, zsmain, zshalf, DTDZS, DTDZS2, tbq, xlv, CP, rovcp, G0_P, cw, stbolt, TABS, KQWRTZ, KICE, KWT, ilnb, snweprint, snheiprint, rsm, soilmois, tso, smfrkeep, keepfr, dew, soilt, soilt1, tsnav, qvg, qsg, qcg, SMELT, SNOH, SNFLX, SNOM, edir1, ec1, ett1, eeta, qfx, hfx, s, sublim, prcpl, fltot, runoff1, runoff2, mavail, soilice, soiliqw, infiltrp)
 This subroutine is called for snow covered areas of land. It solves energy and moisture budgets on the surface of snow, and on the interface of snow and soil. It computes skin temperature, snow temperature, snow depth and snow melt. More...
 
subroutine snowseaice (debug_print, i, j, isoil, delt, ktau, conflx, nzs, nddzs, meltfactor, rhonewsn, SNHEI_CRIT, ILAND, PRCPMS, RAINF, NEWSNOW, snhei, SNWE, snowfrac, RHOSN, PATM, QVATM, QCATM, GLW, GSW, EMISS, RNET, QKMS, TKMS, RHO, myj, ALB, ZNT, tice, rhosice, capice, thdifice, zsmain, zshalf, DTDZS, DTDZS2, tbq, xlv, CP, rovcp, cw, stbolt, tabs, ilnb, snweprint, snheiprint, rsm, tso, dew, soilt, soilt1, tsnav, qvg, qsg, qcg, SMELT, SNOH, SNFLX, SNOM, eeta, qfx, hfx, s, sublim, prcpl, fltot)
 This subroutine is called for sea ice with accumulated snow on its surface. It solves energy budget on the snow interface with atmosphere and snow interface with ice. It calculates skin temperature, snow and ice temperatures, snow depth and snow melt. More...
 
subroutine soiltemp (debug_print, i, j, iland, isoil, delt, ktau, conflx, nzs, nddzs, nroot, PRCPMS, RAINF, PATM, TABS, QVATM, QCATM, EMISS, RNET, QKMS, TKMS, PC, RHO, VEGFRAC, lai, THDIF, CAP, DRYCAN, WETCAN, TRANSUM, DEW, MAVAIL, soilres, alfa, DQM, QMIN, BCLH, ZSMAIN, ZSHALF, DTDZS, TBQ, XLV, CP, G0_P, CVW, STBOLT, TSO, SOILT, QVG, QSG, QCG, X)
 This subroutine solves energy budget equation and heat diffusion equation. More...
 
subroutine snowtemp (debug_print, i, j, iland, isoil, delt, ktau, conflx, nzs, nddzs, nroot, snwe, snwepr, snhei, newsnow, snowfrac, beta, deltsn, snth, rhosn, rhonewsn, meltfactor, PRCPMS, RAINF, PATM, TABS, QVATM, QCATM, GLW, GSW, EMISS, RNET, QKMS, TKMS, PC, RHO, VEGFRAC, THDIF, CAP, DRYCAN, WETCAN, CST, TRANF, TRANSUM, DEW, MAVAIL, DQM, QMIN, PSIS, BCLH, ZSMAIN, ZSHALF, DTDZS, TBQ, XLVM, CP, rovcp, G0_P, CVW, STBOLT, SNWEPRINT, SNHEIPRINT, RSM, TSO, SOILT, SOILT1, TSNAV, QVG, QSG, QCG, SMELT, SNOH, SNFLX, S, ILNB, X)
 This subroutine solves energy bugdget equation and heat diffusion equation to obtain snow and soil temperatures. More...
 
subroutine soilmoist (debug_print, DELT, NZS, NDDZS, DTDZS, DTDZS2, RIW, ZSMAIN, ZSHALF, DIFFU, HYDRO, QSG, QVG, QCG, QCATM, QVATM, PRCP, QKMS, TRANSP, DRIP, DEW, SMELT, SOILICE, VEGFRAC, SNOWFRAC, soilres, DQM, QMIN, REF, KSAT, RAS, INFMAX, SOILMOIS, SOILIQW, MAVAIL, RUNOFF, RUNOFF2, INFILTRP)
 This subroutine solves moisture budget and computes soil moisture and surface and sub-surface runoffs. More...
 
subroutine soilprop (debug_print, nzs, fwsat, lwsat, tav, keepfr, soilmois, soiliqw, soilice, soilmoism, soiliqwm, soilicem, QWRTZ, rhocs, dqm, qmin, psis, bclh, ksat, riw, xlmelt, CP, G0_P, cvw, ci, kqwrtz, kice, kwt, thdif, diffu, hydro, cap)
 This subroutine computes thermal diffusivity, and diffusional and hydraulic condeuctivities in soil. More...
 
subroutine transf (debug_print, nzs, nroot, soiliqw, tabs, lai, gswin, dqm, qmin, ref, wilt, zshalf, pc, iland, tranf, transum)
 This subroutine solves the transpiration function (EQs. 18,19 in Smirnova et al.(1997) [175]) More...
 
subroutine vilka (TN, D1, D2, PP, QS, TS, TT, NSTEP, ii, j, iland, isoil)
 This subroutine finds the solution of energy budget at the surface from the pre-computed table of saturated water vapor mixing ratio and estimated surface temperature. More...
 
subroutine soilvegin (debug_print, soilfrac, nscat, shdmin, shdmax, mosaic_lu, mosaic_soil, NLCAT, IVGTYP, ISLTYP, iswater, MYJ, IFOREST, lufrac, vegfrac, EMISS, PC, ZNT, LAI, RDLAI2D, QWRTZ, RHOCS, BCLH, DQM, KSAT, PSIS, QMIN, REF, WILT, I, J)
 This subroutine computes effective land and soil parameters in the grid cell from the weighted contribution of soil and land categories represented in the grid cell. More...
 
subroutine, public ruclsminit (debug_print, landfrac, fice, min_seaice, nzs, isltyp, ivgtyp, mavail, sh2o, smfr3d, tslb, smois, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte)
 This subroutine computes liquid and forezen soil moisture from the total soil moisture, and also computes soil moisture availability in the top soil layer. More...
 
subroutine ruclsm_soilvegparm (debug_print, MMINLURUC, MMINSL)
 This subroutine specifies vegetation related characteristics. More...
 
subroutine soilin (ISLTYP, DQM, REF, PSIS, QMIN, BCLH)
 This subroutine specifies 19 soiltyp classification according to STATSGO. More...
 
real function, public rslf (P, T)
 This function calculates the liquid saturation vapor mixing ratio as a function of temperature and pressure (from Thompson scheme). More...
 

Variables

real(kind=kind_phys), parameter p1000mb = 100000.
 CONSTANT PARAMETERS. More...
 
real(kind=kind_phys), parameter xls = 2.85E6
 
real(kind=kind_phys), parameter rhowater = 1000.
 
real(kind=kind_phys), parameter piconst = 3.1415926535897931
 
real(kind=kind_phys), parameter r_v = 4.6150e+2
 
integer lucats
 VEGETATION PARAMETERS. More...
 
integer, parameter nlus =50
 
character *8 lutype
 
integer slcats
 SOIL PARAMETERS. More...
 
integer, parameter nsltype =30
 
character *8 sltype
 
integer slpcats
 LSM GENERAL PARAMETERS. More...
 
integer, parameter nslope =30
 
real sbeta_data
 
real fxexp_data
 
real csoil_data
 
real salp_data
 
real refdk_data
 
real refkdt_data
 
real frzk_data
 
real zbot_data
 
real smlow_data
 
real smhigh_data
 
real czil_data