
Horizontal Gradient
gradient.Rd
This function calculates the horizontal gradient (dVar/dx, dVar/dy) of a 4D variable [lon, lat, lev, time] using finite differences.
Value
A list with two 4D arrays:
grad_x
: The gradient in the x (longitude) direction [lon, lat, lev, time].grad_y
: The gradient in the y (latitude) direction [lon, lat, lev, time].
Details
The derivatives are approximated using finite differences. Grid spacing is computed using Haversine formula.
Examples
data("ERA5_pl")
ua <- ERA5_pl$ua
va <- ERA5_pl$va
lon <- ERA5_pl$lon
lat <- ERA5_pl$lat
grad_ua <- gradient(ua, lon, lat)
grad_va <- gradient(va, lon, lat)
div <- divergence(
ua, va,
lon, lat
)
div2 <- grad_ua$grad_x +
grad_va$grad_y
identical(div, div2)
#> [1] TRUE