CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC
GFS Surface Layer Module

This module calculates surface roughness length.This subroutine includes the surface roughness length formulation based on the surface sublayer scheme in Zeng and Dickinson (1998) [197]. More...

Functions/Subroutines

subroutine, public sfc_diff::sfc_diff_run (im, rvrdm1, eps, epsm1, grav, ps, t1, q1, z1, garea, wind, prsl1, prslki, prsik1, prslk1, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, flag_iter, redrag, u10m, v10m, sfc_z0_type, wet, dry, icy, thsfc_loc, tskin_wat, tskin_lnd, tskin_ice, tsurf_wat, tsurf_lnd, tsurf_ice, z0rl_wat, z0rl_lnd, z0rl_ice, z0rl_wav, ustar_wat, ustar_lnd, ustar_ice, cm_wat, cm_lnd, cm_ice, ch_wat, ch_lnd, ch_ice, rb_wat, rb_lnd, rb_ice, stress_wat, stress_lnd, stress_ice, fm_wat, fm_lnd, fm_ice, fh_wat, fh_lnd, fh_ice, fm10_wat, fm10_lnd, fm10_ice, fh2_wat, fh2_lnd, fh2_ice, ztmax_wat, ztmax_lnd, ztmax_ice, zvfun, errmsg, errflg)
 
subroutine, public sfc_diff::stability (z1, zvfun, gdx, tv1, thv1, wind, z0max, ztmax, tvs, grav, thsfc_loc, rb, fm, fh, fm10, fh2, cm, ch, stress, ustar)
 
subroutine sfc_diff::znot_m_v6 (uref, znotm)
 

Detailed Description

Argument Table

