Skip to content

Commit

Permalink
Merge pull request #6 from magpiemodel/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
k4rst3ns committed Jul 5, 2019
2 parents e3c0705 + e2a39a2 commit 3b26b1d
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 85 deletions.
6 changes: 6 additions & 0 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ cfg$repositories <- append(list("https://rse.pik-potsdam.de/data/magpie/public"=
# Should input data be downloaded from source even if cfg$input did not change?
cfg$force_download <- FALSE

# Should an existing output folder be replaced if a new run with the same name is started?
cfg$force_replace <- FALSE

# Settings for the yield calibration
# * (TRUE): Yield calibration will be performed
# * (ifneeded): Yield calibration will only be executed if input data is
Expand Down Expand Up @@ -390,6 +393,9 @@ cfg$gms$nr_soil_budget <- "exoeff_aug16" # def = exoeff_aug16
# * neff65_70_starty2010,neff60_60_starty2010,neff55_60_starty2010,
# * neff70_75_starty2010,neff75_80_starty2010,neff80_85_starty2010
cfg$gms$c50_scen_neff <- "neff60_60_starty2010" # def = neff60_60_starty2010
# * scenario for animal waste management.
# * option: "ssp1", "ssp2", "ssp3", "ssp4", "ssp5", "constant", "a1", "a2", "b1","b2"
cfg$gms$c55_scen_conf <- "ssp2" # def = ssp2

# ***--------------------- 51_nitrogen ------------------------------------
# * (ipcc2006_sep16): IPCC based nitrogen implementation
Expand Down
1 change: 1 addition & 0 deletions config/scenario_config.csv
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ c35_ad_policy;;;;;;;;none;npi;ndc;;;;;;;;
c35_aolc_policy;;;;;;;;none;npi;ndc;;;;;;;;
c42_env_flow_policy;;;on;off;off;mixed;on;;;;;;;on;off;off;mixed;on
c50_scen_neff;;;neff65_70_starty2010;neff60_60_starty2010;neff55_60_starty2010;neff65_70_starty2010;neff55_60_starty2010;;;;;;;neff65_70_starty2010;neff60_60_starty2010;neff55_60_starty2010;neff65_70_starty2010;neff55_60_starty2010
c55_scen_conf;;;ssp1;ssp2;ssp3;ssp4;ssp5;;;;;;;ssp1;ssp2;ssp3;ssp4;ssp5
c56_pollutant_prices;;;;;;;;;;;coupling;emulator;coupling;SSPDB-SSP1-20-IMAGE;SSPDB-SSP2-26-MESSAGE-GLOBIOM;SSPDB-SSP3-60-AIM-CGE;SSPDB-SSP4-45-GCAM4;SSPDB-SSP5-45-REMIND-MAGPIE
maccs;;;;;;;;;;;;;;on_sep16;on_sep16;on_sep16;on_sep16;on_sep16
c60_2ndgen_biodem;;;;;;;;;;;coupling;emulator;coupling;SSPDB-SSP1-20-IMAGE;SSPDB-SSP2-26-MESSAGE-GLOBIOM;SSPDB-SSP3-60-AIM-CGE;SSPDB-SSP4-45-GCAM4;SSPDB-SSP5-45-REMIND-MAGPIE
Expand Down
6 changes: 3 additions & 3 deletions modules/55_awms/ipcc2006_aug16/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
*** | Contact: magpie@pik-potsdam.de


$setglobal c55_scen_conf SSP2
* options: SSP: "SSP1", "SSP2", "SSP3", "SSP4", "SSP5"
* SRES: "A1", "A2", "B1", "B2"
$setglobal c55_scen_conf ssp2
* options: SSP: "ssp1", "ssp2", "ssp3", "ssp4", "ssp5", "constant"
* SRES: "a1", "a2", "b1", "b2"

parameter f55_awms_recycling_share(i,kli,awms_conf) share of Nr in confinement recycled (tNr per tNr)
/
Expand Down
142 changes: 61 additions & 81 deletions scripts/start/sim4nexus.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,28 @@
library(lucode)
source("scripts/start_functions.R")
source("scripts/performance_test.R")
source("config/default.cfg")


#set defaults
codeCheck <- FALSE

buildInputVector <- function(regionmapping = "agmip",
buildInputVector <- function(regionmapping = "H12",
project_name = "isimip_rcp",
climatescen_name= "rcp2p6",
co2 = "noco2",
co2 = "co2",
climate_model = "IPSL_CM5A_LR",
resolution = "c400",
archive_rev = "34",
resolution = "h200",
archive_rev = "37",
madrat_rev = "4.14",
validation_rev = "4.14",
calibration = NULL,
additional_data = "additional_data_rev3.65.tgz") {
calibration = "calibration_sim4nexus_may2019.tgz",
additional_data = "additional_data_rev3.67.tgz") {
mappings <- c(H11="8a828c6ed5004e77d1ba2025e8ea2261",
H12="690d3718e151be1b450b394c1064b1c5",
mag="c30c1c580039c2b300d86cc46ff4036a",
agmip="c77f075908c3bc29bdbe1976165eccaf",
sim4nexus="25dd7264e8e145385b3bd0b89ec5f3fc",
agmip="c77f075908c3bc29bdbe1976165eccaf",
sim4nexus="25dd7264e8e145385b3bd0b89ec5f3fc",
inms="44f1e181a3da765729f2f1bfc926425a",
capri="e7e72fddc44cc3d546af7b038c651f51")
archive_name=paste(project_name,climate_model,climatescen_name,co2,sep="-")
archive <- paste0(archive_name, "_rev", archive_rev, "_", resolution, "_", mappings[regionmapping], ".tgz")
Expand All @@ -44,110 +45,89 @@ buildInputVector <- function(regionmapping = "agmip",

### SIM4NEXUS runs ###
#general settings
cfg$gms$c_timesteps <- "coup2100"
cfg$input <- buildInputVector()
cfg$output <- c(cfg$output,"sustag_report")
cfg$recalibrate <- FALSE
general_settings<-function(title) {
source("config/default.cfg")
cfg$gms$c_timesteps <- "coup2100"
cfg$input <- buildInputVector()
cfg$output <- c(cfg$output,"sustag_report")
cfg$recalibrate <- FALSE
cfg<-lucode::setScenario(cfg,"cc")
cfg$gms$c56_emis_policy <- "all"
cfg$gms$forestry <- "affore_vegc_dec16"
cfg$gms$maccs <- "on_sep16"
cfg$title <- paste0("v1_",title)
# include costs per-ton
return(cfg)
}


# SSP control runs###############################################


# SSP2
cfg$title <- "SSP2_standard"
cfg<-general_settings(title="SSP2")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg<-lucode::setScenario(cfg,"nocc")
cfg$force_download <- TRUE
cfg$input <- buildInputVector(co2="co2")
#cfg$recalibrate <- TRUE
#start_run(cfg=cfg,codeCheck=codeCheck)
#cfg$recalibrate <- FALSE


# SSP1
cfg$title <- "SSP1"
cfg<-lucode::setScenario(cfg,"SSP1")
cfg<-lucode::setScenario(cfg,"nocc")
cfg$input <- buildInputVector(regionmapping = "sim4nexus")
cfg$recalibrate <- TRUE
cfg$input <- buildInputVector(co2="nocc",regionmapping = "sim4nexus")
start_run(cfg=cfg,codeCheck=codeCheck)
calib<-magpie4::submitCalibration(name = "calibration_sim4nexus_jan2019.tgz")
calib<-magpie4::submitCalibration(name = "calibration_sim4nexus_may2019")
cfg$recalibrate <- "ifneeded"

# SSP2
cfg$title <- "SSP2"
cfg<-lucode::setScenario(cfg,"SSP2")
cfg<-lucode::setScenario(cfg,"nocc")
cfg$input <- buildInputVector(co2="nocc",regionmapping = "sim4nexus",calibration=calib)
start_run(cfg=cfg,codeCheck=codeCheck)

# SSP3
cfg$title <- "SSP3"
cfg<-lucode::setScenario(cfg,"SSP3")
cfg<-lucode::setScenario(cfg,"nocc")
cfg$input <- buildInputVector(co2="nocc",regionmapping = "sim4nexus",calibration=calib)
start_run(cfg=cfg,codeCheck=codeCheck)
#SIM4NEXUS standard runs#############################################

# SSP4
cfg$title <- "SSP4"
cfg<-lucode::setScenario(cfg,"SSP4")
cfg<-lucode::setScenario(cfg,"nocc")
cfg$input <- buildInputVector(co2="nocc",regionmapping = "sim4nexus",calibration=calib)
start_run(cfg=cfg,codeCheck=codeCheck)
#SSP2 family

# SSP5
cfg$title <- "SSP5"
cfg<-lucode::setScenario(cfg,"SSP5")
cfg<-lucode::setScenario(cfg,"nocc")
cfg$input <- buildInputVector(co2="nocc",regionmapping = "sim4nexus",calibration=calib)
cfg<-general_settings(title="SSP2_base_rcp6p0")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg$input <- buildInputVector(climatescen_name="rcp6p0",regionmapping = "sim4nexus",calibration=calib)
start_run(cfg=cfg,codeCheck=codeCheck)


cfg<-general_settings(title="SSP2_food")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg$input <- buildInputVector(climatescen_name="rcp6p0",regionmapping = "sim4nexus",calibration=calib)
start_run(cfg=cfg,codeCheck=codeCheck)



#SIM4NEXUS standard runs#############################################

#SSP2 family

# SSP2 Baseline RCP6.0 without CC mitigation
cfg$title <- "SSP2_base_rcp6p0"
cfg<-general_settings(title="SSP2_climate")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg<-lucode::setScenario(cfg,"cc")
cfg$input <- buildInputVector(co2="nocc",climatescen_name="rcp6p0",regionmapping = "sim4nexus",calibration=calib)
cfg$input <- buildInputVector(climatescen_name="rcp2p6",regionmapping = "sim4nexus",calibration=calib)
cfg$gms$c56_pollutant_prices <- "SSP2-26-SPA2-V15-MESSAGE-GLOBIOM"
cfg$gms$c60_2ndgen_biodem <- "SSP2-26-SPA2"
cfg$c50_scen_neff <- "neff65_70_starty2010"
start_run(cfg=cfg,codeCheck=codeCheck)


# SSP2 Mitigation RCP2.6
cfg$title <- "SSP2_policy_rcp2p6"

cfg<-general_settings(title="SSP2_water")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg<-lucode::setScenario(cfg,"cc")
cfg$input <- buildInputVector(co2="nocc",climatescen_name="rcp2p6",regionmapping = "sim4nexus",calibration=calib)
cfg$gms$c56_pollutant_prices <- "SSPDB-SSP2-26-MESSAGE-GLOBIOM"
cfg$gms$c60_2ndgen_biodem <- "SSPDB-SSP2-26-MESSAGE-GLOBIOM"
cfg$gms$forestry <- "affore_vegc_dec16"
cfg$gms$maccs <- "on_sep16"
cfg$input <- buildInputVector(climatescen_name="rcp6p0",regionmapping = "sim4nexus",calibration=calib)
cfg$c50_scen_neff <- "neff70_75_starty2010"
start_run(cfg=cfg,codeCheck=codeCheck)


# SSP2 Baseline RCP6.0 without CC mitigation with EFP
cfg$title <- "SSP2_base_rcp6p0_efp"
cfg<-general_settings(title="SSP2_biodiversity")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg<-lucode::setScenario(cfg,"cc")
cfg$input <- buildInputVector(co2="nocc",climatescen_name="rcp6p0",regionmapping = "sim4nexus",calibration=calib)
cfg$gms$c42_env_flow_policy <- "on"
cfg$input <- buildInputVector(climatescen_name="rcp6p0",regionmapping = "sim4nexus",calibration=calib)
cfg$c50_scen_neff <- "neff70_75_starty2010"
cfg$c55_scen_conf <- "SSP1"
cfg$gms$c12_interest_rate <- "low"
cfg$gms$c35_protect_scenario <- "BH"
start_run(cfg=cfg,codeCheck=codeCheck)


# SSP2 Mitigation RCP2.6 with EFP
cfg$title <- "SSP2_policy_rcp2p6_efp"
cfg<-general_settings(title="SSP2_all")
cfg<-lucode::setScenario(cfg,"SSP2")
cfg<-lucode::setScenario(cfg,"cc")
cfg$input <- buildInputVector(co2="nocc",climatescen_name="rcp2p6",regionmapping = "sim4nexus",calibration=calib)
cfg$gms$c56_pollutant_prices <- "SSPDB-SSP2-26-MESSAGE-GLOBIOM"
cfg$gms$c60_2ndgen_biodem <- "SSPDB-SSP2-26-MESSAGE-GLOBIOM"
cfg$gms$forestry <- "affore_vegc_dec16"
cfg$gms$maccs <- "on_sep16"
cfg$input <- buildInputVector(climatescen_name="rcp2p6",regionmapping = "sim4nexus",calibration=calib)
cfg$gms$c56_pollutant_prices <- "SSP2-26-SPA2-V15-MESSAGE-GLOBIOM"
cfg$gms$c60_2ndgen_biodem <- "SSP2-26-SPA2"
cfg$gms$c42_env_flow_policy <- "on"
cfg$c50_scen_neff <- "neff75_80_starty2010"
cfg$gms$c12_interest_rate <- "low"
cfg$c55_scen_conf <- "SSP1"
cfg$gms$c35_protect_scenario <- "BH"
start_run(cfg=cfg,codeCheck=codeCheck)



6 changes: 5 additions & 1 deletion scripts/start_functions.R
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ start_run <- function(cfg,scenario=NULL,codeCheck=TRUE,
# Create output folder
if (!file.exists(cfg$results_folder)) {
dir.create(cfg$results_folder, recursive=TRUE, showWarnings=FALSE)
} else {
} else if (cfg$force_replace) {
cat("Deleting results folder because it alreay exists:",cfg$results_folder,"\n")
unlink(cfg$results_folder, recursive = TRUE)
dir.create(cfg$results_folder, recursive = TRUE, showWarnings = FALSE)
} else {
stop(paste0("Results folder ",cfg$results_folder,
" could not be created because is already exists."))
}
Expand Down

0 comments on commit 3b26b1d

Please sign in to comment.