Velocity gradient diagnostics: vorticity, divergence, strain, Okubo-Weiss
Source:R/deformation.R
flow_deformation.RdDerives the local structure of a flow from the four horizontal derivatives of its velocity components. Together these say whether a parcel of water is spinning, converging, being pulled apart, or some combination.
Usage
flow_deformation(
env_dat,
u = "UO",
v = "VO",
measures = c("vorticity", "divergence", "strain_rate", "okubo_weiss"),
suffix = ""
)Arguments
- env_dat
an
sfPOINT object with one row per location and time step, as datamatch's access functions return- u
name of the eastward velocity column, in m/s
- v
name of the northward velocity column, in m/s
- measures
which diagnostics to add. Any of
"vorticity","divergence","normal_strain","shear_strain","strain_rate","okubo_weiss"and"rossby"- suffix
appended to each measure to name its column
Value
env_dat with one column per requested measure. Vorticity,
divergence and the strains are in s^-1, Okubo-Weiss in s^-2, and the Rossby
number is dimensionless
Details
All are instantaneous and local: they describe the flow in one cell at one
time step, and need no history. That places them between eke(), which needs
a series to form an anomaly, and ftle() and fsle(), which advect particles
through many steps. Where those two answer "how variable is this place" and
"where do trajectories separate", these answer "what is the flow doing here,
right now".
The measures
Writing the derivatives of eastward u and northward v with respect to
eastward x and northward y:
vorticity, \(\zeta = \partial v/\partial x - \partial u/\partial y\), is rotation. Positive is counter-clockwise (cyclonic in the northern hemisphere), which in an eddy means upwelling at its core.
divergence, \(\partial u/\partial x + \partial v/\partial y\), is spreading. Negative is convergence, where surface water piles up and sinks, and where buoyant particles and floating material accumulate.
normal_strain, \(\partial u/\partial x - \partial v/\partial y\), and shear_strain, \(\partial v/\partial x + \partial u/\partial y\), stretch a parcel along the axes and diagonally.
strain_rate is their magnitude, the total rate of deformation.
okubo_weiss, \(W = S_n^2 + S_s^2 - \zeta^2\), compares the two. Negative means rotation wins, which is the interior of a coherent eddy. Positive means strain wins, which is the filaments between eddies where water is drawn out into long thin structures.
rossby is \(\zeta/f\), vorticity as a fraction of planetary rotation. It is the dimensionless version, so it can be compared between latitudes, and values approaching 1 mean the flow is fast enough for the usual geostrophic balance to be breaking down.
What it cannot tell you
These are single-time-step quantities, so a large value means the flow is
deforming now, not that it has been or will be. A coherent eddy that persists
for weeks and a momentary filament can carry the same Okubo-Weiss value.
Persistence is what ftle() and fsle() measure, at much greater cost.
The derivatives are central differences, so like every gradient in this
package the outermost ring of cells is NA, and the values are only as
smooth as the grid. On a coarse product a real eddy smaller than a few cells
will not appear at all.
References
Okubo A (1970). Horizontal dispersion of floatable particles in the vicinity of velocity singularities such as convergences. Deep-Sea Research and Oceanographic Abstracts 17(3), 445-454. doi:10.1016/0011-7471(70)90059-8
Weiss J (1991). The dynamics of enstrophy transfer in two-dimensional hydrodynamics. Physica D: Nonlinear Phenomena 48(2-3), 273-294. doi:10.1016/0167-2789(91)90088-Q
Isern-Fontanet J, Garcia-Ladona E, Font J (2003). Identification of marine eddies from altimetric maps. Journal of Atmospheric and Oceanic Technology 20(5), 772-778. doi:10.1175/1520-0426(2003)20<772:IOMEFA>2.0.CO;2