R: Plot CTD Data

plot,ctd-method {oce} | R Documentation

## Plot CTD Data

### Description

Plot CTD data, by default in a four-panel display showing (a) profiles of salinity and temperature, (b) profiles of density and the square of buoyancy frequency, (c) a TS diagram and (d) a coastline diagram indicating the station location.

### Usage

    ## S4 method for signature 'ctd'
    plot(x, which, col = par("fg"), fill,
      borderCoastline = NA, colCoastline = "lightgray",
      eos = getOption("oceEOS", default = "gsw"), ref.lat = NaN,
      ref.lon = NaN, grid = TRUE, coastline = "best", Slim, Clim, Tlim,
      plim, densitylim, N2lim, Rrholim, dpdtlim, timelim, lonlim, latlim,
      drawIsobaths = FALSE, clongitude, clatitude, span, showHemi = TRUE,
      lonlabel = NULL, latlabel = NULL, sides = NULL,
      projection = NULL, parameters = NULL, orientation = NULL,
      latlon.pch = 20, latlon.cex = 1.5, latlon.col = "red", cex = 1,
      cex.axis = par("cex.axis"), pch = 1, useSmoothScatter = FALSE, df,
      keepNA = FALSE, type = "l", mgp = getOption("oceMgp"),
      mar = c(mgp[1] + 1.5, mgp[1] + 1.5, mgp[1] + 1.5, mgp[1] + 1),
      inset = FALSE, add = FALSE, debug = getOption("oceDebug"), ...)

### Arguments

