This 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}\).

beamToXyzAdpAD2CP(x, debug = getOption("oceDebug"))



an adp object.


an integer specifying whether debugging information is to be printed during the processing. This is a general parameter that is used by many oce functions. Generally, setting debug=0 turns off the printing, while higher values suggest that more information be printed. If one function calls another, it usually reduces the value of debug first, so that a user can often obtain deeper debugging by specifying higher debug values.


  1. Teledyne RD Instruments. “ADCP Coordinate Transformation: Formulas and Calculations,” January 2010. P/N 951-6079-00.