Plot a profile, showing variation of some quantity (or quantities) with pressure, using the oceanographic convention of putting lower pressures nearer the top of the plot. This works for any oce object that has a pressure column in its data slot. The colors (col.salinity, etc.) are only used if two profiles appear on a plot.

plotProfile(
x,
xtype = "salinity+temperature",
ytype = "pressure",
eos = getOption("oceEOS", default = "gsw"),
lty = 1,
xlab = NULL,
ylab = NULL,
col = "black",
col.salinity = "darkgreen",
col.temperature = "red",
col.rho = "blue",
col.N2 = "brown",
col.dpdt = "darkgreen",
col.time = "darkgreen",
pt.bg = "transparent",
grid = TRUE,
col.grid = "lightgray",
lty.grid = "dotted",
Slim,
Clim,
Tlim,
densitylim,
N2lim,
Rrholim,
dpdtlim,
timelim,
plim,
xlim,
ylim,
lwd = par("lwd"),
xaxs = "r",
yaxs = "r",
cex = 1,
pch = 1,
useSmoothScatter = FALSE,
df,
keepNA = FALSE,
type = "l",
mgp = getOption("oceMgp"),
mar,
add = FALSE,
inset = FALSE,
debug = getOption("oceDebug", 0),
...
)

## Arguments

x

a ctd object.

xtype

Item(s) plotted on the x axis, either a vector of length equal to that of pressure in the data slot, or a text code from the list below.

• "salinity" Profile of salinity.

• "conductivity" Profile of conductivity.

• "temperature" Profile of in-situ temperature.

• "theta" Profile of potential temperature.

• "density" Profile of density (expressed as $$\sigma_\theta$$).

• "index" Index of sample (useful for working with ctdTrim()).

• "salinity+temperature" Profile of salinity and temperature within a single axis frame.

• "N2" Profile of square of buoyancy frequency $$N^2$$, calculated with swN2() with an optional argument setting of df=length(x[["pressure"]])/4 to do some smoothing.

• "density+N2" Profile of sigma0 and the square of buoyancy frequency within a single axis frame.

• "density+dpdt" Profile of sigma0 and dP/dt for the sensor. The latter is useful in indicating problems with the deployment. It is calculated by first differencing pressure and then using a smoothing spline on the result (to avoid grid-point wiggles that result because the SBE software only writes 3 decimal places in pressure). Note that dP/dt may be off by a scale factor; this should not be a problem if there is a time column in the data slot, or a sample.rate in the metadata slot.

• "sigma0", "sigma1", "sigma2", "sigma3" and "sigma4" Profile of potential density referenced to 0dbar (i.e. the surface), 1000dbar, 2000dbar, 3000dbar, and 4000dbar.

• "spice" Profile of spice.

• "Rrho" Profile of Rrho, defined in the diffusive sense.

• "RrhoSF" Profile of Rrho, defined in the salt-finger sense.

ytype

variable to use on y axis. The valid choices are: "pressure" (the default), "z", "depth", "sigmaTheta" and "sigma0".

eos

equation of state to be used, either "unesco" or "gsw".

lty

line type for the profile.

xlab

optional label for x axis (at top of plot). If not provided, the value of xtype is used (along with the units of the variable) to construct a label. For user-supplied xlab, the unit (if any) must be specified as in e.g. xlab=expression("Speed ["*m/s*"]").

ylab

optional label for y axis. See xlab for a note on units. Setting ylab="" prevents labelling the axis.

col

color for a general profile.

col.salinity

color for salinity profile (see “Details”).

col.temperature

color for temperature (see “Details”).

col.rho

color for density (see “Details”).

col.N2

color for square of buoyancy frequency (see “Details”).

col.dpdt

color for dP/dt.

col.time

color for delta-time.

pt.bg

inside color for symbols with pch in 21:25

grid

logical, set to TRUE to get a grid.

col.grid

color for grid.

lty.grid

line type for grid.

Slim

Optional limit for S axis

Clim

Optional limit for conductivity axis

Tlim

Optional limit for T axis

densitylim

Optional limit for density axis

N2lim

Optional limit for N2 axis

Rrholim

Optional limit for Rrho axis

dpdtlim

Optional limit for dp/dt axis

timelim

Optional limit for delta-time axis

plim

Optional limit for pressure axis, ignored unless ytype=="pressure", in which case it takes precedence over ylim.

xlim

Optional limit for x axis, which can apply to any plot type. This is ignored if the plotted x variable is something for which a limit may be specified with an argument, e.g. xlim is ignored for a salinity profile, because Slim ought to be given in such a case.

ylim

Optional limit for y axis, which can apply to any plot type, although is overridden by plim if ytype is "pressure" or by densitylim if ytype is "sigmaTheta".

lwd

lwd value for data line

xaxs

value of par() xaxs to use

yaxs

value of par() yaxs to use

cex

size to be used for plot symbols (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, passed to swN2() if provided, and if a plot using $$N^2$$ is requested.

keepNA

FALSE

type

type of plot to draw, using the same scheme as plot().

mgp

3-element numerical vector to use for par(mgp), and also for par(mar), computed from this. The default is tighter than the R default, in order to use more space for the data and less for the axes.

mar

Four-element numerical value to be used to set the plot margins, with a call to par(mar) prior to the plot. If this is not supplied, a reasonable default will be set up.

add

A logical value that controls whether to add to an existing plot. (It makes sense to use add=TRUE in the panel argument of a coplot(), for example.)

inset

A logical value indicating whether to draw an inset plot. Setting this to TRUE will prevent the present function from adjusting the margins, which is necessary because margin adjustment is the basis for the method used by plotInset().

debug

a flag that turns on debugging. Set to 1 to get a moderate amount of debugging information, or to 2 to get more.

...

optional arguments passed to other functions. A common example is to set df, for use in swN2() calculations.

None.

## See also

read.ctd() scans ctd information from a file, plot,ctd-method() is a general plotting function for ctd objects, and plotTS() plots a temperature-salinity diagrams.

Other functions that plot oce data: download.amsr(), plot,adp-method, plot,adv-method, plot,amsr-method, plot,argo-method, plot,bremen-method, plot,cm-method, plot,coastline-method, plot,ctd-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, plot,xbt-method, plotScan(), plotTS(), tidem-class

Other things related to ctd data: CTD_BCD2014666_008_1_DN.ODF.gz, [[,ctd-method, [[<-,ctd-method, as.ctd(), cnvName2oceName(), ctd-class, ctd.cnv, ctdDecimate(), ctdFindProfiles(), ctdRaw, ctdRepair(), ctdTrim(), ctd_aml.csv, ctd, d200321-001.ctd, d201211_0011.cnv, handleFlags,ctd-method, initialize,ctd-method, initializeFlagScheme,ctd-method, oceNames2whpNames(), oceUnits2whpUnits(), plot,ctd-method, plotScan(), plotTS(), read.ctd.aml(), read.ctd.itp(), read.ctd.odf(), read.ctd.odv(), read.ctd.sbe(), read.ctd.ssda(), read.ctd.woce.other(), read.ctd.woce(), read.ctd(), setFlags,ctd-method, subset,ctd-method, summary,ctd-method, woceNames2oceNames(), woceUnit2oceUnit(), write.ctd()

Dan Kelley

## Examples

library(oce)
data(ctd)
plotProfile(ctd, xtype="temperature")