beamToXyzAdp | R Documentation |
Convert ADP velocity components from a beam-based coordinate system to a xyz-based coordinate system. The action depends on the type of object. Objects creating by reading RDI Teledyne, Sontek, and some Nortek instruments are handled directly.
beamToXyzAdp(x, debug = getOption("oceDebug"))
x |
an adp object. |
debug |
an integer specifying whether debugging information is
to be printed during the processing. This is a general parameter that
is used by many |
For a 3-beam Nortek aquadopp
object, the beams are transformed into
velocities using the matrix stored in the header.
For 4-beam objects (and for the slanted 4 beams of 5-beam
objects), the along-beam velocity components B_1
B_2
, B_3
, and B_4
are converted to Cartesian velocity components u
v
and w
using formulae from section 5.5 of RD Instruments (1998), viz. the
along-beam velocity components B_1
, B_2
, B_3
,
and B_4
are used to calculate velocity components in a cartesian
system referenced to the instrument using the following formulae:
u=ca(B_1-B_2)
, v=ca(B_4-B_3)
,
w=-b(B_1+B_2+B_3+B_4)
. In addition to these,
an estimate of the
error in velocity is computed as
e=d(B_1+B_2-B_3-B_4)
.
The geometrical factors in these formulae are:
c
is +1 for convex beam geometry or -1 for concave beam geometry,
a=1/(2\sin\theta)
where \theta
is the angle the beams make to the axial direction
(which is available as x[["beamAngle"]]
),
b=1/(4\cos\theta)
, and
d=a/\sqrt{2}
.
An object with the first 3 velocity indices having been altered to
represent velocity components in xyz (or instrument) coordinates. (For
rdi
data, the values at the 4th velocity index are changed to
represent the "error" velocity.)
To indicate the change, the value of x[["oceCoordinate"]]
is
changed from beam
to xyz
.
Dan Kelley
Teledyne RD Instruments. “ADCP Coordinate Transformation: Formulas and Calculations,” January 2010. P/N 951-6079-00.
WHOI/USGS-provided Matlab code for beam-enu transformation
http://woodshole.er.usgs.gov/pubs/of2005-1429/MFILES/AQDPTOOLS/beam2enu.m
See read.adp()
for other functions that relate to
objects of class "adp"
.
Other things related to adp data:
[[,adp-method
,
[[<-,adp-method
,
ad2cpCodeToName()
,
ad2cpHeaderValue()
,
adp
,
adp-class
,
adpAd2cpFileTrim()
,
adpConvertRawToNumeric()
,
adpEnsembleAverage()
,
adpFlagPastBoundary()
,
adpRdiFileTrim()
,
adp_rdi.000
,
applyMagneticDeclination,adp-method
,
as.adp()
,
beamName()
,
beamToXyz()
,
beamToXyzAdpAD2CP()
,
beamToXyzAdv()
,
beamUnspreadAdp()
,
binmapAdp()
,
enuToOther()
,
enuToOtherAdp()
,
handleFlags,adp-method
,
is.ad2cp()
,
plot,adp-method
,
read.adp()
,
read.adp.ad2cp()
,
read.adp.nortek()
,
read.adp.rdi()
,
read.adp.sontek()
,
read.adp.sontek.serial()
,
read.aquadopp()
,
read.aquadoppHR()
,
read.aquadoppProfiler()
,
rotateAboutZ()
,
setFlags,adp-method
,
subset,adp-method
,
subtractBottomVelocity()
,
summary,adp-method
,
toEnu()
,
toEnuAdp()
,
velocityStatistics()
,
xyzToEnu()
,
xyzToEnuAdp()
,
xyzToEnuAdpAD2CP()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.