ctd-class dataset.
as.ctd(salinity, temperature = NULL, pressure = NULL, conductivity = NULL, scan = NULL, time = NULL, other = NULL, units = NULL, flags = NULL, missingValue = NULL, type = "", serialNumber = "", ship = "", cruise = "", station = "", startTime = NULL, longitude = NA, latitude = NA, deploymentType = "unknown", pressureAtmospheric = 0, sampleInterval = NA, debug = getOption("oceDebug"))salinity. (1) It can be a
vector indicating the practical salinity through the water column. In that case,
as.ctd employs the other arguments listed below. (2) It can be
something (a data frame, a list or an oce
object) from which practical
salinity, temperature, etc., can be inferred. In that case, the relevant information
is extracted and the other arguments to as.ctd are ignored, except for
pressureAtmospheric. Note that if this first argument is an
object of rsk-class, the present function merely passes
it and pressureAtmospheric to rsk2ctd, which
does the real work. (3) It can be unspecified, in which
case conductivity becomes a mandatory argument, because it will
be needed for computing actual salinity, using swSCTp.swRho.salinity and
temperature pair, or just a single pressure, which is repeated to match
the length of salinity.1:length(salinity).pressure, temperature, salinity,
and conductivity. Since these are simply guesses, users
are advised strongly to supply units. See Examples.list containing data-quality
flags. The elements of this list must have names that match the data
provided to the object.NA. Set to NULL to turn off this feature.POSIXt time, but it may also be a character string
that can be converted to a time with as.POSIXct,
using UTC as the timezone.metadata slot of the returned value; if it
is a vector of numbers, they are stored in data and a mean value is
stored in metadata.longitude argument."unknown" if this is not known, "profile" for a profile (in
which the data were acquired during a downcast, while the device was lowered
into the water column, perhaps also including an upcast; "moored" if
the device is installed on a fixed mooring, "thermosalinograph" (or
"tsg") if the device is mounted on a moving vessel, to record
near-surface properties, or "towyo" if the device is repeatedly
lowered and raised.salinity, if
that is to be computed from conductivity, etc., using
swSCTp (see salinity above).oce functions. Generally, setting debug=0
turns off the printing, while higher values suggest that more information
be printed.ctd-class.
rsk-class object, the pressure it
contains may need to be adjusted, because rsk objects may contain either
absolute pressure or sea pressure. This adjustment is handled automatically by
as.ctd, by examination of the metadata item named pressureType
(described in the documentation for read.rsk). Once the sea
pressure is determined, adjustments may be made with the
pressureAtmospheric argument, although in that case it is better
considered a pressure adjustment than the atmospheric pressure.rsk-class objects may store sea pressure or absolute pressure (the
sum of sea pressure and atmospheric pressure), depending on how the object was
created with as.rsk or read.rsk. However,
ctd-class objects store sea pressure, which is needed for
plotting, calculating density, etc. This poses no difficulities, however,
because as.ctd automatically converts absolute pressure to sea pressure,
if the metadata in the rsk-class object indicates that this is
appropriate. Further alteration of the pressure can be accomplished with the
pressureAtmospheric argument, as noted above.
ctd data: [[,ctd-method,
[[<-,ctd-method,
cnvName2oceName, ctd-class,
ctdDecimate, ctdFindProfiles,
ctdRaw, ctdTrim,
ctd, handleFlags,ctd-method,
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, write.ctd
library(oce)
## 1. fake data, with default units
pressure <- 1:50
temperature <- 10 - tanh((pressure - 20) / 5) + 0.02*rnorm(50)
salinity <- 34 + 0.5*tanh((pressure - 20) / 5) + 0.01*rnorm(50)
ctd <- as.ctd(salinity, temperature, pressure)
# Add a new column
fluo <- 5 * exp(-pressure / 20)
ctd <- oceSetData(ctd, name="fluorescence", value=fluo,
unit=list(unit=expression(mg/m^3), scale=""))
summary(ctd)
## 2. fake data, with supplied units (which are the defaults, actually)
ctd <- as.ctd(salinity, temperature, pressure,
units=list(salinity=list(unit=expression(), scale="PSS-78"),
temperature=list(unit=expression(degree*C), scale="ITS-90"),
pressure=list(unit=expression(dbar), scale="")))
Run the code above in your browser using DataLab