I have an EDGAR emissions data-set. I would like to speciate the VOC emissions for CBMZ mechanism. Could anybody help? thanks
1 Answer
I used the R package eixport (Ibarra-Espinosa et al., 2018) to download EDGAR data (5 and spec voc 4.3.2) and then include several speciations for chemical mechanisms according to Carter (2015) and Lopez-Norena et al (2019).
The functions to download EDGAR are commented. This means that you must download all NetCDF files before running chem_edgar.
library(eixport)
library(rasterVis)
#> Loading required package: raster
#> Loading required package: sp
#> Loading required package: lattice
#> Loading required package: latticeExtra
library(cptcity)
# 1 Get EDGAR ####
# get_edgar(dataset = "v432_VOC_spec",
# destpath = "V50_432_AP/TOT/",
# sector = c( "TOTALS"),
# type = "nc",
# year = 2012)
#
# get_edgar(dataset = "v50_AP",
# destpath = "V50_432_AP/TOT",
# sector = c( "TOTALS"),
# type = "nc",
# year = 2014)
#
# get_edgar(dataset = "v432_VOC_spec",
# destpath = "V50_432_AP/TRO/",
# sector = c( "TRO"),
# type = "nc",
# year = 2012, ask = F)
#
# get_edgar(dataset = "v50_AP",
# destpath = "V50_432_AP/TRO",
# sector = c( "TRO_RES", "TRO_noRES"),
# type = "nc",
# year = 2014)
#
# totals <- list.files(path = "V50_432_AP/TOT/",
# full.names = TRUE,
# pattern = ".zip")
# lapply(totals, unzip, exdir = "V50_432_AP/TOT//")
#
#
# tros <- list.files(path = "V50_432_AP/TRO",
# full.names = TRUE,
# pattern = ".zip")
# lapply(tros, unzip, exdir = "V50_432_AP/TRO/")
a <- chem_edgar(path = "EDGAR/V50_432_AP/TOT", chem = "cbmz_mosaic")
#> units: kg m-2 s-1
#> Detecting the following files:
#> lncs
#> voc1 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc1_2012.0.1x0.1.nc
#> voc2 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc2_2012.0.1x0.1.nc
#> voc3 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc3_2012.0.1x0.1.nc
#> voc4 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc4_2012.0.1x0.1.nc
#> voc5 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc5_2012.0.1x0.1.nc
#> voc6 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc6_2012.0.1x0.1.nc
#> voc7 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc7_2012.0.1x0.1.nc
#> voc8 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc8_2012.0.1x0.1.nc
#> voc9 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc9_2012.0.1x0.1.nc
#> voc10 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc10_2012.0.1x0.1.nc
#> voc11 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc11_2012.0.1x0.1.nc
#> voc12 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc12_2012.0.1x0.1.nc
#> voc13 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc13_2012.0.1x0.1.nc
#> voc14 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc14_2012.0.1x0.1.nc
#> voc15 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc15_2012.0.1x0.1.nc
#> voc16 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc16_2012.0.1x0.1.nc
#> voc17 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc17_2012.0.1x0.1.nc
#> voc18 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc18_2012.0.1x0.1.nc
#> voc19 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc19_2012.0.1x0.1.nc
#> voc20 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc20_2012.0.1x0.1.nc
#> vpc21 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc21_2012.0.1x0.1.nc
#> voc22 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc22_2012.0.1x0.1.nc
#> voc23 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc23_2012.0.1x0.1.nc
#> voc24 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc24_2012.0.1x0.1.nc
#> voc25 EDGAR/V50_432_AP/TOT/v432_VOC_spec_voc25_2012.0.1x0.1.nc
#> co EDGAR/V50_432_AP/TOT/v50_CO_2014.0.1x0.1.nc
#> nox EDGAR/V50_432_AP/TOT/v50_NOx_2014.0.1x0.1.nc
#> nmvoc EDGAR/V50_432_AP/TOT/v50_NMVOC_2014.0.1x0.1.nc
#> so2 EDGAR/V50_432_AP/TOT/v50_SO2_2014.0.1x0.1.nc
#> nh3 EDGAR/V50_432_AP/TOT/v50_NH3_2014.0.1x0.1.nc
#> pm10 EDGAR/V50_432_AP/TOT/v50_PM10_2014.0.1x0.1.nc
#> pm25 EDGAR/V50_432_AP/TOT/v50_PM2.5_2014.0.1x0.1.nc
#> bc EDGAR/V50_432_AP/TOT/v50_BC_2014.0.1x0.1.nc
#> oc EDGAR/V50_432_AP/TOT/v50_OC_2014.0.1x0.1.nc
#> EDGAR data: voc1 voc2 voc3 voc4 voc5 voc6 voc7 voc8 voc9 voc10 voc11 voc12 voc13 voc14 voc15 voc16 voc17 voc18 voc19 voc20 voc21 voc22 voc23 voc24 voc25 co nox nmvoc so2 nh3 pm10 pm2.5 bc oc units of gases: mol/km2/h
#> units of aerosols: ug/m2/s
# just for the plot, replaces 0 with NA
a$E_CO[] <- ifelse(a$E_CO[] <= 0, NA, a$E_CO[])
colors <- c(cpt(pal = "mpl_viridis", rev = F, n = 200),
cpt(n = 100, rev = T))
levelplot(a$E_CO,
col.regions = colors,
zscaleLog = T)
Created on 2020-10-15 by the reprex package (v0.3.0)
Carter, W. P. (2015). Development of a database for chemical mechanism assignments for volatile organic emissions. Journal of the Air & Waste Management Association, 65(10), 1171-1184.
Lopez-Norena, Ana and Fernandez, Rafael & Puliafito, SALVADOR. (2019). ESPECIACION DE INVENTARIOS DE EMISIONES DE AEROSOLES Y COMPUESTOS ORGANICOS VOLATILES PARA EL MODELO WRF-CHEM, APLICADO A LOS ESQUEMAS RADM-2, CBM-Z Y MOZART
Ibarra-Espinosa et al., (2018). eixport: An R package to export emissions to atmospheric models. Journal of Open Source Software, 3(24), 607, https://doi.org/10.21105/joss.00607