The underlying code repository is available at: https://github.com/FEEprojects/Paper_calibration_nocs_data_analysis
This folder contains the scripts used to conduct the analysis of the data collected at NOCS Southampton, with a Fidas 200S and 40 PM sensors between July 2020 and July 2021 presented in the paper XXXXXXXX.
The data needs to be downloaded from https://doi.org/10.5281/zenodo.7198378 and placed in the
data
folder in .rds format. Then the script
R/utilities/data_preparation.r
must be ran to tidy and
collate the different datasets used in the study, see Data preparation for more details.
Finally, this document presents an explanation of the different analysis conducted.
The datasets used during this analysis are:
data from the Fidas 200S: PM mass concentrations, PM size distribution and weather data.
data from the low-cost sensors: PM mass concentrations, PM size distribution, weather data.
The data from the Fidas 200S was extracted from the .promo files using PDAnalyze (proprietary software from Palas Gmbh) at 1min resolution. The text files extracted from the .promo files were parsed and stored at:
data\df_pm_2min.rds
- PM concentrations
data\df_weather_2min.rds
- weather data
The data from the sensors was sent to an influxDB, and was saved in
data/202007_to_202107_nocs.rds
.
The data is then processed by
utilities/data_preparation.r
and saved in DF_JOINED (see
utilities/variables.r
for the exact location).
Sensors “PMS-60N1” and “PMS-56N2” have been removed because of the high peaks they report now and again. “SPS-40N2” has been removed because it reports a constant value of zero.
Two time periods have been removed:
15th October between 10:00 and 11:00 for a preliminary incense experiment (not presented in the paper).
3rd November all day for the incense experiments described in the paper.
The sensors were spread across 4 air quality monitors described in (Johnston et al. 2019) called Nocs-1, Nocs-2, Nocs-3, and Nocs-4.
The air quality monitor Nocs-2 stopped working on the 23rd December 2020. This means 5 PMS and 6 SPS to study.
The following points have been investigated:
initial data exploration presented in this notebook.
impact of the time averaging on the performances of the sensors and on the demonstration of equivalence, presented in Demonstration of equivalence for daily, hourly and 2min averages
a preliminary analysis of the performances of different calibration methods presented in Test calibration
the evolution of the performances of the calibration methods through the study, presented in Calibration on 2 first weeks, performances on the year
a robust selection of the calibration methods presented in Calibration 2 weeks 40 days.
performances of calibration scenarios (length and duration of the calibration), presented in Calibration scenarios comparison.
The calibration scenarios are then used to compare to the criteria of the demonstration of equivalence, presented in Calibration scenarios comparison equivalence.#
Each of these points is detailled further in the next sections.
The main results are the delay at 10 second resolution especially with the experiments conducted with the incense peaks and that a temporal resolution of 2 min is preferred given the low concentrations encountered during the study.
df_fidas <- readRDS("C:/Data/Fidas/promo/df_pm_2min.rds")
df_fidas <-
df_fidas[df_fidas$date >= as.POSIXct("2020-07-01 00:00:00", tz = "UTC"), ]
df_weather <- readRDS("C:/Data/Fidas/promo/df_weather_2min.rds")
df_weather <-
df_weather[df_weather$date >= as.POSIXct("2020-07-01 00:00:00", tz = "UTC"), ]
df_distrib <- readRDS("C:/Data/Fidas/promo/df_distrib_2min.rds")
df_distrib <-
df_distrib[df_distrib$date >= as.POSIXct("2020-07-01 00:00:00", tz = "UTC"), ]
p <- df_fidas %>%
ggplot(aes(x = date, y = PM2.5)) +
geom_line()
ggplotly(p, dynamicTicks = T)