Flag variables with the same dimension of v in an adp object that are beyond the water column boundary while retaining existing flags. Currently, this operation can only be performed on adp objects that contain bottom ranges. Commonly, handleFlags() would then be used to remove such data.

adpFlagPastBoundary(
  x = NULL,
  fields = NULL,
  df = 20,
  trim = 0.15,
  good = 1,
  bad = 4,
  debug = getOption("oceDebug")
)

Arguments

x

an adp object containing bottom ranges.

fields

a variable contained within x indicating which field to flag. If NULL (the default) then adpFlagPastBoundary() applies itself to all flag fields that have the same dimensionality as v in the data slot.

df

the degrees of freedom to use during the smoothing spline operation.

trim

a scale factor for boundary trimming (see “Details”).

good

number stored in flags to indicate good data.

bad

number stored in flags to indicate bad data.

debug

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.

Value

adpFlagPastBoundary returns an adp object with flags adjusted in the specified fields if data are beyond the water column boundary.

Details

If the object's oceCoordinate is "beam", this works by using smooth.spline() on the time-dependent bottom ranges, beam-by-beam. If oceCoordinate is "enu", "xyz", or "other", a smooth.spline() is used on a time-dependent bottom range averaged across all the beams. The df value of the present function is passed to smooth.spline(), as a way to control smoothness. Once this is done, data within distance of \(1-trim\) multiplied by the bottom range are flagged as being bad. The default value of trim is 0.15, which is close to the value (0.134) of \(1-cos(angle*pi/180)\), with angle=30 as the beam angle in degrees.

Author

Jaimie Harbin, Clark Richards, and Dan Kelley