This is the NoahMP LSM driver module, with the functionality of preparing variables to run the NoahMP LSM subroutine noahmp_sflx(), calling NoahMP LSM and post-processing variables for return to the parent model suite including unit conversion, as well as diagnotics calculation. More...
Modules | |
module | noahmp_glacier_routines |
This module contains NoahMP glacier routines. | |
module | noahmp_tables |
brief Data from MPTABLE.TBL, SOILPARM.TBL, GENPARM.TBL for NoahMP | |
Functions/Subroutines | |
subroutine, public | noahmp_glacier_routines::noahmp_glacier ( iloc,jloc,cosz,nsnow,nsoil,dt, sfctmp,sfcprs,uu,vv,q2,soldn, prcp,lwdn,tbot,zlvl,ficeold,zsoil, thsfc_loc,prslkix,prsik1x,prslk1x, psfc,pblhx,iz0tlnd,itime, sigmaf1,garea1,psi_opt, ep_1,ep_2,epsm1,cp, qsnow,sneqvo,albold,cm,ch,isnow, sneqv,smc,zsnso,snowh,snice,snliq, tg,stc,sh2o,tauss,qsfc, fsa,fsr,fira,fsh,fgev,ssoil, trad,edir,runsrf,runsub,sag,albedo, qsnbot,ponding,ponding1,ponding2,t2m, q2e,z0h_total, ifdef ccpp |
subroutine, private | noahmp_glacier_routines::atm_glacier (ep_2, epsm1, sfcprs, sfctmp, q2, soldn, cosz, thair, qair, eair, rhoair, solad, solai, swdown) |
re-process atmospheric forcing | |
subroutine, private | noahmp_glacier_routines::energy_glacier (nsnow,nsoil,isnow,dt,qsnow,rhoair, eair,sfcprs,qair,sfctmp,lwdn,uu, vv,solad,solai,cosz,zref, tbot,zbot,zsnso,dzsnso,sigmaf1,garea1, thsfc_loc,prslkix,prsik1x,prslk1x, psfc,pblhx,iz0tlnd,itime,psi_opt, ep_1, ep_2, epsm1, cp, tg,stc,snowh,sneqv,sneqvo,sh2o, smc,snice,snliq,albold,cm,ch, ifdef ccpp |
Compute energy budget (momentum & energy fluxes and phase changes). | |
subroutine, private | noahmp_glacier_routines::thermoprop_glacier (nsoil, nsnow, isnow, dzsnso, dt, snowh, snice, snliq, df, hcpct, snicev, snliqv, epore, fact) |
calculate thermal properties of soil, snow, lake, and frozen soil. | |
subroutine, private | noahmp_glacier_routines::csnow_glacier (isnow, nsnow, nsoil, snice, snliq, dzsnso, tksno, cvsno, snicev, snliqv, epore) |
snow bulk density, volumetric capacity, and thermal conductivity | |
subroutine, private | noahmp_glacier_routines::radiation_glacier (dt, tg, sneqvo, sneqv, cosz, qsnow, solad, solai, albold, tauss, sag, fsr, fsa, albsnd, albsni) |
Compute solar radiation: absorbed & reflected by the ground. | |
subroutine, private | noahmp_glacier_routines::snow_age_glacier (dt, tg, sneqvo, sneqv, tauss, fage) |
subroutine, private | noahmp_glacier_routines::snowalb_bats_glacier (nband, cosz, fage, albsnd, albsni) |
subroutine, private | noahmp_glacier_routines::snowalb_class_glacier (nband, qsnow, dt, alb, albold, albsnd, albsni) |
subroutine, private | noahmp_glacier_routines::glacier_flux (nsoil,nsnow,emg,isnow,df,dzsnso,z0m, zlvl,zpd,qair,sfctmp,rhoair,sfcprs, ur,gamma,rsurf,lwdn,rhsur,smc, eair,stc,sag,snowh,lathea,sh2o, thsfc_loc,prslkix,prsik1x,prslk1x, psfc,pblhx,iz0tlnd,itime,uu,vv, sigmaf1,garea1,psi_opt,ep_1, ep_2, epsm1, cp, ifdef ccpp |
use newton-raphson iteration to solve ground (tg) temperature that balances the surface energy budgets for glacier. | |
subroutine | noahmp_glacier_routines::esat (t, esw, esi, desw, desi) |
subroutine, private | noahmp_glacier_routines::sfcdif1_glacier (iter,zlvl,zpd,z0h,z0m, qair,sfctmp,h,rhoair,mpe,ur, ifdef ccpp |
compute surface drag coefficient cm for momentum and ch for heat | |
subroutine, private | noahmp_glacier_routines::tsnosoi_glacier (nsoil, nsnow, isnow, dt, tbot, ssoil, snowh, zbot, zsnso, df, hcpct, stc) |
subroutine, private | noahmp_glacier_routines::hrt_glacier (nsnow, nsoil, isnow, zsnso, stc, tbot, zbot, df, hcpct, ssoil, phi, ai, bi, ci, rhsts, botflx) |
subroutine, private | noahmp_glacier_routines::hstep_glacier (nsnow, nsoil, isnow, dt, ai, bi, ci, rhsts, stc) |
subroutine, private | noahmp_glacier_routines::rosr12_glacier (p, a, b, c, d, delta, ntop, nsoil, nsnow) |
subroutine, private | noahmp_glacier_routines::phasechange_glacier (nsnow, nsoil, isnow, dt, fact, dzsnso, stc, snice, snliq, sneqv, snowh, smc, sh2o, qmelt, imelt, ponding) |
subroutine, private | noahmp_glacier_routines::water_glacier (nsnow, nsoil, imelt, dt, prcp, sfctmp, qvap, qdew, ficeold, zsoil, isnow, snowh, sneqv, snice, snliq, stc, dzsnso, sh2o, sice, ponding, zsnso, fsh, runsrf, runsub, qsnow, ponding1, ponding2, qsnbot, fpice, esnow) |
subroutine, private | noahmp_glacier_routines::snowwater_glacier (nsnow, nsoil, imelt, dt, sfctmp, snowhin, qsnow, qsnfro, qsnsub, qrain, ficeold, zsoil, isnow, snowh, sneqv, snice, snliq, sh2o, sice, stc, dzsnso, zsnso, fsh, qsnbot, snoflow, ponding1, ponding2) |
subroutine, private | noahmp_glacier_routines::snowfall_glacier (nsoil, nsnow, dt, qsnow, snowhin, sfctmp, isnow, snowh, dzsnso, stc, snice, snliq, sneqv) |
subroutine, private | noahmp_glacier_routines::compact_glacier (nsnow, nsoil, dt, stc, snice, snliq, imelt, ficeold, isnow, dzsnso) |
subroutine, private | noahmp_glacier_routines::combine_glacier (nsnow, nsoil, isnow, sh2o, stc, snice, snliq, dzsnso, sice, snowh, sneqv, ponding1, ponding2) |
subroutine, private | noahmp_glacier_routines::combo_glacier (dz, wliq, wice, t, dz2, wliq2, wice2, t2) |
subroutine, private | noahmp_glacier_routines::divide_glacier (nsnow, nsoil, isnow, stc, snice, snliq, dzsnso) |
subroutine, private | noahmp_glacier_routines::snowh2o_glacier (nsnow, nsoil, dt, qsnfro, qsnsub, qrain, isnow, dzsnso, snowh, sneqv, snice, snliq, sh2o, sice, stc, ponding1, ponding2, fsh, qsnbot) |
subroutine, private | noahmp_glacier_routines::error_glacier (iloc,jloc,swdown,fsa,fsr,fira, fsh,fgev,ssoil,sag,prcp,edir, ifdef ccpp |
subroutine, public | noahmp_glacier_routines::noahmp_options_glacier (iopt_alb, iopt_snf, iopt_tbot, iopt_stc, iopt_gla, iopt_sfc, iopt_trs) |
subroutine | noahmp_sflx (parameters, iloc, jloc, lat, yearlen, julian, cosz, dt, dx, dz8w, nsoil, zsoil, nsnow, shdfac, shdmax, vegtyp, ice, ist, croptype, smceq, sfctmp, sfcprs, psfc, uu, vv, q2, garea1, qc, soldn, lwdn, thsfc_loc, prslkix, prsik1x, prslk1x, pblhx, iz0tlnd, itime,psi_opt, prcpconv, prcpnonc, prcpshcv, prcpsnow, prcpgrpl, prcphail, tbot, co2air, o2air, foln, ficeold, zlvl, ep_1, ep_2, epsm1, cp, albold, sneqvo, stc, sh2o, smc, tah, eah, fwet, canliq, canice, tv, tg, qsfc, qsnow, qrain, isnow, zsnso, snowh, sneqv, snice, snliq, zwt, wa, wt, wslake, lfmass, rtmass, stmass, wood, stblcp, fastcp, lai, sai, cm, ch, tauss, grain, gdd, pgs, smcwtd,deeprech, rech, ustarx, z0wrf, z0hwrf, ts, fsa, fsr, fira, fsh, ssoil, fcev, fgev, fctr, ecan, etran, edir, trad, tgb, tgv, t2mv, t2mb, q2v, q2b, runsrf, runsub, apar, psn, sav, sag, fsno, nee, gpp, npp, fveg, albedo, qsnbot, ponding, ponding1, ponding2, rssun, rssha, albd, albi, albsnd, albsni, bgap, wgap, chv, chb, emissi, shg, shc, shb, evg, evb, ghv, ghb, irg, irc, irb, tr, evc, chleaf, chuc, chv2, chb2, fpice, pahv, pahg, pahb, pah, esnow, canhs, laisun, laisha, rb, qsfcveg, qsfcbare ifdef ccpp |
subroutine | atm (parameters, ep_2, epsm1, sfcprs, sfctmp, q2, prcpconv, prcpnonc, prcpshcv, prcpsnow, prcpgrpl, prcphail, soldn, cosz, thair, qair, eair, rhoair, qprecc, qprecl, solad, solai, swdown, bdfall, rain, snow, fp, fpice, prcp) |
re-precess atmospheric forcing. | |
subroutine | phenology (parameters, vegtyp, croptype, snowh, tv, lat, yearlen, julian, lai, sai, troot, elai, esai, igs, pgs) |
vegetation phenology considering vegetation canopy being buried by snow and evolution in time. | |
subroutine | precip_heat (parameters, iloc, jloc, vegtyp, dt, uu, vv, elai, esai, fveg, ist, bdfall, rain, snow, fp, canliq, canice, tv, sfctmp, tg, qintr, qdripr, qthror, qints, qdrips, qthros, pahv, pahg, pahb, qrain, qsnow, snowhin, fwet, cmc) |
Michael Barlage: Oct 2013 - Split canwater to calculate precip movement for tracking of advected heat. | |
subroutine | error (parameters, swdown,fsa,fsr,fira,fsh,fcev, fgev,fctr,ssoil,beg_wb,canliq,canice, sneqv,wa,smc,dzsnso,prcp,ecan, etran,edir,runsrf,runsub,dt,nsoil, nsnow,ist,errwat, iloc,jloc,fveg, sav,sag,fsrv,fsrg,zwt,pah, ifdef ccpp |
check surface energy balance and water balance. | |
subroutine | energy (parameters, ice,vegtyp,ist,nsnow,nsoil, isnow,dt,rhoair,sfcprs,qair, sfctmp,thair,lwdn,uu,vv,zref, co2air,o2air,solad,solai,cosz,igs, eair,tbot,zsnso,zsoil, elai,esai,fwet,foln, fveg,shdfac, pahv,pahg,pahb, qsnow,dzsnso,lat,canliq,canice,iloc, jloc, thsfc_loc, prslkix, prsik1x, prslk1x, garea1, pblhx, iz0tlnd, itime, psi_opt, ep_1, ep_2, epsm1, cp, z0wrf,z0hwrf, imelt,snicev,snliqv,epore,t2m,fsno, sav,sag,qmelt,fsa,fsr,taux, tauy,fira,fsh,fcev,fgev,fctr, trad,psn,apar,ssoil,btrani,btran, ponding, ts,latheav, latheag, frozen_canopy, frozen_ground, tv,tg,stc,snowh,eah,tah, sneqvo,sneqv,sh2o,smc,snice,snliq, albold,cm,ch,dx,dz8w,q2, ustarx, ifdef ccpp |
We use different approaches to deal with subgrid features of radiation transfer and turbulent transfer. we use 'tile' approach to compute turbulent fluxes,while we use modified two-stream to compute radiation transfer. tile approach, assemblying vegetation canopies together, may expose too much ground surfaces (either covered by snow or grass) to solar radiation. the modified two-stream assumes vegetation covers fully the gridcell but with gaps between tree crowns. | |
subroutine | thermoprop (parameters, nsoil, nsnow, isnow, ist, dzsnso, dt, snowh, snice, snliq, shdfac, smc, sh2o, tg, stc, ur, lat, z0m, zlvl, vegtyp, df, hcpct, snicev, snliqv, epore, fact) |
subroutine | csnow (parameters, isnow, nsnow, nsoil, snice, snliq, dzsnso, tksno, cvsno, snicev, snliqv, epore) |
snow bulk density,volumetric capacity, and thermal conductivity | |
subroutine | tdfcnd (parameters, isoil, df, smc, sh2o) |
calculate thermal diffusivity and conductivity of the soil. peters-lidard approach (peters-lidard et al., 1998) | |
subroutine | radiation (parameters, vegtyp, ist, ice, nsoil, sneqvo, sneqv, dt, cosz, snowh, tg, tv, fsno, qsnow, fwet, elai, esai, smc, solad, solai, fveg, iloc, jloc, albold, tauss, fsun, laisun, laisha, parsun, parsha, sav, sag, fsr, fsa, fsrv, fsrg, albd, albi, albsnd, albsni, bgap, wgap) |
Calculate solar radiation: absorbed & reflected by the ground and canopy. | |
subroutine | albedo (parameters, vegtyp, ist, ice, nsoil, dt, cosz, fage, elai, esai, tg, tv, snowh, fsno, fwet, smc, sneqvo, sneqv, qsnow, fveg, iloc, jloc, albold, tauss, albgrd, albgri, albd, albi, fabd, fabi, ftdd, ftid, ftii, fsun, frevi, frevd, fregd, fregi, bgap, wgap, albsnd, albsni) |
surface albedos. also fluxes (per unit incoming direct and diffuse radiation) reflected, transmitted, and absorbed by vegetation. also sunlight fraction of the canopy. | |
subroutine | surrad (parameters, mpe, fsun, fsha, elai, vai, laisun, laisha, solad, solai, fabd, fabi, ftdd, ftid, ftii, albgrd, albgri, albd, albi, iloc, jloc, parsun, parsha, sav, sag, fsa, fsr, frevi, frevd, fregd, fregi, fsrv, fsrg) |
surface raditiation | |
subroutine | snow_age (parameters, dt, tg, sneqvo, sneqv, tauss, fage) |
subroutine | snowalb_bats (parameters, nband, fsno, cosz, fage, albsnd, albsni) |
bats snow surface albedo | |
subroutine | snowalb_class (parameters, nband, qsnow, dt, alb, albold, albsnd, albsni, iloc, jloc) |
class snow surface albedo | |
subroutine | groundalb (parameters, nsoil, nband, ice, ist, fsno, smc, albsnd, albsni, cosz, tg, iloc, jloc, albgrd, albgri) |
ground surface albedo | |
subroutine | twostream (parameters, ib, ic, vegtyp, cosz, vai, fwet, t, albgrd, albgri, rho, tau, fveg, ist, iloc, jloc, fab, fre, ftd, fti, gdir, frev, freg, bgap, wgap) |
use two-stream approximation of Dickinson (1983) adv geophysics 25: 305-353 and sellers (1985) int j remote sensing 6: 1335-1372 to calculate fluxes absorbed by vegetation, reflected by vegetation, and transmitted through vegetation for unit incoming direct or diffuse flux given an underlying surface with known albedo. | |
subroutine | vege_flux (parameters, nsnow,nsoil,isnow,vegtyp,veg, dt,sav,sag,lwdn,ur, uu,vv,sfctmp,thair,qair, eair,rhoair,snowh,vai,gammav,gammag, fwet,laisun,laisha,cwp,dzsnso, zlvl,zpd,z0m,fveg,shdfac, z0mg,emv,emg,canliq,fsno, canice,stc,df,rssun,rssha, rsurf,latheav,latheag,parsun,parsha,igs, foln,co2air,o2air,btran,sfcprs, rhsur,iloc,jloc,q2,pahv,pahg, thsfc_loc, prslkix, prsik1x, prslk1x, garea1, pblhx,iz0tlnd,itime,psi_opt,ep_1, ep_2, epsm1, cp, eah,tah,tv,tg,cm, ustarx, ifdef ccpp |
use newton-raphson iteration to solve for vegetation (tv) and ground (tg) temperatures that balance the surface energy budgets. | |
subroutine | bare_flux (parameters, nsnow,nsoil,isnow,dt,sag, lwdn,ur,uu,vv,sfctmp, thair,qair,eair,rhoair,snowh, dzsnso,zlvl,zpd,z0m,fsno, emg,stc,df,rsurf,lathea, gamma,rhsur,iloc,jloc,q2,pahb, thsfc_loc, prslkix, prsik1x, prslk1x, vegtyp, fveg, shdfac, garea1, pblhx, iz0tlnd, itime,psi_opt, ep_1, ep_2, epsm1, cp,ifdef ccpp |
use newton-raphson iteration to solve ground (tg) temperature that balances the surface energy budgets for bare soil fraction. | |
subroutine | ragrb (parameters, iter, vai, rhoair, hg, tah, zpd, z0mg, z0hg, hcan, uc, z0h, fv, cwp, vegtyp, mpe, tv, mozg, fhg, fhgh, iloc, jloc, ramg, rahg, rawg, rb) |
compute under-canopy aerodynamic resistance rag and leaf boundary layer resistance rb. | |
subroutine | sfcdif1 (parameters, iter,sfctmp,rhoair,h,qair, zlvl,zpd,z0m,z0h,ur, mpe,iloc,jloc, ifdef ccpp |
compute surface drag coefficient cm for momentum and ch for heat. | |
subroutine | sfcdif2 (parameters, iter, z0, thz0, thlm, sfcspd, zlm, iloc, jloc, akms, akhs, rlmo, wstar2, ustar) |
calculate surface layer exchange coefficients via iteractive process (Chen et al. 1997, blm) | |
subroutine | sfcdif3 (parameters, iloc, jloc, iter, sfctmp, qair, ur, zlvl, tgb, thsfc_loc, prslkix, prsik1x, prslk1x, z0m, z0h, zpd, snowh, fveg, garea1, ustarx, fm, fh, fm2, fh2, fv, cm, ch) |
compute surface drag coefficient cm for momentum and ch for heat. | |
subroutine | thermalz0 (parameters, fveg, z0m, z0mg, zlvl, zpd, ezpd, ustarx, vegtyp, vaie, ur, c_sigma_f0, c_sigma_f1, a1, cdmn_v, cdmn_g, surface_flag, z0m_out, z0h_out) |
subroutine | esat (t, esw, esi, desw, desi) |
use polynomials to calculate saturation vapor pressure and derivative with respect to temperature: over water when t > 0 c and over ice when t <= 0 c. | |
subroutine | stomata (parameters, vegtyp, mpe, apar, foln, iloc, jloc, tv, ei, ea, sfctmp, sfcprs, o2, co2, igs, btran, rb, rs, psn) |
subroutine | canres (parameters, ep_2, epsm1, par, sfctmp, rcsoil, eah, sfcprs, rc, psn, iloc, jloc) |
calculate canopy resistance which depends on incoming solar radiation, air temperature, atmospheric water vapor pressure deficit at the lowest model level, and soil moisture (preferably unfrozen soil moisture rather than total). | |
subroutine | calhum (parameters, sfctmp, sfcprs, q2sat, dqsdt2) |
subroutine | tsnosoi (parameters, ice,nsoil,nsnow,isnow,ist, tbot,zsnso,ssoil,df,hcpct, sag,dt,snowh,dzsnso, tg,iloc,jloc, ifdef ccpp |
compute snow (up to 3l) and soil (4l) temperature. note that snow temperatures during melting season may exceed melting point (tfrz) but later in phasechange subroutine the snow temperatures are reset to tfrz for melting snow. | |
subroutine | hrt (parameters, nsnow, nsoil, isnow, zsnso, stc, tbot, zbot, dt, df, hcpct, ssoil, phi, ai, bi, ci, rhsts, botflx) |
calculate the right hand side of the time tendency term of the soil thermal diffusion equation. also to compute (prepare) the matrix coefficients for the tri-diagonal matrix of the implicit time scheme. | |
subroutine | hstep (parameters, nsnow, nsoil, isnow, dt, ai, bi, ci, rhsts, stc) |
calculate/update the soil temperature fields. | |
subroutine | rosr12 (p, a, b, c, d, delta, ntop, nsoil, nsnow) |
solve the tri-diagonal matrix equation | |
subroutine | phasechange (parameters, nsnow,nsoil,isnow,dt,fact, dzsnso,hcpct,ist,iloc,jloc, stc,snice,snliq,sneqv,snowh, ifdef ccpp |
melting/freezing of snow water and soil water | |
subroutine | frh2o (parameters, isoil, free, tkelv, smc, sh2o, ifdef ccpp |
calculate amount of supercooled liquid soil water content if temperature is below 273.15k (tfrz). requires newton-type iteration to solve the nonlinear implicit equation given in eqn 17 of koren et al. (1999, jgr, vol 104(d16),19569-19585) | |
subroutine | water (parameters, vegtyp, nsnow, nsoil, imelt, dt, uu, vv, fcev, fctr, qprecc, qprecl, elai, esai, sfctmp, qvap, qdew, zsoil, btrani, ficeold, ponding, tg, ist, fveg, iloc, jloc, smceq, bdfall, fp, rain, snow, qsnow, qrain, snowhin, latheav, latheag, frozen_canopy, frozen_ground, isnow, canliq, canice, tv, snowh, sneqv, snice, snliq, stc, zsnso, sh2o, smc, sice, zwt, wa, wt, dzsnso, wslake, smcwtd, deeprech, rech, cmc, ecan, etran, fwet, runsrf, runsub, qin, qdis, ponding1, ponding2, qsnbot, esnow) |
compute water budgets (water storages, et components, and runoff) | |
subroutine | canwater (parameters, vegtyp, dt, fcev, fctr, elai, esai, tg, fveg, iloc, jloc, bdfall, frozen_canopy, canliq, canice, tv, cmc, ecan, etran, fwet) |
canopy hydrology | |
subroutine | snowwater (parameters, nsnow, nsoil, imelt, dt, zsoil, sfctmp, snowhin, qsnow, qsnfro, qsnsub, qrain, ficeold, iloc, jloc, isnow, snowh, sneqv, snice, snliq, sh2o, sice, stc, zsnso, dzsnso, qsnbot, snoflow, ponding1, ponding2) |
subroutine | snowfall (parameters, nsoil, nsnow, dt, qsnow, snowhin, sfctmp, iloc, jloc, isnow, snowh, dzsnso, stc, snice, snliq, sneqv) |
snow depth and density to account for the new snowfall. new values of snow depth & density returned. | |
subroutine | combine (parameters, nsnow, nsoil, iloc, jloc, isnow, sh2o, stc, snice, snliq, dzsnso, sice, snowh, sneqv, ponding1, ponding2) |
subroutine | divide (parameters, nsnow, nsoil, isnow, stc, snice, snliq, dzsnso) |
subroutine | combo (parameters, dz, wliq, wice, t, dz2, wliq2, wice2, t2) |
subroutine | compact (parameters, nsnow, nsoil, dt, stc, snice, snliq, zsoil, imelt, ficeold, iloc, jloc, isnow, dzsnso, zsnso) |
subroutine | snowh2o (parameters, nsnow, nsoil, dt, qsnfro, qsnsub, qrain, iloc, jloc, isnow, dzsnso, snowh, sneqv, snice, snliq, sh2o, sice, stc, qsnbot, ponding1, ponding2) |
renew the mass of ice lens (snice) and liquid (snliq) of the surface snow layer resulting from sublimation (frost) / evaporation (dew) | |
subroutine | soilwater (parameters, nsoil, nsnow, dt, zsoil, dzsnso, qinsur, qseva, etrani, sice, iloc, jloc, sh2o, smc, zwt, vegtyp, smcwtd, deeprech, runsrf, qdrain, runsub, wcnd, fcrmax) |
calculate surface runoff and soil moisture. | |
subroutine | zwteq (parameters, nsoil, nsnow, zsoil, dzsnso, sh2o, zwt) |
calculate equilibrium water table depth (niu et al., 2005) | |
subroutine | infil (parameters, nsoil, dt, zsoil, sh2o, sice, sicemax, qinsur, pddum, runsrf) |
compute inflitration rate at soil surface and surface runoff | |
subroutine | srt (parameters, nsoil, zsoil, dt, pddum, etrani, qseva, sh2o, smc, zwt, fcr, sicemax, fcrmax, iloc, jloc, smcwtd, rhstt, ai, bi, ci, qdrain, wcnd) |
calculate the right hand side of the time tendency term of the soil water diffusion equation. also to compute (prepare) the matrix coefficients for the tri-diagonal matrix of the implicit time scheme. | |
subroutine | sstep (parameters, nsoil, nsnow, dt, zsoil, dzsnso, sice, iloc, jloc, zwt, sh2o, smc, ai, bi, ci, rhstt, smcwtd, qdrain, deeprech, wplus) |
calculate/update soil moisture content values. | |
subroutine | wdfcnd1 (parameters, wdf, wcnd, smc, fcr, isoil) |
calculate soil water diffusivity and soil hydraulic conductivity. | |
subroutine | wdfcnd2 (parameters, wdf, wcnd, smc, sice, isoil) |
calculate soil water diffusivity and soil hydraulic conductivity. | |
subroutine | groundwater (parameters, nsnow, nsoil, dt, sice, zsoil, stc, wcnd, fcrmax, iloc, jloc, sh2o, zwt, wa, wt, qin, qdis) |
subroutine | shallowwatertable (parameters, nsnow, nsoil, zsoil, dt, dzsnso, smceq, iloc, jloc, smc, wtd, smcwtd, rech, qdrain) |
diagnoses water table depth and computes recharge when the water table is within the resolved soil layers, according to the miguez-macho&fan scheme. | |
subroutine | carbon (parameters, nsnow, nsoil, vegtyp, dt, zsoil, dzsnso, stc, smc, tv, tg, psn, foln, btran, apar, fveg, igs, troot, ist, lat, iloc, jloc, lfmass, rtmass, stmass, wood, stblcp, fastcp, gpp, npp, nee, autors, heters, totsc, totlb, xlai, xsai) |
subroutine | co2flux (parameters, nsnow, nsoil, vegtyp, igs, dt, dzsnso, stc, psn, troot, tv, wroot, wstres, foln, lapm, lat, iloc, jloc, fveg, xlai, xsai, lfmass, rtmass, stmass, fastcp, stblcp, wood, gpp, npp, nee, autors, heters, totsc, totlb) |
the original code is from Dickinson et al.(1998), modified by guo-yue niu, 2004 | |
subroutine | carbon_crop (parameters, nsnow, nsoil, vegtyp, dt, zsoil, julian, dzsnso, stc, smc, tv, psn, foln, btran, soldn, t2m, lfmass, rtmass, stmass, wood, stblcp, fastcp, grain, xlai, xsai, gdd, gpp, npp, nee, autors, heters, totsc, totlb, pgs) |
initial crop version created by xing liu initial crop version added by barlage v3.8 | |
subroutine | co2flux_crop (parameters, dt, stc, psn, tv, wroot, wstres, foln, ipa, iha, pgs, xlai, xsai, lfmass, rtmass, stmass, fastcp, stblcp, wood, grain, gdd, gpp, npp, nee, autors, heters, totsc, totlb) |
the original code from re dickinson et al.(1998) and guo-yue niu (2004), modified by xing liu, 2014. | |
subroutine | growing_gdd (parameters, t2m, dt, julian, gdd, ipa, iha, pgs) |
subroutine | psn_crop (parameters, soldn, xlai, t2m, psncrop) |
subroutine | noahmp_options (idveg, iopt_crs, iopt_btr, iopt_run, iopt_sfc, iopt_frz, iopt_inf, iopt_rad, iopt_alb, iopt_snf, iopt_tbot, iopt_stc, iopt_rsf, iopt_soil, iopt_pedo, iopt_crop, iopt_trs, iopt_diag, iopt_z0m) |
subroutine | sfcdif4 (iloc, jloc, ux, vx, t1d, p1d, psfcpa, pblhx, dx, znt, ep_1, ep_2, cp, itime, snwh, isice, psi_opt, tsk, qx, zlvl, iz0tlnd, qsfc, hfx, qfx, cm, chs, chs2, cqs2, rmolx, ust, rbx, fmx, fhx, stressx, fm10x, fh2x, wspdx, flhcx, flqcx) |
subroutine | zilitinkevich_1995 (z_0, zt, zq, restar, ustar, vkc, landsea, iz0tlnd2, spp_pbl, rstoch) |
subroutine | garratt_1992 (zt, zq, z_0, ren, landsea) |
data. the formula for land uses a constant ratio (z_0/7.4) taken from garratt (1992). | |
real *8 function | zolri (ri, za, z0, zt, zol1, psi_opt) |
subroutine | psi_init (psi_opt, errmsg, errflg) |
subroutine | noahmpdrv_init (lsm, lsm_noahmp, me, isot, ivegsrc, nlunit, pores, resid, do_mynnsfclay, do_mynnedmf, errmsg, errflg) |
This subroutine is called during the CCPP initialization phase and calls set_soilveg() to initialize soil and vegetation parameters for the chosen soil and vegetation data sources. | |
subroutine | transfer_mp_parameters (vegtype, soiltype, slopetype, soilcolor, croptype, parameters) |
This subroutine fills in a derived data type of type noahmp_parameters with data from the module noahmp_tables. | |
subroutine | pedotransfer_sr2006 (nsoil, sand, clay, orgm, parameters) |
This subroutine uses a pedotransfer method to calculate soil properties. | |
subroutine | penman (sfctmp, sfcprs, ch, t2v, th2, prcp, fdown, ssoil, q2, q2sat, etp, snowng, frzgra, ffrozp, dqsdt2, emissi_in, sncovr) |
brief Calculate potential evaporation for the current point. Various partial sums/products are also calculated and passed back to the calling routine for later use. | |
subroutine | noahmpdrv_run (im, km, lsnowl, itime, ps, u1, v1, t1, q1, soiltyp, soilcol, vegtype, sigmaf, dlwflx, dswsfc, snet, delt, tg3, cm, ch, prsl1, prslk1, prslki, prsik1, zf, pblh, dry, wind, slopetyp, shdmin, shdmax, snoalb, sfalb, flag_iter, con_g, idveg, iopt_crs, iopt_btr, iopt_run, iopt_sfc, iopt_frz, iopt_inf, iopt_rad, iopt_alb, iopt_snf, iopt_tbot, iopt_stc, iopt_trs, iopt_diag, xlatin, xcoszin, iyrlen, julian, garea, rainn_mp, rainc_mp, snow_mp, graupel_mp, ice_mp, rhonewsn1, con_hvap, con_cp, con_jcal, rhoh2o, con_eps, con_epsm1, con_fvirt, con_rd, con_hfus, thsfc_loc, cpllnd, cpllnd2atm, weasd, snwdph, tskin, tprcp, srflag, smc, stc, slc, canopy, trans, tsurf, zorl, rb1, fm1, fh1, ustar1, stress1, fm101, fh21, rmol1, flhc1, flqc1, do_mynnsfclay, snowxy, tvxy, tgxy, canicexy, canliqxy, eahxy, tahxy, cmxy, chxy, fwetxy, sneqvoxy, alboldxy, qsnowxy, wslakexy, zwtxy, waxy, wtxy, tsnoxy, zsnsoxy, snicexy, snliqxy, lfmassxy, rtmassxy, stmassxy, woodxy, stblcpxy, fastcpxy, xlaixy, xsaixy, taussxy, smoiseq, smcwtdxy, deeprechxy, rechxy, albdvis, albdnir, albivis, albinir, emiss, sncovr1, qsurf, gflux, drain, evap, hflx, ep, runoff, cmm, chh, evbs, evcw, sbsno, pah, ecan, etran, edir, snowc, stm, snohf, smcwlt2, smcref2, wet1, t2mmp, q2mp, zvfun, ztmax, rca, errmsg, errflg, canopy_heat_storage_ccpp, rainfall_ccpp, sw_absorbed_total_ccpp, sw_reflected_total_ccpp, lw_absorbed_total_ccpp, temperature_bare_grd_ccpp, temperature_veg_grd_ccpp, temperature_veg_2m_ccpp, temperature_bare_2m_ccpp, spec_humidity_veg_2m_ccpp, spec_humidity_bare_2m_ccpp, sw_absorbed_veg_ccpp, sw_absorbed_ground_ccpp, snowmelt_out_ccpp, snowmelt_shallow_ccpp, albedo_direct_snow_ccpp, albedo_diffuse_snow_ccpp, ch_vegetated_ccpp, ch_bare_ground_ccpp, sensible_heat_grd_veg_ccpp, sensible_heat_leaf_ccpp, sensible_heat_grd_bar_ccpp, latent_heat_grd_veg_ccpp, latent_heat_grd_bare_ccpp, ground_heat_veg_ccpp, ground_heat_bare_ccpp, lw_absorbed_grd_veg_ccpp, lw_absorbed_leaf_ccpp, lw_absorbed_grd_bare_ccpp, latent_heat_trans_ccpp, latent_heat_leaf_ccpp, ch_leaf_ccpp, ch_below_canopy_ccpp, ch_vegetated_2m_ccpp, ch_bare_ground_2m_ccpp, precip_adv_heat_veg_ccpp, precip_adv_heat_grd_v_ccpp, precip_adv_heat_grd_b_ccpp, spec_humid_sfc_veg_ccpp, spec_humid_sfc_bare_ccpp) |
This subroutine is the main CCPP entry point for the NoahMP LSM. | |