Creates a temperaturesalinity plot for a CTD cast, with labeled isopycnals.
plotTS( x, inSitu = FALSE, type = "p", referencePressure = 0, nlevels = 6, levels, grid = TRUE, col.grid = "lightgray", lty.grid = "dotted", rho1000 = FALSE, eos = getOption("oceEOS", default = "gsw"), cex = par("cex"), col = par("col"), pch = par("pch"), bg = "white", pt.bg = "transparent", col.rho = gray(0.5), cex.rho = 3/4 * par("cex"), rotate = TRUE, useSmoothScatter = FALSE, xlab, ylab, Slim, Tlim, drawFreezing = TRUE, trimIsopycnals = TRUE, mgp = getOption("oceMgp"), mar = c(mgp[1] + 1.5, mgp[1] + 1.5, mgp[1], mgp[1]), lwd = par("lwd"), lty = par("lty"), lwd.rho = par("lwd"), lty.rho = par("lty"), add = FALSE, inset = FALSE, debug = getOption("oceDebug"), ... )
x  a ctd, argo or section object, or a list containing solely ctd objects or argo objects. 

inSitu  A boolean indicating whether to use insitu temperature or
(the default) potential temperature, calculated with reference pressure
given by 
type  representation of data, 
referencePressure  reference pressure, to be used in calculating
potential temperature, if 
nlevels  Number of automaticallyselected isopycnal levels (ignored if

levels  Optional vector of desired isopycnal levels. 
grid  a flag that can be set to 
col.grid  color for grid. 
lty.grid  line type for grid. 
rho1000  if TRUE, label isopycnals as e.g. 1024; if FALSE, label as e.g. 24 
eos  equation of state to be used, either 
cex  characterexpansion factor for symbols, as in par 
col  color for symbols. 
pch  symbol type, as in par 
bg  optional color to be painted under plotting area, before
plotting. (This is useful for cases in which 
pt.bg  inside color for symbols with 
col.rho  color for isopycnal lines and their labels. 
cex.rho  size of the isopycnal labels. 
rotate  if TRUE, labels in righthand margin are written vertically 
useSmoothScatter  if TRUE, use 
xlab  optional label for the x axis, with default "Salinity [PSU]". 
ylab  optional label for the y axis, with default "Temperature [C]". 
Slim  optional limits for salinity axis, otherwise inferred from visible data (i.e. the data that have finite values for both salinity and temperature). 
Tlim  as 
drawFreezing  logical indication of whether to draw a freezingpoint
line. This is based on zero pressure. If 
trimIsopycnals  logical value ( 
mgp  3element numerical vector to use for 
mar  value to be used with par 
lwd  line width of lines or symbols. 
lty  line type of lines or symbols. 
lwd.rho  line width for density curves. 
lty.rho  line type for density curves. 
add  a flag that controls whether to add to an existing plot. (It
makes sense to use 
inset  set to 
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 plotting functions. 
A list is silently returned, containing xat
and yat
,
values that can be used by oce.grid()
to add a grid to the plot.
The isopycnal curves (along which density is constant) are
drawn with drawIsopycnals()
, which also places
labels in the margins showing density minus 1000 \(kg/m^3\).
If trimIsopycnals
is TRUE
(which is the default), these curves
are trimmed to the region within which the results of density calculation
in the chosen equation of state (eos
) are considered to be reliable.
With eos="unesco"
this region includes
Practical Salinity from 0 to 42 and Potential Temperature
from 2C to 40C, in accordance with Fofonoff and Millard
(1983, page 23).
With eos="gsw"
the lower
limit of Absolute Salinity validity is taken as 0 g/kg,
in accordance with both McDougall et al. (2003 section 3)
and the TEOS10/gsw Matlab code for the socalled "funnel" of validity.
However, an appropriate upper limit on Absolute Salinity is not as clear.
Here, the value 42 g/kg is chosen to match the "funnel" Matlab code
as of July 2020, but two other choices might have been
made. One is 50 g/kg, since gsw::gsw_SA_from_rho()
returns NA
values
for Absolute Salinities exceeding that value, and another is
40 g/kg, as in McDougall et al. (2003 section 3).
The Conservative Temperature range is set to run from 2C
to 33C, as in McDougall et al. (2003 section 3), even though the
"funnel" imposes no upper limit on this variable.
Fofonoff, N. P., and R. C. Millard. "Algorithms for Computation of Fundamental Properties of Seawater." UNESCO Technical Papers in Marine Research. SCOR working group on Evaluation of CTD data; UNESCO/ICES/SCOR/IAPSO Joint Panel on Oceanographic Tables and Standards, 1983. https://unesdoc.unesco.org/ark:/48223/pf0000059832.
McDougall, Trevor J., David R. Jackett, Daniel G. Wright, and Rainer Feistel.
"Accurate and Computationally Efficient Algorithms for Potential Temperature and Density of Seawater."
Journal of Atmospheric and Oceanic Technology 20, no. 5 (May 1, 2003): 73041.
https://journals.ametsoc.org/jtech/article/20/5/730/2543/AccurateandComputationallyEfficientAlgorithms
.
summary,ctdmethod()
summarizes the information, while
read.ctd()
scans it from a file.
Other functions that plot oce data:
download.amsr()
,
plot,adpmethod
,
plot,advmethod
,
plot,amsrmethod
,
plot,argomethod
,
plot,bremenmethod
,
plot,cmmethod
,
plot,coastlinemethod
,
plot,ctdmethod
,
plot,gpsmethod
,
plot,ladpmethod
,
plot,landsatmethod
,
plot,lisstmethod
,
plot,lobomethod
,
plot,metmethod
,
plot,odfmethod
,
plot,rskmethod
,
plot,satellitemethod
,
plot,sealevelmethod
,
plot,sectionmethod
,
plot,tidemmethod
,
plot,topomethod
,
plot,windrosemethod
,
plot,xbtmethod
,
plotProfile()
,
plotScan()
,
tidemclass
Other things related to ctd data:
CTD_BCD2014666_008_1_DN.ODF.gz
,
[[,ctdmethod
,
[[<,ctdmethod
,
as.ctd()
,
cnvName2oceName()
,
ctdclass
,
ctd.cnv
,
ctdDecimate()
,
ctdFindProfiles()
,
ctdRaw
,
ctdTrim()
,
ctd
,
d200321001.ctd
,
d201211_0011.cnv
,
handleFlags,ctdmethod
,
initialize,ctdmethod
,
initializeFlagScheme,ctdmethod
,
oceNames2whpNames()
,
oceUnits2whpUnits()
,
plot,ctdmethod
,
plotProfile()
,
plotScan()
,
read.ctd.itp()
,
read.ctd.odf()
,
read.ctd.odv()
,
read.ctd.sbe()
,
read.ctd.woce.other()
,
read.ctd.woce()
,
read.ctd()
,
setFlags,ctdmethod
,
subset,ctdmethod
,
summary,ctdmethod
,
woceNames2oceNames()
,
woceUnit2oceUnit()
,
write.ctd()
Dan Kelley