CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ noahmpdrv_run()

subroutine __noahmpdrv_f90__::noahmpdrv_run ( integer, intent(in) im,
integer, intent(in) km,
integer, intent(in) lsnowl,
integer, intent(in) itime,
real(kind=kind_phys), dimension(:), intent(in) ps,
real(kind=kind_phys), dimension(:), intent(in) u1,
real(kind=kind_phys), dimension(:), intent(in) v1,
real(kind=kind_phys), dimension(:), intent(in) t1,
real(kind=kind_phys), dimension(:), intent(in) q1,
integer, dimension(:), intent(in) soiltyp,
integer, dimension(:), intent(in) soilcol,
integer, dimension(:), intent(in) vegtype,
real(kind=kind_phys), dimension(:), intent(in) sigmaf,
real(kind=kind_phys), dimension(:), intent(in) dlwflx,
real(kind=kind_phys), dimension(:), intent(in) dswsfc,
real(kind=kind_phys), dimension(:), intent(in) snet,
real(kind=kind_phys), intent(in) delt,
real(kind=kind_phys), dimension(:), intent(in) tg3,
real(kind=kind_phys), dimension(:), intent(inout) cm,
real(kind=kind_phys), dimension(:), intent(inout) ch,
real(kind=kind_phys), dimension(:), intent(in) prsl1,
real(kind=kind_phys), dimension(:), intent(in) prslk1,
real(kind=kind_phys), dimension(:), intent(in) prslki,
real(kind=kind_phys), dimension(:), intent(in) prsik1,
real(kind=kind_phys), dimension(:), intent(in) zf,
real(kind=kind_phys), dimension(:), intent(in) pblh,
logical, dimension(:), intent(in) dry,
real(kind=kind_phys), dimension(:), intent(in) wind,
integer, dimension(:), intent(in) slopetyp,
real(kind=kind_phys), dimension(:), intent(in) shdmin,
real(kind=kind_phys), dimension(:), intent(in) shdmax,
real(kind=kind_phys), dimension(:), intent(in) snoalb,
real(kind=kind_phys), dimension(:), intent(inout) sfalb,
logical, dimension(:), intent(in) flag_iter,
real(kind=kind_phys), intent(in) con_g,
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,
integer, intent(in) iopt_trs,
integer, intent(in) iopt_diag,
real(kind=kind_phys), dimension(:), intent(in) xlatin,
real(kind=kind_phys), dimension(:), intent(in) xcoszin,
integer, intent(in) iyrlen,
real(kind=kind_phys), intent(in) julian,
real(kind=kind_phys), dimension(:), intent(in) garea,
real(kind=kind_phys), dimension(:), intent(in), optional rainn_mp,
real(kind=kind_phys), dimension(:), intent(in), optional rainc_mp,
real(kind=kind_phys), dimension(:), intent(in), optional snow_mp,
real(kind=kind_phys), dimension(:), intent(in), optional graupel_mp,
real(kind=kind_phys), dimension(:), intent(in), optional ice_mp,
real(kind=kind_phys), dimension(:), intent(in) rhonewsn1,
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,
logical, intent(in) thsfc_loc,
logical, intent(in) cpllnd,
logical, intent(in) cpllnd2atm,
real(kind=kind_phys), dimension(:), intent(inout) weasd,
real(kind=kind_phys), dimension(:), intent(inout) snwdph,
real(kind=kind_phys), dimension(:), intent(inout) tskin,
real(kind=kind_phys), dimension(:), intent(inout) tprcp,
real(kind=kind_phys), dimension(:), intent(inout) srflag,
real(kind=kind_phys), dimension(:,:), intent(inout) smc,
real(kind=kind_phys), dimension(:,:), intent(inout) stc,
real(kind=kind_phys), dimension(:,:), intent(inout) slc,
real(kind=kind_phys), dimension(:), intent(inout) canopy,
real(kind=kind_phys), dimension(:), intent(inout) trans,
real(kind=kind_phys), dimension(:), intent(inout) tsurf,
real(kind=kind_phys), dimension(:), intent(inout) zorl,
real(kind=kind_phys), dimension(:), intent(inout) rb1,
real(kind=kind_phys), dimension(:), intent(inout) fm1,
real(kind=kind_phys), dimension(:), intent(inout) fh1,
real(kind=kind_phys), dimension(:), intent(inout) ustar1,
real(kind=kind_phys), dimension(:), intent(inout) stress1,
real(kind=kind_phys), dimension(:), intent(inout) fm101,
real(kind=kind_phys), dimension(:), intent(inout) fh21,
real(kind=kind_phys), dimension(:), intent(inout) rmol1,
real(kind=kind_phys), dimension(:), intent(inout) flhc1,
real(kind=kind_phys), dimension(:), intent(inout) flqc1,
logical, intent(in) do_mynnsfclay,
real(kind=kind_phys), dimension(:), intent(inout), optional snowxy,
real(kind=kind_phys), dimension(:), intent(inout), optional tvxy,
real(kind=kind_phys), dimension(:), intent(inout), optional tgxy,
real(kind=kind_phys), dimension(:), intent(inout), optional canicexy,
real(kind=kind_phys), dimension(:), intent(inout), optional canliqxy,
real(kind=kind_phys), dimension(:), intent(inout), optional eahxy,
real(kind=kind_phys), dimension(:), intent(inout), optional tahxy,
real(kind=kind_phys), dimension(:), intent(inout), optional cmxy,
real(kind=kind_phys), dimension(:), intent(inout), optional chxy,
real(kind=kind_phys), dimension(:), intent(inout), optional fwetxy,
real(kind=kind_phys), dimension(:), intent(inout), optional sneqvoxy,
real(kind=kind_phys), dimension(:), intent(inout), optional alboldxy,
real(kind=kind_phys), dimension(:), intent(inout), optional qsnowxy,
real(kind=kind_phys), dimension(:), intent(inout), optional wslakexy,
real(kind=kind_phys), dimension(:), intent(inout), optional zwtxy,
real(kind=kind_phys), dimension(:), intent(inout), optional waxy,
real(kind=kind_phys), dimension(:), intent(inout), optional wtxy,
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout), optional tsnoxy,
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout), optional zsnsoxy,
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout), optional snicexy,
real(kind=kind_phys), dimension(:,lsnowl:), intent(inout), optional snliqxy,
real(kind=kind_phys), dimension(:), intent(inout), optional lfmassxy,
real(kind=kind_phys), dimension(:), intent(inout), optional rtmassxy,
real(kind=kind_phys), dimension(:), intent(inout), optional stmassxy,
real(kind=kind_phys), dimension(:), intent(inout), optional woodxy,
real(kind=kind_phys), dimension(:), intent(inout), optional stblcpxy,
real(kind=kind_phys), dimension(:), intent(inout), optional fastcpxy,
real(kind=kind_phys), dimension(:), intent(inout), optional xlaixy,
real(kind=kind_phys), dimension(:), intent(inout), optional xsaixy,
real(kind=kind_phys), dimension(:), intent(inout), optional taussxy,
real(kind=kind_phys), dimension(:,:), intent(inout), optional smoiseq,
real(kind=kind_phys), dimension(:), intent(inout), optional smcwtdxy,
real(kind=kind_phys), dimension(:), intent(inout), optional deeprechxy,
real(kind=kind_phys), dimension(:), intent(inout), optional rechxy,
real(kind=kind_phys), dimension(:), intent(out) albdvis,
real(kind=kind_phys), dimension(:), intent(out) albdnir,
real(kind=kind_phys), dimension(:), intent(out) albivis,
real(kind=kind_phys), dimension(:), intent(out) albinir,
real(kind=kind_phys), dimension(:), intent(out) emiss,
real(kind=kind_phys), dimension(:), intent(out) sncovr1,
real(kind=kind_phys), dimension(:), intent(out) qsurf,
real(kind=kind_phys), dimension(:), intent(out) gflux,
real(kind=kind_phys), dimension(:), intent(out) drain,
real(kind=kind_phys), dimension(:), intent(out) evap,
real(kind=kind_phys), dimension(:), intent(out) hflx,
real(kind=kind_phys), dimension(:), intent(out) ep,
real(kind=kind_phys), dimension(:), intent(out) runoff,
real(kind=kind_phys), dimension(:), intent(out) cmm,
real(kind=kind_phys), dimension(:), intent(out) chh,
real(kind=kind_phys), dimension(:), intent(out) evbs,
real(kind=kind_phys), dimension(:), intent(out) evcw,
real(kind=kind_phys), dimension(:), intent(out) sbsno,
real(kind=kind_phys), dimension(:), intent(out) pah,
real(kind=kind_phys), dimension(:), intent(out) ecan,
real(kind=kind_phys), dimension(:), intent(out) etran,
real(kind=kind_phys), dimension(:), intent(out) edir,
real(kind=kind_phys), dimension(:), intent(out) snowc,
real(kind=kind_phys), dimension(:), intent(out) stm,
real(kind=kind_phys), dimension(:), intent(out) snohf,
real(kind=kind_phys), dimension(:), intent(out) smcwlt2,
real(kind=kind_phys), dimension(:), intent(out) smcref2,
real(kind=kind_phys), dimension(:), intent(out), optional wet1,
real(kind=kind_phys), dimension(:), intent(out), optional t2mmp,
real(kind=kind_phys), dimension(:), intent(out), optional q2mp,
real(kind=kind_phys), dimension(:), intent(out) zvfun,
real(kind=kind_phys), dimension(:), intent(out) ztmax,
real(kind=kind_phys), dimension(:), intent(out), optional rca,
character(len=*), intent(out) errmsg,
integer, intent(out) errflg,
real(kind=kind_phys), dimension(:), intent(out), optional canopy_heat_storage_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional rainfall_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sw_absorbed_total_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sw_reflected_total_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional lw_absorbed_total_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional temperature_bare_grd_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional temperature_veg_grd_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional temperature_veg_2m_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional temperature_bare_2m_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional spec_humidity_veg_2m_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional spec_humidity_bare_2m_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sw_absorbed_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sw_absorbed_ground_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional snowmelt_out_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional snowmelt_shallow_ccpp,
real(kind=kind_phys), dimension(:,:), intent(out), optional albedo_direct_snow_ccpp,
real(kind=kind_phys), dimension(:,:), intent(out), optional albedo_diffuse_snow_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ch_vegetated_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ch_bare_ground_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sensible_heat_grd_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sensible_heat_leaf_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional sensible_heat_grd_bar_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional latent_heat_grd_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional latent_heat_grd_bare_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ground_heat_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ground_heat_bare_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional lw_absorbed_grd_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional lw_absorbed_leaf_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional lw_absorbed_grd_bare_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional latent_heat_trans_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional latent_heat_leaf_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ch_leaf_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ch_below_canopy_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ch_vegetated_2m_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional ch_bare_ground_2m_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional precip_adv_heat_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional precip_adv_heat_grd_v_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional precip_adv_heat_grd_b_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional spec_humid_sfc_veg_ccpp,
real(kind=kind_phys), dimension(:), intent(out), optional spec_humid_sfc_bare_ccpp )
private

