pvtend.helmholtz.compute_vorticity_divergence

pvtend.helmholtz.compute_vorticity_divergence(u: ndarray, v: ndarray, dx: ndarray, dy: float, lat: ndarray | None = None, R_earth: float = 6371000.0) tuple[ndarray, ndarray][source]

Spherical vorticity and divergence.

\[ \begin{align}\begin{aligned}\zeta = \partial v/\partial x - \partial u/\partial y + u \tan\varphi / a\\\delta = \partial u/\partial x + \partial v/\partial y - v \tan\varphi / a\end{aligned}\end{align} \]

Uses periodic zonal BCs (matching the full-NH ring) and one-sided differences at the meridional boundaries, via derivatives.ddx() and derivatives.ddy().

Parameters:
  • u – Zonal wind, shape (nlat, nlon).

  • v – Meridional wind, shape (nlat, nlon).

  • dx – Zonal grid spacing [m]. Scalar or array of shape (nlat,).

  • dy – Meridional grid spacing [m].

  • lat – Latitude in degrees, shape (nlat,). When None the spherical metric terms (tan φ / a) are omitted (flat-earth fallback, deprecated).

  • R_earth – Earth radius [m].

Returns:

(vorticity, divergence) — each (nlat, nlon).