rigrad_bruntv_atm
Compute the atmospheric gradient Richardson number and, optionally, the Brunt-Vaisala, buoyancy and shear.
Available in version 6.4.0 and later.
Prototype
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" ; This library is automatically loaded
; from NCL V6.2.0 onward.
; No need for user to explicitly load.
function rigrad_bruntv_atm (
thv : numeric, ; float, double, integer only
u : numeric,
v : numeric,
z : numeric,
opt [1] : integer,
dim [1] : integer
)
return_val [dimsizes(z)] : float or double
Arguments
thvVirtual potential temperature (K): thv = theta*(1+0.61w) where w is the dimensionless mixing ratio. Potential temperature could also be used if the mixing ratio (kg/kg) is not available.
uZonal wind (m/s). Same dimensionality as thv.
uMeridional wind (m/s). Same dimensionality as thv.
zGeometric height (m). Same dimensionality as thv.
opt- opt=0, Return only the gradient Richardson number as a regular variable.
- opt=1, Return only the Brunt-Vaisala frequency as a regular variable.
- opt=2, Return the gradient Richardson number and the Brunt-Vaisala frequency as elements of a list variable
- opt=3, Return the gradient Richardson number, the Brunt-Vaisala frequency, the buoyancy (1/s) and the wind sheared squared as elements of a list variable
The dimension of thv which corresponds to z.
Return value
A multi-dimensional array of the same size and shape as thv. The output will be double if thv is of type double.
Description
The gradient richardson number (Ri) is a dimensionless ratio. It is related to the buoyant production or consumption of turbulence divided by the shear production of turbulence. It is a criterion for assessing the stability of stratified shear flow. The atmospheric condition is favorable for the occurrence of turbulence when Ri < the critical Richardson number (=0.25). Ri is 'useful' within or near the boundary layer.
AMS Glossary:
BruntV: http://glossary.ametsoc.org/wiki/Brunt-v%C3%A4is%C3%A4l%C3%A4_frequency
Ri_Num: http://glossary.ametsoc.org/wiki/Gradient_richardson_number
The latter uses Tv and not THETAv in denominator. This is an approximation
used by boundary layer people where Tv ~ theta,
http://en.wikipedia.org/wiki/Richardson_number
P.W. CHan: http://dx.doi.org/10.1088/1755-1307/1/1/012043
Gradient Richardson Number: RI = buoyancy/shear_flow
A dimensionless ratio, Ri, related to the buoyant production or
consumption of turbulence divided by the shear production of turbulence.
It is used to indicate dynamic stability and the formation of turbulence.
The critical Richardson number, Ric, is about 0.25 (although reported values have
ranged from roughly 0.2 to 1.0), and flow is dynamically unstable and turbulent
when Ri < Ric. Such turbulence happens either when the wind shear is great enough
to overpower any stabilizing buoyant forces (numerator is positive), or when there
is static instability (numerator is negative).
If the Richardson number is much less than unity, buoyancy is unimportant in the flow.
If it is much greater than unity, buoyancy is dominant (in the sense that there is
insufficient kinetic energy to homogenize the fluids).
Large values of Ri indicate very stable conditions while low values *may*
indicate dynamic stability (subcritical region).
Brunt-Vaisala:
The Brunt-Vaisala (BV) frequency at which a displaced air parcel will oscillate when
displaced vertically within a statically stable environment. Hence, it should
always be positive. However, this function will return a negative value
when the vertical gradient of thv is negative. This is done for informational
purposes only. The user can force only positive values via
BV = where(BV.lt.0, 0, BV)
See Also
brunt_vaisala_atm, eady_growth rate, static_stability, pot_temp
Examples
Example 1: Read data from a WRF file and calculate assorted quantities.
;---------------------------------------------------------- ; WRF DATA ;---------------------------------------------------------- a = addfile("wrfout_d01_2013-05-17_12","r") ;[Time|1]x[bottom_top|40]x[south_north|324]x[west_east|414] ; 0 1 2 3 q = a->QVAPOR ; mixing ratio (kg/kg) q = where(q.lt.0, 0, q) ; ensure no negative mixing ratios printVarSummary(q) ; (Time, bottom_top, south_north, west_east) printMinMax(q,0) th = wrf_user_getvar(a,"theta",-1) ; potential temperature (degK) th = th*(1.0 + 0.61*q) ; virtual potential temperature th@long_name = "virtual potential temperature" z = wrf_user_getvar(a,"z",-1) ; model height ua = wrf_user_getvar(a,"ua" ,-1) ; u at mass grid points va = wrf_user_getvar(a,"va" ,-1) ; v at mass grid points ;;Ri = rigrad_bruntv_atm(th, ua, va, z, 0, 1 ) ;;BV = rigrad_bruntv_atm(th, ua, va, z, 1, 1 ) ;;RiBV = rigrad_bruntv_atm(th, ua, va, z, 2, 1 ) All = rigrad_bruntv_atm(th, ua, va, z, 3, 1 ) Ri = All[0] ; explicitly extract from list variable for convenience BV = All[1] ; must use 'list' syntax [...] BUOY = All[2] SHR2 = All[3] delete(All) ; no longer needed printVarSummary(Ri) printMinMax(Ri,0) print("-----------------------------------------") ; print for arbitrarily chosen grid point pr = wrf_user_getvar(a, "pressure", -1) ; for printing purposes only ix = 20 ; arbitrary jy = 21 nt = 0 p = wrf_user_getvar(a, "pressure", -1) ; for printing purposes only print( sprintf("%7.1f" , p(nt,:,jy,ix)) \ + sprintf("%9.1f" , z(nt,:,jy,ix)) \ + sprintf("%7.1f" , th(nt,:,jy,ix)) \ + sprintf("%15.5e", Ri(nt,:,jy,ix)) \ + sprintf("%15.5e", BUOY(nt,:,jy,ix)) \ + sprintf("%15.5e", SHR2(nt,:,jy,ix)) )All input variables are 4D with dimensions:
[Time | 1] x [bottom_top | 39] x [south_north | 324] x [west_east | 414]
The (edited) output is:
Variable: Ri
Type: float
Total Size: 20925216 bytes
5231304 values
Number of Dimensions: 4
Dimensions and sizes: [Time | 1] x [bottom_top | 39] x [south_north | 324] x [west_east | 414]
Coordinates:
Number Of Attributes: 2
long_name : Gradient Richardson Number
info : http://glossary.ametsoc.org/wiki/Gradient_richardson_number
(0) Gradient Richardson Number: min=-1.50836e+06 max=2.02878e+08
(0) -----------------------------------------
P Z TH Ri BOUY SHEAR^2
(0) 1009.1 29.2 298.6 -6.69352e+00 -2.94778e-05 4.40393e-06
(1) 1001.0 99.1 298.5 -1.17482e+01 -1.80076e-05 1.53279e-06
(2) 990.3 192.9 298.5 -2.16875e+01 -6.57265e-06 3.03061e-07
(3) 976.8 313.0 298.5 -4.05527e+01 -3.60803e-06 8.89713e-08
(4) 960.0 463.0 298.4 3.98499e-01 3.52946e-06 8.85689e-06
(5) 939.6 647.4 298.5 8.39926e-01 8.87363e-05 1.05648e-04
(6) 915.3 872.0 299.6 1.36544e+00 1.03845e-04 7.60522e-05
(7) 886.7 1142.9 300.1 1.07235e+01 1.52601e-04 1.42305e-05
(8) 853.8 1463.4 302.3 5.26213e+00 3.32361e-04 6.31609e-05
(9) 817.2 1835.1 307.2 5.66880e+00 3.04740e-04 5.37573e-05
(10) 777.3 2258.8 309.9 3.01461e+01 1.63086e-04 5.40983e-06
(11) 734.6 2733.7 311.8 3.26361e+02 1.23117e-04 3.77242e-07
(12) 689.6 3259.3 313.8 1.61876e+01 1.02580e-04 6.33695e-06
(13) 642.9 3835.0 315.4 7.42874e+00 9.19175e-05 1.23732e-05
(14) 596.3 4442.5 317.3 3.48297e+01 1.33469e-04 3.83205e-06
(15) 552.0 5057.9 320.7 2.06476e+01 1.73400e-04 8.39810e-06
(16) 510.4 5674.7 324.3 9.08787e+00 1.32518e-04 1.45819e-05
(17) 471.4 6292.0 326.1 4.43753e+00 7.01856e-05 1.58163e-05
(18) 434.8 6907.9 327.2 1.49438e+00 9.36120e-05 6.26427e-05
(19) 400.5 7523.3 329.9 4.89927e+00 1.20263e-04 2.45471e-05
(20) 368.4 8139.1 332.2 1.30783e+02 1.15606e-04 8.83954e-07
(21) 338.4 8755.4 334.8 2.43873e+02 1.02505e-04 4.20320e-07
(22) 310.3 9372.1 336.5 1.01988e+01 9.44002e-05 9.25605e-06
(23) 284.1 9988.7 338.8 2.42214e+00 1.21041e-04 4.99728e-05
(24) 259.7 10606.4 341.6 7.70021e-01 1.28499e-04 1.66878e-04
(25) 236.9 11225.7 344.3 5.75845e-01 1.01843e-04 1.76858e-04
(26) 215.7 11845.9 346.1 1.02962e+00 6.36113e-05 6.17812e-05
(27) 195.9 12465.8 347.1 5.01158e+00 7.17109e-05 1.43090e-05
(28) 177.6 13085.9 349.2 6.29919e+00 1.08032e-04 1.71502e-05
(29) 160.6 13707.9 351.9 1.21583e+00 1.78363e-04 1.46700e-04
(30) 144.8 14335.0 357.2 3.27406e+00 2.83387e-04 8.65553e-05
(31) 130.2 14971.9 364.9 4.61698e+00 3.22974e-04 6.99536e-05
(32) 116.7 15621.2 372.7 2.48082e+00 4.02882e-04 1.62399e-04
(33) 104.3 16288.0 385.1 4.04567e+00 4.56323e-04 1.12793e-04
(34) 92.8 16976.2 397.0 8.26755e+00 4.24677e-04 5.13667e-05
(35) 82.2 17686.4 409.1 9.70255e+00 4.07777e-04 4.20278e-05
(36) 72.6 18420.1 421.5 1.88097e+01 4.97539e-04 2.64511e-05
(37) 63.7 19185.4 441.2 2.31706e+01 6.30633e-04 2.72170e-05
(38) 54.7 20094.5 469.0 1.73304e+01 6.40759e-04 3.69732e-05