## S3 method for class 'adp':
plot(x, which=1:dim(x$data$ma$v)[3],
col=oce.colors.palette(128,1), zlim,
titles,
ytype=c("profile", "distance"),
adorn=NULL,
draw.time.range=getOption("oce.draw.time.range"),
mgp=getOption("oce.mgp"),
mar=c(mgp[1],mgp[1]+1,1,1/4),
margins.as.image=FALSE,
cex=1,
debug=getOption("oce.debug"),
...)
adp
object, e.g. as read by read.adp
.which
.oce.colors.two
palette blends from blue for negative
values, through white at zero, to red at positive values; see
zlim
parameter to the
imagep
call that is used to create the image. If
omitted, zlim
is set for each panel individually, to
encompass the data"distance"
, then the y
axis will be distance from the sensor head, with smaller distances
nearer the bottom of the graph. If "pro
par(mgp)
, and
also for par(mar)
, computed from this. The default is
tighter than the R default, in order to use more space for the data
and less for the axes.par("mar")
.TRUE
to put a wide margin to the
right of time-series plots, even if there are no images in the which
list. (The margin is made wide if there are some images in the sequence.)par("cex")
.which
argument.
which=1
yield a distance-time image plot of a
velocity component. Ifx
is inbeam
coordinates
(signalled byx$metadata$oce.coordinate=="beam"
), this will
be the first beam. Ifx
is in xyz coordinates (sometimes
called frame coordinates, or ship coordinates), it will be the
velocity component to the right of
the frame or ship (labelledu
). Ifx
is in"enu"
coordinates, the image will show the the eastward
component (labelledeast
). Ifx
is in"other"
coordinates, it will be component corresponding to
east, after rotation (labelledu'
). Note that the
coordinate is set byread.adp
, or byadp.beam2xyz
,adp.xyz2enu
,
oradp.enu2other
.which=2
is as forwhich=1
, but for the second
beam, forward velocity component, northward velocity component, or
rotated north velocity component, depending on the coordinates ofx
.which=3
is as forwhich=1
, but for third beam,
up-frame velocity component, upward velocity component, or rotated
upward velocity component.which=4
is as forwhich=1
, but for the fourth
beam forbeam
coordinates, or for the estimate velocity
error, for all other coordinate systems. (This is ignored unless
there are 4 beams.)which=5:7
(or5:8
for 4-beam data) yields
distance-time images of backscatter intensity of beams 1 through 3
(or 4), respectively.which=9:11
(or9:12
for 4-beam data) yields
distance-time images of signal quality for the respective beams.which=13
yields a time-series plot of salinity.which=14
yields a time-series plot of temperature.which=15
yields a time-series plot of pressure.which=16
yields a time-series plot of instrument heading.which=17
yields a time-series plot of instrument pitch.which=18
yields a time-series plot of instrument roll.which=19
yields a time-series plot of
distance-averaged velocity for beam 1, rightward velocity,
eastward velocity, or rotated-eastward velocity, depending on the
coordinate system.which=20
yields a time-series of distance-averaged
velocity for beam 2, foreward velocity, northward velocity, or
rotated-northward velocity, depending on the coordinate system.which=21
yields a time-series of distance-averaged
velocity for beam 3, up-frame velocity, upward velocity, or
rotated-upward velocity, depending on the coordinate system.which=22
yields a time-series of distance-averaged
velocity for beam 4, forbeam
coordiantes, or velocity
estimate, for other coordinates. (This is ignored for 3-beam
data.)which=23
yields a progressive-vector diagram in the
horizontal plane. (This only makes sense inenu
orother
coordinate systems.)which=24
yields a time-averaged profile of the first
component of velocity (seewhich=19
for the meaning
of the component, in various coordinate systems).which=25
as for 24, but the second component.which=26
as for 24, but the third component.which=27
as for 24, but the fourth component (if that makes sense, for the given instrument). The color scheme for image plots (which
in 1:12) is provided
by the col
argument, which is passed to image
to
do the actual plotting. See
A common quick-look plot to assess mooring movement is to use
which=15:18
(pressure being included to signal the tide, and
tidal currents may dislodge a mooring or cause it to settle).
By default, plot.adp
uses a zlim
value for the
image
that is constructed to contain all the data, but
to be symmetric about zero. This is done on a per-panel basis, and
the scale is plotted at the top-right corner, along with the name of
the variable being plotted. You may also supply zlim
as one of
the ...arguments, but be aware that a reasonable limit on
horizontal velocity components is unlikely to be of much use for the
vertical component.
A good first step in the analysis of measurements made from a moored
device (stored in d
, say) is to do plot(d, which=14:18)
.
This shows time series of water properties and sensor orientation,
which is helpful in deciding which data to trim at the start and end
of the deployment, because they were measured on the dock or on the
ship as it travelled to the mooring site.
read.oce
, which
is usually able to detect the type of instrument. If that fails, the user
should try read.adp.rdi
(for RDI files)
or read.adp.nortek
(for NorTek files). These files may be in beam coordinates,
in xyz coordinates, or in enu coordinates. It is common in a scientific
setting to use beam coordinates, and so this package offers functions
adp.beam2xyz
and
adp.xyz2enu
to take the intermediate steps, and
adp.enu2other
to go further, e.g. to rotate into
a coordinate system aligned with the shoreline or with an isobath.The beam stength may be corrected for R-squared spreading with
adp.beam.attenuate
.
Summaries of ADP data are provided by summary.adp
.
ADP data may be plotted with plot.adp
.
library(oce)
data(adp)
e <- adp.xyz2enu(adp.beam2xyz(adp))
plot(e, which=1:3)
# Illustrate adornment
plot(e, which=1:2,
adorn=expression({
abline(v=as.POSIXct('2008-06-26 06:00:00',tz='UTC'),col='green',lwd=3)
lines(x$data$ts$time, x$data$ts$pressure, lwd=3, col='blue')
}))
Run the code above in your browser using DataLab