CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
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.

real(kind_phys), parameter tfrz = con_t0c
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter xls = con_hvap + con_hfus
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter piconst = con_pi
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter r_v = con_rv
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter grav = con_g
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter sheatice = con_csol
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter rhoice = 917._kind_phys
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter sheatsn = 2090._kind_phys
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter p1000mb = 100000._kind_phys
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter zero = 0._kind_dbl_prec
 CONSTANT PARAMETERS.
 
real(kind_phys), parameter one = 1._kind_dbl_prec
 CONSTANT PARAMETERS.
 
integer lucats
 VEGETATION PARAMETERS.
 
integer, parameter nlus =50
 CONSTANT PARAMETERS.
 
character *8 lutype
 CONSTANT PARAMETERS.
 
integer slcats
 SOIL PARAMETERS.
 
integer, parameter nsltype =30
 CONSTANT PARAMETERS.
 
character *8 sltype
 CONSTANT PARAMETERS.
 
integer slpcats
 LSM GENERAL PARAMETERS.
 
integer, parameter nslope =30
 CONSTANT PARAMETERS.
 
real(kind_phys) sbeta_data
 CONSTANT PARAMETERS.
 
real(kind_phys) fxexp_data
 CONSTANT PARAMETERS.
 
real(kind_phys) csoil_data
 CONSTANT PARAMETERS.
 
real(kind_phys) salp_data
 CONSTANT PARAMETERS.
 
real(kind_phys) refdk_data
 CONSTANT PARAMETERS.
 
real(kind_phys) refkdt_data
 CONSTANT PARAMETERS.
 
real(kind_phys) frzk_data
 CONSTANT PARAMETERS.
 
real(kind_phys) zbot_data
 CONSTANT PARAMETERS.
 
real(kind_phys) smlow_data
 CONSTANT PARAMETERS.
 
real(kind_phys) smhigh_data
 CONSTANT PARAMETERS.
 
real(kind_phys) czil_data
 CONSTANT PARAMETERS.
 
subroutine, public lsmruc (xlat, xlon, dt, init, lsm_cold_start, ktau, iter, nsl, graupelncv, snowncv, rainncv, raincv, zs, rainbl, snow, snowh, snowc, frzfrac, frpcpn, rhosnf, precipfr, exticeden, hgt, stdev, z3d, p8w, t3d, qv3d, qc3d, rho3d, emisbck, glw, gswdn, gsw, emiss, chklowq, chs, flqc, flhc, rhonewsn_ex, mosaic_lu, mosaic_soil, isncond_opt, isncovr_opt, mavail, canwat, vegfra, alb, znt, z0, snoalb, albbck, lai, landusef, nlcat, soilctop, nscat, smcwlt, smcref, 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, edir, ec, ett, sublim, snoh, hfx, qfx, lh, infiltr, runoff1, runoff2, acrunoff, sfcexc, sfcevp, grdflx, snowfallac, acsnow, snom, smfr3d, keepfr3dflag, add_fire_heat_flux, fire_heat_flux, myj, shdmin, shdmax, rdlai2d, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte, errmsg, errflg)
 The RUN LSM model is described in Smirnova et al.(1997) [183] and Smirnova et al.(2000) [184].
 
subroutine sfctmp (debug_print, delt, ktau, conflx, i, j, xlat, xlon, testptlat, testptlon, nzs, nddzs, nroot, meltfactor, isncond_opt, isncovr_opt, iland, isoil, ivgtyp, isltyp, prcpms, newsnms, snwe, snhei, snowfrac, exticeden, rhosn, rhonewsn_ex, rhonewsn, rhosnfall, snowrat, grauprat, icerat, curat, patm, tabs, qvatm, qcatm, rho, glw, gswdn, gsw, emiss, emisbck, msnf, facsnf, qkms, tkms, pc, mavail, cst, vegfra, alb, znt, alb_snow, alb_snow_free, lai, hgt, stdev, myj, seaice, isice, add_fire_heat_flux, fire_heat_flux, 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.
 
real(kind_phys) function qsn (tn, t)
 This function computes water vapor mixing ratio at saturation from the precomputed table and a given temperature.
 
subroutine soil (debug_print, xlat, xlon, testptlat, testptlon, 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.
 
subroutine sice (debug_print, xlat, xlon, 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.
 
subroutine snowsoil (debug_print, xlat, xlon, testptlat, testptlon, i, j, isoil, delt, ktau, conflx, nzs, nddzs, nroot, isncond_opt, isncovr_opt, 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.
 
subroutine snowseaice (debug_print, xlat, xlon, i, j, isoil, delt, ktau, conflx, nzs, nddzs, isncond_opt, isncovr_opt, 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.
 
subroutine soiltemp (debug_print, xlat, xlon, testptlat, testptlon, 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.
 
subroutine snowtemp (debug_print, xlat, xlon, testptlat, testptlon, i, j, iland, isoil, delt, ktau, conflx, nzs, nddzs, nroot, isncond_opt, isncovr_opt, snwe, snwepr, snhei, newsnow, snowfrac, snhei_crit, 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.
 
subroutine soilmoist (debug_print, xlat, xlon, testptlat, testptlon, 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.
 
subroutine soilprop (debug_print, xlat, xlon, testptlat, testptlon, 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.
 
subroutine transf (debug_print, xlat, xlon, testptlat, testptlon, 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) [183])
 
subroutine vilka (tn, d1, d2, pp, qs, ts, tt, nstep, ii, j, iland, isoil, xlat, xlon)
 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.
 
subroutine soilvegin (debug_print, mosaic_lu, mosaic_soil, soilfrac, nscat, shdmin, shdmax, nlcat, ivgtyp, isltyp, iswater, myj, iforest, lufrac, vegfrac, emiss, pc, msnf, facsnf, znt, lai, rdlai2d, qwrtz, rhocs, bclh, dqm, ksat, psis, qmin, ref, wilt, i, j, errmsg, errflg)
 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.
 
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.
 
subroutine ruclsm_soilvegparm (debug_print, mminluruc, mminsl)
 This subroutine specifies vegetation related characteristics.
 
subroutine soilin (isltyp, dqm, ref, psis, qmin, bclh)
 This subroutine specifies 19 soiltyp classification according to STATSGO.
 
real(kind_phys) function, public rslf (p, t)
 This function calculates the liquid saturation vapor mixing ratio as a function of temperature and pressure (from Thompson scheme).