knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Plotting to ensure data viability in ADCP data processing

A guide on how to plot various elements and identify problems with a dataset

This guide is intended to act as a reference for data processors when dealing with complex ADCP data. Alhtough processing scripts can simply quality control there is also a necessary human element in order to verify processing and ensure the highest quality of data.

Plotting Pressure

Plotting pressure can be an extremely useful tool for identifying edges of deployment within an ADCP data set. If there are pressure spikes on either side of the data set then it is likely required to trim more off the edges in order to isolate the highest quality data measured when the instrument was fully in position. This is especially true of moored data but can be used as a n indicator in other cases as well. ADCP pressure measurements can also sometimes be erroneous depending on the instrumentation. This can be a beneficial tool to check if the pressure values are reasonable and match with known depth of instrument from mooring logs or other experience.

In order to plot pressure from an adp object in oce use the following call:

data(adp) #read in sample data
plot(adp, which = 15) #plot pressure values

It may be beneficial to make this plot multiple times, before and after trimming deployment edges. It may also be beneficial to plot and examine pressure data from nearby moored instruments to verify data.

Bin by Bin plotting

Bin by bin plotting can be useful in analyzing individual depths of adcp variables and comparing over a timeseries. what are yyou looking for

This can be achieved with the function plotBin(), see help file for more information.

pdf(paste('binbybinplot', adp[['mooring_number']], sep = '_'), width = 7, height = 3)
plotBin(adp@data$v[,,1])
dev.off()

This example saves the bin plots to a pdf which can then be printed with multiple plots per page (using print settings from pdf viewer). This is ideal for directly comparing each bin plot.

This function produces a series of plots with each plot representing an individual depth bin within the chosen variable. It may be most useful to use this function when anylyzing velocity components, echo intensity and error indicators such as percent good.

Average Echo Intensity

This plot will show time averaged echo intensity plotted against bin. Any significant deviations between beam lines may indicate side lobe(The effect of accoustic beams bouncing off instruments which are tethered to a mooring directly above an ADCP, they can interfere with signals and cause small bumbs in intensity around the lower or middle bins) or a more serious error within the instrument.

function

plot_ei(adp)

Example plot with oce sample datatset:

library(oce)
data(adp)
echoint <- adp[['a', 'numeric']]
  a1 <- echoint[,,1]
  a2 <- echoint[,,2]
  a3 <- echoint[,,3]
  a4 <- echoint[,,4]
  #create time averaged mean values for each bin and beam
  a1m <- colMeans(a1, na.rm = TRUE)
  a2m <- colMeans(a2, na.rm = TRUE)
  a3m <- colMeans(a3, na.rm = TRUE)
  a4m <- colMeans(a4, na.rm = TRUE)
  #number of bins calculated
  bins <- c(1:length(a1m))
  #plot means by bin
  plot(a1m, bins, xlim = c(0, 255) , type = 'l', xlab = 'Echo Intensity', ylab = 'Bin Number')
  lines(a2m, bins, xlim = c(0,255) , type = 'l', col = 'red', xlab= '', ylab = '' )
  lines(a3m, bins, xlim = c(0, 255), type = 'l', col = 'green', xlab = '', ylab = '')
  lines(a4m, bins, xlim = c(0, 255), type = 'l', col = 'blue', xlab = '', ylab = '')
  legend('topright' , legend = c('Beam 1', 'Beam 2', 'Beam 3', 'Beam 4'), col = c('black', 'red', 'green', 'blue'), lty = 1, cex = 0.6)

This is an example of a data set which is quite high quality however you can still see some deviation at the surface where beams begin to be contaminated and intensity suddenly spikes. Th enormal pattern would be for echo intensity to continuously decrease with increasing bin number. As beams are travelling further, the intensity of the return signal becomes dimmer. The sudden spike can often indicate contamination or interference from the surface of the water. It can also be common to see small bumps or spike along the beams in the centre of the water column which can be due to side lobe.



Echisholm21/adp documentation built on May 20, 2019, 9:12 p.m.