This is Noah LSM driver module, with the functionality of preparing variables to run Noah LSM gfssflx(), calling Noah LSM and post-processing variables for return to the parent model suite including unit conversion, as well as diagnotics calculation.
More...
|
subroutine, public | lsm_noah::lsm_noah_run (im, km, grav, cp, hvap, rd, eps, epsm1, rvrdm1, ps, t1, q1, soiltyp, vegtype, sigmaf, sfcemis, dlwflx, dswsfc, delt, tg3, cm, ch, prsl1, prslki, zf, land, wind, slopetyp, shdmin, shdmax, snoalb, sfalb, flag_iter, flag_guess, lheatstrg, isot, ivegsrc, bexppert, xlaipert, vegfpert, pertvegf, albdvis_lnd, albdnir_lnd, albivis_lnd, albinir_lnd, adjvisbmd, adjnirbmd, adjvisdfd, adjnirdfd, weasd, snwdph, tskin, tprcp, srflag, smc, stc, slc, canopy, trans, tsurf, zorl, sncovr1, qsurf, gflux, drain, evap, hflx, ep, runoff, cmm, chh, evbs, evcw, sbsno, snowc, stm, snohf, smcwlt2, smcref2, wet1, lai, rca, errmsg, errflg) |
|
subroutine | gfssflx (nsoil, couple, icein, ffrozp, dt, zlvl, sldpth, swdn, swnet, lwdn, sfcems, sfcprs, sfctmp, sfcspd, prcp, q2, q2sat, dqsdt2, th2, ivegsrc, vegtyp, soiltyp, slopetyp, shdmin, alb, snoalb, bexpp, xlaip, lheatstrg, tbot, cmc, t1, stc, smc, sh2o, sneqv, ch, cm, z0, nroot, shdfac, snowh, albedo, eta, sheat, ec, edir, et, ett, esnow, drip, dew, beta, etp, ssoil, flx1, flx2, flx3, runoff1, runoff2, runoff3, snomlt, sncovr, rc, pc, rsmin, xlai, rcs, rct, rcq, rcsoil, soilw, soilm, smcwlt, smcdry, smcref, smcmax) |
| This is the entity of GFS Noah LSM model of physics subroutines. It is a soil/veg/snowpack land-surface model to update soil moisture, soil ice, soil temperature, skin temperature, snowpack water content, snowdepth, and all terms of the surface energy balance and surface water balance (excluding input atmospheric forcings of downward radiation and precipitation). More...
|
|
subroutine | alcalc |
| This subroutine calculates albedo including snow effect (0 -> 1). More...
|
|
subroutine | canres |
| This subroutine calculates 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). More...
|
|
subroutine | csnow |
| This subroutine calculates snow termal conductivity. More...
|
|
subroutine | nopac |
| This subroutine calculates soil moisture and heat flux values and update soil moisture content and soil heat content values for the case when no snow pack is present. More...
|
|
subroutine | penman |
| This subroutine calculates potential evaporation for the current point. various partial sums/products are also calculated and passed back to the calling routine for later use. More...
|
|
subroutine | redprm |
| This subroutine internally sets default values or optionally read-in via namelist i/o, all soil and vegetation parateters requied for the execusion of the Noah LSM. More...
|
|
subroutine | sfcdif |
| This subroutine calculates surface layer exchange coefficients via iterative process(see Chen et al.(1997) [36]). More...
|
|
subroutine | snfrac |
| This subroutine calculates snow fraction (0->1). More...
|
|
subroutine | snopac |
| This subroutine calculates soil moisture and heat flux values and update soil moisture content and soil heat content values for the case when a snow pack is present. More...
|
|
subroutine | snow_new |
| This subroutine calculates snow depth and densitity to account for the new snowfall. new values of snow depth & density returned. More...
|
|
subroutine | snowz0 |
| This subroutine calculates total roughness length over snow. More...
|
|
subroutine | tdfcnd (smc, qz, smcmax, sh2o, df) |
| This subroutine calculates thermal diffusivity and conductivity of the soil for a given point and time. More...
|
|
subroutine | evapo (nsoil, nroot, cmc, cmcmax, etp1, dt, zsoil, sh2o, smcmax, smcwlt, smcref, smcdry, pc, shdfac, cfactr, rtdis, fxexp, eta1, edir1, ec1, et1, ett1) |
| This subroutine calculates soil moisture flux. The soil moisture content (smc - a per unit volume measurement) is a dependent variable that is updated with prognostic equations. The canopy moisture content (cmc) is also updated. Frozen ground version: new states added: sh2o, and frozen ground correction factor, frzfact and paramter slope. More...
|
|
subroutine | shflx (nsoil, smc, smcmax, dt, yy, zz1, zsoil, zbot, psisat, bexp, df1, ice, quartz, csoil, vegtyp, shdfac, lheatstrg, stc, t1, tbot, sh2o, ssoil) |
| This subroutine updates the temperature state of the soil column based on the thermal diffusion equation and update the frozen soil moisture content based on the temperature. More...
|
|
subroutine | smflx (nsoil, dt, kdt, smcmax, smcwlt, cmcmax, prcp1, zsoil, slope, frzx, bexp, dksat, dwsat, shdfac, edir1, ec1, et1, cmc, sh2o, smc, runoff1, runoff2, runoff3, drip) |
| This subroutine calculates soil moisture flux. The soil moisture content (smc - a per unit vulume measurement) is a dependent variable that is updated with prognostic equations. The canopy moisture content (cmc) is also updated. Frozen ground version: new states added: sh2o and frozen ground correction factor, frzx and parameter slope. More...
|
|
subroutine | snowpack (esd, dtsec, tsnow, tsoil, snowh, sndens) |
| This subroutine calculates compaction of a snowpack under conditions of increasing snow density, as obtained from an approximate solution of E. Anderson's differential equation (3.29),NOAA technical report NWS 19, by Victor Koren, 03/25/95. subroutine will return new values of snowh and sndens . More...
|
|
subroutine | devap (etp1, smc, shdfac, smcmax, smcdry, fxexp, edir1) |
| This subrtouine calculates direct soil evaporation. More...
|
|
subroutine | frh2o (tkelv, smc, sh2o, smcmax, bexp, psis, liqwat) |
| This subroutine calculates amount of supercooled liquid soil water content if temperature is below 273.15K (t0). It requires Newton-type iteration to solve the nonlinear implicit equation given in eqn 17 of Koren et al.(1999) [107]. More...
|
|
subroutine | hrt (nsoil, stc, smc, smcmax, zsoil, yy, zz1, tbot, zbot, psisat, dt, bexp, df1, quartz, csoil, vegtyp, shdfac, lheatstrg, sh2o, rhsts, ai, bi, ci) |
| This subroutine calculates 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. More...
|
|
subroutine | hrtice (nsoil, stc, zsoil, yy, zz1, df1, ice, tbot, rhsts, ai, bi, ci) |
| This subroutine calculates the right hand side of the time tendency term of the soil thermal diffusion equation for sea-ice (ice = 1) or glacial-ice (ice). More...
|
|
subroutine | hstep (nsoil, stcin, dt, rhsts, ai, bi, ci, stcout) |
| This subroutine calculates/updates the soil temperature field. More...
|
|
subroutine | rosr12 (nsoil, a, b, d, c, p, delta) |
| This subroutine inverts (solve) the tri-diagonal matrix problem. More...
|
|
subroutine | snksrc (nsoil, k, tavg, smc, smcmax, psisat, bexp, dt, qtot, zsoil, sh2o, tsrc) |
| This subroutine calculates sink/source term of the termal diffusion equation. More...
|
|
subroutine | srt (nsoil, edir, et, sh2o, sh2oa, pcpdrp, zsoil, dwsat, dksat, smcmax, bexp, dt, smcwlt, slope, kdt, frzx, sice, rhstt, runoff1, runoff2, ai, bi, ci) |
| This subroutine calculates 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. More...
|
|
subroutine | sstep (nsoil, sh2oin, rhsct, dt, smcmax, cmcmax, zsoil, sice, cmc, rhstt, ai, bi, ci, sh2oout, runoff3, smc) |
| This subroutine calculates/updates soil moisture content values and canopy moisture content values. More...
|
|
subroutine | tbnd (tu, tb, zsoil, zbot, k, nsoil, tbnd1) |
| This subroutine calculates temperature on the boundary of the layer by interpolation of the middle layer temperatures. More...
|
|
subroutine | tmpavg (tup, tm, tdn, zsoil, nsoil, k, tavg) |
| This subroutine calculates soil layer average temperature (tavg) in freezing/thawing layer using up, down, and middle layer temperature (tup, tdn, tm), where tup is at top boundary of layer, tdn is at bottom boundary of layer. tm is layer prognostic state temperature. More...
|
|
subroutine | transp (nsoil, nroot, etp1, smc, smcwlt, smcref, cmc, cmcmax, zsoil, shdfac, pc, cfactr, rtdis, et1) |
| This subroutine calculates transpiration for the veg class. More...
|
|
subroutine | wdfcnd (smc, smcmax, bexp, dksat, dwsat, sicemax, wdf, wcnd) |
| This subroutine calculates soil water diffusivity and soil hydraulic conductivity. More...
|
|
subroutine, public | set_soilveg_mod::set_soilveg (me, isot, ivet, nlunit) |
| This subroutine initializes soil and vegetation. More...
|
|
local_name | standard_name | long_name | units | type | dimensions | kind | intent |
im | horizontal_loop_extent | horizontal loop extent | count | integer | () | | in |
km | vertical_dimension_of_soil | soil vertical layer dimension | count | integer | () | | in |
grav | gravitational_acceleration | gravitational acceleration | m s-2 | real | () | kind_phys | in |
cp | specific_heat_of_dry_air_at_constant_pressure | specific heat of dry air at constant pressure | J kg-1 K-1 | real | () | kind_phys | in |
hvap | latent_heat_of_vaporization_of_water_at_0c | latent heat of evaporation/sublimation | J kg-1 | real | () | kind_phys | in |
rd | gas_constant_of_dry_air | ideal gas constant for dry air | J kg-1 K-1 | real | () | kind_phys | in |
eps | ratio_of_dry_air_to_water_vapor_gas_constants | rd/rv | none | real | () | kind_phys | in |
epsm1 | ratio_of_dry_air_to_water_vapor_gas_constants_minus_one | (rd/rv) - 1 | none | real | () | kind_phys | in |
rvrdm1 | ratio_of_vapor_to_dry_air_gas_constants_minus_one | (rv/rd) - 1 (rv = ideal gas constant for water vapor) | none | real | () | kind_phys | in |
ps | surface_air_pressure | surface pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
t1 | air_temperature_at_surface_adjacent_layer | 1st model layer air temperature | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
q1 | specific_humidity_at_surface_adjacent_layer | 1st model layer specific humidity | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
soiltyp | soil_type_classification | soil type at each grid cell | index | integer | (ccpp_constant_one:horizontal_loop_extent) | | in |
vegtype | vegetation_type_classification | vegetation type at each grid cell | index | integer | (ccpp_constant_one:horizontal_loop_extent) | | in |
sigmaf | bounded_vegetation_area_fraction | areal fractional cover of green vegetation bounded on the bottom | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sfcemis | surface_longwave_emissivity_over_land | surface lw emissivity in fraction over land | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
dlwflx | surface_downwelling_longwave_flux_absorbed_by_ground_over_land | total sky surface downward longwave flux absorbed by the ground over land | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
dswsfc | surface_downwelling_shortwave_flux | total sky surface downward shortwave flux | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
delt | timestep_for_dynamics | dynamics time step | s | real | () | kind_phys | in |
tg3 | deep_soil_temperature | bottom soil temperature | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
cm | surface_drag_coefficient_for_momentum_in_air_over_land | surface exchange coeff for momentum over land | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
ch | surface_drag_coefficient_for_heat_and_moisture_in_air_over_land | surface exchange coeff heat & moisture over land | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
prsl1 | air_pressure_at_surface_adjacent_layer | Model layer 1 mean pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
zf | height_above_ground_at_lowest_model_layer | height above ground at 1st model layer | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
land | flag_nonzero_land_surface_fraction | flag indicating presence of some land surface area fraction | flag | logical | (ccpp_constant_one:horizontal_loop_extent) | | in |
wind | wind_speed_at_lowest_model_layer | wind speed at lowest model level | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
slopetyp | surface_slope_classification | surface slope type at each grid cell | index | integer | (ccpp_constant_one:horizontal_loop_extent) | | in |
shdmin | min_vegetation_area_fraction | min fractional coverage of green veg | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
shdmax | max_vegetation_area_fraction | max fractnl cover of green veg (not used) | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
snoalb | upper_bound_of_max_albedo_assuming_deep_snow | upper bound on max albedo over deep snow | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sfalb | surface_albedo_for_diffused_shortwave_on_radiation_timestep | mean surface diffused shortwave albedo | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
flag_iter | flag_for_iteration | flag for iteration | flag | logical | (ccpp_constant_one:horizontal_loop_extent) | | in |
flag_guess | flag_for_guess_run | flag for guess run | flag | logical | (ccpp_constant_one:horizontal_loop_extent) | | in |
lheatstrg | flag_for_canopy_heat_storage_in_land_surface_scheme | flag for canopy heat storage parameterization | flag | logical | () | | in |
isot | control_for_soil_type_dataset | soil type dataset choice | index | integer | () | | in |
ivegsrc | control_for_vegetation_dataset | land use dataset choice | index | integer | () | | in |
bexppert | perturbation_of_soil_type_b_parameter | perturbation of soil type "b" parameter | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
xlaipert | perturbation_of_leaf_area_index | perturbation of leaf area index | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
vegfpert | perturbation_of_vegetation_fraction | perturbation of vegetation fraction | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
pertvegf | magnitude_of_perturbation_of_vegetation_fraction | magnitude of perturbation of vegetation fraction | frac | real | () | kind_phys | in |
albdvis_lnd | surface_albedo_direct_visible_over_land | direct surface albedo visible band over land | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
albdnir_lnd | surface_albedo_direct_nir_over_land | direct surface albedo NIR band over land | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
albivis_lnd | surface_albedo_diffuse_visible_over_land | diffuse surface albedo visible band over land | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
albinir_lnd | surface_albedo_diffuse_nir_over_land | diffuse surface albedo NIR band over land | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
adjvisbmd | surface_downwelling_direct_ultraviolet_and_visible_shortwave_flux | surface downwelling beam ultraviolet plus visible shortwave flux at current time | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
adjnirbmd | surface_downwelling_direct_near_infrared_shortwave_flux | surface downwelling beam near-infrared shortwave flux at current time | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
adjvisdfd | surface_downwelling_diffuse_ultraviolet_and_visible_shortwave_flux | surface downwelling diffuse ultraviolet plus visible shortwave flux at current time | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
adjnirdfd | surface_downwelling_diffuse_near_infrared_shortwave_flux | surface downwelling diffuse near-infrared shortwave flux at current time | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
weasd | water_equivalent_accumulated_snow_depth_over_land | water equiv of acc snow depth over land | mm | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
snwdph | surface_snow_thickness_water_equivalent_over_land | water equivalent snow depth over land | mm | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
tskin | surface_skin_temperature_over_land | surface skin temperature over land | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
tprcp | nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_land | total precipitation amount in each time step over land | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
srflag | precipitation_type | flag for snow or rain precipitation | flag | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
smc | volume_fraction_of_condensed_water_in_soil | volumetric fraction of soil moisture | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil) | kind_phys | inout |
stc | soil_temperature | soil temperature | K | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil) | kind_phys | inout |
slc | volume_fraction_of_unfrozen_water_in_soil | volume fraction of unfrozen soil moisture | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil) | kind_phys | inout |
canopy | canopy_water_amount | canopy moisture content | kg m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
trans | transpiration_flux | total plant transpiration rate | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
tsurf | surface_skin_temperature_after_iteration_over_land | surface skin temperature after iteration over land | K | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
zorl | surface_roughness_length_over_land | surface roughness length over land | cm | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
sncovr1 | surface_snow_area_fraction_over_land | surface snow area fraction | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
qsurf | surface_specific_humidity_over_land | surface air saturation specific humidity over land | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
gflux | upward_heat_flux_in_soil_over_land | soil heat flux over land | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
drain | subsurface_runoff_flux | subsurface runoff flux | kg m-2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
evap | kinematic_surface_upward_latent_heat_flux_over_land | kinematic surface upward latent heat flux over land | kg kg-1 m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
hflx | kinematic_surface_upward_sensible_heat_flux_over_land | kinematic surface upward sensible heat flux over land | K m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
ep | surface_upward_potential_latent_heat_flux_over_land | surface upward potential latent heat flux over land | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
runoff | surface_runoff_flux | surface runoff flux | kg m-2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
cmm | surface_drag_wind_speed_for_momentum_in_air_over_land | momentum exchange coefficient over land | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
chh | surface_drag_mass_flux_for_heat_and_moisture_in_air_over_land | thermal exchange coefficient over land | kg m-2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
evbs | soil_upward_latent_heat_flux | soil upward latent heat flux | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
evcw | canopy_upward_latent_heat_flux | canopy upward latent heat flux | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
sbsno | snow_deposition_sublimation_upward_latent_heat_flux | latent heat flux from snow depo/subl | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
snowc | surface_snow_area_fraction | surface snow area fraction | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
stm | soil_moisture_content | soil moisture content | kg m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
snohf | snow_freezing_rain_upward_latent_heat_flux | latent heat flux due to snow and frz rain | W m-2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
smcwlt2 | volume_fraction_of_condensed_water_in_soil_at_wilting_point | soil water fraction at wilting point | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
smcref2 | threshold_volume_fraction_of_condensed_water_in_soil | soil moisture threshold | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
wet1 | normalized_soil_wetness | normalized soil wetness | frac | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
lai | leaf_area_index | leaf area index | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
rca | aerodynamic_resistance_in_canopy | canopy resistance | s m-1 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
errmsg | ccpp_error_message | error message for error handling in CCPP | none | character | () | len=* | out |
errflg | ccpp_error_code | error code for error handling in CCPP | 1 | integer | () | | out |