Data-quality flags are stored in the metadata
slot of oce-class
objects in a
list
named flags
.
The present function (a generic that has specialized versions
for various data classes) provides a way to
manipulate the core data based on
the data-quality flags. For example, a common operation is to replace suspicious
or erroneous data with NA
.
If metadata$flags
in the object supplied as the first argument
is empty, then that object is returned, unaltered.
Otherwise, handleFlags
analyses the data-quality flags within
the object, in relation to the flags
argument, and interprets
the action
argument to select an action to be applied to matched
data.
Reasonable defaults are used if flags
and actions
are not supplied (see ‘Details’),
but different schemes are used in different
data archives, so it is risky to rely on these defaults.
It is usually necessary to tailor flags
and actions
to the data and the analysis goals.
handleFlags(object, flags = NULL, actions = NULL,
debug = options("oceDebug"))
An object of oce
.
An optional list
containing (a)
items with names of entries in the data
slot of object
,
or (b) a single unnamed item. In the first case, the attention is
focussed on the named items, while in the second case the
all the data in the object
's data
slot are examined.
Each element in the list must be set to an integer or vector of integers,
specifying conditions to be met before actions are to be taken.
See “Details” for the default that is used if flags
is not supplied.
An optional list
that contains items with
names that match those in the flags
argument. If actions
is not supplied, the default will be to set all values identified by
flags
to NA
; this can also be specified by
specifying actions=list("NA")
. It is also possible to specify
functions that calculate replacement values. These are provided
with object
as the single argument, and must return a
replacement for the data item in question.
See “Details” for the default that is used if actions
is not supplied.
An optional integer specifying the degree of debugging, with
value 0 meaning to skip debugging and 1 or higher meaning to print some
information about the arguments and the data. It is usually a good idea to set
this to 1 for initial work with a dataset, to see which flags are being
handled for each data item. If not supplied, this defaults to the value of
getOption("oceDebug")
.
Each specialized variant of this function has its own defaults
for flags
and actions
.
Other functions that handle data-quality flags: handleFlags,argo-method
,
handleFlags,ctd-method
,
handleFlags,section-method