2. Proyectos
Luego de que VEIN esta instalado, es necesario bajar un proyecto de VEIN. Estos proyectos son diseñados para que personas sin conocimiento en R consigan estimar emisiones vehicular e inclusive, generar datos para correr modelos de calidad del aire. Estos proyectos son bajados usando VEIN. El proyecto que vamos a correr corresponde a una estimacion para una provincia de Ecuador.
Es importante mencionar que el hecho que los proyectos son diseñados para ser fáciles, no implica que el usuario va a tener que hacer modificaciones. Enla mayoria de los casos, los usuarios modifican alguna parte del proyecto. La cuestión es que, si un usuario genera un nuevo proyecto a partir de uno existente, por ejemplo, para Colombia, seria super enriquecedor para la comunidad compartir este project via pull request en https://github.com/atmoschem/vein o via email a zergioibarra@gmail.com.
Para bajar proyectos, el usuario solo debe ejecutar
la funcion get_project
. Los argumento de esta función son:
library(vein)
args(get_project)
#R> function (directory, case = "brasil", url)
- Donde
directory
se refiere a la nueva carpeta del proyecto. Puede ser cualquier palabra sin espacios y con caracteres simples de preferencia. Por ejemplo, “cucuta”: case
es el tipo de proyecto que vamos a bajar, abajo esta la lista completa hasta ahora.url
es una url para bajar el proyecto, es opcional.
La actual lista de proyectos es:
La descripcion de los proyectos se encuentra aqui
Para este curso, los alumnos tienen que seguir el proyecto ecuador_td
. Si sobra tiempo,
podemos correr otro proyecto.
ecuador_td
, es un proyecto diseñado para estimar las emisiones de una provincia de
Ecuador con resolución mensual.
Baja el proyecto de ecuador con alguna palabra para la nueva carpeta:
library(vein)
get_project(directory = "provincia_ecuador", case = "ecuador_td")
#R>trying URL 'https://raw.githubusercontent.com/atmoschem/vein/master/projects/ecuador_td.tar.gz'
#R>Content type 'application/octet-stream' length 19831266 bytes (18.9 MB)
#R>==================================================
#R>downloaded 18.9 MB
#R>
#R>Your directory is in provincia_ecuador
> system("tree provincia_ecuador")
#R> provincia_ecuador
#R> ├── config
#R> │ ├── clean.R
#R> │ ├── config.R
#R> │ ├── inventory_ecuador_month.xlsx
#R> │ └── inventory_ecuador.xlsx
#R> ├── main.R
#R> ├── main.Rproj
#R> ├── network
#R> │ ├── ecuador_provincias.gpkg
#R> │ ├── lights.tif
#R> │ ├── net.gpkg
#R> │ ├── net.rds
#R> │ └── roads.rds
#R> ├── notes
#R> └── scripts
#R> ├── cold_start_eea.R
#R> ├── evaporatives_eea.R
#R> ├── exhaust_eea.R
#R> ├── fuel_eval_eea.R
#R> ├── hot_exhaust_eea.R
#R> ├── mech2.R
#R> ├── mech.R
#R> ├── net.R
#R> ├── osm.R
#R> ├── plots.R
#R> ├── post.R
#R> ├── ressuspensao.R
#R> ├── traffic.R
#R> ├── wear_eea.R
#R> └── wrf.R
El archivo que hay que correr es main.R
. El contenido de este archivo es el siguiente:
###########################################################
### ####
### ANNUAL EMISSIONS INVENTORY FOR ECUADOR PROVINCE ####
### ####
###########################################################
options(encoding = "UTF-8")
library(vein) # vein
library(sf) # spatial data
library(cptcity) # 7120 colour palettes
library(ggplot2) # plots
library(eixport) # create wrfchemi
library(data.table) # faster data.frames
sessionInfo()
# for fun, install devtools::install_github('bbc/bbplot')
# devtools::install_github('bbc/bbplot')
# 0 Configuration
language <- "spanish" # spanish portuguese english
path <- "config/inventory_ecuador.xlsx"
readxl::excel_sheets(path)
metadata <- readxl::read_xlsx(path = path, sheet = "metadata")
mileage <- readxl::read_xlsx(path = path, sheet = "mileage")
tfs <- readxl::read_xlsx(path = path, sheet = "tfs")
veh <- readxl::read_xlsx(path = path, sheet = "fleet_age")
fuel <- readxl::read_xlsx(path = path, sheet = "fuel")
fuel_spec <- readxl::read_xlsx(path = path, sheet = "fuel_spec")
pmonth <- readxl::read_xlsx(path = path, sheet = "fuel_month")
met <- readxl::read_xlsx(path = path, sheet = "met")
euro <- readxl::read_xlsx(path = path, sheet = "euro")
tech <- readxl::read_xlsx(path = path, sheet = "tech")
year <- 2019
month <- 6
agemax <- 40
provincia <- unique(fuel$region)[1]
# provincia <- unique(fuel$region)[as.numeric(basename(getwd()))]
col_region <- "region" # esta columna debe estar presente en fuel y met
scale <- "none"
theme <- "black" # dark clean ing
delete_directories <- TRUE
source("config/config.R", encoding = "UTF-8")
# 1) Network ####
net <- st_read("network/ecuador_provincias.gpkg")
crs <- 4326
source("scripts/net.R", encoding = "UTF-8")
# 2) Traffic ####
language <- "spanish" # english spanish portuguese
net <- readRDS("network/net.rds")
metadata <- readRDS("config/metadata.rds")
categories <- c("pc", "lcv", "trucks", "bus", "mc") # in network/net.gpkg
veh <- readRDS("config/fleet_age.rds")
verbose <- FALSE
year <- 2019
theme <- "black" # dark clean ink
k_D <- 1
k_G <- 1
source("scripts/traffic.R", encoding = "UTF-8")
# 3) Estimation ####
language <- "spanish" # english spanish portuguese
metadata <- readRDS("config/metadata.rds")
mileage <- readRDS("config/mileage.rds")
veh <- readRDS("config/fleet_age.rds")
net <- readRDS("network/net.rds")
pmonth <- readRDS("config/pmonth.rds")
met <- readRDS("config/met.rds")
euro <- readRDS("config/euro.rds")
tech <- readRDS("config/tech.rds")
verbose <- FALSE
year <- 2019
# fuel calibration with fuel consumption data
fuel <- readRDS("config/fuel.rds")
pol <- "FC"
provincia <- unique(fuel$region)[1]
# provincia <- unique(fuel$region)[as.numeric(basename(getwd()))]
nt <- 10 # check_nt() / 2
source("scripts/fuel_eval_eea.R", encoding = "UTF-8")
# rm(list = ls())
# gc()
# Exhaust ####
language <- "spanish" # english spanish portuguese
provincia <- unique(fuel$region)[as.numeric(basename(getwd()))]
metadata <- readRDS("config/metadata.rds")
mileage <- readRDS("config/mileage.rds")
veh <- readRDS("config/fleet_age.rds")
net <- readRDS("network/net.rds")
pmonth <- readRDS("config/pmonth.rds")
met <- readRDS("config/met.rds")
euro <- readRDS("config/euro.rds")
tech <- readRDS("config/tech.rds")
fuel_spec <- readRDS("config/fuel_spec.rds")
verbose <- FALSE
year <- 2019
nt <- 10 # check_nt() / 2
pol <- c(
"CO", "HC", "NMHC", "NOx", "CO2",
"PM", "NO2", "NO"
)
source("scripts/hot_exhaust_eea.R", encoding = "UTF-8")
pol <- c(
"CO", "NOx", "NMHC", "HC", "NO2", "NO"
)
source("scripts/cold_start_eea.R", encoding = "UTF-8")
# rm(list = ls())
# gc()
# Evaporatives ####
language <- "spanish" # english spanish portuguese
provincia <- unique(fuel$region)[1]
# provincia <- unique(fuel$region)[as.numeric(basename(getwd()))]
metadata <- readRDS("config/metadata.rds")
mileage <- readRDS("config/mileage.rds")
veh <- readRDS("config/fleet_age.rds")
net <- readRDS("network/net.rds")
pmonth <- readRDS("config/pmonth.rds")
met <- readRDS("config/met.rds")
euro <- readRDS("config/euro.rds")
tech <- readRDS("config/tech.rds")
fuel_spec <- readRDS("config/fuel_spec.rds")
verbose <- FALSE
year <- 2019
source("scripts/evaporatives_eea.R", encoding = "UTF-8")
# rm(list = ls())
# gc()
# Wear ####
language <- "spanish" # english spanish portuguese
provincia <- unique(fuel$region)[1]
# provincia <- unique(fuel$region)[as.numeric(basename(getwd()))]
metadata <- readRDS("config/metadata.rds")
mileage <- readRDS("config/mileage.rds")
veh <- readRDS("config/fleet_age.rds")
net <- readRDS("network/net.rds")
pmonth <- readRDS("config/pmonth.rds")
met <- readRDS("config/met.rds")
euro <- readRDS("config/euro.rds")
tech <- readRDS("config/tech.rds")
fuel_spec <- readRDS("config/fuel_spec.rds")
verbose <- FALSE
year <- 2019
nt <- 10 # check_nt() / 2
source("scripts/wear_eea.R", encoding = "UTF-8")
# plots
language <- "spanish" # english spanish portuguese
provincia <- unique(fuel$region)[1]
# provincia <- unique(fuel$region)[as.numeric(basename(getwd()))]
metadata <- readRDS("config/metadata.rds")
veh <- readRDS("config/fleet_age.rds")
year <- 2019
source("scripts/plots.R", encoding = "UTF-8")i