Read a ctd File in General Format

  type = NULL,
  columns = NULL,
  station = NULL,
  deploymentType = "unknown",
  monitor = FALSE,
  encoding = "latin1",
  debug = getOption("oceDebug"),



either a connection or a character value naming a file. For read.ctd.sbe() and read.ctd.woce(), this may be a wildcard (e.g. "*.cnv" or "*.csv") in which case the return value is a vector containing CTD objects created by reading the files from list.files() with pattern set to the specified wildcard pattern.


If NULL, then the first line is studied, in order to determine the file type, and control is dispatched to a specialized function to handle that type. Otherwise, type must be a string. If type="SBE19" then a Seabird file format is assumed, and control is dispatched to read.ctd.sbe(). If type="WOCE" then a WOCE-exchange file is assumed, and control is dispatched to read.ctd.woce(). If type="ITP" then an ice-tethered profiler file is assumed, and control is dispatched to read.ctd.itp(). If type="ODF" then an ODF file (used by the Canadian Department of Fisheries and Ocean) is assumed, and control is dispatched to read.ctd.odf(). Finally, if type="ODV" then an ODV file (used by Ocean Data View software) is assumed, and control is dispatched to read.ctd.odv().


an optional list that can be used to convert unrecognized data names to resultant variable names. This is used only by read.ctd.sbe() and read.ctd.odf(). For example, if a data file named salinity as "SAL", then using

d <- read.ctd(f, columns=list(

would assign the "SAL" column to the salinity entry in the data slot of the CTD object returned by the read.* function.


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 NA upon reading. If this is provided, then it overrules any missing-value flag found in the data. For Seabird (.cnv) files, there is usually no need to set missingValue, because it can be inferred from the header (typically as -9.990e-29). Set missingValue=NULL to turn off missing-value detection, even in .cnv files that contain missing-value codes in their headers. If missingValue is not specified, then an attempt is made to infer such a value from the data, by testing whether salinity and/or temperature has a minimum that is under -8 in value; this should catch common values in files, without false positives. A warning will be issued in this case, and a note inserted in the processing log of the return value.


character string indicating the type of deployment. Use "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.


boolean, set to TRUE to provide an indication of progress. This is useful if filename is a wildcard.


a character value that indicates the encoding to be used for this data file, if it is textual. The default value for most functions is "latin1", which seems to be suitable for files containing text written in English and French.


an integer specifying whether debugging information is to be printed during the processing. This is a general parameter that is used by many oce functions. Generally, setting debug=0 turns off the printing, while higher values suggest that more information be printed.


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 returns a ctd object.


Dan Kelley