Convert From Beam to XYZ Coordinates (AD2CP adp Data)
Source:R/adp.nortek.ad2cp.R
beamToXyzAdpAD2CP.RdThis looks at all the items in the data slot of x, to
see if they contain an array named v that holds velocity.
If that velocity has 4 components, and if oceCoordinate for
the item is "beam", then
along-beam velocity components \(B_1\)
\(B_2\), \(B_3\), and \(B_4\)
are converted to instrument-oriented Cartesian velocity components \(u\)
\(v\) and \(w\)
using the convex-geometry formulae from section 5.5 of reference 1,
viz.
\(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:
\(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}\).
Usage
beamToXyzAdpAD2CP(x, debug = getOption("oceDebug"))Arguments
- 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
ocefunctions. Generally, settingdebug=0turns off the printing, while higher values suggest that more information be printed. If one function calls another, it usually reduces the value ofdebugfirst, so that a user can often obtain deeper debugging by specifying higherdebugvalues.
References
Teledyne RD Instruments. “ADCP Coordinate Transformation: Formulas and Calculations,” January 2010. P/N 951-6079-00.
See also
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(),
beamToXyzAdp(),
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()