From 11ee8bff281bd3a8c4022a1b8e2a9e98bc57b450 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Fri, 17 Jan 2025 15:02:57 +0100 Subject: [PATCH 01/10] fixes start script --- scripts/start/projects/paper_MitiConsv.R | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index 3329b7e57..b286f3a02 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -9,7 +9,7 @@ # description: Land-based mitigation and habitat conservation # ------------------------------------------------------------- -rev <- "rev14" +rev <- "rev15" cres <- "c200" @@ -35,11 +35,11 @@ cfg$title <- "calib_run" cfg$output <- c("rds_report", "validation_short") cfg$force_replace <- TRUE -cfg$best_calib <- TRUE +cfg$recalibrate_landconversion_cost <- TRUE cfg$best_calib_landconversion_cost <- FALSE # cc is new default -cfg <- setScenario(cfg, c("SSP2","nocc_hist", "NPI", "ForestryExo")) +cfg <- setScenario(cfg, c("SSP2EU", "nocc_hist", "NPI", "ForestryExo")) cfg <- setScenario(cfg, c("MitiConsv"), scenario_config = "config/projects/scenario_config_miti_consv.csv") # sticky @@ -73,8 +73,8 @@ for (scen in scenarios) { scen <- unlist(strsplit(scen, "-")) ssp <- scen[grepl("SSP", scen)] - if (length(ssp) == 0) { - ssp <- "SSP2" + if (length(ssp) == 0 || ssp == "SSP2") { + ssp <- "SSP2EU" } source("config/default.cfg") From 9fffc09a9d8c39b93fc8e2de8fed38b4ea31dbb5 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Mon, 20 Jan 2025 15:01:56 +0100 Subject: [PATCH 02/10] calibration added to scenario config --- config/projects/scenario_config_miti_consv.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/config/projects/scenario_config_miti_consv.csv b/config/projects/scenario_config_miti_consv.csv index 219060333..308a7907d 100644 --- a/config/projects/scenario_config_miti_consv.csv +++ b/config/projects/scenario_config_miti_consv.csv @@ -1,2 +1,3 @@ ;MitiConsv;MitiConsv-NoBuff gms$s56_buffer_aff;0.2;0 +input['calibration'];calibration_rev16_MitiConsv_17Jan25.tgz;calibration_rev16_MitiConsv_17Jan25.tgz From c8303706962b4f9cf338b1b3cc705932e9be52d3 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Mon, 20 Jan 2025 15:03:44 +0100 Subject: [PATCH 03/10] calibration update --- scripts/start/projects/paper_MitiConsv.R | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index b286f3a02..803011b68 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -9,7 +9,7 @@ # description: Land-based mitigation and habitat conservation # ------------------------------------------------------------- -rev <- "rev15" +rev <- "rev16" cres <- "c200" @@ -87,12 +87,13 @@ for (scen in scenarios) { "output_check", "extra/disaggregation", "rds_report", "extra/runSEALSallocation" ) - cfg$input["calibration"] <- calib_tgz - # Climate change switched off for these runs cfg <- setScenario(cfg, c(ssp, "nocc_hist", "NPI", "ForestryExo")) cfg <- setScenario(cfg, c("MitiConsv"), scenario_config = "config/projects/scenario_config_miti_consv.csv") + # Update calibration + cfg$input["calibration"] <- calib_tgz + # sticky cfg$gms$factor_costs <- "sticky_feb18" From 7a3aeed51ffe8ab8948c656200b1596618bebfcf Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Wed, 22 Jan 2025 16:07:40 +0100 Subject: [PATCH 04/10] intermediate update --- .../projects/scenario_config_miti_consv.csv | 2 +- scripts/start/projects/paper_MitiConsv.R | 20 ++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/config/projects/scenario_config_miti_consv.csv b/config/projects/scenario_config_miti_consv.csv index 308a7907d..01f126944 100644 --- a/config/projects/scenario_config_miti_consv.csv +++ b/config/projects/scenario_config_miti_consv.csv @@ -1,3 +1,3 @@ ;MitiConsv;MitiConsv-NoBuff gms$s56_buffer_aff;0.2;0 -input['calibration'];calibration_rev16_MitiConsv_17Jan25.tgz;calibration_rev16_MitiConsv_17Jan25.tgz +input['calibration'];calibration_rev16_MitiConsv_22Jan25.tgz;calibration_rev16_MitiConsv_22Jan25.tgz diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index 803011b68..b638d464b 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -31,13 +31,18 @@ source("scripts/start_functions.R") source("config/default.cfg") -cfg$title <- "calib_run" +cfg$title <- paste0(rev, "_calib_MitiConsv") cfg$output <- c("rds_report", "validation_short") cfg$force_replace <- TRUE +# land conversion cost calibration settings cfg$recalibrate_landconversion_cost <- TRUE +cfg$restart_landconversion_cost <- FALSE cfg$best_calib_landconversion_cost <- FALSE +cfg$calib_accuracy_landconversion_cost <- 0.01 +cfg$lowpass_filter_landconversion_cost <- 1 + # cc is new default cfg <- setScenario(cfg, c("SSP2EU", "nocc_hist", "NPI", "ForestryExo")) cfg <- setScenario(cfg, c("MitiConsv"), scenario_config = "config/projects/scenario_config_miti_consv.csv") @@ -63,10 +68,10 @@ prefix <- paste(rev, "MitiConsv", cres, sep = "_") scenarios <- c( "SSP2-REF", "SSP2-PB650-PriceAR", "SSP2-PB650-PriceProt", "SSP2-PB1000-PriceAR", "SSP2-PB1000-PriceProt", - "SSP2-PB650-PriceAR-30by30", "SSP2-PB650-PriceProt-30by30", "SSP2-PB650-PriceAR-BH", "SSP2-PB650-PriceProt-BH", - "SSP2-PB1000-PriceAR-30by30", "SSP2-PB1000-PriceProt-30by30", - "SSP2-PB1000-PriceAR-BH", "SSP2-PB1000-PriceProt-BH" + "SSP2-PB1000-PriceAR-BH", "SSP2-PB1000-PriceProt-BH", + "SSP2-PB650-PriceAR-KBA", "SSP2-PB650-PriceProt-KBA", + "SSP2-PB1000-PriceAR-KBA", "SSP2-PB1000-PriceProt-KBA" ) for (scen in scenarios) { @@ -91,8 +96,9 @@ for (scen in scenarios) { cfg <- setScenario(cfg, c(ssp, "nocc_hist", "NPI", "ForestryExo")) cfg <- setScenario(cfg, c("MitiConsv"), scenario_config = "config/projects/scenario_config_miti_consv.csv") - # Update calibration + # Calibration settings cfg$input["calibration"] <- calib_tgz + cfg$best_calib_landconversion_cost <- FALSE # sticky cfg$gms$factor_costs <- "sticky_feb18" @@ -131,8 +137,8 @@ for (scen in scenarios) { cfg$gms$s56_c_price_induced_aff <- 0 } - if ("30by30" %in% scen) { - cfg$gms$c22_protect_scenario <- "30by30" + if ("KBA" %in% scen) { + cfg$gms$c22_protect_scenario <- "KBA" } if ("BH" %in% scen) { From b0025906478c9da5e52610c959b02eb42d6d2782 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Wed, 22 Jan 2025 16:09:54 +0100 Subject: [PATCH 05/10] changed land conversion cost calib defaults --- config/default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 50d4a57f0..d30b44202 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -100,7 +100,7 @@ cfg$calib_maxiter_landconversion_cost <- 40 # def = 40 cfg$restart_landconversion_cost <- TRUE # def = TRUE # Number of lowpass filter iterations applied on calibration factors # for time steps 1995-2015 -cfg$lowpass_filter_landconversion_cost <- 5 # def= 5 +cfg$lowpass_filter_landconversion_cost <- 1 # def= 5 # Set upper limit for cropland calibration factor cfg$cost_calib_max_landconversion_cost <- 3 # def= 3 # Set lower limit for cropland calibration factor @@ -108,7 +108,7 @@ cfg$cost_calib_min_landconversion_cost <- 0.05 # def= 0.05 # Selection type of calibration factors. # If FALSE, calibration factors from the last iteration are used. # If TRUE, calibration factors from the iteration with the lowest divergence are used. -cfg$best_calib_landconversion_cost <- TRUE # def = TRUE +cfg$best_calib_landconversion_cost <- FALSE # def = TRUE # Settings for NPI/NDC recalculation # * (TRUE): NPI/NDC recalculation will be performed From f3115dcbf2ef9af1f1d27b920e50f1ee14cc2f2b Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Wed, 22 Jan 2025 16:12:17 +0100 Subject: [PATCH 06/10] calib restart false --- config/default.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index d30b44202..6bd6c588e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -97,10 +97,10 @@ cfg$calib_accuracy_landconversion_cost <- 0.01 # def = 0.01 # What is the maximum number of iterations if the precision goal is not reached? cfg$calib_maxiter_landconversion_cost <- 40 # def = 40 # Restart from existing calibration factors (TRUE or FALSE) -cfg$restart_landconversion_cost <- TRUE # def = TRUE +cfg$restart_landconversion_cost <- FALSE # def = FALSE # Number of lowpass filter iterations applied on calibration factors # for time steps 1995-2015 -cfg$lowpass_filter_landconversion_cost <- 1 # def= 5 +cfg$lowpass_filter_landconversion_cost <- 1 # def= 1 # Set upper limit for cropland calibration factor cfg$cost_calib_max_landconversion_cost <- 3 # def= 3 # Set lower limit for cropland calibration factor @@ -108,7 +108,7 @@ cfg$cost_calib_min_landconversion_cost <- 0.05 # def= 0.05 # Selection type of calibration factors. # If FALSE, calibration factors from the last iteration are used. # If TRUE, calibration factors from the iteration with the lowest divergence are used. -cfg$best_calib_landconversion_cost <- FALSE # def = TRUE +cfg$best_calib_landconversion_cost <- FALSE # def = FALSE # Settings for NPI/NDC recalculation # * (TRUE): NPI/NDC recalculation will be performed From e7f3ba48626c80ed7eaa1b8f117842d1a230b9c5 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Wed, 22 Jan 2025 16:13:46 +0100 Subject: [PATCH 07/10] unnecessary line --- scripts/start/projects/paper_MitiConsv.R | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index b638d464b..8c3c33cbd 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -98,7 +98,6 @@ for (scen in scenarios) { # Calibration settings cfg$input["calibration"] <- calib_tgz - cfg$best_calib_landconversion_cost <- FALSE # sticky cfg$gms$factor_costs <- "sticky_feb18" From 056dd0230e8e5a6aa8e949f64d8b79a7ff41f7e3 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Thu, 23 Jan 2025 10:03:49 +0100 Subject: [PATCH 08/10] shortened scenario names --- scripts/start/projects/paper_MitiConsv.R | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index 8c3c33cbd..b0c2d28f3 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -66,12 +66,12 @@ calib_tgz <- magpie4::submitCalibration(paste(rev, "MitiConsv", sep = "_")) prefix <- paste(rev, "MitiConsv", cres, sep = "_") scenarios <- c( - "SSP2-REF", "SSP2-PB650-PriceAR", "SSP2-PB650-PriceProt", - "SSP2-PB1000-PriceAR", "SSP2-PB1000-PriceProt", - "SSP2-PB650-PriceAR-BH", "SSP2-PB650-PriceProt-BH", - "SSP2-PB1000-PriceAR-BH", "SSP2-PB1000-PriceProt-BH", - "SSP2-PB650-PriceAR-KBA", "SSP2-PB650-PriceProt-KBA", - "SSP2-PB1000-PriceAR-KBA", "SSP2-PB1000-PriceProt-KBA" + "SSP2-REF", "SSP2-PB650-AR", "SSP2-PB650-AvC", + "SSP2-PB1000-AR", "SSP2-PB1000-AvC", + "SSP2-PB650-AR-BH", "SSP2-PB650-AvC-BH", + "SSP2-PB1000-AR-BH", "SSP2-PB1000-AvC-BH", + "SSP2-PB650-AR-KBA", "SSP2-PB650-AvC-KBA", + "SSP2-PB1000-AR-KBA", "SSP2-PB1000-AvC-KBA" ) for (scen in scenarios) { @@ -127,11 +127,11 @@ for (scen in scenarios) { cfg$path_to_report_bioenergy <- pathToCoupledOutput } - if ("PriceAR" %in% scen) { + if ("AR" %in% scen) { cfg$gms$c56_emis_policy <- "redd+natveg_nosoil" } - if ("PriceProt" %in% scen) { + if ("AvC" %in% scen) { cfg$gms$c56_emis_policy <- "redd+natveg_nosoil" cfg$gms$s56_c_price_induced_aff <- 0 } From 6588a30bfb401503322dda676e31a06f9c7ed658 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Mon, 27 Jan 2025 10:21:24 +0100 Subject: [PATCH 09/10] update start script --- scripts/start/projects/paper_MitiConsv.R | 28 ++++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index b0c2d28f3..816efcbd5 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -105,26 +105,24 @@ for (scen in scenarios) { # SNV habitat defintion cfg$gms$land_snv <- "secdforest, other" + # Set path to coupled output + pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-NPi-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-NPi-rem-12.mif" + + # No ghg price in NPI run + cfg$gms$c56_mute_ghgprices_until <- "y2100" + if ("PB650" %in% scen) { cfg <- setScenario(cfg, "NDC") # Update path to coupled output - pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Dec24/remind/output/C_rev5_MitiConsv_SSP2-PkBudg650-rem-12/REMIND_generic_C_rev5_MitiConsv_SSP2-PkBudg650-rem-12.mif" - # Settings taken from coupled runs - cfg$gms$c56_pollutant_prices <- "coupling" - cfg$gms$c60_2ndgen_biodem <- "coupling" - cfg$path_to_report_ghgprices <- pathToCoupledOutput - cfg$path_to_report_bioenergy <- pathToCoupledOutput + pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-PkBudg1000-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-PkBudg650-rem-12.mif" + cfg$gms$c56_mute_ghgprices_until <- "y2030" } if ("PB1000" %in% scen) { cfg <- setScenario(cfg, "NDC") # Update path to coupled output - pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Dec24/remind/output/C_rev5_MitiConsv_SSP2-PkBudg1000-rem-12/REMIND_generic_C_rev5_MitiConsv_SSP2-PkBudg1000-rem-12.mif" - # Settings taken from coupled runs - cfg$gms$c56_pollutant_prices <- "coupling" - cfg$gms$c60_2ndgen_biodem <- "coupling" - cfg$path_to_report_ghgprices <- pathToCoupledOutput - cfg$path_to_report_bioenergy <- pathToCoupledOutput + pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-PkBudg650-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-PkBudg1000-rem-12.mif" + cfg$gms$c56_mute_ghgprices_until <- "y2030" } if ("AR" %in% scen) { @@ -144,6 +142,12 @@ for (scen in scenarios) { cfg$gms$c22_protect_scenario <- "BH" } + # Settings taken from coupled runs + cfg$gms$c56_pollutant_prices <- "coupling" + cfg$gms$c60_2ndgen_biodem <- "coupling" + cfg$path_to_report_ghgprices <- pathToCoupledOutput + cfg$path_to_report_bioenergy <- pathToCoupledOutput + cfg$title <- paste0(prefix, "_", paste(scen, collapse = "-")) start_run(cfg = cfg, codeCheck = FALSE) } From ccb6b2cb235b09ab3870816e3235154363c77e11 Mon Sep 17 00:00:00 2001 From: pvjeetze Date: Mon, 27 Jan 2025 12:24:46 +0100 Subject: [PATCH 10/10] minor fix --- scripts/start/projects/paper_MitiConsv.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/start/projects/paper_MitiConsv.R b/scripts/start/projects/paper_MitiConsv.R index 816efcbd5..c507251cd 100644 --- a/scripts/start/projects/paper_MitiConsv.R +++ b/scripts/start/projects/paper_MitiConsv.R @@ -114,14 +114,14 @@ for (scen in scenarios) { if ("PB650" %in% scen) { cfg <- setScenario(cfg, "NDC") # Update path to coupled output - pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-PkBudg1000-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-PkBudg650-rem-12.mif" + pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-PkBudg650-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-PkBudg650-rem-12.mif" cfg$gms$c56_mute_ghgprices_until <- "y2030" } if ("PB1000" %in% scen) { cfg <- setScenario(cfg, "NDC") # Update path to coupled output - pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-PkBudg650-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-PkBudg1000-rem-12.mif" + pathToCoupledOutput <- "/p/projects/magpie/users/vjeetze/magpie/projects/MitiConsv/C_MitiConsv_Jan25/remind/output/C_rev6_MitiConsv_SSP2-PkBudg1000-rem-12/REMIND_generic_C_rev6_MitiConsv_SSP2-PkBudg1000-rem-12.mif" cfg$gms$c56_mute_ghgprices_until <- "y2030" }