Introduction

Recently, oce has been gaining flexibility in terms of conductivities stored in data files. This is necessitated by the fact that RBR files store conductivity in mS/cm, whereas calculations for seawater properties use the unitless conductivity ratio. With the CTD code under examination for this work, it might make sense to also handle temperatures stored in files. The two choices for that seem to be the IPTS-68 and ITS-90 conventions [1,2], and a natural question is whether using ITS-90 temperatures in formula designed for IPTS-68 will yield errors of practical significance.

Functions

The following are functions for the conversion, as suggested in [1].

1
2
T90toT68 <- function(T90) 1.00024 * T90
T68toT90 <- function(T68) T68 / 1.00024

Test of inferred density

First, define some base quantities

1
2
3
4
library(oce)
S <- 35
T90 <- 20
p <- 100

and then do some calculations, e.g.

1
T90toT68(T90)
## [1] 20.0048

This temperature difference, 0.0048, is several times larger than the SBE911plus initial accuracy of 0.001 C as stated at [3]. (It is about double the stated stability over a year of drift.)

Another test is of density:

1
swRho(S, T90, p) # incorrect
## Error in swRho(S, T90, p): must supply longitude
1
swRho(S, T90toT68(T90), p)
## Error in swRho(S, T90toT68(T90), p): must supply longitude

Finally, the following tests the amount that salinity would need to be adjusted to compensate (in density terms) for a temperature misapplication.

1
rho0 <- swRho(S, T90toT68(T90), p)
## Error in swRho(S, T90toT68(T90), p): must supply longitude
1
uniroot(function(S) swRho(S, T90, p) - rho0, lower=34, upper=36)$root
## Error in swRho(S, T90, p): must supply longitude

This website is written in Jekyll, and the source is available on GitHub.