Create a section based on columnar data, or a set of oce objects that can be coerced to a section. There are three cases.

as.section(
  salinity,
  temperature,
  pressure,
  longitude,
  latitude,
  station,
  sectionId = ""
)

Arguments

salinity

This may be a numerical vector, in which case it is interpreted as the salinity, and the other arguments are used for the other components of ctd objects. Alternatively, it may be one of a variety of other objects from which the CTD objects can be inferred, in which case the other arguments are ignored; see ‘Details’.

temperature

Temperature, in a vector holding values for all stations.

pressure

Pressure, in a vector holding values for all stations.

longitude

Longitude, in a vector holding values for all stations.

latitude

Latitude, in a vector holding values for all stations.

station

Station identifiers, in a vector holding values for all stations.

sectionId

Section identifier.

Value

An object of section.

Details

Case 1. If the first argument is a numerical vector, then it is taken to be the salinity, and factor() is applied to station to break the data up into chunks that are assembled into ctd objects with as.ctd() and combined to make a section object to be returned. This mode of operation is provided as a convenience for datasets that are already partly processed; if original CTD data are available, the next mode is preferred, because it permits the storage of much more data and metadata in the CTD object.

Case 2. If the first argument is a list containing oce objects, then those objects are taken as profiles of something. A requirement for this to work is that every element of the list contains both longitude and latitude in either the metadata or data slot (in the latter case, the mean value is recorded in the section object) and that every element also contains pressure in its data slot.

Case 3. If the first argument is a argo object, then the profiles it contains are turned into ctd objects, and these are assembled into a section to be returned.

See also

Examples

library(oce) data(ctd) ## vector of names of CTD objects fake <- ctd fake[["temperature"]] <- ctd[["temperature"]] + 0.5 fake[["salinity"]] <- ctd[["salinity"]] + 0.1 fake[["longitude"]] <- ctd[["longitude"]] + 0.01 fake[["station"]] <- "fake" sec1 <- as.section(c("ctd", "fake")) summary(sec1)
#> Section Summary #> --------------- #> #> * Source: "" #> * ID: "" #> * Overview of stations #> Index ID Lon Lat Levels Depth #> 1 Stn 2 -63.6439 44.6843 181 44 #> 2 fake -63.6339 44.6843 181 44 #> * Processing Log #> #> - 2020-07-21 16:49:05 UTC: `create 'section' object` #> - 2020-07-21 16:49:05 UTC: `as.section(salinity = c("ctd", "fake"))`
## vector of CTD objects ctds <- vector("list", 2) ctds[[1]] <- ctd ctds[[2]] <- fake sec2 <- as.section(ctds)
#> Warning: estimated waterDepth as max(pressure) for CTDs numbered 1:2
summary(sec2)
#> Section Summary #> --------------- #> #> * Source: "" #> * ID: "" #> * Overview of stations #> Index ID Lon Lat Levels Depth #> 1 Stn 2 -63.6439 44.6843 181 44 #> 2 fake -63.6339 44.6843 181 44 #> * Processing Log #> #> - 2020-07-21 16:49:05 UTC: `create 'section' object` #> - 2020-07-21 16:49:05 UTC: `as.section(salinity = ctds)`
## argo data (a subset) data(argo) sec3 <- as.section(subset(argo, profile<5)) summary(sec3)
#> Section Summary #> --------------- #> #> * Source: "" #> * ID: "" #> * Overview of stations #> Index ID Lon Lat Levels Depth #> 1 1 -21.3850 60.9640 56 1754 #> 2 2 -21.8880 60.8480 56 1770 #> 3 3 -22.2570 61.1060 56 1768 #> 4 4 -22.4160 61.2520 56 1768 #> * Processing Log #> #> - 2020-07-21 16:49:05 UTC: `create 'section' object` #> - 2020-07-21 16:49:05 UTC: `as.section(salinity = subset(argo, profile < 5))`