Marko Lipka, David Kaiser 2021-05-05
read.cnv.file()
function takes a filename of a .cnv file as argument
and returns a data.frame.
plot.CTD.data()
function
- takes the output of
read.cnv.file()
and returns a facetted ggplot. - optional arguments:
- depvar: character (vector) of parameter(s) that should be used as depth axis. First match in parameter names will be used if multiple parameters are defined.
- not2plot: character (vector) of parameter(s) that should not be plotted. default is a list of common metadata parameters like “scan”, “nbin”, “flag”, “latitude”, …
extract.stats()
function takes a filename of a .cnv file or the output
of read.cnv.file()
as argument and returns summary statistics of each
parameter.
extract.stats.dir()
function takes a directory as argument and returns
summary statistics of each parameter in each .cnv file in the given
directory.
map.CTD.data()
function
- takes a directory as argument
- finds and
read.cnv.file()
all cnv files in this directory - creates a dynamic point map which popups the
plot.CTD.data()
-plot on click
Ex1 <- read.cnv.file("example data/IOW/V0001F01.cnv")
knitr::kable(head(Ex1$data))
depSM | prDM | c0mS.cm | c1mS.cm | t090C | t190C | sal00 | sal11 | sbeox0ML.L | sbeox1ML.L | svCM | oxsatML.L | altM | par | spar | flECO.AFL | turbWETntu0 | nbf | upoly0 | upoly1 | timeS | scan | sigma.é00 | flag | nbin |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1.50 | 1.36001 | 14.16115 | 14.16036 | 6.1272 | 6.1251 | 13.2087 | 13.2088 | 8.65394 | 8.74601 | 1447.91 | 7.95670 | 17.55465 | 402.87 | 1012.2 | 1.4015 | 0.29254 | 0 | 0.04206 | 0.04201 | -3.638 | -86 | 10.3704 | 0 | 92 |
1.75 | 1.61264 | 14.16280 | 14.16364 | 6.1245 | 6.1219 | 13.2115 | 13.2133 | 8.65493 | 8.72731 | 1447.90 | 7.95708 | 16.83636 | 386.34 | 1241.7 | 1.2540 | 0.29134 | 0 | 0.04205 | 0.04213 | 14.117 | 340 | 10.3727 | 0 | 95 |
2.00 | 1.86478 | 14.16379 | 14.16305 | 6.1236 | 6.1211 | 13.2128 | 13.2130 | 8.65435 | 8.73503 | 1447.91 | 7.95719 | 16.97811 | 365.78 | 1247.6 | 1.3204 | 0.29062 | 0 | 0.04192 | 0.04212 | 17.178 | 413 | 10.3738 | 0 | 68 |
2.25 | 2.11683 | 14.16334 | 14.16383 | 6.1227 | 6.1207 | 13.2126 | 13.2138 | 8.65487 | 8.74630 | 1447.91 | 7.95737 | 16.75866 | 336.83 | 1246.8 | 1.3079 | 0.29237 | 0 | 0.04172 | 0.04213 | 18.940 | 456 | 10.3737 | 0 | 34 |
2.50 | 2.36962 | 14.16532 | 14.16366 | 6.1229 | 6.1206 | 13.2145 | 13.2137 | 8.65615 | 8.72256 | 1447.91 | 7.95724 | 16.53253 | 306.92 | 1250.1 | 1.3161 | 0.29388 | 0 | 0.04189 | 0.04196 | 20.410 | 491 | 10.3752 | 0 | 31 |
2.75 | 2.62119 | 14.16302 | 14.16275 | 6.1224 | 6.1208 | 13.2122 | 13.2126 | 8.65235 | 8.73113 | 1447.91 | 7.95746 | 16.25545 | 282.55 | 1245.4 | 1.3918 | 0.28734 | 0 | 0.04177 | 0.04188 | 21.853 | 525 | 10.3735 | 0 | 41 |
pander(Ex1$meta)
ReiseNr = EMB-100, StationNr= 0001, EinsatzNr= 0001, SerieNr = 01 Operator= Kiki, StatBez = STOL aus .eMission., Startzeit= 09:18:13 09-APR-15, GPS_Posn = 54 15.3678N 11 56.7485E, Echolote = 18.54 m, Luftdruck= 1028.6 hPa, ThermoSal= 6.274 grdC 13.02 ppth and WsStartID= 1
pander(Ex1$coords)
- Lat: 54 15.3678N
- Lon: 11 56.7485E
plot.CTD.data(Ex1)
knitr::kable(extract.stats(Ex1))
parameter | Min. | 1st Qu. | Median | Mean | 3rd Qu. | Max. |
---|---|---|---|---|---|---|
depSM | 1.50000 | 5.50000 | 9.50000 | 9.500000e+00 | 13.50000 | 17.50000 |
prDM | 1.36001 | 5.39597 | 9.43236 | 9.432500e+00 | 13.46876 | 17.50504 |
c0mS.cm | 14.16115 | 14.18255 | 14.43783 | 1.469591e+01 | 14.80368 | 16.65272 |
c1mS.cm | 14.16036 | 14.17993 | 14.43694 | 1.469836e+01 | 14.80367 | 16.65273 |
t090C | 5.11450 | 5.73350 | 5.85950 | 5.843791e+00 | 6.10280 | 6.12720 |
t190C | 5.11340 | 5.73160 | 5.85680 | 5.840982e+00 | 6.10160 | 6.12510 |
sal00 | 13.20870 | 13.23940 | 13.58380 | 1.387377e+01 | 14.02030 | 16.22560 |
sal11 | 13.20880 | 13.23730 | 13.58560 | 1.387746e+01 | 14.02080 | 16.22670 |
sbeox0ML.L | 7.93073 | 8.51706 | 8.63803 | 8.550225e+00 | 8.66173 | 8.69804 |
sbeox1ML.L | 7.99170 | 8.59136 | 8.71539 | 8.619413e+00 | 8.74519 | 8.77727 |
svCM | 1447.26000 | 1447.39000 | 1447.68000 | 1.447675e+03 | 1447.91000 | 1448.21000 |
oxsatML.L | 7.94831 | 7.95861 | 7.97670 | 7.977887e+00 | 7.99410 | 8.01248 |
altM | 1.14989 | 4.99694 | 9.26731 | 9.270412e+00 | 13.43070 | 17.55465 |
par | 3.24560 | 10.45500 | 36.60100 | 8.514989e+01 | 115.30000 | 402.87000 |
spar | 1012.20000 | 1181.20000 | 1219.40000 | 1.223674e+03 | 1260.10000 | 1320.50000 |
flECO.AFL | 1.25400 | 1.70370 | 4.70550 | 4.226457e+00 | 6.25550 | 8.14330 |
turbWETntu0 | 0.23239 | 0.29955 | 0.33523 | 3.362509e-01 | 0.37339 | 0.41291 |
nbf | 0.00000 | 2.00000 | 3.00000 | 2.769231e+00 | 4.00000 | 5.00000 |
upoly0 | 0.04151 | 0.04194 | 0.04214 | 4.214062e-02 | 0.04236 | 0.04270 |
upoly1 | 0.04154 | 0.04196 | 0.04219 | 4.217492e-02 | 0.04238 | 0.04266 |
timeS | -3.63800 | 36.06700 | 56.78000 | 5.660052e+01 | 77.34400 | 112.32000 |
scan | -86.00000 | 867.00000 | 1364.00000 | 1.359477e+03 | 1857.00000 | 2697.00000 |
sigma.é00 | 10.37040 | 10.39620 | 10.68220 | 1.091262e+01 | 11.03640 | 12.81770 |
flag | 0.00000 | 0.00000 | 0.00000 | 0.000000e+00 | 0.00000 | 0.00000 |
nbin | 27.00000 | 30.00000 | 31.00000 | 4.261538e+01 | 32.00000 | 618.00000 |
Ex2 <- read.cnv.file("example data/IOW/P0009F01.cnv")
knitr::kable(head(Ex2$data))
depSM | prDM | c0mS.cm | t090C | sal00 | sbeox0ML.L | svCM | oxsatML.L | altM | spar | flECO.AFL | turbWETntu0 | nbf | latitude | longitude | timeS | scan | sigma.é00 | flag | nbin |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6.00 | 5.94454 | 23.47002 | 14.4042 | 18.2368 | 6.44049 | 1485.34 | 6.38187 | 120.4128 | 0 | 0.28637 | 0.46429 | 0 | 44.697 | 31.4564 | 15.945 | 384 | 13.2020 | 0 | 710 |
6.25 | 6.19658 | 23.47004 | 14.4042 | 18.2368 | 6.44113 | 1485.34 | 6.38188 | 123.2926 | 0 | 0.28241 | 0.46385 | 0 | 44.697 | 31.4564 | 29.884 | 718 | 13.2019 | 0 | 17 |
6.50 | 6.44872 | 23.47012 | 14.4042 | 18.2368 | 6.44125 | 1485.35 | 6.38188 | 131.2332 | 0 | 0.27295 | 0.46274 | 0 | 44.697 | 31.4564 | 30.678 | 737 | 13.2020 | 0 | 19 |
6.75 | 6.70098 | 23.47121 | 14.4062 | 18.2367 | 6.44137 | 1485.36 | 6.38161 | 129.1096 | 0 | 0.27584 | 0.46556 | 0 | 44.697 | 31.4564 | 31.517 | 757 | 13.2016 | 0 | 23 |
7.00 | 6.95274 | 23.47125 | 14.4059 | 18.2369 | 6.44155 | 1485.36 | 6.38165 | 126.9133 | 0 | 0.28945 | 0.46188 | 0 | 44.697 | 31.4564 | 32.671 | 785 | 13.2017 | 0 | 34 |
7.25 | 7.20464 | 23.47110 | 14.4056 | 18.2368 | 6.44189 | 1485.36 | 6.38171 | 135.6922 | 0 | 0.28379 | 0.47353 | 0 | 44.697 | 31.4564 | 34.233 | 823 | 13.2018 | 0 | 36 |
pander(Ex2$meta)
StationNr= 0009, EinsatzNr= 0009, SerieNr = 01 Operator= Krueger, StatBez = MSM33/28 aus .eMission., Startzeit= 03:41:07 12-Nov-13, GPS_Posn = 44 41.8229N 031 27.3851E, Echolote = m 153.2 m, Luftdruck= 1023.7 hPa, ThermoSal= 14.408 grdC 18.254 ppth and WsStartID= 76
pander(Ex2$coords)
- Lat: 44 41.82 N
- Lon: 031 27.38 E
plot.CTD.data(Ex2)
plot.CTD.data(Ex2, depvar = "prDM")
plot.CTD.data(Ex2, depvar = "sigma.é00", not2plot = c("flag", "nbin", "nbf", "upoly0", "upoly1"))
plot.CTD.data(Ex2, not2plot = "par")
knitr::kable(extract.stats(Ex2))
parameter | Min. | 1st Qu. | Median | Mean | 3rd Qu. | Max. |
---|---|---|---|---|---|---|
depSM | 6.000000 | 44.3750000 | 82.750000 | 82.7500000 | 121.125000 | 159.50000 |
prDM | 5.944540 | 44.6371600 | 83.337350 | 83.3422434 | 122.045085 | 160.76025 |
c0mS.cm | 20.477365 | 20.8868860 | 21.332397 | 21.8644415 | 23.054894 | 23.47625 |
t090C | 7.861800 | 7.8905000 | 8.313400 | 9.1691005 | 8.574650 | 14.41040 |
sal00 | 18.233800 | 18.6450500 | 19.223500 | 19.4156091 | 20.485600 | 21.07180 |
sbeox0ML.L | -0.011130 | 0.2700600 | 2.807190 | 2.9985646 | 5.210405 | 6.64871 |
svCM | 1462.900000 | 1463.8200000 | 1465.300000 | 1468.9153171 | 1469.785000 | 1485.61000 |
oxsatML.L | 6.381040 | 7.1362900 | 7.257620 | 7.1239137 | 7.335025 | 7.35166 |
altM | 0.183810 | 40.2139050 | 79.066310 | 76.5849562 | 114.381920 | 151.16043 |
spar | 0.000000 | 0.0000000 | 0.000000 | 0.0000000 | 0.000000 | 0.00000 |
flECO.AFL | 0.016421 | 0.0341325 | 0.048649 | 0.1080484 | 0.187315 | 0.42177 |
turbWETntu0 | 0.412690 | 0.4210050 | 0.454410 | 0.5643113 | 0.515245 | 1.36128 |
nbf | 0.000000 | 0.0000000 | 0.000000 | 0.0000000 | 0.000000 | 0.00000 |
latitude | 44.697000 | 44.6970000 | 44.697000 | 44.6970000 | 44.697000 | 44.69700 |
longitude | 31.456400 | 31.4564000 | 31.456400 | 31.4564000 | 31.456400 | 31.45640 |
timeS | 15.945000 | 221.5885000 | 413.403000 | 415.4409593 | 605.760500 | 1147.09500 |
scan | 384.000000 | 5319.0000000 | 9923.000000 | 9971.5772358 | 14539.500000 | 27531.00000 |
sigma.é00 | 13.201100 | 14.4521500 | 14.928000 | 14.8975966 | 15.855100 | 16.28920 |
flag | 0.000000 | 0.0000000 | 0.000000 | 0.0000000 | 0.000000 | 0.00000 |
nbin | 7.000000 | 27.0000000 | 30.000000 | 40.9170732 | 34.000000 | 3800.00000 |
extract.stats.dir("example data/IOW/")
## # A tibble: 45 x 8
## source parameter Min. `1st Qu.` Median Mean `3rd Qu.` Max.
## <chr> <chr> <table> <table> <table> <table> <table> <tabl>
## 1 example data/… depSM 6.0… 44.37500 82.7… 82.7… 121.125… 159.…
## 2 example data/… prDM 5.9… 44.63716 83.3… 83.3… 122.045… 160.…
## 3 example data/… c0mS.cm 20.4… 20.88689 21.3… 21.8… 23.054… 23.…
## 4 example data/… t090C 7.8… 7.89050 8.3… 9.1… 8.574… 14.…
## 5 example data/… sal00 18.2… 18.64505 19.2… 19.4… 20.485… 21.…
## 6 example data/… sbeox0ML.L -0.0… 0.27006 2.8… 2.9… 5.210… 6.…
## 7 example data/… svCM 1462.9… 1463.82000 1465.3… 1468.9… 1469.785… 1485.…
## 8 example data/… oxsatML.L 6.3… 7.13629 7.2… 7.1… 7.335… 7.…
## 9 example data/… altM 0.1… 40.21390 79.0… 76.5… 114.381… 151.…
## 10 example data/… spar 0.0… 0.00000 0.0… 0.0… 0.000… 0.…
## # … with 35 more rows
via mail and with kind permission from SimplySav101
Sav <- read.cnv.file("example data/Savannah/2017-03-10T075604 SBE02501006.cnv")
knitr::kable(head(Sav$data))
prdM | t090C | c0uS.cm | sbox0Mm.Kg | flECO.AFL | turbWETntu0 | upoly0 | upoly1 | flag |
---|---|---|---|---|---|---|---|---|
0.124 | 5.1496 | 9.369485 | -100.279 | -0.3196 | -0.2622 | 0.0475319 | 0.0485237 | 0 |
0.118 | 5.1406 | 9.369485 | 508.636 | -0.3188 | -0.2619 | 0.0476081 | 0.0486000 | 0 |
0.115 | 5.1311 | 9.540741 | 1010.594 | -0.3196 | -0.2619 | 0.0475319 | 0.0485237 | 0 |
0.121 | 5.1225 | 9.637391 | 549.142 | -0.3203 | -0.2622 | 0.0476081 | 0.0485237 | 0 |
0.109 | 5.1139 | 9.564480 | 717.860 | -0.3196 | -0.2622 | 0.0475319 | 0.0485237 | 0 |
0.111 | 5.1053 | 9.954473 | 841.882 | -0.3196 | -0.2622 | 0.0476081 | 0.0486000 | 0 |
pander(Sav$meta)
Station: SH, Depth: 50.0 m, Latitude: 60 40.277 N, Longitude: 145 52.522 W, AKST (time): 10 Mar 2017 07:56, Cruise: LTM2017-01 and Comment: Touched bottom
pander(Sav$coords)
- Lat: 60 40.277 N
- Lon: 145 52.522 W
plot.CTD.data(Sav)
knitr::kable(extract.stats(Sav))
parameter | Min. | 1st Qu. | Median | Mean | 3rd Qu. | Max. |
---|---|---|---|---|---|---|
prdM | 0.0420000 | 1.839000e+00 | 1.852000e+00 | 8.363139e+00 | 2.415500e+00 | 51.934000 |
t090C | 0.0309000 | 4.580100e+00 | 4.753800e+00 | 4.739716e+00 | 5.225400e+00 | 5.365300 |
c0uS.cm | 5.4633120 | 3.035425e+04 | 3.051600e+04 | 2.964673e+04 | 3.109000e+04 | 31183.000000 |
sbox0Mm.Kg | -100.2790000 | 2.749352e+02 | 2.775220e+02 | 2.698899e+02 | 2.803083e+02 | 1334.778000 |
flECO.AFL | -0.8300000 | 1.908000e-01 | 2.038000e-01 | 2.423933e-01 | 2.168000e-01 | 4.422900 |
turbWETntu0 | -0.4457000 | 7.738000e-01 | 8.041000e-01 | 1.456253e+00 | 8.581000e-01 | 19.540000 |
upoly0 | 0.0302129 | 1.149615e+00 | 1.519493e+00 | 1.488448e+00 | 1.895171e+00 | 3.267491 |
upoly1 | 0.0309758 | 2.976272e-01 | 3.242542e-01 | 3.374228e-01 | 3.485161e-01 | 1.230106 |
flag | 0.0000000 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000 |
- https://github.com/castelao/seabird
- https://github.com/NatalyaEvans/cnv_concatenator
- https://github.com/labons/cnv_reader
- https://github.com/cmunozmas/plot_raw_ctd
path_CNVs <- "example data/fromGithub"
files <- list.files(path = path_CNVs,
pattern = "\\.cnv$",
full.names = TRUE,
recursive = T, ignore.case = T)
for(file in files){
print(file)
import <- read.cnv.file(file)
print(plot.CTD.data(import))
}
## [1] "example data/fromGithub/from castelao_seabird/dPIRX003.cnv"
## Warning: Removed 2 row(s) containing missing values (geom_path).
## [1] "example data/fromGithub/from castelao_seabird/dPIRX010.cnv"
## [1] "example data/fromGithub/from castelao_seabird/Hotin.cnv"
## [1] "example data/fromGithub/from castelao_seabird/PIRA001.cnv"
## [1] "example data/fromGithub/from castelao_seabird/sta0860.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_01.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_02.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_03.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_04.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_05.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_06.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_07.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_08.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_09.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/dradmed_10.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_02.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_03.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_04.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_05.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_06.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_07.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_08.cnv"
## [1] "example data/fromGithub/from cmunozmas_plot_raw_ctd/ds2_085.cnv"
## [1] "example data/fromGithub/from labons_cnv_reader/PIRA001.cnv"
## [1] "example data/fromGithub/from NatalyaEvans_cnv_concatenator/Station00_test_cast1.cnv"
## [1] "example data/fromGithub/from NatalyaEvans_cnv_concatenator/Station01_test_cast2.cnv"
only a screenshot of the dynamic map can be shown on github
map.CTD.data("example data/IOW/")