Argument Table

noahmpdrv_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal dimensioncountinteger()in
kmvertical_dimension_of_soilsoil vertical layer dimensioncountinteger()in
lsnowllower_bound_of_vertical_dimension_of_surface_snowlower bound of of snow-related arrays for land surface modelcountinteger()in
itimeindex_of_timestepcurrent forecast iterationindexinteger()in
pssurface_air_pressuresurface pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
u1x_wind_at_surface_adjacent_layerzonal wind at lowest model layerm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
v1y_wind_at_surface_adjacent_layermeridional wind at lowest model layerm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
t1air_temperature_at_surface_adjacent_layermean temperature at lowest model layerKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
q1specific_humidity_at_surface_adjacent_layerwater vapor specific humidity at lowest model layerkg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
soiltypsoil_type_classificationsoil type at each grid cellindexinteger(ccpp_constant_one:horizontal_loop_extent)in
soilcolsoil_color_classificationsoil color at each grid cellindexinteger(ccpp_constant_one:horizontal_loop_extent)in
vegtypevegetation_type_classificationvegetation type at each grid cellindexinteger(ccpp_constant_one:horizontal_loop_extent)in
sigmafbounded_vegetation_area_fractionareal fractional cover of green vegetation bounded on the bottomfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
dlwflxsurface_downwelling_longwave_fluxsurface downwelling longwave flux at current timeW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
dswsfcsurface_downwelling_shortwave_fluxsurface downwelling shortwave flux at current timeW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
snetsurface_net_downwelling_shortwave_fluxsurface net downwelling shortwave flux at current timeW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
delttimestep_for_dynamicsdynamics timestepsreal()kind_physin
tg3deep_soil_temperaturedeep soil temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
cmsurface_drag_coefficient_for_momentum_in_air_over_landsurface exchange coeff for momentum over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
chsurface_drag_coefficient_for_heat_and_moisture_in_air_over_landsurface exchange coeff heat & moisture over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
prsl1air_pressure_at_surface_adjacent_layermean pressure at lowest model layerPareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prslk1dimensionless_exner_function_at_surface_adjacent_layerdimensionless Exner function at the lowest model layernonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prslkiratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layerExner function ratio bt midlayer and interface at 1st layerratioreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prsik1surface_dimensionless_exner_functiondimensionless Exner function at the ground surfacenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
zfheight_above_ground_at_lowest_model_layerlayer 1 height above ground (not MSL)mreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
pblhatmosphere_boundary_layer_thicknessPBL thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
dryflag_nonzero_land_surface_fractionflag indicating presence of some land surface area fractionflaglogical(ccpp_constant_one:horizontal_loop_extent)in
windwind_speed_at_lowest_model_layerwind speed at lowest model levelm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
slopetypsurface_slope_classificationsurface slope type at each grid cellindexinteger(ccpp_constant_one:horizontal_loop_extent)in
shdminmin_vegetation_area_fractionmin fractional coverage of green vegetationfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
shdmaxmax_vegetation_area_fractionmax fractional coverage of green vegetationfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
snoalbupper_bound_of_max_albedo_assuming_deep_snowmaximum snow albedofracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfalbsurface_albedo_for_diffused_shortwave_on_radiation_timestepmean surface diffused sw albedofracreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
flag_iterflag_for_iterationflag for iterationflaglogical(ccpp_constant_one:horizontal_loop_extent)in
con_ggravitational_accelerationgravitational accelerationm s-2real()kind_physin
idvegcontrol_for_land_surface_scheme_dynamic_vegetationchoice for dynamic vegetation option (see noahmp module for definition)indexinteger()in
iopt_crscontrol_for_land_surface_scheme_canopy_stomatal_resistancechoice for canopy stomatal resistance option (see noahmp module for definition)indexinteger()in
iopt_btrcontrol_for_land_surface_scheme_soil_moisture_factor_stomatal_resistancechoice for soil moisture factor for canopy stomatal resistance option (see noahmp module for definition)indexinteger()in
iopt_runcontrol_for_land_surface_scheme_runoff_and_groundwaterchoice for runoff and groundwater option (see noahmp module for definition)indexinteger()in
iopt_sfccontrol_for_land_surface_scheme_surface_layer_drag_coefficientchoice for surface layer drag coefficient option (see noahmp module for definition)indexinteger()in
iopt_frzcontrol_for_land_surface_scheme_supercooled_liquid_waterchoice for supercooled liquid water option (see noahmp module for definition)indexinteger()in
iopt_infcontrol_for_land_surface_scheme_frozen_soil_permeabilitychoice for frozen soil permeability option (see noahmp module for definition)indexinteger()in
iopt_radcontrol_for_land_surface_scheme_radiative_transferchoice for radiation transfer option (see noahmp module for definition)indexinteger()in
iopt_albcontrol_for_land_surface_scheme_surface_snow_albedochoice for ground snow surface albedo option (see noahmp module for definition)indexinteger()in
iopt_snfcontrol_for_land_surface_scheme_precipitation_type_partitionchoice for precipitation partition option (see noahmp module for definition)indexinteger()in
iopt_tbotcontrol_for_land_surface_scheme_lower_boundary_soil_temperaturechoice for lower boundary soil temperature option (see noahmp module for definition)indexinteger()in
iopt_stccontrol_for_land_surface_scheme_soil_and_snow_temperature_time_integrationchoice for soil and snow temperature time stepping option (see noahmp module for definition)indexinteger()in
iopt_trscontrol_for_land_surface_scheme_surface_thermal_roughnesschoice for surface thermal roughness option (see noahmp module for definition)indexinteger()in
iopt_diagcontrol_for_land_surface_scheme_surface_diagnose_approachchoice for surface diagnose approach option (see noahmp module for definition)indexinteger()in
xlatinlatitudelatituderadianreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
xcoszininstantaneous_cosine_of_zenith_anglecosine of zenith angle at current timenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
iyrlennumber_of_days_in_current_yearnumber of days in a yeardaysinteger()in
julianforecast_julian_dayjulian daydaysreal()kind_physin
gareacell_areaarea of the grid cellm2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
rainn_mpexplicit_precipitation_rate_on_previous_timestepexplicit rainfall rate previous timestepmm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
rainc_mpconvective_precipitation_rate_on_previous_timestepconvective precipitation rate from previous timestepmm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
snow_mpsnowfall_rate_on_previous_timestepsnow precipitation rate from previous timestepmm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
graupel_mpgraupel_precipitation_rate_on_previous_timestepgraupel precipitation rate from previous timestepmm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
ice_mpice_precipitation_rate_on_previous_timestepice precipitation rate from previous timestepmm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
rhonewsn1surface_frozen_precipitation_densitydensity of precipitation icekg m-3real(ccpp_constant_one:horizontal_loop_extent)kind_physin
con_hvaplatent_heat_of_vaporization_of_water_at_0clatent heat of evaporation/sublimationJ kg-1real()kind_physin
con_cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-1real()kind_physin
con_jcaljoules_per_calorie_constantjoules per calorie constantJ cal-1real()kind_physin
rhoh2ofresh_liquid_water_density_at_0cdensity of liquid waterkg m-3real()kind_physin
con_epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physin
con_epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physin
con_fvirtratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
con_rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
con_hfuslatent_heat_of_fusion_of_water_at_0clatent heat of fusionJ kg-1real()kind_physin
thsfc_locflag_for_reference_pressure_thetaflag for reference pressure in theta calculationflaglogical()in
cpllndflag_for_land_couplingflag controlling cpllnd collection (default off)flaglogical()in
cpllnd2atmflag_for_one_way_land_coupling_to_atmosphereflag controlling land coupling to the atmosphere (default off)flaglogical()in
weasdwater_equivalent_accumulated_snow_depth_over_landwater equiv of acc snow depth over landmmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
snwdphsurface_snow_thickness_water_equivalent_over_landwater equivalent snow depth over landmmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tskinsurface_skin_temperature_over_landsurface skin temperature over landKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tprcpnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_landtotal precipitation amount in each time step over landmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
srflagprecipitation_typesnow/rain flag for precipitationflagreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
smcvolume_fraction_of_condensed_water_in_soiltotal soil moisturefracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil)kind_physinout
stcsoil_temperaturesoil temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil)kind_physinout
slcvolume_fraction_of_unfrozen_water_in_soilliquid soil moisturefracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil)kind_physinout
canopycanopy_water_amountcanopy water amountkg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
transtranspiration_fluxtotal plant transpiration rateW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tsurfsurface_skin_temperature_after_iteration_over_landsurface skin temperature after iteration over landKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
zorlsurface_roughness_length_over_landsurface roughness length over land (temporary use as interstitial)cmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rb1bulk_richardson_number_at_lowest_model_level_over_landbulk Richardson number at the surface over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm1monin_obukhov_similarity_function_for_momentum_over_landMonin-Obukhov similarity function for momentum over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh1monin_obukhov_similarity_function_for_heat_over_landMonin-Obukhov similarity function for heat over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ustar1surface_friction_velocity_over_landsurface friction velocity over landm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
stress1surface_wind_stress_over_landsurface wind stress over landm2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm101monin_obukhov_similarity_function_for_momentum_at_10m_over_landMonin-Obukhov similarity parameter for momentum at 10m over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh21monin_obukhov_similarity_function_for_heat_at_2m_over_landMonin-Obukhov similarity parameter for heat at 2m over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rmol1reciprocal_of_obukhov_lengthone over obukhov lengthm-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
flhc1surface_exchange_coefficient_for_heatsurface exchange coefficient for heatW m-2 K-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
flqc1surface_exchange_coefficient_for_moisturesurface exchange coefficient for moisturekg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
do_mynnsfclayflag_for_mellor_yamada_nakanishi_niino_surface_layer_schemeflag to activate MYNN surface layerflaglogical()in
snowxynumber_of_snow_layersnumber of snow layerscountreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tvxycanopy_temperaturevegetation temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tgxyground_temperatureground temperature for noahmpKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
canicexycanopy_intercepted_ice_masscanopy intercepted ice massmmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
canliqxycanopy_intercepted_liquid_watercanopy intercepted liquid watermmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
eahxyair_vapor_pressure_in_canopycanopy air vapor pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tahxyair_temperature_in_canopycanopy air temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cmxysurface_drag_coefficient_for_momentum_for_noahmpsurface drag coefficient for momentum for noahmpnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
chxysurface_drag_coefficient_for_heat_and_moisture_for_noahmpsurface exchange coeff heat & moisture for noahmpnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fwetxywet_canopy_area_fractionarea fraction of canopy that is wetted/snowednonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
sneqvoxylwe_thickness_of_snowfall_amount_on_previous_timestepsnow mass at previous time stepmmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
alboldxysurface_albedo_assuming_deep_snow_on_previous_timestepsnow albedo at previous time stepfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
qsnowxylwe_snowfall_ratesnow precipitation rate at surfacemm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
wslakexywater_storage_in_lakelake water storagemmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
zwtxywater_table_depthwater table depthmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
waxywater_storage_in_aquiferwater storage in aquifermmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
wtxywater_storage_in_aquifer_and_saturated_soilwater storage in aquifer and saturated soilmmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tsnoxytemperature_in_surface_snowtemperature_in_surface_snowKreal(ccpp_constant_one:horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow)kind_physinout
zsnsoxydepth_from_snow_surface_at_bottom_interfacedepth from the top of the snow surface at the bottom of the layermreal(ccpp_constant_one:horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:vertical_dimension_of_soil_internal_to_land_surface_scheme)kind_physinout
snicexylwe_thickness_of_ice_in_surface_snowlwe_thickness_of_ice_in_surface_snowmmreal(ccpp_constant_one:horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow)kind_physinout
snliqxylwe_thickness_of_liquid_water_in_surface_snowsnow layer liquid watermmreal(ccpp_constant_one:horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow)kind_physinout
lfmassxyleaf_mass_contentleaf massg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rtmassxyfine_root_mass_contentfine root massg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
stmassxystem_mass_contentstem massg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
woodxywood_mass_contentwood mass including woody rootsg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
stblcpxyslow_soil_pool_mass_content_of_carbonstable carbon in deep soilg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fastcpxyfast_soil_pool_mass_content_of_carbonshort-lived carbon in shallow soilg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xlaixyleaf_area_indexleaf area indexnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
xsaixystem_area_indexstem area indexnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
taussxydimensionless_age_of_surface_snownon-dimensional snow agenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
smoiseqvolumetric_equilibrium_soil_moistureequilibrium soil water contentm3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_dimension_of_soil_internal_to_land_surface_scheme)kind_physinout
smcwtdxyvolumetric_soil_moisture_between_soil_bottom_and_water_tablesoil water content between the bottom of the soil and the water tablem3 m-3real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
deeprechxywater_table_recharge_assuming_deeprecharge to or from the water table when deepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rechxywater_table_recharge_assuming_shallowrecharge to or from the water table when shallowmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
albdvissurface_albedo_direct_visible_over_landdirect surface albedo visible band over landfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
albdnirsurface_albedo_direct_nir_over_landdirect surface albedo NIR band over landfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
albivissurface_albedo_diffuse_visible_over_landdiffuse surface albedo visible band over landfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
albinirsurface_albedo_diffuse_nir_over_landdiffuse surface albedo NIR band over landfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
emisssurface_longwave_emissivity_over_landsurface lw emissivity in fraction over landfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
sncovr1surface_snow_area_fraction_over_landsurface snow area fractionfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
qsurfsurface_specific_humidity_over_landsurface air saturation specific humidity over landkg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
gfluxupward_heat_flux_in_soil_over_landsoil heat flux over landW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
drainsubsurface_runoff_fluxsubsurface runoff fluxkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
evapkinematic_surface_upward_latent_heat_flux_over_landkinematic surface upward latent heat flux over landkg kg-1 m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
hflxkinematic_surface_upward_sensible_heat_flux_over_landkinematic surface upward sensible heat flux over landK m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
epsurface_upward_potential_latent_heat_flux_over_landsurface upward potential latent heat flux over landW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
runoffsurface_runoff_fluxsurface runoff fluxkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
cmmsurface_drag_wind_speed_for_momentum_in_air_over_landmomentum exchange coefficient over landm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
chhsurface_drag_mass_flux_for_heat_and_moisture_in_air_over_landthermal exchange coefficient over landkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
evbssoil_upward_latent_heat_fluxsoil upward latent heat fluxW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
evcwcanopy_upward_latent_heat_fluxcanopy upward latent heat fluxW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
sbsnosnow_deposition_sublimation_upward_latent_heat_fluxlatent heat flux from snow depo/sublW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
pahtotal_precipitation_advected_heatprecipitation advected heat - totalW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
ecanevaporation_of_intercepted_waterevaporation of intercepted waterkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
etrantranspiration_ratetranspiration ratekg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
edirsoil_surface_evaporation_ratesoil surface evaporation ratekg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
snowcsurface_snow_area_fractionsurface snow area fractionfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
stmsoil_moisture_contentsoil moisturekg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
snohfsnow_freezing_rain_upward_latent_heat_fluxlatent heat flux due to snow and frz rainW m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
smcwlt2volume_fraction_of_condensed_water_in_soil_at_wilting_pointwilting point (volumetric)fracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
smcref2threshold_volume_fraction_of_condensed_water_in_soilsoil moisture threshold (volumetric)fracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
wet1normalized_soil_wetnessnormalized soil wetnessfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
t2mmptemperature_at_2m_from_noahmp2 meter temperature from noahmpKreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
q2mpspecific_humidity_at_2m_from_noahmp2 meter specific humidity from noahmpkg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
zvfunfunction_of_surface_roughness_length_and_green_vegetation_fractionfunction of surface roughness length and green vegetation fractionnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physout
ztmaxbounded_surface_roughness_length_for_heat_over_landbounded surface roughness length for heat over landmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
rcaaerodynamic_resistance_in_canopycanopy resistances m-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

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.

Definition at line 127 of file noahmpdrv.F90.

References noahmp_options(), noahmp_sflx(), penman(), sfcdif4(), snow_age(), snowfall(), and transfer_mp_parameters().

Here is the call graph for this function: