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

This subroutine is the parameterization of convective gravity wave drag based on the theory given by [15] modified for implementation into the GFS/CFS by Ake Johansson(Aug 2005). 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
ix horizontal_dimension horizontal dimension count 0 integer in F
km vertical_dimension number of vertical layers count 0 integer in F
lat latitude_index_in_debug_printouts latitude index in debug printouts index 0 integer in F
u1 x_wind zonal wind m s-1 2 real kind_phys in F
v1 y_wind meridional wind m s-1 2 real kind_phys in F
t1 air_temperature mid-layer temperature K 2 real kind_phys in F
q1 water_vapor_specific_humidity mid-layer specific humidity of water vapor kg kg-1 2 real kind_phys in F
deltim time_step_for_physics physics time step s 0 real kind_phys in F
pmid1 air_pressure mid-layer pressure Pa 2 real kind_phys in F
pint1 air_pressure_at_interface interface pressure Pa 2 real kind_phys in F
dpmid1 air_pressure_difference_between_midlayers difference between mid-layer pressures Pa 2 real kind_phys in F
qmax maximum_column_heating_rate maximum heating rate in column K s-1 1 real kind_phys in F
ktop vertical_index_at_cloud_top vertical index at cloud top index 1 integer in F
kbot vertical_index_at_cloud_base vertical index at cloud base index 1 integer in F
kcnv flag_deep_convection flag indicating whether convection occurs in column (0 or 1) flag 1 integer in F
cldf cloud_area_fraction fraction of grid box area in which updrafts occur frac 1 real kind_phys in F
grav gravitational_acceleration gravitational acceleration m s-2 0 real kind_phys in F
cp specific_heat_of_dry_air_at_constant_pressure specific heat of dry air at constant pressure J kg-1 K-1 0 real kind_phys in F
rd gas_constant_dry_air ideal gas constant for dry air J kg-1 K-1 0 real kind_phys in F
fv ratio_of_vapor_to_dry_air_gas_constants_minus_one rv/rd - 1 (rv = ideal gas constant for water vapor) none 0 real kind_phys in F
pi pi ratio of a circle's circumference to its diameter radians 0 real kind_phys in F
dlength characteristic_grid_length_scale representative horizontal length scale of grid box m 1 real kind_phys in F
lprnt flag_print flag for debugging printouts flag 0 logical in F
ipr horizontal_index_of_printed_column horizontal index of column used in debugging printouts index 0 integer in F
fhour forecast_time forecast hour h 0 real kind_phys in F
utgwc tendency_of_x_wind_due_to_convective_gravity_wave_drag zonal wind tendency due to convective gravity wave drag m s-2 2 real kind_phys out F
vtgwc tendency_of_y_wind_due_to_convective_gravity_wave_drag meridional wind tendency due to convective gravity wave drag m s-2 2 real kind_phys out F
tauctx instantaneous_x_stress_due_to_gravity_wave_drag zonal stress at cloud top due to convective gravity wave drag Pa 1 real kind_phys out F
taucty instantaneous_y_stress_due_to_gravity_wave_drag meridional stress at cloud top due to convective gravity wave drag Pa 1 real kind_phys out 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 Convective GWD Scheme General Algorithm

Parameterizing subgrid-scale convection-induced gravity wave momentum flux for use in large-scale models inherently requires some information from subgrid-scale cumulus parameterization. The methodology for parameterizing the zonal momentum flux induced by thermal forcing can be summarized as follows. From the cloud-base to cloud-top height, the effect of the momentum flux induced by subgrid-scale diabatic forcing is not considered because subgrid-scale cumulus convection in large-scale models is only activated in a conditionally unstable atmosphere. Below the cloud base, the momentum flux is also not considered because of the wave momentum cancellation.

The formulation of the momentum flux at the cloud top that can be broken in the upper atmosphere is similar to that of the surface drag of mountain waves by using the nonlinearity factor of thermally induced waves that is analogous to the inverse Frounde number in mountain waves. A vertical profiles of redistributed momentum flux above the cloud top can be approximated either by specifying a functional form or by using the wave saturation hypothesis in terms of the Richardson number criterion. The formulation of the minimum Richardson number including wave impact is similar to that in the mountain wave case.

Detailed Algorithm

Functions/Subroutines

subroutine gwdc::gwdc_run (im, ix, km, lat, u1, v1, t1, q1, deltim, pmid1, pint1, dpmid1, qmax, ktop, kbot, kcnv, cldf, grav, cp, rd, fv, pi, dlength, lprnt, ipr, fhour, utgwc, vtgwc, tauctx, taucty, errmsg, errflg)
 

Function/Subroutine Documentation

