 NCL Home > Documentation > Functions > Meteorology

# pot_vort_isobaric

Compute potential vorticity on isobaric levels and a global rectilinear grid. Available in version 6.3.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 pot_vort_isobaric (
p        [*] : numeric,
u            : numeric,
v            : numeric,
t            : numeric,
lat      [*] : numeric,
gridType  : integer,
opt       : integer
)

return_val [dimsizes(t)] :  float or double
```

## Arguments

p

Array containing pressure (Pa) levels. Must be 1D (lev)

u

Array containing zonal wind components (m/s). Must be 3D (lev,lat,lon) or 4D (time,lev,lat,lon). The array must be ordered south to north.

v

Array containing meridional wind components (m/s). Same size and shape as u.

t

Array containing temperatures (K). Same size and shape as u.

lat

Latitudes ordered south to north for the rectilinear grid.

gridType

Grid type: gridType=0 means gaussian grid; gridType=1 means regular or fixed grid. Both are rectilinear grids.

opt

• opt=0: return potential vorticity
• opt=1: return a list variable containing: potential vorticity, static stability, potential temperature

## Return value

A multi-dimensional array of the same size and shape as t. The output will be double if t is of type double.

## Description

Calculate the potential vorticity on isobaric levels on a global grid. The reason for the global grid is that highly accurate spherical harmonic functions are used to compute horizontal gradients.

```References:
Bluestein: Synoptic-Dynamic Meteorology in Midlatitudes pg 264  Eq 4.5.93

Note: A nice basic discussion of PV may be found at:
Mid-Latitude Atmospheric Dynamics: A First Course
Jonathan E. Martin, Wiley 2006,   QC880.M36   , pp276-onward
```

## Examples

Note: The dimension names are those used by the CESM. NCL does not care what the dimensions are named.

Worked potential vorticity examples are HERE.

Example 1: Here the data are south to north.

```
f   = addfile ("foo.nc", "r")
U   = f->U    ; (time,lev,lat,lon) or (lev,lat,lon)
V   = f->V
T   = f->T    ; K
lat = f->lat

lev = f->lev  ; hPa
lev = lev*100 ; convert units
lev@units = "Pa"

gridType  = 0       ; gaussian grid
opt = 0
PV = pot_vort_isobaric(lev,u,v,t,lat, gridType, opt)
```
Example 2 Here the data are ordered north to south. Most reanalysis data sets are ordered north to south. Use NCL syntax to reorder the data.
```
f   = addfile ("foo.nc", "r")
U   = f->U   ; (time,lev,lat,lon)
V   = f->V
T   = f->T    ; K

lev = f->lev  ; hPa
lev = lev*100 ; convert units
lev@units = "Pa"

U   = U(:,:,::-1,:)    ; reorder to South -> North
V   = V(:,:,::-1,:)
T   = T(:,:,::-1,:)

lat = T&lat
gridType  = 1          ; fixed grid
opt = 0

PV = pot_vort_isobaric(lev,u,v,t,lat, gridType, opt)   ; Potential Vorticity
```