Data subscription type: ADCP Geo Velocity
There are four separate ADCP geo velocity data subscription types. The geo velocity is relative to the earth coordinates and orientation. Both input and output strings are equivalent for all of them. Only the data subscription strings differ.
Input
The data subscription strings are:
•  VelocityNorth
•  VelocityEast
•  VelocityVertical
•  VelocityGeo
•  Type = The variant type as defined for certain programming languages
–  VT_BSTR = Text string
–  V_R8 = double, 8 bytes
–  VT_I4 = Integer 4 bytes
•  R/O = Read only
•  N/A = not applicable
•  If no value is provided in the XML input string, the example value in each table is used as default.
CellsNumber
Description Range Unit Type R/O
If the depth range is selected to be individual for each channel, this parameter sets the range for specified channel. <0,10000> m VT_I4 N/A
Example: 500
StopAtBottom
Description Range Unit Type R/O
This is the start range for the selected channel. <0,10000> m VT_I4 N/A
Example: 10
Output
struct StructVelocity
  {
  StructVelocityHeader VelocityHeader;
  StructVelocityData VelocityData;
  };
struct StructVelocityHeader
  {
  double range; // (m)
  double rangeStart; // (m)
  double BottomDepth; // (m) This is the detected bottom depth.
  int errorCode; // (dB) Defined error codes
  };
struct StructVelocityData
  {
  int numValidVelocities;
  StructVelocityVectorHcs Velocities[2500];
  };
struct StructVelocityVectorHcs
  {
  float x; // (m): Velocity measured in x, y, z direction relative to the vessel.
  float y;
  float z;
  };
•  CellsNumber (): 1–2500, default is 1000
•  StopAtBottom (): Number identifying bottom detection function, full range (0), stop at first hit (1), stop at last hit (2).
Subscription string example
Example 1 VelocityNorth Example 2 VelocityGeo
ADCP,
VelocityNorth,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=2000,
StopAtBottom=1,
ADCP,
VelocityGeo,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=2000,
StopAtBottom=1,
Example 3 VelocityEast Example 4 VelocityVertical
ADCP,
VelocityEast,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=1200,
StopAtBottom=2,
ADCP,
VelocityVertical,
ChannelID=<ChannelID>,
Range=100,
Rangestart=10,
CellsNumber=1000,
StopAtBottom=1,