subroutine gwdc::gwdc_run ( integer, intent(in)  im,
integer, intent(in)  ix,
integer, intent(in)  km,
integer, intent(in)  lat,
real(kind=kind_phys), dimension(ix,km), intent(in)  u1,
real(kind=kind_phys), dimension(ix,km), intent(in)  v1,
real(kind=kind_phys), dimension(ix,km), intent(in)  t1,
real(kind=kind_phys), dimension(ix,km), intent(in)  q1,
real(kind=kind_phys), intent(in)  deltim,
real(kind=kind_phys), dimension(ix,km), intent(in)  pmid1,
real(kind=kind_phys), dimension(ix,km+1), intent(in)  pint1,
real(kind=kind_phys), dimension(ix,km), intent(in)  dpmid1,
real(kind=kind_phys), dimension(im), intent(in)  qmax,
integer, dimension(im), intent(in)  ktop,
integer, dimension(im), intent(in)  kbot,
integer, dimension(im), intent(in)  kcnv,
real(kind=kind_phys), dimension(im), intent(in)  cldf,
real(kind=kind_phys), intent(in)  grav,
real(kind=kind_phys), intent(in)  cp,
real(kind=kind_phys), intent(in)  rd,
real(kind=kind_phys), intent(in)  fv,
real(kind=kind_phys), intent(in)  pi,
real(kind=kind_phys), dimension(im), intent(in)  dlength,
logical, intent(in)  lprnt,
integer, intent(in)  ipr,
real(kind=kind_phys), intent(in)  fhour,
real(kind=kind_phys), dimension(ix,km), intent(out)  utgwc,
real(kind=kind_phys), dimension(ix,km), intent(out)  vtgwc,
real(kind=kind_phys), dimension(im), intent(out)  tauctx,
real(kind=kind_phys), dimension(im), intent(out)  taucty,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)
  • Determine if deep convection occurs and activate convection-induced GWD scheme.
  • Create local arrays with reversed vertical indices and Initialize local variables.
    • The top interface temperature, density, and Brunt-Vaisala frequencies ( \(N\)) are calculated assuming an isothermal atmosphere above the top mid level.
    • The bottom interface temperature, density, and Brunt-Vaisala frequencies ( \(N\)) are calculated assuming an isothermal atmosphere below the bottom mid level.
    • The interface level temperature, density, and Brunt-Vaisala frequencies ( \(N\)) are calculated based on linear interpolation of temperature in ln(P).
    • The mid-level Brunt-Vaisala frequencies ( \(N\)) are calculated based on interpolated interface temperatures.
  • Calculate the cloud top wind components, speed and direction.
  • Calculate the basic state wind profiles projected in the direction of the cloud top wind at mid level and interface level.
  • Calculate the local Richardson number:

    \[ Ri=N^2/\eta^2 \]

    where \(\eta\) is the vertical shear ( \(dU/dz\)).
  • Calculate the gravity wave stress at the interface level cloud top.
    • Wave stress at cloud top is calculated when the atmosphere is dynamically stable at the cloud top.
      • The cloud top wave stress and nonlinear parameter are calculated using density, temperature, and wind that are defined at mid level just below the interface level in which cloud top wave stress is defined. The parameter \(\mu\) is the nonlinearity factor of thermally induced internal gravity waves defined by eq.(17) in [chun_and_baik_1998:]

        \[ \mu=\frac{gQ_{0}a_{1}}{c_{p}T_{0}NU^{2}} \]

        where \(Q_{0}\) is the maximum deep convective heating rate in a horizontal grid point calculated from cumulus parameterization. \(a_{1}\) is the half-width of the forcing function. \(g\) is gravity. \(c_{p}\) is specific heat at constant pressure. \(T_{0}\) is the layer mean temperature (T1). As eqs.(18) and (19) [15], the zonal momentum flux is given by

        \[ \tau_{x}=-[\rho U^{3}/(N\triangle x)]G(\mu) \]

        where

        \[ G(\mu)=c_{1}c_2^2 \mu^{2} \]

        wher \(\rho\) is the local density. The tunable parameter \(c_1\) is related to the horizontal structure of thermal forcing. The tunable parameter \(c_2\) is related to the basic-state wind and stability and the bottom and top heights of thermal forcing. If the atmosphere is dynamically unstable at the cloud top, the convective GWD calculation is skipped at that grid point.
      • The stress is capped at \(\tau_{x} = - 5n/m^2\) in order to prevent numerical instability.
    • If the atmosphere is dynamically unstable at the cloud top, GWDC calculation in current horizontal grid is skipped.
    • If mean wind at the cloud top is less than zero, GWDC calculation in current horizontal grid is skipped.
  • Calculate the minimum Richardson number including both the basic-state condition and wave effects.

    \[ Ri_{min}\approx\frac{Ri(1-\mu|c_{2}|)}{(1+\mu Ri^{1/2}|c_{2}|)^{2}} \]

  • Calculate the gravity wave stress profile using the wave saturation hypothesis of Lindzen (1981) [56].
    • When \(Ri_{min}\) is set to 1/4 based on Lindzen's (1981) [56] saturation hypothesis, the nonlinearity factor for wave saturation can be derived by

      \[ \mu_{s}=\frac{1}{|c_{2}|}[2\sqrt{2+\frac{1}{\sqrt{Ri}}}-(2+\frac{1}{\sqrt{Ri}})] \]

      Then the saturation zonal momentum flux is given by

      \[ \tau_{s}=-[\rho U^{3}/(N\triangle x)]c_{1}c_2^2\mu_s^2 \]

    • If the minimum \(R_{i}\) at interface cloud top is less than or equal to 1/4, the convective GWD calculation is skipped at that grid point.
    • As an upper boundary condition, upward propagation of gravity wave energy is permitted.
  • Calculate wind tendency in direction to the wind vector,zonal wind tendency and meridional wind tendency above the cloud top level due to convectively generated gravity waves.
  • Convert back local convective GWD tendency arrays to GFS model vertical indices.