## 3 Methods and Data
### Data Processing
The water surface elevation of each flow measurement sample was thus added to the dataset. The ADCP automatically compensates tilting of the sensor caused by movement of the boat using its internal inertial measurement unit (IMU). The tilt sensor of the ADCP has a angular resolution of 1\({}^{\circ}\). The RiverSurveyor ADCP measures one sample each second. A sample is one vertical measurement (ensemble) that is divided into a number of cells (bins). In effect, this splits each vertical into a number of measurements, each with its own flow direction and velocity. The number of cells per sample depends on water depth and is dynamically adjusted by the RiverSurveyor's internal algorithms. In practice, the cell size varies between 0.02 and 0.2 m.  
The raw flow velocity measurements for each cell for each beam for each sample were used to calculate 3D flow vectors for each measurement cell. Flow directions were calculated in degrees clockwise from north, and horizontal velocity was calculated using ENU velocity components. This allows representing velocity as a magnitude parameter independent of flow direction. In order to create a 3D point cloud of 3D flow data, the elevation of each measurement cell was calculated:  
\[C_{e}=W_{s}-C_{1}-((n-1)*C_{s})+C_{s}/2 \tag{2}\]  
where \(C_{e}\) is the elevation of a flow measurement cell; \(W_{s}\) is the Levelogger-based water surface elevation at the sample-specific location; \(C_{1}\) is the depth of the first measurement cell, that is the blanking distance (this varies for each sample, but is generally around 0.25 m); \(n\) is the number of cells in a given sample and \(C_{s}\) is the cell size of a given sample. This locates the sample elevation vertically in the center of the cell in question, in line with the conceptual location of ADCP measurements (_cf._ Section 3.1.1). Similarly, river bed elevation was calculated by subtracting measured depth from the water surface elevation. Thus, a point cloud of flow measurements was created, containing XYZ coordinates for each measurement, ENU coordinates of measured flow velocities, as well as flow velocity, direction, water surface, water depth, bed elevation and a UTC timestamp. These points were subsequently interpolated in 3D using MATLAB to create a regular 3D matrix of points to create an evenly-spaced point cloud that is somewhat easier to visually analyze than the raw measured data. The point cloud was interpolated at different densities: 1 m, 2 m, 3 m and 4 m horizontally and 0.2 m vertically. The best interpolation density among these was determined to be 3 m horizontally and 0.2 m vertically. This is closest to the actual spacing of the measured data when considering the spacing of the zig-zag pattern, and while creating a large number of points, it is computationally manageable and visually not overwhelming, so that interpretation of the flow patterns is actually possible. The vertical spacing was selected to correspond to the most common large cell size of the ADCP measurements. A 0.2-m vertical spacing also results in a fair number of layers in shallow water without being overwhelming in deeper sections. Figure 7 illustrates the spatial relation of the interpolated point cloud data to the originally measured point cloud data.