GMTB Common Community Physics Package (CCPP) Scientific Documentation  Version 1.0
GFS sfc_diff Main

This subroutine calculates surface roughness length. More...

Detailed Description

Argument Table

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_mean_sea_level_at_lowest_model_layer height above mean sea level 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
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

GFS Surface Layer Scheme General Algorithm

  1. Calculate the thermal roughness length formulation over the ocean (see eq. (25) and (26) in [88]).
  2. Calculate Zeng's momentum roughness length formulation over land and sea ice.
  3. Calculate the new vegetation-dependent formulation of thermal roughness length ([91]). [91] proposed a new formulation on \(ln(Z_{0m}^,/Z_{0t})\) as follows:

    \[ 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).
    In order to consider the convergence of \(Z_{0m}\) between fully vegetated and bare soil, the effective \(Z_{0m}^,\) is computed:

    \[ \ln(Z_{0m}^,)=(1-GVF)^{2}\ln(Z_{0g})+\left[1-(1-GVF)^{2}\right]\ln(Z_{0m}) \]

  4. Calculate the exchange coefficients: \(cm\), \(ch\), and \(stress\) as inputs of other sfc schemes.

Detailed Algorithm

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, tsurf, flag_iter, redrag, errmsg, errflg )