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) [98].
local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
---|---|---|---|---|---|---|---|---|
im | horizontal_loop_extent | horizontal loop extent | count | 0 | integer | in | F | |
ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F |
u1 | x_wind_at_lowest_model_layer | x component of 1st model layer wind | m s-1 | 1 | real | kind_phys | in | F |
v1 | y_wind_at_lowest_model_layer | y component of 1st model layer wind | m s-1 | 1 | real | kind_phys | in | F |
t1 | air_temperature_at_lowest_model_layer | 1st model layer air temperature | K | 1 | real | kind_phys | in | F |
q1 | specific_humidity_at_lowest_model_layer | 1st model layer specific humidity | kg kg-1 | 1 | real | kind_phys | in | F |
z1 | height_above_ground_at_lowest_model_layer | height above ground at 1st model layer | m | 1 | real | kind_phys | in | F |
snwdph | surface_snow_thickness_water_equivalent | water equivalent surface snow thickness | mm | 1 | real | kind_phys | in | F |
tskin | surface_skin_temperature | surface skin temperature | K | 1 | real | kind_phys | in | F |
z0rl | surface_roughness_length | surface roughness length | cm | 1 | real | kind_phys | inout | F |
cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | inout | F |
ch | surface_drag_coefficient_for_heat_and_moisture_in_air | surface exchange coeff heat & moisture | none | 1 | real | kind_phys | inout | F |
rb | bulk_richardson_number_at_lowest_model_level | bulk Richardson number at the surface | none | 1 | real | kind_phys | inout | F |
prsl1 | air_pressure_at_lowest_model_layer | Model layer 1 mean pressure | Pa | 1 | real | kind_phys | in | F |
prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | 1 | real | kind_phys | in | F |
islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | in | F | |
stress | surface_wind_stress | surface wind stress | m2 s-2 | 1 | real | kind_phys | inout | F |
fm | Monin-Obukhov_similarity_function_for_momentum | Monin-Obukhov similarity parameter for momentum | none | 1 | real | kind_phys | inout | F |
fh | Monin-Obukhov_similarity_function_for_heat | Monin-Obukhov similarity parameter for heat | none | 1 | real | kind_phys | inout | F |
ustar | surface_friction_velocity | surface friction velocity | m s-1 | 1 | real | kind_phys | inout | F |
wind | wind_speed_at_lowest_model_layer | wind speed at lowest model level | m s-1 | 1 | real | kind_phys | inout | F |
ddvel | surface_wind_enhancement_due_to_convection | surface wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F |
fm10 | Monin-Obukhov_similarity_function_for_momentum_at_10m | Monin-Obukhov similarity parameter for momentum | none | 1 | real | kind_phys | inout | F |
fh2 | Monin-Obukhov_similarity_function_for_heat_at_2m | Monin-Obukhov similarity parameter for heat | none | 1 | real | kind_phys | inout | F |
sigmaf | vegetation_area_fraction | areal fractional cover of green vegetation | frac | 1 | real | kind_phys | in | F |
vegtype | cell_vegetation_type | vegetation type at each grid cell | index | 1 | integer | in | F | |
shdmax | maximum_vegetation_area_fraction | max fractnl cover of green veg | frac | 1 | real | kind_phys | in | F |
ivegsrc | vegetation_type | vegetation type data source umd or igbp | index | 0 | integer | in | F | |
z0pert | perturbation_of_momentum_roughness_length | perturbation of momentum roughness length | frac | 1 | real | kind_phys | in | F |
ztpert | perturbation_of_heat_to_momentum_roughness_length_ratio | perturbation of heat to momentum roughness length ratio | frac | 1 | real | kind_phys | in | F |
tsurf | surface_skin_temperature_after_iteration | surface skin temperature after iteration | K | 1 | real | kind_phys | in | F |
flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | in | F | |
redrag | flag_for_reduced_drag_coefficient_over_sea | flag for reduced drag coefficient over sea | flag | 0 | logical | in | F | |
errmsg | error_message | error message for error handling in CCPP | none | 0 | character | len=* | out | F |
errflg | error_flag | error flag for error handling in CCPP | flag | 0 | integer | out | F |
\[ 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 | sfc_ex_coef::sfc_ex_coef_run (im, ps, u1, v1, t1, q1, z1, snwdph, tskin, z0rl, cm, ch, rb, prsl1, prslki, islimsk, stress, fm, fh, ustar, wind, ddvel, fm10, fh2, sigmaf, vegtype, shdmax, ivegsrc, z0pert, ztpert, tsurf, flag_iter, redrag, errmsg, errflg ) |