# How do I calculate current speed and direction from the ADCP velocity components?

FollowAn instrument will have as many velocity vectors as the number of beams. A three beam instrument will thus provide three velocity components, regardless of the chosen coordinate system (see the FAQ What are the different coordinate systems and how are they defined? for more information about the coordinate systems). Four beam instruments will provide four velocity components (see the FAQ What is the difference between Z1 and Z2?). The preferred coordinate system may be specified in deployment software when configuring the instrument. You can also convert between coordinate systems in post processing.

From the velocity components you can easily calculate current speed and direction. The formulas are included below. Note that only the horizontal velocity components are used in the calculations, so that the resulting speed and direction is only in the EN-plane for ENU coordinates, and in the XY-plane for the XYZ coordinates.

**Speed** is found by making use of the Pythagorean theorem. The unit is m/s. East, North, X, and Y are the respective velocity components from the collected data.

ENU: Speed = sqrt(East^2 + North^2)

XYZ: Speed = sqrt(X^2 + Y^2)

**Direction** is calculated based on the familiar θ=arctan(a/b). In order to know the correct quadrant that the computed angle belongs in, one has to use the four-quadrant inverse tangent arctan2. 180/pi converts from radians to degrees and modulo (mod) is taken in order to avoid negative degrees. Just like a compass, currents flowing towards the North are reported as 0° and towards the East as 90°. Note that the X,Y convention is reversed for Excel vs Matlab, both are shown here as examples.

Excel

ENU: MOD(ATAN2(North,East)*180/PI,360)

XYZ: MOD(ATAN2(Y,X)*180/PI,360)

Matlab

ENU: mod(atan2(East,North)*180/pi,360)

XYZ: mod(atan2(X,Y)*180/pi,360)

## Comments

0 comments

Article is closed for comments.