track: 3-step cyclone tracking algorithm.

View source: R/track.events.R

trackR Documentation

3-step cyclone tracking algorithm.

Description

Applies a tracking algorithm to a set of cyclones (CCI).

Usage

track(x, ...)

Arguments

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.

Details

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.

Value

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').

Author(s)

K. Parding

See Also

CCI,as.trajectory

Examples


# 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")


metno/esd documentation built on Sept. 9, 2024, 5:07 a.m.