-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreadodfmctd.R
66 lines (56 loc) · 1.47 KB
/
readodfmctd.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
####readodfmctd####
filename <- 'C:/Users/ChisholmE/Documents/sample files/mctd/MCTD_HUD2015006_1897_11688_1800.ODF'
#' mctd odf 2 oce
#'
#' @param filename odf file containing moored CTD data (MCTD)
#'
#' @return oce object, ctd class containing all the data and metadata from the ODF
#' @export
#'
#' @examples
read.odf.mctd <- function(filename){
obj <- read.odf(filename, header = 'list')
mctd <- as.ctd(
salinity = obj@data$salinity,
temperature = obj@data$temperature,
pressure = obj@data$pressure,
conductivity = obj@data$conductivity,
time = obj@data$time,
units = obj@metadata$units,
flags = obj@metadata$flags,
type = 'Moored'
)
mctd <-
oceSetData(
mctd,
'sigmaTheta',
obj@data$sigmaTheta,
unit = obj@metadata$units$sigmaTheta,
originalName = obj@metadata$dataNamesOriginal$sigmaTheta,
note = NULL
)
mctd <-
oceSetData(
mctd,
'potentialTemp',
obj@data$theta,
unit = obj@metadata$units$theta,
originalName = obj@metadata$dataNamesOriginal$theta,
note = NULL
)
mctd <-
oceSetData(
mctd,
'oxygen',
obj@data$oxygen,
unit = obj@metadata$units$oxygen,
originalName = obj@metadata$dataNamesOriginal,
note = NULL
)
for (m in names(obj@metadata)) {
if (m != 'units' & m != 'flags' & m != 'dataNamesOriginal') {
mctd <- oceSetMetadata(mctd, m, obj[[m]], note = NULL)
}
}
return(mctd)
}