# potential_vorticity_baroclinic#

metpy.calc.potential_vorticity_baroclinic(potential_temperature, pressure, u, v, dx=None, dy=None, latitude=None, x_dim=-1, y_dim=-2, vertical_dim=-3, *, parallel_scale=None, meridional_scale=None, longitude=None, crs=None)[source]#

Calculate the baroclinic potential vorticity.

$PV = -g \left(\frac{\partial u}{\partial p}\frac{\partial \theta}{\partial y} - \frac{\partial v}{\partial p}\frac{\partial \theta}{\partial x} + \frac{\partial \theta}{\partial p}(\zeta + f) \right)$

This formula is based on equation 4.5.93 [Bluestein1993]

Parameters:
Returns:

(…, P, M, N) xarray.DataArray or pint.Quantity – baroclinic potential vorticity

Notes

The same function can be used for isobaric and isentropic PV analysis. Provide winds for vorticity calculations on the desired isobaric or isentropic surface. At least three layers of pressure/potential temperature are required in order to calculate the vertical derivative (one above and below the desired surface). The first two terms will be zero if isentropic level data is used. This is because the gradient of theta in both the x and y-directions is zero when you are on an isentropic surface.

This function expects pressure/isentropic level to increase with increasing array element (e.g., from higher in the atmosphere to closer to the surface. If the pressure array is one-dimensional, and not given as xarray.DataArray, p[:, None, None] can be used to make it appear multi-dimensional.)

Changed in version 1.0: Changed signature from (potential_temperature, pressure, u, v, dx, dy, lats)