sfc_diff_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
rvrdm1ratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physin
epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physin
gravgravitational_accelerationgravitational accelerationm s-2real()kind_physin
pssurface_air_pressuresurface pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
t1air_temperature_at_surface_adjacent_layer1st model layer air temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
q1specific_humidity_at_surface_adjacent_layer1st model layer specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
z1height_above_ground_at_lowest_model_layerheight above ground at 1st model layermreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
gareacell_areaarea of the grid cellm2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
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
windwind_speed_at_lowest_model_layerwind speed at lowest model levelm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
prsl1air_pressure_at_surface_adjacent_layerModel layer 1 mean pressurePareal(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
prslk1dimensionless_exner_function_at_surface_adjacent_layerdimensionless Exner function at the lowest model layernonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sigmafbounded_vegetation_area_fractionareal fractional cover of green vegetation bounded on the bottomfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
vegtypevegetation_type_classificationvegetation type at each grid cellindexinteger(ccpp_constant_one:horizontal_loop_extent)in
shdmaxmax_vegetation_area_fractionmax fractnl cover of green vegfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
ivegsrccontrol_for_vegetation_datasetland use dataset choiceindexinteger()in
z0pertperturbation_of_momentum_roughness_lengthperturbation of momentum roughness lengthfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
ztpertperturbation_of_heat_to_momentum_roughness_length_ratioperturbation of heat to momentum roughness length ratiofracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
flag_iterflag_for_iterationflag for iterationflaglogical(ccpp_constant_one:horizontal_loop_extent)in
redragflag_for_limited_surface_roughness_length_over_oceanflag for reduced drag coefficient over seaflaglogical()in
u10mx_wind_at_10m10 meter u wind speedm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
v10my_wind_at_10m10 meter v wind speedm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfc_z0_typeflag_for_surface_roughness_option_over_watersurface roughness options over waterflaginteger()in
wetflag_nonzero_wet_surface_fractionflag indicating presence of some ocean or lake surface area fractionflaglogical(ccpp_constant_one:horizontal_loop_extent)in
dryflag_nonzero_land_surface_fractionflag indicating presence of some land surface area fractionflaglogical(ccpp_constant_one:horizontal_loop_extent)in
icyflag_nonzero_sea_ice_surface_fractionflag indicating presence of some sea ice surface area fractionflaglogical(ccpp_constant_one:horizontal_loop_extent)in
thsfc_locflag_for_reference_pressure_thetaflag for reference pressure in theta calculationflaglogical()in
tskin_watsurface_skin_temperature_over_watersurface skin temperature over waterKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tskin_lndsurface_skin_temperature_over_landsurface skin temperature over landKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tskin_icesurface_skin_temperature_over_icesurface skin temperature over iceKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tsurf_watsurface_skin_temperature_after_iteration_over_watersurface skin temperature after iteration over waterKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tsurf_lndsurface_skin_temperature_after_iteration_over_landsurface skin temperature after iteration over landKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tsurf_icesurface_skin_temperature_after_iteration_over_icesurface skin temperature after iteration over iceKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
z0rl_watsurface_roughness_length_over_watersurface roughness length over water (temporary use as interstitial)cmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
z0rl_lndsurface_roughness_length_over_landsurface roughness length over land (temporary use as interstitial)cmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
z0rl_icesurface_roughness_length_over_icesurface roughness length over ice (temporary use as interstitial)cmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
z0rl_wavsurface_roughness_length_from_wave_modelsurface roughness length from wave modelcmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
ustar_watsurface_friction_velocity_over_watersurface friction velocity over waterm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ustar_lndsurface_friction_velocity_over_landsurface friction velocity over landm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ustar_icesurface_friction_velocity_over_icesurface friction velocity over icem s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cm_watsurface_drag_coefficient_for_momentum_in_air_over_watersurface exchange coeff for momentum over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cm_lndsurface_drag_coefficient_for_momentum_in_air_over_landsurface exchange coeff for momentum over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cm_icesurface_drag_coefficient_for_momentum_in_air_over_icesurface exchange coeff for momentum over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ch_watsurface_drag_coefficient_for_heat_and_moisture_in_air_over_watersurface exchange coeff heat surface exchange coeff heat & moisture over ocean moisture over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ch_lndsurface_drag_coefficient_for_heat_and_moisture_in_air_over_landsurface exchange coeff heat & moisture over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ch_icesurface_drag_coefficient_for_heat_and_moisture_in_air_over_icesurface exchange coeff heat & moisture over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rb_watbulk_richardson_number_at_lowest_model_level_over_waterbulk Richardson number at the surface over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rb_lndbulk_richardson_number_at_lowest_model_level_over_landbulk Richardson number at the surface over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rb_icebulk_richardson_number_at_lowest_model_level_over_icebulk Richardson number at the surface over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
stress_watsurface_wind_stress_over_watersurface wind stress over waterm2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
stress_lndsurface_wind_stress_over_landsurface wind stress over landm2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
stress_icesurface_wind_stress_over_icesurface wind stress over icem2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm_watmonin_obukhov_similarity_function_for_momentum_over_waterMonin-Obukhov similarity function for momentum over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm_lndmonin_obukhov_similarity_function_for_momentum_over_landMonin-Obukhov similarity function for momentum over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm_icemonin_obukhov_similarity_function_for_momentum_over_iceMonin-Obukhov similarity function for momentum over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh_watmonin_obukhov_similarity_function_for_heat_over_waterMonin-Obukhov similarity function for heat over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh_lndmonin_obukhov_similarity_function_for_heat_over_landMonin-Obukhov similarity function for heat over landnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh_icemonin_obukhov_similarity_function_for_heat_over_iceMonin-Obukhov similarity function for heat over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm10_watmonin_obukhov_similarity_function_for_momentum_at_10m_over_waterMonin-Obukhov similarity parameter for momentum at 10m over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fm10_lndmonin_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
fm10_icemonin_obukhov_similarity_function_for_momentum_at_10m_over_iceMonin-Obukhov similarity parameter for momentum at 10m over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh2_watmonin_obukhov_similarity_function_for_heat_at_2m_over_waterMonin-Obukhov similarity parameter for heat at 2m over waternonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
fh2_lndmonin_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
fh2_icemonin_obukhov_similarity_function_for_heat_at_2m_over_iceMonin-Obukhov similarity parameter for heat at 2m over icenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ztmax_watbounded_surface_roughness_length_for_heat_over_waterbounded surface roughness length for heat over watermreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ztmax_lndbounded_surface_roughness_length_for_heat_over_landbounded surface roughness length for heat over landmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
ztmax_icebounded_surface_roughness_length_for_heat_over_icebounded surface roughness length for heat over icemreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

GFS Surface Layer Scheme General Algorithm