GFS Physics Documentation
GFS Orographic Gravity Wave Drag and Mountain Blocking

This subroutine includes orographic gravity wave drag and mountain blocking. More...

Detailed Description

The time tendencies of zonal and meridional wind are altered to include the effect of mountain induced gravity wave drag from subgrid scale orography including convective breaking, shear breaking and the presence of critical levels.

The NWP model gravity wave drag (GWD) scheme in the GFS has two main components: how the surface stress is computed, and then how that stress is distributed over a vertical column where it may interact with the models momentum. Each of these depends on the large scale environmental atmospheric state and assumptions about the sub-grid scale processes. In Alpert GWD (1987) based on linear, two-dimensional non-rotating, stably stratified flow over a mountain ridge, sub-grid scale gravity wave motions are assumed which propagate away from the mountain. Described in Alpert (1987), the flux measured over a "low level" vertically averaged layer, in the atmosphere defines a base level flux. "Low level" was taken to be the first 1/3 of the troposphere in the 1987 implementation. This choice was meant to encompass a thick low layer for vertical averages of the environmental (large scale) flow quantities. The vertical momentum flux or gravity wave stress in a grid box due to a single mountain is given as in Pierrehumbert, (1987) (PH):

\( \tau = \frac {\rho \: U^{3}\: G(F_{r})} {\Delta X \; N } \)

emetic \( \Delta X \) is a grid increment, N is the Brunt Viasala frequency

\( N(\sigma) = \frac{-g \: \sigma \: \frac{\partial\Theta}{\partial\sigma}}{\Theta \:R \:T} \)

The environmental variables are calculated from a mass weighted vertical average over a base layer. G(Fr) is a monotonically increasing function of Froude number,

