swN2 {oce}R Documentation

Squared buoyancy frequency for seawater

Description

Compute N^2, the square of the buoyancy frequency for a seawater profile.

Usage

swN2(pressure, sigmaTheta = NULL, derivs, df, eos = getOption("oceEOS",
  default = "gsw"), ...)

Arguments

pressure

either pressure [dbar] (in which case sigmaTheta must be provided) or an object of class ctd object (in which case sigmaTheta is inferred from the object.

sigmaTheta

Surface-referenced potential density minus 1000 [kg/m^3]

derivs

optional argument to control how the derivative d(sigmaTheta)/d(pressure) is calculated. This may be a character string or a function of two arguments. See “Details”.

df

argument passed to smooth.spline if this function is used for smoothing; set to NA to prevent smoothing.

eos

equation of state, either "unesco" or "gsw".

...

additional argument, passed to smooth.spline, in the case that derivs="smoothing". See “Details”.

Details

Smoothing is often useful prior to computing buoyancy frequency, and so this may optionally be done with smooth.spline, unless df=NA, in which case raw data are used. If df is not provided, a possibly reasonable value computed from an analysis of the profile, based on the number of pressure levels.

If eos="gsw", then the first argument must be a ctd object, and processing is done with gsw_Nsquared, based on extracted values of Absolute Salinity and Conservative Temperature (possibly smoothed, depending on df).

If eos="unesco", then the processing is as follows. The core of the method involves differentiating potential density (referenced to median pressure) with respect to pressure, and the derivs argument is used to control how this is done, as follows.

For deep-sea work, the eos="gsw" option is the best scheme, because it uses derivatives of density computed with local reference pressure.

For precise work, it makes sense to skip swN2 entirely, choosing whether, what, and how to smooth based on an understanding of fundamental principles as well as data practicalities.

Value

Square of buoyancy frequency [radian^2/s^2].

Author(s)

Dan Kelley

See Also

Other functions that calculate seawater properties: T68fromT90, T90fromT48, T90fromT68, swAbsoluteSalinity, swAlphaOverBeta, swAlpha, swBeta, swCSTp, swConservativeTemperature, swDepth, swDynamicHeight, swLapseRate, swPressure, swRho, swRrho, swSCTp, swSTrho, swSigma0, swSigma1, swSigma2, swSigma3, swSigma4, swSigmaTheta, swSigmaT, swSigma, swSoundAbsorption, swSoundSpeed, swSpecificHeat, swSpice, swTFreeze, swTSrho, swThermalConductivity, swTheta, swViscosity, swZ

Examples


library(oce)
data(ctd)
# Illustrate difference between UNESCO and GSW
p <- ctd[["pressure"]]
ylim <- rev(range(p))
par(mfrow=c(1,3), mar=c(3, 3, 1, 1), mgp=c(2, 0.7, 0))
plot(ctd[["sigmaTheta"]], p, ylim=ylim, type='l', xlab=expression(sigma[theta]))
N2u <- swN2(ctd, eos="unesco")
N2g <- swN2(ctd, eos="gsw")
plot(N2u, p, ylim=ylim, xlab="N2 Unesco", ylab="p", type="l")
d <- 100 * (N2u - N2g) / N2g
plot(d, p, ylim=ylim, xlab="N2 UNESCO-GSW diff. [%]", ylab="p", type="l")
abline(v=0)

[Package oce version 0.9-22 Index]