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