track | R Documentation |
Applies a tracking algorithm to a set of cyclones (CCI
).
track(x, ...)
X |
An 'events' object containing temporal and spatial information about a set of cyclones or anticyclones. |
x0 |
A tracked 'events' object from previous time steps, used as a starting point for the tracking of X so that trajectories can continue from x0 to X. |
it |
A list providing time index, e.g. month. |
is |
A list providing space index, lon and/or lat. |
dmax |
Maximum displacement of events between two time steps. Unit: m. |
f.d |
Relative weight of the total displacement criterion in finding the most probable trajectories. |
f.dd |
Relative weight of the change in displacement as a criterion in finding the most probable trajectories. |
f.da |
Relative weight of the change in direction (angle) as a criterion in finding the most probable trajectories. |
nmax |
Maximum total lifetime of a trajectory. Unit: number of time steps. |
nmin |
Minimum total lifetime of a trajectory. Unit: number of time steps. |
dmin |
Minimum total length of a trajectory. Unit: m. |
plot |
If TRUE, show plots of trajectories for selected time steps. |
progress |
If TRUE, show progress bar. |
verbose |
If TRUE, print out diagnosics. |
The algorithm connects events in three subsequent time steps, chosing the path that minimizes the total displacement as well as the change in angle and displacement between them. The relative weight of these criteria can be adjusted. The analysis can be applied to 'events' objects.
Note: The algorithm has been developed for tracking midlatitude cyclones in the northern hemisphere and may not work as well for other regions or 'events' of different types, e.g., anti-cyclones.
An 'events' object containing the original information as well as the trajectory number ('trajectory') of each event and statistical properties of the trajectories ('trackcount' - number of events in path; 'tracklen' - distance between start and end point of path').
K. Parding
CCI,as.trajectory
# Load sample data to use for example
# ERA5 6-hourly SLP data from the North Atlantic region, 2016-09-15 to 2016-10-15
data(slp.ERA5)
## Cyclone identification
Cstorms <- CCI(slp.ERA5, m=20, label='ERA5', pmax=1000, verbose=TRUE, plot=FALSE)
## Cyclone tracking
Ctracks <- track(Cstorms, plot=FALSE, verbose=TRUE)
## Map with points and lines showing the cyclone centers and trajectories
map(Ctracks, type=c("trajectory","points"), col="blue", new=FALSE)
## Map with only the trajectory and start and end points
map(Ctracks, type=c("trajectory","start","end"), col="red", new=FALSE)
## Map showing the cyclone depth (slp) as a color scale (rd = red scale)
map(Ctracks, param="pcent", type=c('trajectory','start'),
colbar=list(pal="rd", rev=TRUE, breaks=seq(980,1010,5)),
alpha=0.9, new=FALSE)
## Select only the long lasting trajectories...
Ct <- subset(Ctracks, ic=list(param='trackcount', pmin=12) )
map(Ct, new=FALSE)
## ...or only the long distance ones...
Ct <- subset(Ctracks, ic=list(param='tracklength', pmin=3000) )
map(Ct, new=FALSE)
## ...or only the deep cyclones
Ct <- subset(Ctracks, ic=list(param='pcent', pmax=980) )
map(Ct, new=FALSE)
## Map of cyclone trajectories with the slp field in background
cb <- list(pal="budrd",breaks=seq(990,1040,5))
map(Ctracks, Y=slp.ERA5, it=as.POSIXct("2016-09-30 19:00"), colbar=cb,
verbose=TRUE, new=FALSE)
## Transform the cyclones into a 'trajectory' object which takes up less space
Ctraj <- as.trajectory(Ctracks)
map(Ctraj, new=FALSE)
print(object.size(Ctracks), units="auto")
print(object.size(Ctraj), units="auto")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.