`x` | A `ctd` object, i.e. one inheriting from `ctd-class`.
`which` | List of desired plot types, as given below. If `which` is not supplied, a default will be used. This default will be `c(1,2,3,5)` if the CTD is in profiling mode (i.e. if `deploymentType` in the `metadata` slot equals `"profile"`, or is missing) or `"moored"`/`"thermosalinograph"`, the default will be `c(30, 3, 31, 5)`. If it is `"towyo"`, `c(30, 31, 32, 3)` will be used. Details are as follows. `which=1` or `which="salinity+temperature"` gives a combined profile of temperature and salinity `which=2` or `which="density+N2"` gives a combined profile of sigma-theta and N^2 `which=3` or `which="TS"` gives a TS plot `which=4` or `which="text"` gives a textual summary of some aspects of the data `which=5` or `which="map"` gives a map plotted with `plot,coastline-method`, with a dot for the station location. Notes near the top boundary of the map give the station number, the sampling date, and the name of the chief scientist, if these are known. Note that the longitude will be converted to a value between -180 and 180 before plotting. (See also notes about `span`.) `which=5.1` as for `which=5`, except that the file name is drawn above the map `which=6` or `which="density+dpdt"` gives a profile of density and dP/dt, which is useful for evaluating whether the instrument is dropping properly through the water column `which=7` or `which="density+time"` gives a profile of density and time `which=8` or `which="index"` gives a profile of index number (especially useful for `ctdTrim`) `which=9` or `which="salinity"` gives a salinity profile `which=10` or `which="temperature"` gives a temperature profile `which=11` or `which="density"` gives a density profile `which=12` or `which="N2"` gives an N^2 profile `which=13` or `which="spice"` gives a spiciness profile `which=14` or `which="tritium"` gives a tritium profile `which=15` or `which="Rrho"` gives an Rrho profile `which=16` or `which="RrhoSF"` gives an RrhoSF profile `which=17` or `which="conductivity"` gives a conductivity profile `which=20` or `which="CT"` gives a Conservative Temperature profile `which=21` or `which="SA"` gives an Absolute Salinity profile `which=30` gives a time series of Salinity `which=31` gives a time series of Temperature `which=32` gives a time series of pressure `which=33` gives a time series of sigmaTheta
`col` | Color of lines or symbols.
`fill` | A legacy parameter that will be permitted only temporarily; see “History”.
`borderCoastline` | Color of coastlines and international borders, passed to `plot,coastline-method` if a map is included in `which`.
`colCoastline` | Fill color of coastlines and international borders, passed to `plot,coastline-method` if a map is included in `which`. Set to `NULL` to avoid filling.
`eos` | String indicating the equation of state to be used, either `"unesco"` or `"gsw"`.
`ref.lat` | Latitude of reference point for distance calculation.
`ref.lon` | Longitude of reference point for distance calculation.
`grid` | Set `TRUE` to get a grid on all plots.
`coastline` | A specification of the coastline to be used for `which="map"`. This may be a coastline object, whether built-in or supplied by the user, or a character string. If the later, it may be the name of a built-in coastline (`"coastlineWorld"`, `"coastlineWorldFine"`, or `"coastlineWorldCoarse"`), or `"best"`, to choose a suitable coastline for the locale, or `"none"` to prevent the drawing of a coastline. There is a speed penalty for providing `coastline` as a character string, because it forces `plot,coastline-method` to load it on every call. So, if `plot,coastline-method` is to be called several times for a given coastline, it makes sense to load it in before the first call, and to supply the object as an argument, as opposed to the name of the object.
`Slim` | Optional limits of salinity axes.
`Clim` | Optional limits of conductivity axes.
`Tlim` | Optional limits of temperature axes.
`plim` | Optional limits of pressure axes.
`densitylim` | Optional limits of density axis, whether that axis be horizontal or vertical.
`N2lim` | Optional limits of N^2 axis.
`Rrholim` | Optional limits of R_rho axis.
`dpdtlim` | Optional limits of dP/dt axis.
`timelim` | Optional limits of delta-time axis.
`lonlim` | Optional limits of longitude axis of map (ignored if no map plotted) DEPRECATED 2014-01-07.
`latlim` | Optional limits of latitude axis of map (ignored if no map plotted) DEPRECATED 2014-01-07.
`drawIsobaths` | An indication of whether to draw depth contours on maps, in addition to the coastline. The argument has no effect except for panels in which the value of `which` equals `"map"` or the equivalent numerical code, `5`. If `drawIsobaths` is `FALSE`, then no contours are drawn. If `drawIsobaths` is `TRUE`, then contours are selected automatically, using `pretty(c(0,300))` if the station depth is under 100m or `pretty(c(0,5500))` otherwise. If `drawIsobaths` is a numerical vector, then the indicated depths are drawn. For plots drawn with `projection` set to `NULL`, the contours are added with `contour` and otherwise `mapContour` is used. To customize the resultant contours, e.g. setting particular line types or colors, users should call these functions directly (see e.g. Example 2).
`clongitude` | Center longitude.
`clatitude` | Center latitude.
`span` | Optional span of map, in km. If not given, this will be determined as a small multiple of the distance to the nearest point of land, in an attempt to show some coastline in the plot.
`showHemi` | Logical indicating whether to show hemisphere in axis tick labels.
`lonlabel, latlabel, sides` | Optional vectors of longitude and latitude to label on the indicated sides of plot, passed to `plot,coastline-method`. Using these arguments permits reasonably simple customization. If they are are not provided, reasonable defaults will be used.
`projection` | Projection for map, if desired. If this is `NULL`, no projection will be used; the map will simply show longitude and latitude in a cartesian frame, scaled to retain shapes at the centre. If this is the string `"automatic"`, then either a Mercator or Stereographic projection will be used, depending on whether the CTD station is within 70 degrees of the equator or at higher latitudes. Finally, if this is a string in the format used by `mapPlot`, then it is is passed to that function.
`parameters` | a deprecated argument that has been ignored since February 2016; see oce-deprecated.
`orientation` | a deprecated argument that has been ignored since February 2016; see oce-deprecated.
`latlon.pch` | Symbol code for sample location (ignored if no map plotted).
`latlon.cex` | Symbol expansion factor for sample location (ignored if no map plotted).
`latlon.col` | Color of symbol for sample location (ignored if no map plotted).
`cex` | Size to be used for plot symbols (see `par`).
`cex.axis` | Size factor for axis labels (see `par`).
`pch` | Code for plotting symbol (see `par`).
`useSmoothScatter` | Boolean, set to `TRUE` to use `smoothScatter` instead of `plot` to draw the plot.
`df` | Optional argument that is ignored except for plotting buoyancy frequency; in that case, it is passed to `swN2` as the argument named `df`.
`keepNA` | Flag indicating whether to keep `NA` values in linegraphs, which will yield breaks in the lines.
`type` | The type of plot to draw, using the same scheme as `plot`.
`mgp` | Three-element numerical vector specifying axis-label geometry, passed to `par`. The default establishes tighter margins than in the usual R setup.
`mar` | Four-element numerical vector specifying margin geometry, passed to `par`. The default establishes tighter margins than in the usual R setup.
`inset` | Set to `TRUE` for use within `plotInset`. The effect is to prevent the present function from adjusting margins, which is necessary because margin adjustment is the basis for the method used by `plotInset`.
`add` | Logical, indication of whether to add to an existing plot. This only works if `length(which)=1`, and it will yield odd results if the value of `which` does not match that in the previous plots.
`debug` | 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 one function calls another, it usually reduces the value of `debug` first, so that a user can often obtain deeper debugging by specifying higher `debug` values.
`...` | Optional arguments passed to plotting functions. A common example is to set `df`, for use in swN2 calculations.

