ctdDecimate {oce} | R Documentation |
Interpolate a CTD profile to specified pressure values.
ctdDecimate(x, p=1, method="boxcar", 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 |
e |
is an expansion coefficient used to calculate the local
neighbourhoods for the |
debug |
a Boolean, set to |
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.)
NB. 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 class
"ctd"
, with pressures that
are as set by the "p"
parameter and all other properties modified
appropriately.
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.
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), p)$y) lines(ctd3[["salinity"]], ctd3[["pressure"]], col="red")