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). | |