This subroutine calculates surface roughness length. More...
This subroutine includes the surface roughness length formulation based on the surface sublayer scheme in Zeng and Dickinson (1998) [187].
local_name | standard_name | long_name | units | type | dimensions | kind | intent | optional |
---|---|---|---|---|---|---|---|---|
im | horizontal_loop_extent | horizontal loop extent | count | integer | () | in | False | |
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 | False |
eps | ratio_of_dry_air_to_water_vapor_gas_constants | rd/rv | none | real | () | kind_phys | in | False |
epsm1 | ratio_of_dry_air_to_water_vapor_gas_constants_minus_one | (rd/rv) - 1 | none | real | () | kind_phys | in | False |
grav | gravitational_acceleration | gravitational acceleration | m s-2 | real | () | kind_phys | in | False |
ps | surface_air_pressure | surface pressure | Pa | real | (horizontal_dimension) | kind_phys | in | False |
t1 | air_temperature_at_lowest_model_layer | 1st model layer air temperature | K | real | (horizontal_dimension) | kind_phys | in | False |
q1 | water_vapor_specific_humidity_at_lowest_model_layer | 1st model layer specific humidity | kg kg-1 | real | (horizontal_dimension) | kind_phys | in | False |
z1 | height_above_ground_at_lowest_model_layer | height above ground at 1st model layer | m | real | (horizontal_dimension) | kind_phys | in | False |
wind | wind_speed_at_lowest_model_layer | wind speed at lowest model level | m s-1 | real | (horizontal_dimension) | kind_phys | in | False |
prsl1 | air_pressure_at_lowest_model_layer | Model layer 1 mean pressure | Pa | real | (horizontal_dimension) | kind_phys | in | False |
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 | (horizontal_dimension) | kind_phys | in | False |
prsik1 | dimensionless_exner_function_at_lowest_model_interface | dimensionless Exner function at the ground surface | none | real | (horizontal_dimension) | kind_phys | in | False |
prslk1 | dimensionless_exner_function_at_lowest_model_layer | dimensionless Exner function at the lowest model layer | none | real | (horizontal_dimension) | kind_phys | in | False |
sigmaf | bounded_vegetation_area_fraction | areal fractional cover of green vegetation bounded on the bottom | frac | real | (horizontal_dimension) | kind_phys | in | False |
vegtype | vegetation_type_classification | vegetation type at each grid cell | index | integer | (horizontal_dimension) | in | False | |
shdmax | maximum_vegetation_area_fraction | max fractnl cover of green veg | frac | real | (horizontal_dimension) | kind_phys | in | False |
ivegsrc | vegetation_type_dataset_choice | land use dataset choice | index | integer | () | in | False | |
z0pert | perturbation_of_momentum_roughness_length | perturbation of momentum roughness length | frac | real | (horizontal_dimension) | kind_phys | in | False |
ztpert | perturbation_of_heat_to_momentum_roughness_length_ratio | perturbation of heat to momentum roughness length ratio | frac | real | (horizontal_dimension) | kind_phys | in | False |
flag_iter | flag_for_iteration | flag for iteration | flag | logical | (horizontal_dimension) | in | False | |
redrag | flag_for_reduced_drag_coefficient_over_sea | flag for reduced drag coefficient over sea | flag | logical | () | in | False | |
u10m | x_wind_at_10m | 10 meter u wind speed | m s-1 | real | (horizontal_dimension) | kind_phys | in | False |
v10m | y_wind_at_10m | 10 meter v wind speed | m s-1 | real | (horizontal_dimension) | kind_phys | in | False |
sfc_z0_type | flag_for_surface_roughness_option_over_ocean | surface roughness options over ocean | flag | integer | () | in | False | |
wet | flag_nonzero_wet_surface_fraction | flag indicating presence of some ocean or lake surface area fraction | flag | logical | (horizontal_dimension) | in | False | |
dry | flag_nonzero_land_surface_fraction | flag indicating presence of some land surface area fraction | flag | logical | (horizontal_dimension) | in | False | |
icy | flag_nonzero_sea_ice_surface_fraction | flag indicating presence of some sea ice surface area fraction | flag | logical | (horizontal_dimension) | in | False | |
tskin_wat | surface_skin_temperature_over_ocean_interstitial | surface skin temperature over ocean (temporary use as interstitial) | K | real | (horizontal_dimension) | kind_phys | in | False |
tskin_lnd | surface_skin_temperature_over_land_interstitial | surface skin temperature over land (temporary use as interstitial) | K | real | (horizontal_dimension) | kind_phys | in | False |
tskin_ice | surface_skin_temperature_over_ice_interstitial | surface skin temperature over ice (temporary use as interstitial) | K | real | (horizontal_dimension) | kind_phys | in | False |
tsurf_wat | surface_skin_temperature_after_iteration_over_ocean | surface skin temperature after iteration over ocean | K | real | (horizontal_dimension) | kind_phys | in | False |
tsurf_lnd | surface_skin_temperature_after_iteration_over_land | surface skin temperature after iteration over land | K | real | (horizontal_dimension) | kind_phys | in | False |
tsurf_ice | surface_skin_temperature_after_iteration_over_ice | surface skin temperature after iteration over ice | K | real | (horizontal_dimension) | kind_phys | in | False |
snwdph_wat | surface_snow_thickness_water_equivalent_over_ocean | water equivalent snow depth over ocean | mm | real | (horizontal_dimension) | kind_phys | in | False |
snwdph_lnd | surface_snow_thickness_water_equivalent_over_land | water equivalent snow depth over land | mm | real | (horizontal_dimension) | kind_phys | in | False |
snwdph_ice | surface_snow_thickness_water_equivalent_over_ice | water equivalent snow depth over ice | mm | real | (horizontal_dimension) | kind_phys | in | False |
z0rl_wat | surface_roughness_length_over_ocean_interstitial | surface roughness length over ocean (temporary use as interstitial) | cm | real | (horizontal_dimension) | kind_phys | inout | False |
z0rl_lnd | surface_roughness_length_over_land_interstitial | surface roughness length over land (temporary use as interstitial) | cm | real | (horizontal_dimension) | kind_phys | inout | False |
z0rl_ice | surface_roughness_length_over_ice_interstitial | surface roughness length over ice (temporary use as interstitial) | cm | real | (horizontal_dimension) | kind_phys | inout | False |
z0rl_wav | surface_roughness_length_from_wave_model | surface roughness length from wave model | cm | real | (horizontal_dimension) | kind_phys | in | False |
ustar_wat | surface_friction_velocity_over_ocean | surface friction velocity over ocean | m s-1 | real | (horizontal_dimension) | kind_phys | inout | False |
ustar_lnd | surface_friction_velocity_over_land | surface friction velocity over land | m s-1 | real | (horizontal_dimension) | kind_phys | inout | False |
ustar_ice | surface_friction_velocity_over_ice | surface friction velocity over ice | m s-1 | real | (horizontal_dimension) | kind_phys | inout | False |
cm_wat | surface_drag_coefficient_for_momentum_in_air_over_ocean | surface exchange coeff for momentum over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
cm_lnd | surface_drag_coefficient_for_momentum_in_air_over_land | surface exchange coeff for momentum over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
cm_ice | surface_drag_coefficient_for_momentum_in_air_over_ice | surface exchange coeff for momentum over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
ch_wat | surface_drag_coefficient_for_heat_and_moisture_in_air_over_ocean | surface exchange coeff heat & moisture over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
ch_lnd | surface_drag_coefficient_for_heat_and_moisture_in_air_over_land | surface exchange coeff heat & moisture over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
ch_ice | surface_drag_coefficient_for_heat_and_moisture_in_air_over_ice | surface exchange coeff heat & moisture over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
rb_wat | bulk_richardson_number_at_lowest_model_level_over_ocean | bulk Richardson number at the surface over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
rb_lnd | bulk_richardson_number_at_lowest_model_level_over_land | bulk Richardson number at the surface over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
rb_ice | bulk_richardson_number_at_lowest_model_level_over_ice | bulk Richardson number at the surface over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
stress_wat | surface_wind_stress_over_ocean | surface wind stress over ocean | m2 s-2 | real | (horizontal_dimension) | kind_phys | inout | False |
stress_lnd | surface_wind_stress_over_land | surface wind stress over land | m2 s-2 | real | (horizontal_dimension) | kind_phys | inout | False |
stress_ice | surface_wind_stress_over_ice | surface wind stress over ice | m2 s-2 | real | (horizontal_dimension) | kind_phys | inout | False |
fm_wat | Monin_Obukhov_similarity_function_for_momentum_over_ocean | Monin-Obukhov similarity function for momentum over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
fm_lnd | Monin_Obukhov_similarity_function_for_momentum_over_land | Monin-Obukhov similarity function for momentum over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
fm_ice | Monin_Obukhov_similarity_function_for_momentum_over_ice | Monin-Obukhov similarity function for momentum over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
fh_wat | Monin_Obukhov_similarity_function_for_heat_over_ocean | Monin-Obukhov similarity function for heat over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
fh_lnd | Monin_Obukhov_similarity_function_for_heat_over_land | Monin-Obukhov similarity function for heat over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
fh_ice | Monin_Obukhov_similarity_function_for_heat_over_ice | Monin-Obukhov similarity function for heat over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
fm10_wat | Monin_Obukhov_similarity_function_for_momentum_at_10m_over_ocean | Monin-Obukhov similarity parameter for momentum at 10m over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
fm10_lnd | Monin_Obukhov_similarity_function_for_momentum_at_10m_over_land | Monin-Obukhov similarity parameter for momentum at 10m over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
fm10_ice | Monin_Obukhov_similarity_function_for_momentum_at_10m_over_ice | Monin-Obukhov similarity parameter for momentum at 10m over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
fh2_wat | Monin_Obukhov_similarity_function_for_heat_at_2m_over_ocean | Monin-Obukhov similarity parameter for heat at 2m over ocean | none | real | (horizontal_dimension) | kind_phys | inout | False |
fh2_lnd | Monin_Obukhov_similarity_function_for_heat_at_2m_over_land | Monin-Obukhov similarity parameter for heat at 2m over land | none | real | (horizontal_dimension) | kind_phys | inout | False |
fh2_ice | Monin_Obukhov_similarity_function_for_heat_at_2m_over_ice | Monin-Obukhov similarity parameter for heat at 2m over ice | none | real | (horizontal_dimension) | kind_phys | inout | False |
errmsg | ccpp_error_message | error message for error handling in CCPP | none | character | () | len=* | out | False |
errflg | ccpp_error_flag | error flag for error handling in CCPP | flag | integer | () | out | False |
ln(Z_{0m}^,/Z_{0t})=(1-GVF)^2C_{zil}k(u*Z_{0g}/\nu)^{0.5}
where Z_{0m}^, is the effective momentum roughness length computed in the following equation for each grid, Z_{0t} is the roughness lenghth for heat, C_{zil} is a coefficient (taken as 0.8), k is the Von Karman constant (0.4), \nu=1.5\times10^{-5}m^{2}s^{-1} is the molecular viscosity, u* is the friction velocity, and Z_{0g} is the bare soil roughness length for momentum (taken as 0.01).\ln(Z_{0m}^,)=(1-GVF)^{2}\ln(Z_{0g})+\left[1-(1-GVF)^{2}\right]\ln(Z_{0m})
Functions/Subroutines | |
subroutine, public | sfc_diff::sfc_diff_run (im, rvrdm1, eps, epsm1, grav, ps, t1, q1, z1, wind, prsl1, prslki, prsik1, prslk1, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, flag_iter, redrag, u10m, v10m, sfc_z0_type, wet, dry, icy, tskin_wat, tskin_lnd, tskin_ice, tsurf_wat, tsurf_lnd, tsurf_ice, snwdph_wat, snwdph_lnd, snwdph_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, errmsg, errflg) |
subroutine | sfc_diff::stability |