Compute density ratio for a ctd object.  An error (perhaps with some hints)
is issued for any other type of object.
swRrho(
  ctd,
  sense = c("diffusive", "finger"),
  smoothingLength = 10,
  df,
  eos = getOption("oceEOS", default = "gsw"),
  debug = getOption("oceDebug")
)Density ratio defined in either the "diffusive" or
"finger" sense.
an oce object that holds salinity, temperature, and
pressure.  If eos is "gsw", then it must also hold longitude and
latitude.
an indication of the sense of double diffusion under study and therefore of the definition of Rrho; see “Details”
ignored if df supplied, but otherwise the
latter is calculated as the number of data points, divided by the number
within a depth interval of smoothingLength metres.
if given, this is provided to smooth.spline().
equation of state, either "unesco" or "gsw".
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.
Dan Kelley and Chantelle Layton
If eos="unesco", the work is done by calculating salinity and
potential-temperature derivatives from smoothing splines whose properties
are governed by smoothingLength or df.  If
sense="diffusive" the definition is
\((beta*dS/dz)/(alpha*d(theta)/dz)\) and
the reciprocal for "finger".
If eos="gsw", the work is done by extracting absolute salinity and
conservative temperature, smoothing with a smoothing spline as in the
"unesco" case, and then calling gsw::gsw_Turner_Rsubrho()
on these smoothed fields. Since the gsw function works on mid-point
pressures, approx() is used to interpolate back to the original
pressures.
If the default arguments are acceptable, ctd[["Rrho"]] may be used
instead of swRrho(ctd).
Other functions that calculate seawater properties: 
T68fromT90(),
T90fromT48(),
T90fromT68(),
computableWaterProperties(),
locationForGsw(),
swAbsoluteSalinity(),
swAlpha(),
swAlphaOverBeta(),
swBeta(),
swCSTp(),
swConservativeTemperature(),
swDepth(),
swDynamicHeight(),
swLapseRate(),
swN2(),
swPressure(),
swRho(),
swSCTp(),
swSR(),
swSTrho(),
swSigma(),
swSigma0(),
swSigma1(),
swSigma2(),
swSigma3(),
swSigma4(),
swSigmaT(),
swSigmaTheta(),
swSoundAbsorption(),
swSoundSpeed(),
swSpecificHeat(),
swSpice(),
swSpiciness0(),
swSpiciness1(),
swSpiciness2(),
swSstar(),
swTFreeze(),
swTSrho(),
swThermalConductivity(),
swTheta(),
swViscosity(),
swZ()
library(oce)
data(ctd)
u <- swRrho(ctd, eos = "unesco")
g <- swRrho(ctd, eos = "gsw")
p <- ctd[["p"]]
plot(u, p, ylim = rev(range(p)), type = "l", xlab = expression(R[rho]))
lines(g, p, lty = 2, col = "red")
legend("topright", lty = 1:2, legend = c("unesco", "gsw"), col = c("black", "red"))
Run the code above in your browser using DataLab