## ----echo = FALSE-------------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## ----eval=FALSE---------------------------------------------------------------
#  ?`[[,oce-method`

## ----eval=FALSE---------------------------------------------------------------
#  ?`[[,ctd-method`

## ----eval=FALSE---------------------------------------------------------------
#  S <- d[["salinity"]]

## ----eval=FALSE---------------------------------------------------------------
#  data <- d[["data"]]

## ----eval=FALSE---------------------------------------------------------------
#  data$temperature

## ----eval=FALSE---------------------------------------------------------------
#  library(oce)
#  data(ctd)
#  ctd[["?"]]

## ----eval=FALSE---------------------------------------------------------------
#  data(ctd)
#  ctd[["temperatureAboveFreezing"]] <- ctd[["temperature"]] - swTFreeze(ctd)

## ----eval=FALSE---------------------------------------------------------------
#  ?"[[<-,oce-method"

## ----extractExample, eval=FALSE-----------------------------------------------
#  ctd[["metadata"]]$scientist <- "Dalhousie Oceanography 4120/5120 Class of 2003"

## ----eval=FALSE---------------------------------------------------------------
#  ctd <- oceSetMetadata(ctd,
#      name = "scientist",
#      value = "Dalhousie Oceanography 4120/5120 Class of 2003",
#      note = "give credit where it's due"
#  )

## ----eval=FALSE---------------------------------------------------------------
#  ctd <- oceSetData(ctd,
#      name = "temperatureAboveFreezing",
#      value = ctd[["temperature"]] - swTFreeze(ctd),
#      unit = list(unit = expression(degree * C), scale = "ITS-90"),
#      originalName = "-",
#      note = "add temperatureAboveFreezing, for ice-related calculations"
#  )

## ----eval=FALSE---------------------------------------------------------------
#  library(oce)
#  d <- read.oce("station1.cnv")
#  summary(d)
#  plot(d)

## ----eval=FALSE---------------------------------------------------------------
#  data(section)
#  plot(section, which = c(1, 2, 3, 99))

## ----fig.cap="**Figure 4.** Portion of the CTD section designated A03, showing the Gulf Sream region.  The square on the cruise track corresponds to zero distance on the section.", fig.width=4, fig.height=4, dpi=72, dev.args=list(pointsize=12)----
library(oce)
data(section)
GS <- subset(section, 102 <= stationId & stationId <= 124)
GSg <- sectionGrid(GS, p = seq(0, 1600, 25))
plot(GSg, which = c(1, 99), map.xlim = c(-85, -(64 + 13 / 60)))

## ----fig.cap="**Figure 9.** Sea-level timeseries measured in 2003 in Halifax Harbour.", fig.width=5, fig.height=4, dpi=72, dev.args=list(pointsize=16)----
library(oce)
data(sealevel)
plot(sealevel)

## ----fig.cap="**Figure 10.** Measurements made with a bottom-mounted ADP in the St Lawrence Estuary. The line near the surface indicates pressure measured by the ADP.", fig.width=6, fig.height=2, dpi=72----
library(oce)
data(adp)
plot(adp, which = 1)
lines(adp[["time"]], adp[["pressure"]], lwd = 2)

## ----fig.keep="none"----------------------------------------------------------
library(oce)
Sys.setenv(LANGUAGE = "fr")
data(ctd)
plot(ctd)

## ----echo=FALSE---------------------------------------------------------------
Sys.setenv(LANGUAGE = "en")

## -----------------------------------------------------------------------------
library(oce)
data(ctd)
"N2" %in% ctd[["?"]]$dataDerived
ctd@data$temperature <- NULL # erase temperature
"N2" %in% ctd[["?"]]$dataDerived

## ----fig.width=5, fig.height=5, fig.keep="none"-------------------------------
library(oce)
swRho(34, 10, 100, eos = "unesco")
swTheta(34, 10, 100, eos = "unesco")
swRho(34, swTheta(34, 10, 100, eos = "unesco"), 0, eos = "unesco")
swRho(34, swTheta(34, 10, 100, 200, eos = "unesco"), 200, eos = "unesco")
plotTS(as.ctd(c(30, 40), c(-2, 20), rep(0, 2)), eos = "unesco", grid = TRUE, col = "white")

## ----fig.width=5, fig.height=5, fig.keep="none"-------------------------------
library(oce)
data(section)
s <- handleFlags(section, flags = list(c(1, 3:9)))
ctd <- as.ctd(s[["salinity"]], s[["temperature"]], s[["pressure"]],
    longitude = s[["longitude"]], latitude = s[["latitude"]]
)
col <- ifelse(s[["longitude"]] > -30, "black", "gray")
plotTS(ctd, col = col, eos = "gsw")

## ----fig.width=5, fig.height=3, fig.keep="none"-------------------------------
library(oce)
data(section)
GS <- subset(section, 102 <= stationId & stationId <= 124)
dh <- swDynamicHeight(GS)
par(mfrow = c(2, 1), mar = c(3, 3, 1, 1), mgp = c(2, 0.7, 0))
plot(dh$distance, dh$height, type = "l", xlab = "", ylab = "Dyn. Height [m]")
grid()
# 1e3 metres per kilometre
latMean <- mean(GS[["latitude"]])
f <- coriolis(latMean)
g <- gravity(latMean)
v <- diff(dh$height) / diff(dh$distance) * g / f / 1e3
plot(dh$distance[-1], v, type = "l", xlab = "Distance [km]", ylab = "Velocity [m/s]")
grid()
abline(h = 0, col = "red")

## ----fig.width=7, fig.height=3, fig.keep="none"-------------------------------
library(oce)
data(sealevel)
# Focus on 2003-Sep-28 to 29th, the time when Hurricane Juan caused flooding
plot(sealevel, which = 1, xlim = as.POSIXct(c("2003-09-24", "2003-10-05"), tz = "UTC"))
abline(v = as.POSIXct("2003-09-29 04:00:00", tz = "UTC"), col = "red")
mtext("Juan", at = as.POSIXct("2003-09-29 04:00:00", tz = "UTC"), col = "red")

## ----results="hide", fig.keep="none"------------------------------------------
library(oce)
data(sealevel)
m <- tidem(sealevel)
oce.plot.ts(sealevel[["time"]], sealevel[["elevation"]] - predict(m),
    ylab = "Detided sealevel [m]",
    xlim = c(as.POSIXct("2003-09-20"), as.POSIXct("2003-10-08"))
)

