ctdDecimate {oce} | R Documentation |
Interpolate a CTD profile to specified pressure values.
ctdDecimate(x, p = 1, method = "boxcar", rule = 1, e = 1.5, debug = getOption("oceDebug"))
x |
A |
p |
pressure increment, or vector of pressures. In the first case,
pressures from 0dbar to the rounded maximum pressure are used, incrementing by
|
method |
the method to be used for calculating decimated values. This may
be a function or a string naming a built-in method. The built-in methods are
|
rule |
an integer that is passed to |
e |
is an expansion coefficient used to calculate the local neighbourhoods
for the |
debug |
an integer specifying whether debugging information is
to be printed during the processing. This is a general parameter that
is used by many |
The "approx"
method is best for bottle data, in which the usual task is
to interpolate from a coarse sampling grid to a finer one. For CTD data, the
"boxcar"
method is the more common choice, because the task is normally
to sub-sample, and some degree of smoothing is usually desired. (The
"lm"
method is quite slow, and the results are similar to those of the
boxcar method.)
Note that a sort of numerical cabeling effect can result from this procedure, but it can be avoided as follows
xd <- ctdDecimate(x) xd[["sigmaTheta"]] <- swSigmaTheta(xd[["salinity"]],xd[["temperature"]],xd[["pressure"]])
An object of ctd-class
, with pressures that are as set by
the "p"
parameter and all other properties modified appropriately.
Data-quality flags contained within the original object are ignored by this
function, and the returned value contains no such flags. This is because such
flags represent an assessment of the original data, not of quantities derived
from those data. This function produces a warning to this effect. The
recommended practice is to use handleFlags
or some other means to
deal with flags before calling the present function.
Dan Kelley
R.F. Reiniger and C.K. Ross, 1968. A method of interpolation with application to oceanographic data. Deep Sea Research, 15, 185-193.
The documentation for ctd-class
explains the structure of
CTD objects, and also outlines the other functions dealing with them.
Other things related to ctd
data: [[,ctd-method
,
[[<-,ctd-method
, as.ctd
,
cnvName2oceName
, ctd-class
,
ctdFindProfiles
, ctdRaw
,
ctdTrim
, ctd
,
handleFlags,ctd-method
,
oceNames2whpNames
,
oceUnits2whpUnits
,
plot,ctd-method
, plotProfile
,
plotScan
, plotTS
,
read.ctd.itp
, read.ctd.odf
,
read.ctd.sbe
,
read.ctd.woce.other
,
read.ctd.woce
, read.ctd
,
subset,ctd-method
,
summary,ctd-method
,
woceNames2oceNames
,
woceUnit2oceUnit
, write.ctd
library(oce) data(ctd) plotProfile(ctd, "salinity", ylim=c(10, 0)) p <- seq(0, 45, 1) ctd2 <- ctdDecimate(ctd, p=p) lines(ctd2[["salinity"]], ctd2[["pressure"]], col="blue") p <- seq(0, 45, 1) ctd3 <- ctdDecimate(ctd, p=p, method=function(x, y, xout) predict(smooth.spline(x, y, df=30), xout)$y) lines(ctd3[["salinity"]], ctd3[["pressure"]], col="red")