-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdata.R
More file actions
44 lines (32 loc) · 2.33 KB
/
Copy pathdata.R
File metadata and controls
44 lines (32 loc) · 2.33 KB
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
library(data.table)
stationSamples_ICES <- fread(input = "Data/StationSamples_ICES.csv.gz")
stationSamples_EMODNET <- fread(input = "Data/StationSamples_EMODNET.csv.gz")
stationSamples_EEA <- fread(input = "Data/StationSamples_EEA.csv.gz")
# Combined data tables --> 88,516,449 --> 99,151,701 (2025) station samples
stationSamples <- rbindlist(list(stationSamples_ICES, stationSamples_EMODNET, stationSamples_EEA), use.names = TRUE, fill = TRUE)
# Free memory
rm(stationSamples_ICES, stationSamples_EMODNET, stationSamples_EEA)
# Extract unique locations i.e. longitude/latitude pairs --> 3,637,548 --> 4,561,786 (2025) locations
locations <- unique(stationSamples[, .(Longitude..degrees_east., Latitude..degrees_north.)])
# Classify locations into clusters
source("utilities_cluster.R")
locations <- classify_locations_into_clusters(locations)
# Merge locations incl. clusters back into station samples
stationSamples <- locations[stationSamples, on = .(Longitude..degrees_east., Latitude..degrees_north.), nomatch = 0]
# Extract unique locations used by the dissolved oxygen indicator
locations <- unique(stationSamples[(Month >= 7 & Month <= 10) & ((!is.na(Dissolved.Oxygen..ml.l.) & QV.ODV.Dissolved.Oxygen..ml.l. != 4 & QV.ODV.Dissolved.Oxygen..ml.l. != 8) | (!is.na(Hydrogen.Sulphide..H2S.S...umol.l.) & QV.ODV.Hydrogen.Sulphide..H2S.S...umol.l. != 4 & QV.ODV.Hydrogen.Sulphide..H2S.S...umol.l. != 8)), .(Longitude..degrees_east., Latitude..degrees_north.)])
#fwrite(locations, file.path("Data", "Locations.csv.gz"))
#locations <- fread(input = "Data/Locations.csv.gz")
#source("utilities_bathymetric.R")
#locations <- as.data.table(classify_locations_into_bathymetric(locations))
#fwrite(locations, file.path("Data", "Locations.csv.gz"))
# Classify locations used by the dissolved oxygen indicator into bathymetric
source("utilities_bathymetric.R")
locations <- as.data.table(classify_locations_into_bathymetric(locations))
# Merge locations incl. bathymetric back into station samples
stationSamples <- locations[stationSamples, on = .(Longitude..degrees_east., Latitude..degrees_north.)]
# Output station samples
#save(stationSamples, file = file.path("Data", "StationSamples.RData"))
fwrite(stationSamples, file.path("Data", "StationSamples.csv.gz"))
# Free memory
rm(locations, stationSamples, classify_locations_into_clusters, classify_locations_into_bathymetric)