# ODIN-SD tests
library(openair)
library(readr)

# ODIN-SD data ####
odin.data <- read_delim("~/data/SKOMOBO/CONA-Rangiora/ODIN-122/ODIN-122.txt",
                        "\t", escape_double = FALSE, col_types = cols(Day = col_character(),
                                                                      Time = col_character()), trim_ws = TRUE)
odin.data$date <- as.POSIXct(paste(odin.data$Day,odin.data$Time))
start_date <- as.POSIXct("2017-09-13 13:33:00")
time_shift <- start_date - odin.data$date[1]
odin.data$date <- odin.data$date + time_shift

# SKOMOBO data
skomobo.data <- read_delim("~/data/SKOMOBO/CONA-Rangiora/SKOMOBO-7/Data.csv",
                           ",")
## Parsed with column specification:
## cols(
##   Time = col_character(),
##   Moving = col_integer(),
##   Temp = col_double(),
##   Humid = col_double(),
##   CO2 = col_integer(),
##   `Dust 1.0` = col_integer(),
##   `Dust 2.5` = col_integer(),
##   `Dust 10` = col_integer(),
##   ERROR = col_integer()
## )
skomobo.data$date <- as.POSIXct(skomobo.data$Time,format = '%H:%M:%S %d/%m/%Y')

# Merging data
all.data <- merge(odin.data,skomobo.data,by = 'date',all = TRUE)
all.data$Day <- NULL
all.data$Time.x <- NULL
all.data$Time.y <- NULL
all.data$FrameLength <- NULL
all.data$Data4 <- NULL
all.data$Data5 <- NULL
all.data$Data6 <- NULL
all.data$Data7 <- NULL
all.data$Data8 <- NULL
all.data$Data9 <- NULL
names(all.data) <- c("date",
                     "PM1.out",
                     "PM2.5.out",
                     "PM10.out",
                     "Temperature.out",
                     "RH.out",
                     "Moving.in",
                     "Temperature.in",
                     "RH.in",
                     "CO2.in",
                     "PM1.in",
                     "PM2.5.in",
                     "PM10.in",
                     "ERROR")

# Plotting ####
avgtime = '15 min'
timePlot(all.data,pollutant = c('Temperature.in', 'Temperature.out'),
         avg.time = avgtime,
         group = TRUE)

timePlot(all.data,pollutant = c('RH.in', 'RH.out'),
         avg.time = avgtime,
         group = TRUE)

timePlot(all.data,pollutant = c('PM1.in','PM1.out'),
         avg.time = avgtime,
         group = TRUE)

timePlot(all.data,pollutant = c('PM2.5.in','PM2.5.out'),
         avg.time = avgtime,
         group = TRUE)

timePlot(all.data,pollutant = c('PM10.in','PM10.out'),
         avg.time = avgtime,
         group = TRUE)

# 14 September 
plot.data <- selectByDate(all.data,start = '2017-09-13',end = '2017-09-14')
avgtime = '10 min'
timePlot(plot.data,pollutant = c('PM2.5.in','PM2.5.out'),
         avg.time = avgtime,
         group = TRUE)

# 16 September 
plot.data <- selectByDate(all.data,start = '2017-09-16',end = '2017-09-16')
avgtime = '10 min'
timePlot(plot.data,pollutant = c('PM2.5.in','PM2.5.out'),
         avg.time = avgtime,
         group = TRUE)

# 19 September 
plot.data <- selectByDate(all.data,start = '2017-09-19',end = '2017-09-19')
avgtime = '10 min'
timePlot(plot.data,pollutant = c('PM2.5.in','PM2.5.out'),
         avg.time = avgtime,
         group = TRUE)