CCPP Scientific Documentation
v5.0.0
subroutine, public noahmpdrv::noahmpdrv_run ( integer, intent(in)  im,
integer, intent(in)  km,
integer, intent(in)  itime,
real (kind=kind_phys), dimension(im), intent(in)  ps,
real (kind=kind_phys), dimension(im), intent(in)  u1,
real (kind=kind_phys), dimension(im), intent(in)  v1,
real (kind=kind_phys), dimension(im), intent(in)  t1,
real (kind=kind_phys), dimension(im), intent(in)  q1,
integer, dimension(im), intent(in)  soiltyp,
integer, dimension(im), intent(in)  vegtype,
real (kind=kind_phys), dimension(im), intent(in)  sigmaf,
real (kind=kind_phys), dimension(im), intent(in)  sfcemis,
real (kind=kind_phys), dimension(im), intent(in)  dlwflx,
real (kind=kind_phys), dimension(im), intent(in)  dswsfc,
real (kind=kind_phys), dimension(im), intent(in)  snet,
real (kind=kind_phys), intent(in)  delt,
real (kind=kind_phys), dimension(im), intent(in)  tg3,
real (kind=kind_phys), dimension(im), intent(in)  cm,
real (kind=kind_phys), dimension(im), intent(in)  ch,
real (kind=kind_phys), dimension(im), intent(in)  prsl1,
real (kind=kind_phys), dimension(im), intent(in)  prslki,
real (kind=kind_phys), dimension(im), intent(in)  zf,
logical, dimension(im), intent(in)  dry,
real (kind=kind_phys), dimension(im), intent(in)  wind,
integer, dimension(im), intent(in)  slopetyp,
real (kind=kind_phys), dimension(im), intent(in)  shdmin,
real (kind=kind_phys), dimension(im), intent(in)  shdmax,
real (kind=kind_phys), dimension(im), intent(in)  snoalb,
real (kind=kind_phys), dimension(im), intent(in)  sfalb,
logical, dimension(im), intent(in)  flag_iter,
logical, dimension(im), intent(in)  flag_guess,
integer, intent(in)  idveg,
integer, intent(in)  iopt_crs,
integer, intent(in)  iopt_btr,
integer, intent(in)  iopt_run,
integer, intent(in)  iopt_sfc,
integer, intent(in)  iopt_frz,
integer, intent(in)  iopt_inf,
integer, intent(in)  iopt_rad,
integer, intent(in)  iopt_alb,
integer, intent(in)  iopt_snf,
integer, intent(in)  iopt_tbot,
integer, intent(in)  iopt_stc,
real (kind=kind_phys), dimension(im), intent(in)  xlatin,
real (kind=kind_phys), dimension(im), intent(in)  xcoszin,
integer, intent(in)  iyrlen,
real (kind=kind_phys), intent(in)  julian,
real (kind=kind_phys), dimension(im), intent(in)  rainn_mp,
real (kind=kind_phys), dimension(im), intent(in)  rainc_mp,
real (kind=kind_phys), dimension(im), intent(in)  snow_mp,
real (kind=kind_phys), dimension(im), intent(in)  graupel_mp,
real (kind=kind_phys), dimension(im), intent(in)  ice_mp,
real (kind=kind_phys), intent(in)  con_hvap,
real (kind=kind_phys), intent(in)  con_cp,
real (kind=kind_phys), intent(in)  con_jcal,
real (kind=kind_phys), intent(in)  rhoh2o,
real (kind=kind_phys), intent(in)  con_eps,
real (kind=kind_phys), intent(in)  con_epsm1,
real (kind=kind_phys), intent(in)  con_fvirt,
real (kind=kind_phys), intent(in)  con_rd,
real (kind=kind_phys), intent(in)  con_hfus,
real (kind=kind_phys), dimension(im), intent(inout)  weasd,
real (kind=kind_phys), dimension(im), intent(inout)  snwdph,
real (kind=kind_phys), dimension(im), intent(inout)  tskin,
real (kind=kind_phys), dimension(im), intent(inout)  tprcp,
real (kind=kind_phys), dimension(im), intent(inout)  srflag,
real (kind=kind_phys), dimension(im,km), intent(inout)  smc,
real (kind=kind_phys), dimension(im,km), intent(inout)  stc,
real (kind=kind_phys), dimension(im,km), intent(inout)  slc,
real (kind=kind_phys), dimension(im), intent(inout)  canopy,
real (kind=kind_phys), dimension(im), intent(inout)  trans,
real (kind=kind_phys), dimension(im), intent(inout)  tsurf,
real (kind=kind_phys), dimension(im), intent(inout)  zorl,
real (kind=kind_phys), dimension(im), intent(inout)  snowxy,
real (kind=kind_phys), dimension(im), intent(inout)  tvxy,
real (kind=kind_phys), dimension(im), intent(inout)  tgxy,
real (kind=kind_phys), dimension(im), intent(inout)  canicexy,
real (kind=kind_phys), dimension(im), intent(inout)  canliqxy,
real (kind=kind_phys), dimension(im), intent(inout)  eahxy,
real (kind=kind_phys), dimension(im), intent(inout)  tahxy,
real (kind=kind_phys), dimension(im), intent(inout)  cmxy,
real (kind=kind_phys), dimension(im), intent(inout)  chxy,
real (kind=kind_phys), dimension(im), intent(inout)  fwetxy,
real (kind=kind_phys), dimension(im), intent(inout)  sneqvoxy,
real (kind=kind_phys), dimension(im), intent(inout)  alboldxy,
real (kind=kind_phys), dimension(im), intent(inout)  qsnowxy,
real (kind=kind_phys), dimension(im), intent(inout)  wslakexy,
real (kind=kind_phys), dimension(im), intent(inout)  zwtxy,
real (kind=kind_phys), dimension(im), intent(inout)  waxy,
real (kind=kind_phys), dimension(im), intent(inout)  wtxy,
real (kind=kind_phys), dimension(im,-2:0), intent(inout)  tsnoxy,
real (kind=kind_phys), dimension(im,-2:4), intent(inout)  zsnsoxy,
real (kind=kind_phys), dimension(im,-2:0), intent(inout)  snicexy,
real (kind=kind_phys), dimension(im,-2:0), intent(inout)  snliqxy,
real (kind=kind_phys), dimension(im), intent(inout)  lfmassxy,
real (kind=kind_phys), dimension(im), intent(inout)  rtmassxy,
real (kind=kind_phys), dimension(im), intent(inout)  stmassxy,
real (kind=kind_phys), dimension(im), intent(inout)  woodxy,
real (kind=kind_phys), dimension(im), intent(inout)  stblcpxy,
real (kind=kind_phys), dimension(im), intent(inout)  fastcpxy,
real (kind=kind_phys), dimension(im), intent(inout)  xlaixy,
real (kind=kind_phys), dimension(im), intent(inout)  xsaixy,
real (kind=kind_phys), dimension(im), intent(inout)  taussxy,
real (kind=kind_phys), dimension(im,1:4), intent(inout)  smoiseq,
real (kind=kind_phys), dimension(im), intent(inout)  smcwtdxy,
real (kind=kind_phys), dimension(im), intent(inout)  deeprechxy,
real (kind=kind_phys), dimension(im), intent(inout)  rechxy,
real (kind=kind_phys), dimension(im), intent(out)  sncovr1,
real (kind=kind_phys), dimension(im), intent(out)  qsurf,
real (kind=kind_phys), dimension(im), intent(out)  gflux,
real (kind=kind_phys), dimension(im), intent(out)  drain,
real (kind=kind_phys), dimension(im), intent(out)  evap,
real (kind=kind_phys), dimension(im), intent(out)  hflx,
real (kind=kind_phys), dimension(im), intent(out)  ep,
real (kind=kind_phys), dimension(im), intent(out)  runoff,
real (kind=kind_phys), dimension(im), intent(out)  cmm,
real (kind=kind_phys), dimension(im), intent(out)  chh,
real (kind=kind_phys), dimension(im), intent(out)  evbs,
real (kind=kind_phys), dimension(im), intent(out)  evcw,
real (kind=kind_phys), dimension(im), intent(out)  sbsno,
real (kind=kind_phys), dimension(im), intent(out)  snowc,
real (kind=kind_phys), dimension(im), intent(out)  stm,
real (kind=kind_phys), dimension(im), intent(out)  snohf,
real (kind=kind_phys), dimension(im), intent(out)  smcwlt2,
real (kind=kind_phys), dimension(im), intent(out)  smcref2,
real (kind=kind_phys), dimension(im), intent(out)  wet1,
real (kind=kind_phys), dimension(:), intent(out)  t2mmp,
real (kind=kind_phys), dimension(:), intent(out)  q2mp,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

Argument Table

noahmpdrv_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintentoptional
imhorizontal_dimensionhorizontal dimensioncountinteger()inFalse
kmsoil_vertical_dimensionsoil vertical layer dimensioncountinteger()inFalse
itimeindex_of_time_stepcurrent forecast iterationindexinteger()inFalse
pssurface_air_pressuresurface pressurePareal(horizontal_dimension)kind_physinFalse
u1x_wind_at_lowest_model_layerzonal wind at lowest model layerm s-1real(horizontal_dimension)kind_physinFalse
v1y_wind_at_lowest_model_layermeridional wind at lowest model layerm s-1real(horizontal_dimension)kind_physinFalse
t1air_temperature_at_lowest_model_layermean temperature at lowest model layerKreal(horizontal_dimension)kind_physinFalse
q1water_vapor_specific_humidity_at_lowest_model_layerwater vapor specific humidity at lowest model layerkg kg-1real(horizontal_dimension)kind_physinFalse
soiltypsoil_type_classificationsoil type at each grid cellindexinteger(horizontal_dimension)inFalse
vegtypevegetation_type_classificationvegetation type at each grid cellindexinteger(horizontal_dimension)inFalse
sigmafbounded_vegetation_area_fractionareal fractional cover of green vegetation bounded on the bottomfracreal(horizontal_dimension)kind_physinFalse
sfcemissurface_longwave_emissivity_over_land_interstitialsurface lw emissivity in fraction over land (temporary use as interstitial)fracreal(horizontal_dimension)kind_physinFalse
dlwflxsurface_downwelling_longwave_fluxsurface downwelling longwave flux at current timeW m-2real(horizontal_dimension)kind_physinFalse
dswsfcsurface_downwelling_shortwave_fluxsurface downwelling shortwave flux at current timeW m-2real(horizontal_dimension)kind_physinFalse
snetsurface_net_downwelling_shortwave_fluxsurface net downwelling shortwave flux at current timeW m-2real(horizontal_dimension)kind_physinFalse
delttime_step_for_dynamicsdynamics timestepsreal()kind_physinFalse
tg3deep_soil_temperaturedeep soil temperatureKreal(horizontal_dimension)kind_physinFalse
cmsurface_drag_coefficient_for_momentum_in_air_over_landsurface exchange coeff for momentum over landnonereal(horizontal_dimension)kind_physinFalse
chsurface_drag_coefficient_for_heat_and_moisture_in_air_over_landsurface exchange coeff heat & moisture over landnonereal(horizontal_dimension)kind_physinFalse
prsl1air_pressure_at_lowest_model_layermean pressure at lowest model layerPareal(horizontal_dimension)kind_physinFalse
prslkiratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layerExner function ratio bt midlayer and interface at 1st layerratioreal(horizontal_dimension)kind_physinFalse
zfheight_above_ground_at_lowest_model_layerlayer 1 height above ground (not MSL)mreal(horizontal_dimension)kind_physinFalse
dryflag_nonzero_land_surface_fractionflag indicating presence of some land surface area fractionflaglogical(horizontal_dimension)inFalse
windwind_speed_at_lowest_model_layerwind speed at lowest model levelm s-1real(horizontal_dimension)kind_physinFalse
slopetypsurface_slope_classificationsurface slope type at each grid cellindexinteger(horizontal_dimension)inFalse
shdminminimum_vegetation_area_fractionmin fractional coverage of green vegetationfracreal(horizontal_dimension)kind_physinFalse
shdmaxmaximum_vegetation_area_fractionmax fractional coverage of green vegetationfracreal(horizontal_dimension)kind_physinFalse
snoalbupper_bound_on_max_albedo_over_deep_snowmaximum snow albedofracreal(horizontal_dimension)kind_physinFalse
sfalbsurface_diffused_shortwave_albedomean surface diffused sw albedofracreal(horizontal_dimension)kind_physinFalse
flag_iterflag_for_iterationflag for iterationflaglogical(horizontal_dimension)inFalse
flag_guessflag_for_guess_runflag for guess runflaglogical(horizontal_dimension)inFalse
idvegflag_for_dynamic_vegetation_optionchoice for dynamic vegetation option (see noahmp module for definition)indexinteger()inFalse
iopt_crsflag_for_canopy_stomatal_resistance_optionchoice for canopy stomatal resistance option (see noahmp module for definition)indexinteger()inFalse
iopt_btrflag_for_soil_moisture_factor_stomatal_resistance_optionchoice for soil moisture factor for canopy stomatal resistance option (see noahmp module for definition)indexinteger()inFalse
iopt_runflag_for_runoff_and_groundwater_optionchoice for runoff and groundwater option (see noahmp module for definition)indexinteger()inFalse
iopt_sfcflag_for_surface_layer_drag_coefficient_optionchoice for surface layer drag coefficient option (see noahmp module for definition)indexinteger()inFalse
iopt_frzflag_for_supercooled_liquid_water_optionchoice for supercooled liquid water option (see noahmp module for definition)indexinteger()inFalse
iopt_infflag_for_frozen_soil_permeability_optionchoice for frozen soil permeability option (see noahmp module for definition)indexinteger()inFalse
iopt_radflag_for_radiation_transfer_optionchoice for radiation transfer option (see noahmp module for definition)indexinteger()inFalse
iopt_albflag_for_ground_snow_surface_albedo_optionchoice for ground snow surface albedo option (see noahmp module for definition)indexinteger()inFalse
iopt_snfflag_for_precipitation_partition_optionchoice for precipitation partition option (see noahmp module for definition)indexinteger()inFalse
iopt_tbotflag_for_lower_boundary_soil_temperature_optionchoice for lower boundary soil temperature option (see noahmp module for definition)indexinteger()inFalse
iopt_stcflag_for_soil_and_snow_temperature_time_stepping_optionchoice for soil and snow temperature time stepping option (see noahmp module for definition)indexinteger()inFalse
xlatinlatitudelatituderadianreal(horizontal_dimension)kind_physinFalse
xcoszininstantaneous_cosine_of_zenith_anglecosine of zenith angle at current timenonereal(horizontal_dimension)kind_physinFalse
iyrlennumber_of_days_in_yearnumber of days in a yeardaysinteger()inFalse
julianjulian_dayjulian daydaysreal()kind_physinFalse
rainn_mpexplicit_rainfall_rate_from_previous_timestepexplicit rainfall rate previous timestepmm s-1real(horizontal_dimension)kind_physinFalse
rainc_mpconvective_precipitation_rate_from_previous_timestepconvective precipitation rate from previous timestepmm s-1real(horizontal_dimension)kind_physinFalse
snow_mpsnow_precipitation_rate_from_previous_timestepsnow precipitation rate from previous timestepmm s-1real(horizontal_dimension)kind_physinFalse
graupel_mpgraupel_precipitation_rate_from_previous_timestepgraupel precipitation rate from previous timestepmm s-1real(horizontal_dimension)kind_physinFalse
ice_mpice_precipitation_rate_from_previous_timestepice precipitation rate from previous timestepmm s-1real(horizontal_dimension)kind_physinFalse
con_hvaplatent_heat_of_vaporization_of_water_at_0Clatent heat of evaporation/sublimationJ kg-1real()kind_physinFalse
con_cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-1real()kind_physinFalse
con_jcaljoules_per_calorie_constantjoules per calorie constantJ cal-1real()kind_physinFalse
rhoh2oliquid_water_densitydensity of liquid waterkg m-3real()kind_physinFalse
con_epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physinFalse
con_epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physinFalse
con_fvirtratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physinFalse
con_rdgas_constant_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physinFalse
con_hfuslatent_heat_of_fusion_of_water_at_0Clatent heat of fusionJ kg-1real()kind_physinFalse
weasdwater_equivalent_accumulated_snow_depth_over_landwater equiv of acc snow depth over landmmreal(horizontal_dimension)kind_physinoutFalse
snwdphsurface_snow_thickness_water_equivalent_over_landwater equivalent snow depth over landmmreal(horizontal_dimension)kind_physinoutFalse
tskinsurface_skin_temperature_over_land_interstitialsurface skin temperature over land (temporary use as interstitial)Kreal(horizontal_dimension)kind_physinoutFalse
tprcpnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_landtotal precipitation amount in each time step over landmreal(horizontal_dimension)kind_physinoutFalse
srflagflag_for_precipitation_typesnow/rain flag for precipitationflagreal(horizontal_dimension)kind_physinoutFalse
smcvolume_fraction_of_soil_moisturetotal soil moisturefracreal(horizontal_dimension, soil_vertical_dimension)kind_physinoutFalse
stcsoil_temperaturesoil temperatureKreal(horizontal_dimension, soil_vertical_dimension)kind_physinoutFalse
slcvolume_fraction_of_unfrozen_soil_moistureliquid soil moisturefracreal(horizontal_dimension, soil_vertical_dimension)kind_physinoutFalse
canopycanopy_water_amountcanopy water amountkg m-2real(horizontal_dimension)kind_physinoutFalse
transtranspiration_fluxtotal plant transpiration rateW m-2real(horizontal_dimension)kind_physinoutFalse
tsurfsurface_skin_temperature_after_iteration_over_landsurface skin temperature after iteration over landKreal(horizontal_dimension)kind_physinoutFalse
zorlsurface_roughness_length_over_land_interstitialsurface roughness length over land (temporary use as interstitial)cmreal(horizontal_dimension)kind_physinoutFalse
snowxynumber_of_snow_layersnumber of snow layerscountreal(horizontal_dimension)kind_physinoutFalse
tvxyvegetation_temperaturevegetation temperatureKreal(horizontal_dimension)kind_physinoutFalse
tgxyground_temperature_for_noahmpground temperature for noahmpKreal(horizontal_dimension)kind_physinoutFalse
canicexycanopy_intercepted_ice_masscanopy intercepted ice massmmreal(horizontal_dimension)kind_physinoutFalse
canliqxycanopy_intercepted_liquid_watercanopy intercepted liquid watermmreal(horizontal_dimension)kind_physinoutFalse
eahxycanopy_air_vapor_pressurecanopy air vapor pressurePareal(horizontal_dimension)kind_physinoutFalse
tahxycanopy_air_temperaturecanopy air temperatureKreal(horizontal_dimension)kind_physinoutFalse
cmxysurface_drag_coefficient_for_momentum_for_noahmpsurface drag coefficient for momentum for noahmpnonereal(horizontal_dimension)kind_physinoutFalse
chxysurface_drag_coefficient_for_heat_and_moisture_for_noahmpsurface exchange coeff heat & moisture for noahmpnonereal(horizontal_dimension)kind_physinoutFalse
fwetxyarea_fraction_of_wet_canopyarea fraction of canopy that is wetted/snowednonereal(horizontal_dimension)kind_physinoutFalse
sneqvoxysnow_mass_at_previous_time_stepsnow mass at previous time stepmmreal(horizontal_dimension)kind_physinoutFalse
alboldxysnow_albedo_at_previous_time_stepsnow albedo at previous time stepfracreal(horizontal_dimension)kind_physinoutFalse
qsnowxysnow_precipitation_rate_at_surfacesnow precipitation rate at surfacemm s-1real(horizontal_dimension)kind_physinoutFalse
wslakexylake_water_storagelake water storagemmreal(horizontal_dimension)kind_physinoutFalse
zwtxywater_table_depthwater table depthmreal(horizontal_dimension)kind_physinoutFalse
waxywater_storage_in_aquiferwater storage in aquifermmreal(horizontal_dimension)kind_physinoutFalse
wtxywater_storage_in_aquifer_and_saturated_soilwater storage in aquifer and saturated soilmmreal(horizontal_dimension)kind_physinoutFalse
tsnoxysnow_temperaturesnow_temperatureKreal(horizontal_dimension, -2:0)kind_physinoutFalse
zsnsoxylayer_bottom_depth_from_snow_surfacedepth from the top of the snow surface at the bottom of the layermreal(horizontal_dimension, -2:4)kind_physinoutFalse
snicexysnow_layer_icesnow_layer_icemmreal(horizontal_dimension, -2:0)kind_physinoutFalse
snliqxysnow_layer_liquid_watersnow layer liquid watermmreal(horizontal_dimension, -2:0)kind_physinoutFalse
lfmassxyleaf_massleaf massg m-2real(horizontal_dimension)kind_physinoutFalse
rtmassxyfine_root_massfine root massg m-2real(horizontal_dimension)kind_physinoutFalse
stmassxystem_massstem massg m-2real(horizontal_dimension)kind_physinoutFalse
woodxywood_masswood mass including woody rootsg m-2real(horizontal_dimension)kind_physinoutFalse
stblcpxyslow_soil_pool_mass_content_of_carbonstable carbon in deep soilg m-2real(horizontal_dimension)kind_physinoutFalse
fastcpxyfast_soil_pool_mass_content_of_carbonshort-lived carbon in shallow soilg m-2real(horizontal_dimension)kind_physinoutFalse
xlaixyleaf_area_indexleaf area indexnonereal(horizontal_dimension)kind_physinoutFalse
xsaixystem_area_indexstem area indexnonereal(horizontal_dimension)kind_physinoutFalse
taussxynondimensional_snow_agenon-dimensional snow agenonereal(horizontal_dimension)kind_physinoutFalse
smoiseqequilibrium_soil_water_contentequilibrium soil water contentm3 m-3real(horizontal_dimension, soil_vertical_dimension_for_land_surface_model)kind_physinoutFalse
smcwtdxysoil_water_content_between_soil_bottom_and_water_tablesoil water content between the bottom of the soil and the water tablem3 m-3real(horizontal_dimension)kind_physinoutFalse
deeprechxywater_table_recharge_when_deeprecharge to or from the water table when deepmreal(horizontal_dimension)kind_physinoutFalse
rechxywater_table_recharge_when_shallowrecharge to or from the water table when shallowmreal(horizontal_dimension)kind_physinoutFalse
sncovr1surface_snow_area_fraction_over_landsurface snow area fractionfracreal(horizontal_dimension)kind_physoutFalse
qsurfsurface_specific_humidity_over_landsurface air saturation specific humidity over landkg kg-1real(horizontal_dimension)kind_physoutFalse
gfluxupward_heat_flux_in_soil_over_landsoil heat flux over landW m-2real(horizontal_dimension)kind_physoutFalse
drainsubsurface_runoff_fluxsubsurface runoff fluxkg m-2 s-1real(horizontal_dimension)kind_physoutFalse
evapkinematic_surface_upward_latent_heat_flux_over_landkinematic surface upward latent heat flux over landkg kg-1 m s-1real(horizontal_dimension)kind_physoutFalse
hflxkinematic_surface_upward_sensible_heat_flux_over_landkinematic surface upward sensible heat flux over landK m s-1real(horizontal_dimension)kind_physoutFalse
epsurface_upward_potential_latent_heat_flux_over_landsurface upward potential latent heat flux over landW m-2real(horizontal_dimension)kind_physoutFalse
runoffsurface_runoff_fluxsurface runoff fluxkg m-2 s-1real(horizontal_dimension)kind_physoutFalse
cmmsurface_drag_wind_speed_for_momentum_in_air_over_landmomentum exchange coefficient over landm s-1real(horizontal_dimension)kind_physoutFalse
chhsurface_drag_mass_flux_for_heat_and_moisture_in_air_over_landthermal exchange coefficient over landkg m-2 s-1real(horizontal_dimension)kind_physoutFalse
evbssoil_upward_latent_heat_fluxsoil upward latent heat fluxW m-2real(horizontal_dimension)kind_physoutFalse
evcwcanopy_upward_latent_heat_fluxcanopy upward latent heat fluxW m-2real(horizontal_dimension)kind_physoutFalse
sbsnosnow_deposition_sublimation_upward_latent_heat_fluxlatent heat flux from snow depo/sublW m-2real(horizontal_dimension)kind_physoutFalse
snowcsurface_snow_area_fractionsurface snow area fractionfracreal(horizontal_dimension)kind_physoutFalse
stmsoil_moisture_contentsoil moisturekg m-2real(horizontal_dimension)kind_physoutFalse
snohfsnow_freezing_rain_upward_latent_heat_fluxlatent heat flux due to snow and frz rainW m-2real(horizontal_dimension)kind_physoutFalse
smcwlt2volume_fraction_of_condensed_water_in_soil_at_wilting_pointwilting point (volumetric)fracreal(horizontal_dimension)kind_physoutFalse
smcref2threshold_volume_fraction_of_condensed_water_in_soilsoil moisture threshold (volumetric)fracreal(horizontal_dimension)kind_physoutFalse
wet1normalized_soil_wetnessnormalized soil wetnessfracreal(horizontal_dimension)kind_physoutFalse
t2mmptemperature_at_2m_from_noahmp2 meter temperature from noahmpKreal(horizontal_dimension)kind_physoutFalse
q2mpspecific_humidity_at_2m_from_noahmp2 meter specific humidity from noahmpkg kg-1real(horizontal_dimension)kind_physoutFalse
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*outFalse
errflgccpp_error_flagerror flag for error handling in CCPPflaginteger()outFalse

NoahMP Driver General Algorithm

- Initialize CCPP error handling variables.
- Set a flag to only continue with each grid cell if the fraction of land is non-zero.
- This driver may be called as part of an iterative loop. If called as the first "guess" run, 
    save land-related prognostic fields to restore.
- Initialize output variables to zero and prepare variables for input into the NoahMP LSM.
- Call transfer_mp_parameters() to fill a derived datatype for input into the NoahMP LSM.
- Call noahmp_options() to set module-level scheme options for the NoahMP LSM.
- If the vegetation type is ice for the grid cell, call noahmp_options_glacier() to set 
    module-level scheme options for NoahMP Glacier and call noahmp_glacier().
- For other vegetation types, call noahmp_sflx(), the entry point of the NoahMP LSM.
- Set output variables from the output of noahmp_glacier() and/or noahmp_sflx().
- Call penman() to calculate potential evaporation.
- Calculate the surface specific humidity and convert surface sensible and latent heat fluxes in W m-2 from their kinematic values.
- If a "guess" run, restore the land-related prognostic fields. 

References noahmp_tables::co2_table, physcons::con_eps, physcons::con_epsm1, physcons::con_fvirt, physcons::con_hfus, physcons::con_rd, funcphys::fpvs(), noahmp_tables::isice_table, noahmp_tables::isurban_table, noahmp_tables::laim_table, module_sf_noahmplsm::noahmp_options(), module_sf_noahmplsm::noahmp_sflx(), noahmp_tables::o2_table, penman(), noahmp_tables::saim_table, noahmp_tables::smcdry_table, noahmp_tables::smcmax_table, noahmp_tables::smcref_table, and transfer_mp_parameters().

Here is the call graph for this function: