Read a Seabird CTD File
1 2 3 4 5 6 7 8 9 10 11 12
a connection or a character string giving the name of the file to
an optional list that can be used to convert unrecognized
data names to resultant variable names. This is used only by
d <- read.ctd(f, columns=list( salinity=list(name="SAL", unit=list(unit=expression(), scale="PSS-78"))))
would assign the
optional character string containing an identifying name or number for the station. This can be useful if the routine cannot determine the name automatically, or if another name is preferred.
optional missing-value flag; data matching this value will
be set to
character string indicating the type of deployment. Use
a logical value, with
boolean, set to
an integer specifying whether debugging information is
to be printed during the processing. This is a general parameter that
is used by many
if provided, the action item to be stored in the log. This is typically only provided for internal calls; the default that it provides is better for normal calls by a user.
additional arguments, passed to called routines.
This function reads files stored in Seabird
Note that these files can contain multiple sensors for a given field. For example,
the file might contain a column named
t090C for one
temperature sensor and
t190C for a second. The first will be denoted
temperature in the
data slot of the return value, and the second
will be denoted
temperature1. This means that the first sensor
will be used in any future processing that accesses
is for convenience of processing, and it does not pose a limitation, because the
data from the second sensor are also available as e.g.
x is the name of the returned value. For the details of the
.cnv names to
ctd names, see
The names of the elements in the
data slot of the returned value depend on
the file type, as signalled by the
btl argument. For the default case of
the original data names as stored in
file are stored within the
dataNamesOriginal, and are displayed with
summary alongside the
numerical summary; see the Appendix VI of reference 2 for the meanings of these
names (in the "Short Name" column of the table spanning pages 161 through 172).
However, for the case of
.btl files, the column names are as described
in the documentation entry for the
a ctd object. The details of the contents
depend on the source file. The
metadata slot is particularly
variable across data formats, because the meta-information provided
in those formats varies so widely.
Until November of 2018,
there was a possibility for great confusion in the storage
of the time entries within the
data slot, because
renamed each of the ten variants of time (see reference 2 for a list)
"time" in the
data slot of the returned value.
For CTD profiles, this was perhaps not a great problem, but it could
lead to great confusion for moored data. Therefore, a change to
made, so that it would Seabird times, using the
start_time entry in
the CNV file header (which is stored as
startTime in the object
metadata slot), along with specific time columns as follows
(and as documented, with uneven clarity, in the
SBE Seasoft data processing manual, revision 7.26.8, Appendix VI):
|| seconds elapsed since
|| minutes elapsed since
|| hours elapsed since
||Julian days since the start of the year of the first observation|
||NMEA-based time, in seconds past Jan 1, 1970|
||NMEA-based time, in seconds past Jan 1, 2000|
||NMEA-based time, in seconds past Jan 1, 2000|
||computer time, in seconds past Jan 1, 1970|
NOTE: not all of these times have been tested properly, and so users
are asked to report incorrect times, so that
The user might encounter data files with a variety of scales for temperature and
salinity. Oce keeps track of these scales in the units it sets up for the stored
variables. For example, if
A is a CTD object, then
A[["temperatureUnit"]]$scale is a character string that will indicate the scale.
Modern-day data will have
"ITS-90" for that scale, and old data may have
"IPTS-68". The point of saving the scale in this way is so that the various
formulas that deal with water properties can account for the scale, e.g. converting
from numerical values saved on the
"IPTS-68" scale to the newer scale, using
T90fromT68() before doing calculations that are expressed in
terms of the
"ITS-90" scale. This is taken care of by retrieving temperatures
with the accessor function, e.g. writing
A[["temperature"]] will either
retrieve the stored values (if the scale is ITS-90) or converted values (if
the scale is IPTS-68). Even though this procedure should work, users who
really care about the details of their data are well-advised to do a couple
of tests after examining the first data line of their data file in an editor.
Note that reading a file that contains IPTS-68 temperatures produces a warning.
Dan Kelley and Clark Richards
The Sea-Bird SBE 19plus profiler is described at
http://www.seabird.com/products/spec_sheets/19plusdata.htm. Some more
information is given in the Sea-Bird data-processing manual
A SBE data processing manual was once at
but as of summer 2018, this no longer seems to be provided by SeaBird.
A web search will turn up copies of the manual that have been put
online by various research groups and data-archiving agencies.
As of 2018-07-05, the latest version was named
SBEDataProcessing_7.26.4.pdf and had release date 12/08/2017,
and this was the reference version used in coding
Other things related to ctd data:
1 2 3 4 5 6
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.