zoc {diveMove}R Documentation

Interactive zero-offset correction of "TDR" data

Description

Correct zero-offset in TDR records, with the aid of a graphical user interface (GUI), allowing for dynamic selection of offset and multiple time windows to perform the adjustment.

Usage

zoc(time, depth, offset)
plotTD(time, depth, concurVars=NULL, xlim=NULL, depth.lim=NULL,
       xlab="time (dd-mmm hh:mm)", ylab.depth="depth (m)",
       concurVarTitles=deparse(substitute(concurVars)),
       xlab.format="%d-%b %H:%M", sunrise.time="06:00:00",
       sunset.time="18:00:00", night.col="gray60",
       phaseCol=NULL, interact=TRUE, key=TRUE, cex.pts=0.4, ...)

Arguments

time POSIXct object with date and time.
depth Numeric vector with depth in m.
offset Known amount of meters to subtract for zero-offset correcting depth throughout the entire TDR record.
concurVars Matrix with additional variables in each column to plot concurrently with depth.
xlim Vector of length 2, with lower and upper limits of time to be plotted.
depth.lim Numeric vector of length 2, with the lower and upper limits of depth to be plotted.
xlab, ylab.depth Strings to label the corresponding y-axes.
concurVarTitles Character vector of titles to label each new variable given in concurVars.
xlab.format Format string for formatting the x axis; see strptime.
sunrise.time, sunset.time Character string with time of sunrise and sunset, respectively, in 24 hr format. This is used for shading night time.
night.col Color for shading night time.
phaseCol Factor dividing rows into sections.
interact Logical; whether to provide interactive tcltk controls and access to the associated ZOC functionality.
key Logical indicating whether to draw a key.
cex.pts Passed to points to set the relative size of points to plot (if any).
... Arguments passed to par; useful defaults las=1, bty="n", and mar (the latter depending on whether additional concurrent data will be plotted) are provided, but they can be overridden.

Details

These functions are used primarily to correct, visually, drifts in the pressure transducer of TDR records. zoc calls plotDive, which plots depth and, optionally, speed vs. time with the possibility zooming in and out on time, changing maximum depths displayed, and panning through time. The option to zero-offset correct sections of the record gathers x and y coordinates for two points, obtained by clicking on the plot region. The first point clicked indicates the offset and beginning time of section to correct, and the second one indicates the ending time of the section to correct. Multiple sections of the record can be corrected in this manner, by panning through the time and repeating the procedure. In case there's overlap between zero offset corrected windows, the last one prevails.

Once the whole record has been zero-offset corrected, remaining points with depth values lower than zero, are turned into zeroes, as these are assumed to be values at the surface.

Value

zoc returns a numeric vector, as long as depth of zero-offset corrected depths.
plotTD returns (invisibly) a list with as many components as sections of the record that were zero-offset corrected, each consisting of two further lists with the same components as those returned by locator.

Author(s)

Sebastian P. Luque spluque@gmail.com, with many ideas from CRAN package sfsmisc.

See Also

calibrateDepth, and plotTDR.

Examples


data(divesTDR)

## Use interact=TRUE (default) to set the offset interactively
depth.zoc <- zoc(getTime(divesTDR), getDepth(divesTDR), offset=3)
plotTD(getTime(divesTDR), depth.zoc, interact=FALSE)


[Package diveMove version 0.9.5 Index]