Skip to contents

The function calculates the Bulk Richardson Number (BRN) according to Weisman and Klemp (1982). BRN is defined as the ratio of CAPE of a parcel based on the lowest 500 m mean temperature and moisture to a measure of the low-level shear. The latter is defined as 0.5 *(ws_500 - ws_6000)^2. ws_500 and ws_6000 are density-weighted mean wind speeds of the lowest 500 m and 6000 m, respectively.

Usage

Bulk_Richardson_Number(
  ta_s,
  hus_s,
  pa_s,
  ua_s,
  va_s,
  zg_s,
  ta_pl,
  hus_pl,
  pa_pl,
  ua_pl,
  va_pl,
  zg_pl,
  vtc = TRUE,
  nthreads = 1
)

Arguments

ta_s

air temperature [lon, lat, time] at 2 meter above the surface (K).

hus_s

specific humidity [lon, lat, time] at 2 meter above the surface (kg/kg).

pa_s

surface pressure [lon, lat, time] (hPa).

ua_s

10 metre zonal wind component [lon, lat, time] (m/s).

va_s

10 metre meridional wind component [lon, lat, time] (m/s).

zg_s

surface geopotential [lon, lat] (m^2/s^s).

ta_pl

air temperature [lon, lat, lev, time] on pressure level (K).

hus_pl

specific humidity [lon, lat, lev, time] on pressure level (kg/kg).

pa_pl

pressure profile [lev] in descending manner (hPa).

ua_pl

zonal wind component on pressure level [lon, lat, lev, time] (m/s).

va_pl

meridional wind component on pressure level [lon, lat, lev, time] (m/s).

zg_pl

geopotential [lon, lat, lev, time] on pressure level (m^2/s^s).

vtc

logical refers to virtual temperature correction due to Doswell and Rasmussen (1994).

nthreads

an integer specifying the number of threads to use for computation (OpenMP). Default is 1.

Value

BRN [lon, lat, time].

References

Weisman, M. L., & Klemp, J. B. (1982). The dependence of numerically simulated convective storms on vertical wind shear and buoyancy. Monthly Weather Review, 110(6), 504-520 doi:10.1175/1520-0493(1982)110<0504:TDONSC>2.0.CO;2 .

Examples

data("ERA5_sfc")
ta_s <- ERA5_sfc$t2m
td_s <- ERA5_sfc$t2d
pa_s <- ERA5_sfc$sp / 100
hus_s <- hus_from_td(td_s, pa_s)
dim(hus_s) <- dim(ta_s)
ua_s <- ERA5_sfc$u10
va_s <- ERA5_sfc$v10

zg_s <- ERA5_sfc$z[, , 1]

data("ERA5_pl")
ta_pl <- ERA5_pl$ta
hus_pl <- ERA5_pl$hus
pa_pl <- ERA5_pl$plev / 100
ua_pl <- ERA5_pl$ua
va_pl <- ERA5_pl$va

zg_pl <- ERA5_pl$z

res <- Bulk_Richardson_Number(
  ta_s, hus_s, pa_s, ua_s, va_s, zg_s,
  ta_pl, hus_pl, pa_pl, ua_pl, va_pl, zg_pl,
  vtc = TRUE
)