\( F_{r} = \frac{N h^{'}}{U} \)

where U is the wind speed calculated as a mass weighted vertical average in the base layer, and h', is the vertical displacement caused by the orography variance. An effective mountain length for the gravity wave processes,

\( l^{*} = \frac{\Delta X}{m} \)

where m is the number of mountains in a grid box, can then be defined to obtain the form of the base level stress

\( \tau = \frac {\rho \: U^{3} \: G(F_{r})} {N \;l^{*}} \)

giving the stress induced from the surface in a model grid box. PH gives the form for the function G(Fr) as

\( G(F_{r}) = \bar{G}\frac{F^{2}_{r}}{F^{2}_{r}\: + \:a^{2}} \)

Where \( \bar{G} \) is an order unity non-dimensional saturation flux set to 1 and 'a' is a function of the mountain aspect ratio also set to 1 in the 1987 implementation of the GFS GWD. Typical values of U=10m/s, N=0.01 1/s, l*=100km, and a=1, gives a flux of 1 Pascal and if this flux is made to go to zero linearly with height then the decelerations would be about 10/m/s/day which is consistent with observations in PH.

In Kim, Moorthi, Alpert's (1998, 2001) GWD currently in GFS operations, the GWD scheme has the same physical basis as in Alpert (1987) with the addition of enhancement factors for the amplitude, G, and mountain shape details in G(Fr) to account for effects from the mountain blocking. A factor, E m’, is an enhancement factor on the stress in the Alpert '87 scheme. The E ranges from no enhancement to an upper limit of 3, E=E(OA)[1-3], and is a function of OA, the Orographic Asymmetry defined in KA (1995) as

Orographic Asymmetry (OA) = \( \frac{ \bar{x} \; - \; \sum\limits_{j=1}^{N_{b}} x_{j} \; n_{j} }{\sigma_{x}} \)

where Nb is the total number of bottom blocks in the mountain barrier, \( \sigma_{x} \) is the standard deviation of the horizontal distance defined by

\( \sigma_{x} = \sqrt{ \frac{\sum\limits_{j=1}^{N_{b}} \; (x_{j} \; - \; \bar{x} )^2}{N_{x}} } \)

where Nx is the number of grid intervals for the large scale domain being considered. So the term, E(OA)m’/ \( \Delta X \) in Kim's scheme represents a multiplier on G shown in Alpert's eq (1), where m’ is the number of mountains in a sub-grid scale box. Kim increased the complexity of m’ making it a function of the fractional area of the sub-grid mountain and the asymmetry and convexity statistics which are found from running a gravity wave model for a large number of cases:

\( m^{'} = C_{m} \Delta X \left[ \frac{1 \; + \; \sum\limits_{x} L_{h} }{\Delta X} \right]^{OA+1} \)

Where, according to Kim, \( \sum \frac{L_{h}}{\Delta X} \) is the fractional area covered by the subgrid-scale orography higher than a critical height \( h_{c} = Fr_{c} U_{0}/N_{0} \) , over the "low level" vertically averaged layer, for a grid box with the interval \( \Delta X \). Each \( L_{n}\) is the width of a segment of orography intersection at the critical height:

\( Fr_{0} = \frac{N_{0} \; h^{'}}{U_{0}} \)

\( G^{'}(OC,Fr_{0}) = \frac{Fr_{0}^{2}}{Fr_{0}^{2} \; + \; a^{2}} \)

\( a^{2} = \frac{C_{G}}{OC} \)

\( E(OA, Fr_{0}) = (OA \; + \; 2)^{\delta} \) and \( \delta \; = \; \frac{C_{E} \; Fr_{0}}{Fr_{c}} \) where \( Fr_{c} \) is as in Alpert.

This represents a closed scheme, somewhat empirical adjustments to the original scheme to calculate the surface stress.

Momentum is deposited by the sub-grid scale gravity waves break due to the presence of convective mixing assumed to occur when the minimum Richardson number:

Orographic Convexity (OC) = \( \frac{ \sum\limits_{j=1}^{N_{x}} \; (h_{j} \; - \; \bar{h})^4 }{N_{x} \;\sigma_{h}^4} \) , and where \( \sigma_{h} = \sqrt{ \frac{\sum\limits_{j=1}^{N_{x}} \; (h_{j} \; - \; \bar{h} )^2}{N_{x}} } \)

This represents a closed scheme, somewhat empirical adjustments to the original scheme to calculate the surface stress.

Momentum is deposited by the sub-grid scale gravity waves break due to the presence of convective mixing assumed to occur when the minimum Richardson number:

\( Ri_{m} = \frac{Ri(1 \; - \; Fr)}{(1 \; + \; \sqrt{Ri}Fr)^2} \)

Is less than 1/4 Or if critical layers are encountered in a layer the the momentum flux will vanish. The critical layer is defined when the base layer wind becomes perpendicular to the environmental wind. Otherwise, wave breaking occurs at a level where the amplification of the wave causes the local Froude number or similarly a truncated (first term of the) Scorer parameter, to be reduced below a critical value by the saturation hypothesis (Lindzen,). This is done through eq 1 which can be written as

\( \tau = \rho U N k h^{'2} \)

For small Froude number this is discretized in the vertical so at each level the stress is reduced by ratio of the Froude or truncated Scorer parameter, \( \frac{U^{2}}{N^{2}} = \frac{N \tau_{l-1}}{\rho U^{3} k} \) , where the stress is from the layer below beginning with that found near the surface. The respective change in momentum is applied in that layer building up from below.

An amplitude factor is part of the calibration of this scheme which is a function of the model resolution and the vertical diffusion. This is because the vertical diffusion and the GWD account encompass similar physical processes. Thus, one needs to run the model over and over for various amplitude factors for GWD and vertical diffusion.

In addition, there is also mountain blocking from lift and frictional forces. Improved integration between how the GWD is calculated and the mountain blocking of wind flow around sub-grid scale orography is underway at NCEP. The GFS already has convectively forced GWD an independent process. The next step is to test

Arguments

local var name longname description units rank type kind intent optional
im horizontal_loop_extent horizontal loop extent, start at 1 index 0 integer in F
Parameters
[in]IMhorizontal number of used pts
[in]IXhorizontal dimension
[in]IYhorizontal number of used pts
[in]KMvertical layer dimension
[in,out]Anon-linear tendency for v wind component
[in,out]Bnon-linear tendency for u wind component
[in,out]Cnon-linear tendency for temperature (not used)
[in]U1zonal wind component of model layer wind (m/s)
[in]V1meridional wind component of model layer wind (m/s)
[in]T1model layer mean temperature (K)
[in]Q1model layer mean specific humidity
[in]KPBLindex for the PBL top layer
[in]PRSIpressure at layer interfaces
[in]DELpositive increment of p/psfc across layer
[in]PRSLmean layer pressure
[in]PRSLKExner function at layer
[in]PHIIinterface geopotential ( \(m^2/s^2\))
[in]PHILlayer geopotential ( \(m^2/s^2\))
[in]DELTIMphysics time step in seconds
[in]KDTnumber of the current time step
[in]HPRIMEorographic standard deviation (m) (mtnvar(:,1))
[in]OCorographic Convexity (mtnvar(:,2))
[in]OA4orographic Asymmetry (mtnvar(:,3:6))
[in]CLX4Lx, the fractional area covered by the subgrid-scale orography higher than a critical height for a grid box with the interval \( \triangle x \) (mtnvar(:,7:10))
[in]THETAthe angle of the mtn with that to the east (x) axis (mtnvar(:,11))
[in]SIGMAorographic slope (mtnvar(:,13))
[in]GAMMAorographic anisotropy (mtnvar(:,12))
[in]ELVMAXorographic maximum (mtnvar(:,14))
[out]DUSFCu component of surface stress
[out]DVSFCv component of surface stress
[in]Gsee physcons::con_g
[in]CPsee physcons::con_cp
[in]RDsee physcons::con_tird
[in]RVsee physcons::con_rv
[in]IMXnumber of longitude points
[in]NMTVRnumber of topographic variables such as variance etc used in the GWD parameterization,current operational, nmtvr=14
[in]CDMBGWDmultiplication factors for cdmb and gwd
[in]MEpe number - used for debug prints
[in]LPRNTlogical print flag
[in]IPRcheck print point for debugging

General Algorithm

Functions/Subroutines

subroutine gwdps (IM, IX, IY, KM, A, B, C, U1, V1, T1, Q1, KPBL, PRSI, DEL, PRSL, PRSLK, PHII, PHIL, DELTIM, KDT, HPRIME, OC, OA4, CLX4, THETA, SIGMA, GAMMA, ELVMAX, DUSFC, DVSFC, G, CP, RD, RV, IMX, nmtvr, cdmbgwd, me, lprnt, ipr, rdxzb)
 

Function/Subroutine Documentation

◆ gwdps()

subroutine gwdps ( integer  IM,
integer  IX,
integer  IY,
integer  KM,
real(kind=kind_phys), dimension(iy,km)  A,
real(kind=kind_phys), dimension(iy,km)  B,
real(kind=kind_phys), dimension(iy,km)  C,
real(kind=kind_phys), dimension(ix,km)  U1,
real(kind=kind_phys), dimension(ix,km)  V1,
real(kind=kind_phys), dimension(ix,km)  T1,
real(kind=kind_phys), dimension(ix,km)  Q1,
integer, dimension(im)  KPBL,
real(kind=kind_phys), dimension(ix,km+1)  PRSI,
real(kind=kind_phys), dimension(ix,km)  DEL,
real(kind=kind_phys), dimension(ix,km)  PRSL,
real(kind=kind_phys), dimension(ix,km)  PRSLK,
real(kind=kind_phys), dimension(ix,km+1)  PHII,
real(kind=kind_phys), dimension(ix,km)  PHIL,
real(kind=kind_phys)  DELTIM,
integer  KDT,
real(kind=kind_phys), dimension(im)  HPRIME,
real(kind=kind_phys), dimension(im)  OC,
real(kind=kind_phys), dimension(iy,4)  OA4,
real(kind=kind_phys), dimension(iy,4)  CLX4,
real(kind=kind_phys), dimension(im)  THETA,
real(kind=kind_phys), dimension(im)  SIGMA,
real(kind=kind_phys), dimension(im)  GAMMA,
real(kind=kind_phys), dimension(im)  ELVMAX,
real(kind=kind_phys), dimension(im)  DUSFC,
real(kind=kind_phys), dimension(im)  DVSFC,
real(kind=kind_phys)  G,
real(kind=kind_phys)  CP,
real(kind=kind_phys)  RD,
real(kind=kind_phys)  RV,
integer  IMX,
integer  nmtvr,
real(kind=kind_phys), dimension(2)  cdmbgwd,
integer  me,
logical  lprnt,
integer  ipr,
real(kind=kind_phys), dimension(iy)  rdxzb 
)

— Subgrid Mountain Blocking Section

  • Compute Brunt-Vaisala Frequency \(N\).
  • Find the dividing streamline height starting from the level above the maximum mountain height and processing downward.
  • Compute wind speed UDS

    \[ UDS=\max(\sqrt{U1^2+V1^2},minwnd) \]

    where \( minwnd=0.1 \), \(U1\) and \(V1\) are zonal and meridional wind components of model layer wind.
  • The dividing streamline height (idxzb), of a subgrid scale obstable, is found by comparing the potential (PE) and kinetic energies (EK) of the upstream large scale wind and subgrid scale air parcel movements. the dividing streamline is found when \(PE\geq EK\). Mountain-blocked flow is defined to exist between the surface and the dividing streamline height ( \(h_d\)), which can be found by solving an integral equation for \(h_d\):

    \[ \frac{U^{2}(h_{d})}{2}=\int_{h_{d}}^{H} N^{2}(z)(H-z)dz \]

    where \(H\) is the maximum subgrid scale elevation within the grid box of actual orography, \(h\), obtained from the GTOPO30 dataset from the U.S. Geological Survey.
  • Calculate \(ZLEN\), which sums up a number of contributions of elliptic obstables.

    \[ ZLEN=\sqrt{[\frac{h_{d}-z}{z+h'}]} \]

    where \(z\) is the height, \(h'\) is the orographic standard deviation (HPRIME).
  • Calculate the drag coefficient to vary with the aspect ratio of the obstable as seen by the incident flow (see eq.14 in Lott and Miller (1997) [42])

    \[ R=\frac{\cos^{2}\psi+\gamma\sin^{2}\psi}{\gamma\cos^{2}\psi+\sin^{2}\psi} \]

    where \(\psi\), which is derived from THETA, is the angle between the incident flow direction and the normal ridge direcion. \(\gamma\) is the orographic anisotropy (GAMMA).
  • In each model layer below the dividing streamlines, a drag from the blocked flow is exerted by the obstacle on the large scale flow. The drag per unit area and per unit height is written (eq.15 in Lott and Miller (1997) [42]):

    \[ D_{b}(z)=-C_{d}\max(2-\frac{1}{R},0)\rho\frac{\sigma}{2h'}ZLEN\max(\cos\psi,\gamma\sin\psi)\frac{UDS}{2} \]

    where \(C_{d}\) is a specified constant, \(\sigma\) is the orographic slope.

— Orographic Gravity Wave Drag Section

  • Calculate the reference level index: kref=max(2,KPBL+1). where KPBL is the index for the PBL top layer.
  • Calculate low-level horizontal wind direction, the derived orographic asymmetry parameter (OA), and the derived Lx (CLX).
  • Calculate enhancement factor (E),number of mountans (m') and aspect ratio constant.
    As in eq.(4.9),(4.10),(4.11) in Kim and Arakawa (1995) [37], we define m' and E in such a way that they depend on the geometry and location of the subgrid-scale orography through OA and the nonlinearity of flow above the orography through Fr. OC, which is the orographic convexity, and statistically determine how protruded (sharp) the subgrid-scale orography is, is included in the saturation flux G' in such a way that G' is proportional to OC. The forms of E,m' and G' are:

    \[ E(OA,F_{r_{0}})=(OA+2)^{\delta} \]

    \[ \delta=C_{E}F_{r_{0}}/F_{r_{c}} \]

    \[ m'(OA,CLX)=C_{m}\triangle x(1+CLX)^{OA+1} \]

    \[ G'(OC,F_{r_{0}})=\frac{F_{r_{0}}^2}{F_{r_{0}}^2+a^{2}} \]

    \[ a^{2}=C_{G}OC^{-1} \]

    where \(F_{r_{c}}(=1)\) is the critical Froude number, \(F_{r_{0}}\) is the Froude number. \(C_{E}\), \(C_{m}\), \(C_{G}\) are constants.
  • Calculate the reference-level drag \(\tau_{0}\) (eq.(4.8) in Kim and Arakawa (1995) [37]):

    \[ \tau_0=E\frac{m'}{\triangle x}\frac{\rho_{0}U_0^3}{N_{0}}G' \]

    where \(E\), \(m'\), and \(G'\) are the enhancement factor, "the number of mountains", and the flux function defined above, respectively.
  • Compute the drag above the reference level ( \(k\geq kref\)):
    • Calculate the ratio of the Scorer parameter ( \(R_{scor}\)).
      From a series of experiments, Kim and Arakawa (1995) [37] found that the magnitude of drag divergence tends to be underestimated by the revised scheme in low-level downstream regions with wave breaking. Therefore, at low levels when OA > 0 (i.e., in the "downstream" region) the saturation hypothesis is replaced by the following formula based on the ratio of the the Scorer parameter:

      \[ R_{scor}=\min \left[\frac{\tau_i}{\tau_{i+1}},1\right] \]

    • The drag above the reference level is expressed as:

      \[ \tau=\frac{m'}{\triangle x}\rho NUh_d^2 \]

      where \(h_{d}\) is the displacement wave amplitude. In the absence of wave breaking, the displacement amplitude for the \(i^{th}\) layer can be expressed using the drag for the layer immediately below. Thus, assuming \(\tau_i=\tau_{i+1}\), we can get:

      \[ h_{d_i}^2=\frac{\triangle x}{m'}\frac{\tau_{i+1}}{\rho_{i}N_{i}U_{i}} \]

  • The minimum Richardson number ( \(Ri_{m}\)) or local wave-modified Richardson number, which determines the onset of wave breaking, is expressed in terms of \(R_{i}\) and \(F_{r_{d}}=Nh_{d}/U\):

    \[ Ri_{m}=\frac{Ri(1-Fr_{d})}{(1+\sqrt{Ri}\cdot Fr_{d})^{2}} \]

    see eq.(4.6) in Kim and Arakawa (1995) [37].
    • Check stability to employ the 'saturation hypothesis' of Lindzen (1981) [40] except at tropospheric downstream regions.
      Wave breaking occurs when \(Ri_{m}<Ri_{c}=0.25\). Then Lindzen's wave saturation hypothesis resets the displacement amplitude \(h_{d}\) to that corresponding to \(Ri_{m}=0.25\), we obtain the critical \(h_{d}\)(or \(h_{c}\)) expressed in terms of the mean values of \(U\), \(N\), and \(Ri\) ( eq.(4.7) in Kim and Arakawa (1995) [37]):

      \[ h_{c}=\frac{U}{N}\left\{2(2+\frac{1}{\sqrt{Ri}})^{1/2}-(2+\frac{1}{\sqrt{Ri}})\right\} \]

      if \(Ri_{m}\leq Ri_{c}\), obtain \(\tau\) from the drag above the reference level by using \(h_{c}\) computed above; otherwise \(\tau\) is unchanged (note: scaled by the ratio of the Scorer paramter).
  • Calculate outputs: A, B, DUSFC, DVSFC (see parameter description).
    • Below the dividing streamline height (k < idxzb), mountain blocking( \(D_{b}\)) is applied.
    • Otherwise (k>= idxzb), orographic GWD ( \(\tau\)) is applied.

Definition at line 342 of file gwdps.f.