inst/epsa.test.R

library(rgcam)
library(DevelopmentVerification)
library(dplyr)
library(magrittr)
library(ggplot2)
library(stringr)
library(tidyr)
library(xml2)
setwd("C:/Users/guti220/Desktop") # db connection fails, even after loaded, if working directory is same as db's

# scenario-mapping file, referenced in all transformation functions (see input sections below)
# needs to map name of db (as saved by rgcam) to scenario, forcing, and branch

# transformation functions
source("C:/Users/guti220/Desktop/EPSA/group.R")
map <- read.csv("EPSA/scen-map.csv")


# query db ----------------------------------------------------------------

# Connect a GCAM database using rgcam
set <- "refining"

for (db in c("EPSA", "GCAM5")) {
  conn <- localDBConn("EPSA", paste0('database_basexdb_', db))
  listScenariosInDB(conn)

  # initialize project and query files based on set (query-class)
  prj <- paste0("EPSA/project-files/", set, ".dat")
  queryf <- paste0("EPSA/queries/", set, "_", db, ".xml")

  # Run batch query on new scenarios and add to prj (if needed)
  prj <- addScenario(conn, prj, queryFile=queryf, saveProj=TRUE)

}


# USA::electricity --------------------------------------------------------

proj.electricity <- "C:/Users/guti220/Desktop/EPSA/project-files/electricity.dat" %>% loadProject()

# each query in project data gets a transformation function
transf.electricity <- list("Electricity generation by technology (inc solar roofs)" = group.el,
                           "Cogeneration by region" = group.quosure(output),
                           "Transportation final energy by fuel" = group.quosure(input),
                           "Building final energy by fuel" = group.quosure(input),
                           "Industry final energy by fuel" = group.quosure(input))

# initialize gcam figs
el <- GCAMFigsBase(proj.electricity, transf.electricity)

# plot figures
lineplot(el, "Electricity generation by technology (inc solar roofs)", "USA")[[1]]
barchart(el, "Electricity generation by technology (inc solar roofs)", "Ref", "USA")[[1]]

lapply(names(el), function(query) {
  out <- lineplot(el, query, "USA")
  ggsave(paste0("C:/Users/guti220/Desktop/EPSA/figs/", out[[2]], ".png" ),
         plot = out[[1]],
         device = "png")
})

lapply(names(el), function(query) {
  out <- barchart(el, query, "Ref", "USA")
  ggsave(paste0("C:/Users/guti220/Desktop/EPSA/figs/", out[[2]], ".png" ),
         plot = out[[1]],
         device = "png")
})




# USA::refining -----------------------------------------------------------

proj.refining <- "C:/Users/guti220/Desktop/EPSA/project-files/refining.dat" %>% loadProject()
transf.refining <- list("Refined liquids production by technology" = group.quosure(subsector))
ref <- GCAMFigsBase(proj.refining, transf.refining)

out <- lineplot(ref, "Refined liquids production by technology", "USA")
ggsave(paste0("C:/Users/guti220/Desktop/EPSA/figs/", out[[2]], ".png"),
       plot = out[[1]],
       device = "png")

out <- barchart(ref, "Refined liquids production by technology", "Ref", "USA")
ggsave(paste0("C:/Users/guti220/Desktop/EPSA/figs/", out[[2]], ".png"),
       plot = out[[1]],
       device = "png")
xavier-gutierrez/validation_figures documentation built on May 24, 2019, 9:58 p.m.