Provides an advection field corresponding to a spiral motion to/from a specified reference point (sink).
advectionFspiral(spacepoints, x0, y0, a, b, rotation =1)
Arguments
spacepoints: vector of coordinates (2 x d), where d is the number of locations/grid points
x0: x coordinate of reference point (sink)
y0: y coordinate of reference point (sink)
a: parameter controlling the x component of rotational velocity
b: parameter controlling the y component of rotational velocity
rotation: parameter controlling the rotational direction. The following combinations hold:
if a > 0, b > 0, and direction = 1: spiraling CLOCKWISE TO (x0, y0)
if a < 0, b < 0, and direction = 1: spiraling COUNTER-CLOCKWISE FROM (x0, y0)
if a > 0, b > 0, and direction = 2: spiraling COUNTER-CLOCKWISE TO (x0, y0)
if a < 0, b < 0, and direction = 2: spiraling CLOCKWISE FROM (x0, y0)
Examples
library(ggquiver)library(ggplot2)## specify coordinatesm =25aux <- seq(0, m -1, length = m)coord <- expand.grid(aux, aux)af <- advectionFspiral(spacepoints = coord, x0 = floor(m /2), y0 = floor(m /2), a =3, b =2, rotation =1)## visualize advection fielddta <- data.frame(lon = coord[,1], lat = coord[,2], u = af[,1], v = af[,2])ggplot(dta, aes(x = lon, y = lat, u = u, v = v))+geom_quiver()+theme_light()
References
Papalexiou, S.M., Serinaldi, F., Porcu, E. (2021). Advancing Space-Time Simulation of Random Fields: From Storms to Cyclones and Beyond. Water Resources Research, 57, e2020WR029466, tools:::Rd_expr_doi("10.1029/2020WR029466")