### Details

Creates a multi-panel summary plot of data measured in a CTD cast. The default values of `which` and other arguments are chosen to be useful for quick overviews of data. However, for detailed work it is common to call the present function with just a single value of `which`, e.g. with four calls to get four panels. The advantage of this is that it provides much more control over the display, and also it permits the addition of extra display elements (lines, points, margin notes, etc.) to the individual panels.

Note that panels that draw more than one curve (e.g. `which="salinity+temperature"` draws temperature and salinity profiles in one graph), the value of `par("usr")` is established by the second profile to have been drawn. Some experimentation will reveal what this profile is, for each permitted `which` case, although it seems unlikely that this will help much ... the simple fact is that drawing two profiles in one graph is useful for a quick overview, but not useful for e.g. interactive analysis with `locator` to flag bad data, etc.

### History

Until February, 2016, `plot,ctd-method` relied on a now-defunct argument `fill` to control colors; `colCoastline` is to be used now, instead. Also, now it is possible to set the color of coasts and international boundaries, with `borderCoastline`.

### Author(s)

Dan Kelley

### See Also

The documentation for `ctd-class` explains the structure of CTD objects, and also outlines the other functions dealing with them.

Other functions that plot `oce` data: `plot,adp-method`, `plot,adv-method`, `plot,amsr-method`, `plot,argo-method`, `plot,bremen-method`, `plot,cm-method`, `plot,coastline-method`, `plot,gps-method`, `plot,ladp-method`, `plot,landsat-method`, `plot,lisst-method`, `plot,lobo-method`, `plot,met-method`, `plot,odf-method`, `plot,rsk-method`, `plot,satellite-method`, `plot,sealevel-method`, `plot,section-method`, `plot,tidem-method`, `plot,topo-method`, `plot,windrose-method`, `plotProfile`, `plotScan`, `plotTS`, `tidem-class`

Other things related to `ctd` data: `[[,ctd-method`, `[[<-,ctd-method`, `as.ctd`, `cnvName2oceName`, `ctd-class`, `ctdDecimate`, `ctdFindProfiles`, `ctdRaw`, `ctdTrim`, `ctd`, `handleFlags,ctd-method`, `initialize,ctd-method`, `initializeFlagScheme,ctd-method`, `oceNames2whpNames`, `oceUnits2whpUnits`, `plotProfile`, `plotScan`, `plotTS`, `read.ctd.itp`, `read.ctd.odf`, `read.ctd.sbe`, `read.ctd.woce.other`, `read.ctd.woce`, `read.ctd`, `setFlags,ctd-method`, `subset,ctd-method`, `summary,ctd-method`, `woceNames2oceNames`, `woceUnit2oceUnit`, `write.ctd`

### Examples

    ## 1. simple plot
    library(oce)
    data(ctd)
    plot(ctd)

    ## 2. how to customize depth contours
    par(mfrow=c(1,2))
    data(section)
    stn <- section[["station", 105]]
    plot(stn, which='map', drawIsobaths=TRUE)
    plot(stn, which='map')
    data(topoWorld)
    tlon <- topoWorld[["longitude"]]
    tlat <- topoWorld[["latitude"]]
    tdep <- -topoWorld[["z"]]
    contour(tlon, tlat, tdep, drawlabels=FALSE,
            levels=seq(1000,6000,1000), col='lightblue', add=TRUE)
    contour(tlon, tlat, tdep, vfont=c("sans serif", "bold"),
            levels=stn[['waterDepth']], col='red', lwd=2, add=TRUE)

[Package oce version 1.0-1 Index]