Skip to content
Snippets Groups Projects
Unverified Commit 81f2c432 authored by Lavinia Baumstark's avatar Lavinia Baumstark Committed by GitHub
Browse files

Merge pull request #154 from piklev/develop

*refactoring* changed the efficiency plots in the calibration reporting
parents c5110703 70d1ebd2
No related branches found
No related tags found
No related merge requests found
...@@ -14,16 +14,17 @@ library(quitte) ...@@ -14,16 +14,17 @@ library(quitte)
require(lucode) require(lucode)
require(colorspace) require(colorspace)
gdx_name <- "fulldata.gdx" # name of the gdx
gdx_ref_name <- "input_ref.gdx" # name of the reference gdx (for policy cost calculation)
if(!exists("source_include")) { if(!exists("source_include")) {
#Define arguments that can be read from command line #Define arguments that can be read from command line
output_folder <- "dummy" outputdir <- "output/R17IH_SSP2_postIIASA-26_2016-12-23_16.03.23" # path to the output folder
readArgs("output_folder") readArgs("outputdir","gdx_name","gdx_ref_name")
scenario<-"remind17_6013_SSP2-tax20-Noaff-CT-rem-5" }
output_folder <- "remind17_6013_SSP2-tax20-Noaff-CT-rem-5" gdx <- path(outputdir,gdx_name)
} else { gdx_ref <- path(outputdir,gdx_ref_name)
output_folder <- outputdir if(!file.exists(gdx_ref)) { gdx_ref <- NULL }
}
scenario <- getScenNames(outputdir) scenario <- getScenNames(outputdir)
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
...@@ -83,9 +84,9 @@ cat("Reading CES calibration output from ",filename,"\n") ...@@ -83,9 +84,9 @@ cat("Reading CES calibration output from ",filename,"\n")
if (file.exists(filename)) { if (file.exists(filename)) {
CES.cal.report <- read.table(filename, header = TRUE, sep = ",", quote = "\"") %>% CES.cal.report <- read.table(filename, header = TRUE, sep = ",", quote = "\"") %>%
as.data.frame() as.data.frame()
} else if (file.exists(path(output_folder,filename))) { } else if (file.exists(path(outputdir,filename))) {
CES.cal.report <- read.table(path(output_folder,filename), header = TRUE, sep = ",", quote = "\"") %>% CES.cal.report <- read.table(path(outputdir,filename), header = TRUE, sep = ",", quote = "\"") %>%
as.data.frame() as.data.frame()
} else { } else {
stop("No CES_calibration.csv file found. CES_calibration.csv is normally produced during calibration runs") stop("No CES_calibration.csv file found. CES_calibration.csv is normally produced during calibration runs")
...@@ -97,7 +98,7 @@ if (file.exists(filename)) { ...@@ -97,7 +98,7 @@ if (file.exists(filename)) {
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
in_set = readGDX(path(outputdir,"fulldata.gdx"), "in", "sets") in_set = readGDX(gdx, "in", "sets")
itr <- getColValues(CES.cal.report,"iteration") itr <- getColValues(CES.cal.report,"iteration")
itr_num <- sort(as.double(setdiff(itr, c("origin","target")))) itr_num <- sort(as.double(setdiff(itr, c("origin","target"))))
...@@ -108,10 +109,11 @@ col <- c("#fc0000", "#000000", ...@@ -108,10 +109,11 @@ col <- c("#fc0000", "#000000",
"#bc80bd"#, "#bc80bd"#,
#"#808080" #"#808080"
) )
names(col) <- c("origin", "target", seq(1,length(itr_num)))
lns <- c(rep("solid", 2), rep("longdash", length(itr_num))) lns <- c(rep("solid", 2), rep("longdash", length(itr_num)))
names(lns) <- c("origin", "target", seq(1,length(itr_num)))
.pf <- list("TE" = c("gastr", "refliq", "biotr", "coaltr","hydro", "ngcc","ngt","pc", "apCarDiT","apCarPeT","apCarElT","dot","gaschp","wind","tnrs")) .pf <- list("TE" = c("gastr", "refliq", "biotr", "coaltr","hydro", "ngcc","ngt","pc", "apCarDiT","apCarPeT","apCarElT","dot","gaschp","wind","tnrs"))
...@@ -202,8 +204,8 @@ for (s in levels(CES.cal.report$scenario)) { ...@@ -202,8 +204,8 @@ for (s in levels(CES.cal.report$scenario)) {
geom_line() + geom_line() +
facet_wrap(~ pf, scales = "free", as.table = FALSE) + facet_wrap(~ pf, scales = "free", as.table = FALSE) +
expand_limits(y = 0) + expand_limits(y = 0) +
scale_colour_manual(values = col[-2]) + scale_colour_manual(values = col) +
scale_linetype_manual(values = lns[-2]) + scale_linetype_manual(values = lns) +
ggtitle(paste("prices", r, s)) -> p ggtitle(paste("prices", r, s)) -> p
plot(p) plot(p)
...@@ -212,17 +214,22 @@ for (s in levels(CES.cal.report$scenario)) { ...@@ -212,17 +214,22 @@ for (s in levels(CES.cal.report$scenario)) {
filter(scenario == s, filter(scenario == s,
t <= 2100, t <= 2100,
regi == r, regi == r,
variable == "total efficiency") %>% variable == "total efficiency",
iteration != "origin") %>%
group_by(scenario,t,regi,pf,variable) %>%
mutate(value = value / value[as.character(iteration) == "1"]) %>%
ungroup() %>%
order.levels(pf = getElement(.pf,"structure" )) %>% order.levels(pf = getElement(.pf,"structure" )) %>%
ggplot(aes(x = t, y = value, colour = iteration, ggplot(aes(x = t, y = value, colour = iteration,
linetype = iteration)) + linetype = iteration)) +
geom_line() + geom_line() +
facet_wrap(~ pf, scales = "free", as.table = FALSE) + facet_wrap(~ pf, scales = "free", as.table = FALSE) +
expand_limits(y = 0) + scale_colour_manual(values = col) +
scale_colour_manual(values = col[-2]) + scale_linetype_manual(values = lns) +
scale_linetype_manual(values = lns[-2]) + ggtitle(paste("total efficiency (1 = iteration 1)", r, s)) -> p
ggtitle(paste("total efficiency", r, s)) -> p
plot(p) plot(p)
# plot Putty quantities # plot Putty quantities
if ( dim(CES.cal.report %>% filter(variable == "quantity_putty"))[1] > 0){ if ( dim(CES.cal.report %>% filter(variable == "quantity_putty"))[1] > 0){
CES.cal.report %>% CES.cal.report %>%
...@@ -254,8 +261,8 @@ for (s in levels(CES.cal.report$scenario)) { ...@@ -254,8 +261,8 @@ for (s in levels(CES.cal.report$scenario)) {
geom_line() + geom_line() +
facet_wrap(~ pf, scales = "free", as.table = FALSE) + facet_wrap(~ pf, scales = "free", as.table = FALSE) +
expand_limits(y = 0) + expand_limits(y = 0) +
scale_colour_manual(values = col[-2]) + scale_colour_manual(values = col) +
scale_linetype_manual(values = lns[-2]) + scale_linetype_manual(values = lns) +
ggtitle(paste("prices", r, s)) -> p ggtitle(paste("prices", r, s)) -> p
plot(p) plot(p)
...@@ -264,16 +271,20 @@ for (s in levels(CES.cal.report$scenario)) { ...@@ -264,16 +271,20 @@ for (s in levels(CES.cal.report$scenario)) {
filter(scenario == s, filter(scenario == s,
t <= 2100, t <= 2100,
regi == r, regi == r,
variable == "total efficiency putty") %>% variable == "total efficiency putty",
iteration != "origin") %>%
group_by(scenario,t,regi,pf,variable) %>%
mutate(value = value / value[as.character(iteration) == "1"]) %>%
ungroup() %>%
order.levels(pf = getElement(.pf,"structure" )) %>% order.levels(pf = getElement(.pf,"structure" )) %>%
ggplot(aes(x = t, y = value, colour = iteration, ggplot(aes(x = t, y = value, colour = iteration,
linetype = iteration)) + linetype = iteration)) +
geom_line() + geom_line() +
facet_wrap(~ pf, scales = "free", as.table = FALSE) + facet_wrap(~ pf, scales = "free", as.table = FALSE) +
expand_limits(y = 0) + expand_limits(y = 0) +
scale_colour_manual(values = col[-2]) + scale_colour_manual(values = col) +
scale_linetype_manual(values = lns[-2]) + scale_linetype_manual(values = lns) +
ggtitle(paste("total efficiency", r, s)) -> p ggtitle(paste("total efficiency (1 = iteration 1)", r, s)) -> p
plot(p) plot(p)
} }
...@@ -297,8 +308,8 @@ for (s in levels(CES.cal.report$scenario)) { ...@@ -297,8 +308,8 @@ for (s in levels(CES.cal.report$scenario)) {
geom_line() + geom_line() +
facet_wrap(~ pf, scales = "free", as.table = FALSE) + facet_wrap(~ pf, scales = "free", as.table = FALSE) +
expand_limits(y = 0) + expand_limits(y = 0) +
scale_colour_manual(values = col[-2]) + scale_colour_manual(values = col) +
scale_linetype_manual(values = lns[-2]) + scale_linetype_manual(values = lns) +
geom_vline(xintercept = 2005) + geom_vline(xintercept = 2005) +
ggtitle(paste("vm_deltaCap", r, s)) -> p ggtitle(paste("vm_deltaCap", r, s)) -> p
plot(p) plot(p)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment