"modules/git@gitlab.pik-potsdam.de:hilaire/remind.git" did not exist on "c882d9b5e09a8dd92f273cfd75a7967a5f2e8d75"
Newer
Older
# | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
# | authors, and contributors see CITATION.cff file. This file is part
# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
# | AGPL-3.0, you are granted additional permissions described in the
# | REMIND License Exception, version 1.0 (see LICENSE file).
# | Contact: remind@pik-potsdam.de
require(data.table)
require(parallel)
require(remind)
args = commandArgs(trailingOnly=TRUE)
if (length(args)==0) {
plotfldr <- "multi_comparison_plots"
} else {
plotfldr <- args[1]
}
NUM_OF_CPUS_LOCAL <- 2
run_compare <- function(scens, policies, mifs, short){
RCP_MAP <- list(
Base="Baseline",
NPi="Baseline",
PkBudg900="26",
PkBudg1000="45",
PkBudg1100="45",
PkBudg1300="45"
)
short <- short[1]
policies <- unique(policies)
scens <- unique(scens)
hist <- "core/input/historical/historical.mif"
short_y <- seq(2005,2060,5)
short_ybar <- c(2010,2030,2050)
print(sprintf("[%s] Compare scenarios for scenarios %s and budgets %s, short-term: %s",
Sys.time(), paste(scens, collapse=","), paste(policies, collapse=","), short))
fname <- paste0(paste(scens, collapse="-"), "_",
paste(policies, collapse="-"), "_",
"Comparison",
if(short) "_SHORT",
"_", Sys.Date())
## if(!is.null(version))
## fname <- paste0(version, "_", fname)
outfolder <- file.path(plotfldr, fname)
dir.create(outfolder, showWarnings = F)
outfile <- file.path(outfolder, paste0(fname, ".pdf"))
rcpscen <- if(length(policies) == 1) RCP_MAP[[policies]]
if(short){
compareScenarios(mifs, y=short_y, y_bar=short_ybar, hist = hist,
fileName = outfile,
sr15marker_RCP = rcpscen)
}else{
compareScenarios(mifs, hist = hist,
fileName = outfile,
sr15marker_RCP = rcpscen)
}
file.copy(outfile, paste0(plotfldr, "/"))
file.remove(outfolder)
}
table <- fread("multi_comparison.csv", header = T)
CORES <- as.integer(Sys.getenv("SLURM_CPUS_PER_TASK", NUM_OF_CPUS_LOCAL))
cat(sprintf("Using %i CPUs.\n", CORES))
mclapply(1:max(table$comparison_id), function(id){
args <- table[comparison_id == id]
run_compare(args$scenario, args$policy, args$mif, args$short)
}, mc.cores=CORES)
# table[, run_compare(scenario, policy, mif, short), by=comparison_id]