From 6c7bb73d1d864ba192c3ace3ee30b3a6da7f6372 Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Fri, 14 Mar 2025 10:15:20 +0100 Subject: [PATCH 01/14] renv 1.1.2 --- renv/activate.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renv/activate.R b/renv/activate.R index 13923c562..c9f594259 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,7 +2,7 @@ local({ # the requested version of renv - version <- "1.1.0" + version <- "1.1.2" attr(version, "sha") <- NULL # the project directory From 415f5081c4c82c5691b9883b701d9ba44c55c2c9 Mon Sep 17 00:00:00 2001 From: florianh Date: Mon, 5 May 2025 09:08:44 +0200 Subject: [PATCH 02/14] bugfix missing files 80_optimization --- modules/80_optimization/lp_nlp_apr17/preloop.gms | 9 +++++++++ modules/80_optimization/lp_nlp_apr17/realization.gms | 1 + modules/80_optimization/nlp_par/preloop.gms | 9 +++++++++ modules/80_optimization/nlp_par/realization.gms | 1 + 4 files changed, 20 insertions(+) create mode 100644 modules/80_optimization/lp_nlp_apr17/preloop.gms create mode 100644 modules/80_optimization/nlp_par/preloop.gms diff --git a/modules/80_optimization/lp_nlp_apr17/preloop.gms b/modules/80_optimization/lp_nlp_apr17/preloop.gms new file mode 100644 index 000000000..115c631cc --- /dev/null +++ b/modules/80_optimization/lp_nlp_apr17/preloop.gms @@ -0,0 +1,9 @@ +*** | (C) 2008-2025 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of MAgPIE and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | MAgPIE License Exception, version 1.0 (see LICENSE file). +*** | Contact: magpie@pik-potsdam.de + +File optfile /conopt4.opt/; + diff --git a/modules/80_optimization/lp_nlp_apr17/realization.gms b/modules/80_optimization/lp_nlp_apr17/realization.gms index 1ca3296af..2de255020 100644 --- a/modules/80_optimization/lp_nlp_apr17/realization.gms +++ b/modules/80_optimization/lp_nlp_apr17/realization.gms @@ -22,5 +22,6 @@ *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/80_optimization/lp_nlp_apr17/declarations.gms" $Ifi "%phase%" == "input" $include "./modules/80_optimization/lp_nlp_apr17/input.gms" +$Ifi "%phase%" == "preloop" $include "./modules/80_optimization/lp_nlp_apr17/preloop.gms" $Ifi "%phase%" == "solve" $include "./modules/80_optimization/lp_nlp_apr17/solve.gms" *######################## R SECTION END (PHASES) ############################### diff --git a/modules/80_optimization/nlp_par/preloop.gms b/modules/80_optimization/nlp_par/preloop.gms new file mode 100644 index 000000000..115c631cc --- /dev/null +++ b/modules/80_optimization/nlp_par/preloop.gms @@ -0,0 +1,9 @@ +*** | (C) 2008-2025 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of MAgPIE and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | MAgPIE License Exception, version 1.0 (see LICENSE file). +*** | Contact: magpie@pik-potsdam.de + +File optfile /conopt4.opt/; + diff --git a/modules/80_optimization/nlp_par/realization.gms b/modules/80_optimization/nlp_par/realization.gms index 85345eb91..397caff86 100644 --- a/modules/80_optimization/nlp_par/realization.gms +++ b/modules/80_optimization/nlp_par/realization.gms @@ -18,5 +18,6 @@ *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/80_optimization/nlp_par/declarations.gms" $Ifi "%phase%" == "input" $include "./modules/80_optimization/nlp_par/input.gms" +$Ifi "%phase%" == "preloop" $include "./modules/80_optimization/nlp_par/preloop.gms" $Ifi "%phase%" == "solve" $include "./modules/80_optimization/nlp_par/solve.gms" *######################## R SECTION END (PHASES) ############################### From c99c1a877885c2442356660b09e05b7a19f59e16 Mon Sep 17 00:00:00 2001 From: florianh Date: Mon, 5 May 2025 22:28:37 +0200 Subject: [PATCH 03/14] bugfix BII + updates ScenarioMIP --- config/scenario_config.csv | 2 +- modules/44_biodiversity/bii_target/sets.gms | 10 ++- modules/44_biodiversity/bv_btc_mar21/sets.gms | 10 ++- scripts/start/projects/project_ScenarioMIP.R | 86 ++++++++++++++----- 4 files changed, 82 insertions(+), 26 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 8e0390f65..4c613c49a 100755 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -4,7 +4,7 @@ gms$c09_pop_scenario;;;;SSP1;SSP2;SSP3;SSP4;SSP5;SSP1;SSP1;SSP1;SSP1;SSP1;SSP1;S gms$c09_gdp_scenario;;;;SSP1;SSP2;SSP3;SSP4;SSP5;SSP1;SDP_EI;SDP_RC;SDP_MC;SSP1;SSP1;SSP2;SSP3;SSP5;;;;;;;;;;;;;;;;;;;; gms$c09_pal_scenario;;;;SSP1;SSP2;SSP3;SSP4;SSP5;SSP1;SSP2;SSP1;SSP1;SSP1;;;;;;;;;;;;;;;;;;;;;;;; gms$c14_yields_scenario;cc;nocc;nocc_hist;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -gms$c15_food_scenario;;;;SSP1;SSP2;SSP3;SSP4;SSP5;SSP1;SSP2;SSP1;SSP1;SSP1;;;;;;;;;;;;;;;;;;;;;;;; +gms$c15_food_scenario;;;;SSP1;SSP2;SSP3;SSP4;SSP5;SSP1;SSP2;SSP1;SSP1;SSP2;;;;;;;;;;;;;;;;;;;;;;;; gms$s15_rumdairy_scp_substitution;;;;0;0;0;0;0;0;0.5;0;0;0;;;;;;;;;;;;;;;;;;;;;;;; gms$s15_food_subst_functional_form;;;;1;1;1;1;1;;2;;;;;;;;;;;;;;;;;;;;;;;;;;; gms$s15_food_substitution_start;;;;;;;;;;2025;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/modules/44_biodiversity/bii_target/sets.gms b/modules/44_biodiversity/bii_target/sets.gms index dfd525875..87712f439 100644 --- a/modules/44_biodiversity/bii_target/sets.gms +++ b/modules/44_biodiversity/bii_target/sets.gms @@ -19,10 +19,16 @@ sets ac_to_bii_class_secd(ac,bii_class_secd) Mapping between forest ageclasses and bii coefficent land cover classes / (ac0,ac5,ac10,ac15,ac20,ac25,ac30) . (secd_young) (ac35,ac40,ac45,ac50,ac55,ac60, - ac65,ac70,ac75,ac80,ac85,ac90, + ac65,ac70,ac75,ac80,ac85,ac90, ac95,ac100,ac105,ac110,ac115, ac120,ac125,ac130,ac135,ac140, - ac145,ac150,ac155,acx) . (secd_mature) / + ac145,ac150,ac155,ac160,ac165, + ac170,ac175,ac180,ac185,ac190, + ac195,ac200,ac205,ac210,ac215, + ac220,ac225,ac230,ac235,ac240, + ac245,ac250,ac255,ac260,ac265, + ac270,ac275,ac280,ac285,ac290, + ac295,ac300,acx) . (secd_mature) / biome44 biomes / AA1,AA2,AA4,AA7,AA8,AA10,AA11,AA14,AN11,AT1,AT2,AT7,AT8,AT9,AT10,AT12,AT13,AT14,IM1, diff --git a/modules/44_biodiversity/bv_btc_mar21/sets.gms b/modules/44_biodiversity/bv_btc_mar21/sets.gms index 2b8b68d73..9e02784e6 100644 --- a/modules/44_biodiversity/bv_btc_mar21/sets.gms +++ b/modules/44_biodiversity/bv_btc_mar21/sets.gms @@ -19,9 +19,15 @@ sets ac_to_bii_class_secd(ac,bii_class_secd) Mapping between forest ageclasses and bii coefficent land cover classes / (ac0,ac5,ac10,ac15,ac20,ac25,ac30) . (secd_young) (ac35,ac40,ac45,ac50,ac55,ac60, - ac65,ac70,ac75,ac80,ac85,ac90, + ac65,ac70,ac75,ac80,ac85,ac90, ac95,ac100,ac105,ac110,ac115, ac120,ac125,ac130,ac135,ac140, - ac145,ac150,ac155,acx) . (secd_mature) / + ac145,ac150,ac155,ac160,ac165, + ac170,ac175,ac180,ac185,ac190, + ac195,ac200,ac205,ac210,ac215, + ac220,ac225,ac230,ac235,ac240, + ac245,ac250,ac255,ac260,ac265, + ac270,ac275,ac280,ac285,ac290, + ac295,ac300,acx) . (secd_mature) / ; diff --git a/scripts/start/projects/project_ScenarioMIP.R b/scripts/start/projects/project_ScenarioMIP.R index c985a8a82..735f265bd 100644 --- a/scripts/start/projects/project_ScenarioMIP.R +++ b/scripts/start/projects/project_ScenarioMIP.R @@ -30,7 +30,7 @@ cfg$force_replace <- TRUE .title <- function(cfg, ...) return(paste(cfg$info$flag, sep="_",...)) #download default input data -cfg$input[["report_coupling"]] <- "SMIPv04_report_coupling.tgz" +cfg$input[["report_coupling"]] <- "SMIPv06_report_coupling.tgz" download_and_update(cfg) cfg$gms$c56_pollutant_prices <- "coupling" @@ -47,8 +47,8 @@ cfg$gms$s32_annual_aff_limit <- 0.03 cfg$title <- .title(cfg, "H-SSP3-rollBack") cfg <- setScenario(cfg,c("SSP3","NPI-revert","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2150" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-H-SSP3-rollBack-def-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-H-SSP3-rollBack-def-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-H-SSP3-rollBack-def-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-H-SSP3-rollBack-def-rem-7.mif" cfg$gms$c15_food_scenario <- "SSP2" cfg$gms$s32_npi_ndc_reversal <- 2030 cfg$gms$s35_npi_ndc_reversal <- 2030 @@ -62,8 +62,8 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "M-SSP2-NPi2025") cfg <- setScenario(cfg,c("SSP2","NPI","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2150" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-M-SSP2-NPi2025-def-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-M-SSP2-NPi2025-def-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-M-SSP2-NPi2025-def-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-M-SSP2-NPi2025-def-rem-7.mif" cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 cfg$gms$s59_scm_target <- 0 @@ -74,8 +74,8 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "ML-SSP2-PkBudg1500") cfg <- setScenario(cfg,c("SSP2","NPI","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2040" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-ML-SSP2-PkBudg1500-def-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-ML-SSP2-PkBudg1500-def-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-ML-SSP2-EcPrice310-var-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-ML-SSP2-EcPrice310-var-rem-7.mif" cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 cfg$gms$s59_scm_target <- 0 @@ -86,8 +86,8 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "L-SSP2-PkBudg1000") cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-L-SSP2-PkBudg1000-def-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-L-SSP2-PkBudg1000-def-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.01 cfg$gms$s44_bii_target <- 0 @@ -100,8 +100,8 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "VLHO-SSP2-EcBudg400") cfg <- setScenario(cfg,c("SSP2","NPI","AR-plant","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-VLHO-SSP2-EcBudg400-var_plantation-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-VLHO-SSP2-EcBudg400-var_plantation-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcPrice1250-var-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcPrice1250-var-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.02 cfg$gms$s44_bii_target <- 0 @@ -114,11 +114,11 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "VLLO-SSP1-PkBudg650") cfg <- setScenario(cfg,c("VLLO","NDC","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-VLLO-SSP1-PkBudg650-def-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-VLLO-SSP1-PkBudg650-def-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPrice500-def-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPrice500-def-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2025 cfg$gms$s29_treecover_target <- 0.02 -cfg$gms$s44_bii_target <- 0.77 +cfg$gms$s44_bii_target <- 0.76 cfg$gms$s59_scm_scenario_start <- 2025 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" @@ -130,8 +130,8 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "H-SSP3-NPi2025") cfg <- setScenario(cfg,c("SSP3","NPI","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2150" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-M-SSP3-NPi2025-var-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-M-SSP3-NPi2025-var-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-M-SSP3-NPi2025-def-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-M-SSP3-NPi2025-def-rem-7.mif" cfg$gms$c15_food_scenario <- "SSP2" cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 @@ -139,12 +139,56 @@ cfg$gms$s59_scm_target <- 0 cfg$gms$c60_1stgen_biodem <- "const2030" start_run(cfg, codeCheck = FALSE) +#L-SSP2-PkBudg1000 - varBII72 +cfg$title <- .title(cfg, "L-SSP2-PkBudg1000_varBIItarget72") +cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) +cfg$gms$c56_mute_ghgprices_until <- "y2030" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$gms$s29_treecover_scenario_start <- 2030 +cfg$gms$s29_treecover_target <- 0.01 +cfg$gms$s44_bii_target <- 0.72 +cfg$gms$s59_scm_scenario_start <- 2030 +cfg$gms$s59_scm_target <- 0.1 +cfg$gms$c60_1stgen_biodem <- "const2030" +start_run(cfg, codeCheck = FALSE) + +#L-SSP2-PkBudg1000 - varBII74 +cfg$title <- .title(cfg, "L-SSP2-PkBudg1000_varBIItarget74") +cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) +cfg$gms$c56_mute_ghgprices_until <- "y2030" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$gms$s29_treecover_scenario_start <- 2030 +cfg$gms$s29_treecover_target <- 0.01 +cfg$gms$s44_bii_target <- 0.74 +cfg$gms$s59_scm_scenario_start <- 2030 +cfg$gms$s59_scm_target <- 0.1 +cfg$gms$c60_1stgen_biodem <- "const2030" +start_run(cfg, codeCheck = FALSE) + +#L-SSP2-PkBudg1000 - nobii decrease +cfg$title <- .title(cfg, "L-SSP2-PkBudg1000_varBIInodecrease") +cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) +cfg$gms$c56_mute_ghgprices_until <- "y2030" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" +cfg$gms$s29_treecover_scenario_start <- 2030 +cfg$gms$s29_treecover_target <- 0.01 +cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 0 +cfg$gms$s59_scm_scenario_start <- 2030 +cfg$gms$s59_scm_target <- 0.1 +cfg$gms$c60_1stgen_biodem <- "const2030" +start_run(cfg, codeCheck = FALSE) +cfg$gms$c44_bii_decrease <- 1 + #VLHO-SSP2-EcBudg400-ARnatveg cfg$title <- .title(cfg, "VLHO-SSP2-EcBudg400-ARnatveg") cfg <- setScenario(cfg,c("SSP2","NPI","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-VLHO-SSP2-EcBudg400-var_plantation-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-VLHO-SSP2-EcBudg400-var_plantation-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcBudg400-var_natveg-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcBudg400-var_natveg-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.02 cfg$gms$s44_bii_target <- 0 @@ -157,11 +201,11 @@ start_run(cfg, codeCheck = FALSE) cfg$title <- .title(cfg, "VLLO-SSP1-PkBudg650-noAnnualAffLimit") cfg <- setScenario(cfg,c("VLLO","NDC","AR-natveg","nocc_hist")) cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv04-VLLO-SSP1-PkBudg650-def-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv04-VLLO-SSP1-PkBudg650-def-rem-7.mif" +cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPrice500-def-rem-7.mif" +cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPrice500-def-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2025 cfg$gms$s29_treecover_target <- 0.02 -cfg$gms$s44_bii_target <- 0.77 +cfg$gms$s44_bii_target <- 0.76 cfg$gms$s59_scm_scenario_start <- 2025 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" From 3a7339de7327d1a68e441739af07868059429fb7 Mon Sep 17 00:00:00 2001 From: florianh Date: Tue, 6 May 2025 14:42:58 +0200 Subject: [PATCH 04/14] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dfdf833a..be3bee5ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### fixed - **18_residues** fixed equation for cluster level production of crop residues in flexreg_apr16 realization +- **44_biodiversity** expanded age-classes from 150 to 300 years in line with `ac` set. This bugfix is crucial for the BII indicator. ## [4.10.0] - 2025-04-03 From 511c4299c01eb4cce37f42abe58acb600ca28716 Mon Sep 17 00:00:00 2001 From: florianh Date: Tue, 6 May 2025 14:52:53 +0200 Subject: [PATCH 05/14] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index be3bee5ba..bbe2025a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **default.cfg** input data upgraded from rev4.117 to rev4.118, default for bioenergy demand and GHG prices changed from R32M46 to R34M410, `rcp4p5` used for SSP2-NPi2025 in line with MAGICC climate outcome and REMIND assumptions. - **default.cfg** changed running magpie by default with optfile for specified solver settings (Tol_Optimality) - **script/start/test_runs.R** Test runs adjusted based on availability from coupled runs for R34M410. +- **scenario_config.csv** SSP2 food system assumptions for ScenarioMIP VLLO to avoid sudden jump of calorie intake after 2025 ### added - **default.cfg** added option to set Tol_Optimality (GAMS solver setting) to a certain value (GAMS-default 1e-7, new MAgPIE-default 1e-8) From 2f70400aeae07eeae4b410e5369ac34f01e75bd6 Mon Sep 17 00:00:00 2001 From: florianh Date: Thu, 8 May 2025 10:36:06 +0200 Subject: [PATCH 06/14] update SceanrioMIP start script --- scripts/start/projects/project_ScenarioMIP.R | 69 +++++++------------- 1 file changed, 22 insertions(+), 47 deletions(-) diff --git a/scripts/start/projects/project_ScenarioMIP.R b/scripts/start/projects/project_ScenarioMIP.R index 735f265bd..2c6d98007 100644 --- a/scripts/start/projects/project_ScenarioMIP.R +++ b/scripts/start/projects/project_ScenarioMIP.R @@ -21,7 +21,8 @@ source("scripts/start_functions.R") source("config/default.cfg") # create additional information to describe the runs -cfg$info$flag <- "SMIP61" +cfg$info$flag <- "SMIP63" +cfg$qos <- "standby_dayMax" cfg$results_folder <- "output/:title:" cfg$force_replace <- TRUE @@ -54,6 +55,8 @@ cfg$gms$s32_npi_ndc_reversal <- 2030 cfg$gms$s35_npi_ndc_reversal <- 2030 cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 1 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_target <- 0 cfg$gms$c60_1stgen_biodem <- "const2030" start_run(cfg, codeCheck = FALSE) @@ -66,6 +69,8 @@ cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-M-SSP2-NPi2025-d cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-M-SSP2-NPi2025-def-rem-7.mif" cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 1 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_target <- 0 cfg$gms$c60_1stgen_biodem <- "const2030" start_run(cfg, codeCheck = FALSE) @@ -78,6 +83,8 @@ cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-ML-SSP2-EcPrice3 cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-ML-SSP2-EcPrice310-var-rem-7.mif" cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 1 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_target <- 0 cfg$gms$c60_1stgen_biodem <- "const2030" start_run(cfg, codeCheck = FALSE) @@ -91,6 +98,8 @@ cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPric cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.01 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 0 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_scenario_start <- 2030 cfg$gms$s59_scm_target <- 0.1 cfg$gms$c60_1stgen_biodem <- "const2030" @@ -105,6 +114,8 @@ cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcP cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.02 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 0 +cfg$gms$s44_start_year <- 2050 cfg$gms$s59_scm_scenario_start <- 2030 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" @@ -118,7 +129,9 @@ cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPric cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPrice500-def-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2025 cfg$gms$s29_treecover_target <- 0.02 -cfg$gms$s44_bii_target <- 0.76 +cfg$gms$s44_bii_target <- 0.7 +cfg$gms$c44_bii_decrease <- 0 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_scenario_start <- 2025 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" @@ -135,54 +148,12 @@ cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-M-SSP3-NPi202 cfg$gms$c15_food_scenario <- "SSP2" cfg$gms$s29_treecover_target <- 0 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 1 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_target <- 0 cfg$gms$c60_1stgen_biodem <- "const2030" start_run(cfg, codeCheck = FALSE) -#L-SSP2-PkBudg1000 - varBII72 -cfg$title <- .title(cfg, "L-SSP2-PkBudg1000_varBIItarget72") -cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) -cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" -cfg$gms$s29_treecover_scenario_start <- 2030 -cfg$gms$s29_treecover_target <- 0.01 -cfg$gms$s44_bii_target <- 0.72 -cfg$gms$s59_scm_scenario_start <- 2030 -cfg$gms$s59_scm_target <- 0.1 -cfg$gms$c60_1stgen_biodem <- "const2030" -start_run(cfg, codeCheck = FALSE) - -#L-SSP2-PkBudg1000 - varBII74 -cfg$title <- .title(cfg, "L-SSP2-PkBudg1000_varBIItarget74") -cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) -cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" -cfg$gms$s29_treecover_scenario_start <- 2030 -cfg$gms$s29_treecover_target <- 0.01 -cfg$gms$s44_bii_target <- 0.74 -cfg$gms$s59_scm_scenario_start <- 2030 -cfg$gms$s59_scm_target <- 0.1 -cfg$gms$c60_1stgen_biodem <- "const2030" -start_run(cfg, codeCheck = FALSE) - -#L-SSP2-PkBudg1000 - nobii decrease -cfg$title <- .title(cfg, "L-SSP2-PkBudg1000_varBIInodecrease") -cfg <- setScenario(cfg,c("SSP2","NDC","AR-natveg","nocc_hist")) -cfg$gms$c56_mute_ghgprices_until <- "y2030" -cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" -cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-L-SSP2-PkPrice400-var-rem-7.mif" -cfg$gms$s29_treecover_scenario_start <- 2030 -cfg$gms$s29_treecover_target <- 0.01 -cfg$gms$s44_bii_target <- 0 -cfg$gms$c44_bii_decrease <- 0 -cfg$gms$s59_scm_scenario_start <- 2030 -cfg$gms$s59_scm_target <- 0.1 -cfg$gms$c60_1stgen_biodem <- "const2030" -start_run(cfg, codeCheck = FALSE) -cfg$gms$c44_bii_decrease <- 1 - #VLHO-SSP2-EcBudg400-ARnatveg cfg$title <- .title(cfg, "VLHO-SSP2-EcBudg400-ARnatveg") cfg <- setScenario(cfg,c("SSP2","NPI","AR-natveg","nocc_hist")) @@ -192,6 +163,8 @@ cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcB cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.02 cfg$gms$s44_bii_target <- 0 +cfg$gms$c44_bii_decrease <- 1 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_scenario_start <- 2030 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" @@ -205,7 +178,9 @@ cfg$path_to_report_ghgprices <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPric cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLLO-SSP1-PkPrice500-def-rem-7.mif" cfg$gms$s29_treecover_scenario_start <- 2025 cfg$gms$s29_treecover_target <- 0.02 -cfg$gms$s44_bii_target <- 0.76 +cfg$gms$s44_bii_target <- 0.7 +cfg$gms$c44_bii_decrease <- 0 +cfg$gms$s44_start_year <- 2030 cfg$gms$s59_scm_scenario_start <- 2025 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" From 559896ed4169da9a5b1b74d3d9458a210dcd81d7 Mon Sep 17 00:00:00 2001 From: florianh Date: Thu, 8 May 2025 10:44:20 +0200 Subject: [PATCH 07/14] magpie4 version increase --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index e91f4d21a..daedf343b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,7 +21,7 @@ Imports: m4fsdp, madrat, magclass (>= 6.14.0), - magpie4 (>= 2.22.1), + magpie4 (>= 2.22.9), MagpieNCGains, magpiesets (>= 0.46.1), mip, From 5cc8469500af45f4be87c8a852089c6b11556726 Mon Sep 17 00:00:00 2001 From: florianh Date: Thu, 8 May 2025 10:54:16 +0200 Subject: [PATCH 08/14] update SceanrioMIP start script --- scripts/start/projects/project_ScenarioMIP.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/start/projects/project_ScenarioMIP.R b/scripts/start/projects/project_ScenarioMIP.R index 2c6d98007..df82bac0e 100644 --- a/scripts/start/projects/project_ScenarioMIP.R +++ b/scripts/start/projects/project_ScenarioMIP.R @@ -163,8 +163,8 @@ cfg$path_to_report_bioenergy <- "input/REMIND_generic_C_SMIPv06-VLHO-SSP2-EcB cfg$gms$s29_treecover_scenario_start <- 2030 cfg$gms$s29_treecover_target <- 0.02 cfg$gms$s44_bii_target <- 0 -cfg$gms$c44_bii_decrease <- 1 -cfg$gms$s44_start_year <- 2030 +cfg$gms$c44_bii_decrease <- 0 +cfg$gms$s44_start_year <- 2050 cfg$gms$s59_scm_scenario_start <- 2030 cfg$gms$s59_scm_target <- 0.2 cfg$gms$c60_1stgen_biodem <- "const2030" From 3d379dbaf9d99ddf70c44629dd47b7d0075019eb Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Mon, 12 May 2025 10:22:00 +0200 Subject: [PATCH 09/14] request 24h --- scripts/slurmOutput.yml | 8 ++++---- scripts/slurmStart.yml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/slurmOutput.yml b/scripts/slurmOutput.yml index d3e35abe5..55d858c99 100644 --- a/scripts/slurmOutput.yml +++ b/scripts/slurmOutput.yml @@ -1,5 +1,5 @@ slurmjobs: - SLURM standby: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --time=200 --wrap=\"Rscript %SCRIPT\" --qos=standby --mem-per-cpu=5G --cpus-per-task=3" - SLURM standby highMem: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --qos=standby --time=24:00:00 --mem-per-cpu=5G --cpus-per-task=16" - SLURM priority: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --time=200 --wrap=\"Rscript %SCRIPT\" --qos=priority --mem-per-cpu=5G --cpus-per-task=3" - SLURM priority highMem: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --qos=priority --time=24:00:00 --mem-per-cpu=5G --cpus-per-task=16" + SLURM standby: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --mem-per-cpu=5G --cpus-per-task=3 --qos=standby --time=200" + SLURM standby highMem: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --mem-per-cpu=5G --cpus-per-task=16 --qos=standby --time=24:00:00" + SLURM priority: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --mem-per-cpu=5G --cpus-per-task=3 --qos=priority --time=200" + SLURM priority highMem: "sbatch --job-name=scripts-output --output=logs/out-%NAME-%j.out --error=logs/out-%NAME-%j.err --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --mem-per-cpu=5G --cpus-per-task=16 --qos=priority --time=24:00:00" diff --git a/scripts/slurmStart.yml b/scripts/slurmStart.yml index 264a8c341..ceb2776b5 100644 --- a/scripts/slurmStart.yml +++ b/scripts/slurmStart.yml @@ -1,4 +1,4 @@ slurmjobs: - SLURM priority: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --qos=priority --cpus-per-task=3" - SLURM standby: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --qos=standby --cpus-per-task=3 --time=24:00:00" - SLURM medium: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --qos=medium --cpus-per-task=3" + SLURM priority: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --time=24:00:00 --qos=priority" + SLURM standby: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --time=24:00:00 --qos=standby" + SLURM medium: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --time=24:00:00 --qos=medium" From f38c89c4a1a5e8ca6f8cffa80c916e5eb0649e50 Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Mon, 12 May 2025 10:56:53 +0200 Subject: [PATCH 10/14] set --time in sh scripts --- config/default.cfg | 9 +++------ scripts/run_submit/submit_priority.sh | 1 + scripts/run_submit/submit_priority_highMem.sh | 1 + scripts/run_submit/submit_short.sh | 1 + scripts/run_submit/submit_short_highMem.sh | 1 + scripts/run_submit/submit_standby.sh | 1 + scripts/run_submit/submit_standby_dayMax.sh | 11 ----------- scripts/run_submit/submit_standby_highMem.sh | 1 + scripts/run_submit/submit_standby_highMem_dayMax.sh | 11 ----------- scripts/slurmStart.yml | 2 +- 10 files changed, 10 insertions(+), 29 deletions(-) delete mode 100644 scripts/run_submit/submit_standby_dayMax.sh delete mode 100644 scripts/run_submit/submit_standby_highMem_dayMax.sh diff --git a/config/default.cfg b/config/default.cfg index 7776f0afb..dd496ae55 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -2212,14 +2212,11 @@ cfg$sequential <- NA # * options: short (24h max, 3 CPUs, no preemption) # * short_highMem (same as short but with 16 CPUs and 80GB of memory) # * medium (1 week max, 3 CPUs, no preemption) -# * priority (immediate start, 3 CPUs, but slots limited to 5 in parallel) +# * priority (immediate start, 24h max, 3 CPUs, but slots limited to 5 in parallel) # * priority_highMem (same as priority but with 16 CPUs and 80GB of memory) -# * standby (1 week max, 3 CPUs, preemption possible) -# * standby_dayMax (24h max, 3 CPUs, preemption possible) -# * standby_highMem_dayMax (same as standby_dayMax but with 16 CPUs and 80GB of memory) +# * standby (24h max, 3 CPUs, preemption possible) # * standby_highMem (same as standby but with 16 CPUs and 80GB of memory) -# * NULL (educated guess of best option based -# * available resources) +# * NULL (educated guess of best option based on available resources) cfg$qos <- NULL # def = NULL # How should log information be treated? diff --git a/scripts/run_submit/submit_priority.sh b/scripts/run_submit/submit_priority.sh index b23c5bd67..60d00a38e 100644 --- a/scripts/run_submit/submit_priority.sh +++ b/scripts/run_submit/submit_priority.sh @@ -6,5 +6,6 @@ #SBATCH --mail-type=END,FAIL #SBATCH --cpus-per-task=3 #SBATCH --mem-per-cpu=5G +#SBATCH --time=24:00:00 Rscript submit.R diff --git a/scripts/run_submit/submit_priority_highMem.sh b/scripts/run_submit/submit_priority_highMem.sh index feae97160..cf749a944 100644 --- a/scripts/run_submit/submit_priority_highMem.sh +++ b/scripts/run_submit/submit_priority_highMem.sh @@ -6,5 +6,6 @@ #SBATCH --mail-type=END,FAIL #SBATCH --cpus-per-task=16 #SBATCH --mem-per-cpu=5G +#SBATCH --time=24:00:00 Rscript submit.R diff --git a/scripts/run_submit/submit_short.sh b/scripts/run_submit/submit_short.sh index 433ed3308..9092201c6 100644 --- a/scripts/run_submit/submit_short.sh +++ b/scripts/run_submit/submit_short.sh @@ -6,5 +6,6 @@ #SBATCH --mail-type=END,FAIL #SBATCH --cpus-per-task=3 #SBATCH --mem-per-cpu=5G +#SBATCH --time=24:00:00 Rscript submit.R diff --git a/scripts/run_submit/submit_short_highMem.sh b/scripts/run_submit/submit_short_highMem.sh index cf8f9669a..37be642e5 100644 --- a/scripts/run_submit/submit_short_highMem.sh +++ b/scripts/run_submit/submit_short_highMem.sh @@ -6,6 +6,7 @@ #SBATCH --mail-type=END,FAIL #SBATCH --cpus-per-task=16 #SBATCH --mem-per-cpu=5G +#SBATCH --time=24:00:00 Rscript submit.R diff --git a/scripts/run_submit/submit_standby.sh b/scripts/run_submit/submit_standby.sh index e3ab2dd5b..aa6b3673d 100644 --- a/scripts/run_submit/submit_standby.sh +++ b/scripts/run_submit/submit_standby.sh @@ -6,5 +6,6 @@ #SBATCH --mail-type=END,FAIL #SBATCH --cpus-per-task=3 #SBATCH --mem-per-cpu=5G +#SBATCH --time=24:00:00 Rscript submit.R diff --git a/scripts/run_submit/submit_standby_dayMax.sh b/scripts/run_submit/submit_standby_dayMax.sh deleted file mode 100644 index aa6b3673d..000000000 --- a/scripts/run_submit/submit_standby_dayMax.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -#SBATCH --qos=standby -#SBATCH --job-name=mag-run -#SBATCH --output=slurm.log -#SBATCH --mail-type=END,FAIL -#SBATCH --cpus-per-task=3 -#SBATCH --mem-per-cpu=5G -#SBATCH --time=24:00:00 - -Rscript submit.R diff --git a/scripts/run_submit/submit_standby_highMem.sh b/scripts/run_submit/submit_standby_highMem.sh index 4791ed844..674bc10f5 100644 --- a/scripts/run_submit/submit_standby_highMem.sh +++ b/scripts/run_submit/submit_standby_highMem.sh @@ -6,5 +6,6 @@ #SBATCH --mail-type=END,FAIL #SBATCH --cpus-per-task=16 #SBATCH --mem-per-cpu=5G +#SBATCH --time=24:00:00 Rscript submit.R diff --git a/scripts/run_submit/submit_standby_highMem_dayMax.sh b/scripts/run_submit/submit_standby_highMem_dayMax.sh deleted file mode 100644 index 674bc10f5..000000000 --- a/scripts/run_submit/submit_standby_highMem_dayMax.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -#SBATCH --qos=standby -#SBATCH --job-name=mag-run -#SBATCH --output=slurm.log -#SBATCH --mail-type=END,FAIL -#SBATCH --cpus-per-task=16 -#SBATCH --mem-per-cpu=5G -#SBATCH --time=24:00:00 - -Rscript submit.R diff --git a/scripts/slurmStart.yml b/scripts/slurmStart.yml index ceb2776b5..581079547 100644 --- a/scripts/slurmStart.yml +++ b/scripts/slurmStart.yml @@ -1,4 +1,4 @@ slurmjobs: SLURM priority: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --time=24:00:00 --qos=priority" SLURM standby: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --time=24:00:00 --qos=standby" - SLURM medium: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --time=24:00:00 --qos=medium" + SLURM medium: "sbatch --job-name=%NAME --output=logs/%NAME-%j.out --mail-type=END,FAIL --wrap=\"Rscript %SCRIPT\" --cpus-per-task=3 --qos=medium" From 3d5daaafa5c9ffc8d420541338c2f5b71b063862 Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Mon, 12 May 2025 11:18:58 +0200 Subject: [PATCH 11/14] replace dayMax scripts --- CHANGELOG.md | 1 + scripts/output/extra/highres.R | 2 +- scripts/projects/fsec.R | 2 +- scripts/start/projects/paper_peatlandTax.R | 2 +- scripts/start/projects/project_ABCDR.R | 2 +- scripts/start/projects/project_EAT2p0.R | 2 +- scripts/start/projects/project_EAT2p0_DeepDive.R | 2 +- scripts/start/projects/project_EAT2p0_DeepDive_Sensitivity.R | 2 +- scripts/start/projects/project_ScenarioMIP.R | 2 +- scripts/start/projects/project_WetHorizons.R | 2 +- 10 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbe2025a8..64542ccff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **default.cfg** changed running magpie by default with optfile for specified solver settings (Tol_Optimality) - **script/start/test_runs.R** Test runs adjusted based on availability from coupled runs for R34M410. - **scenario_config.csv** SSP2 food system assumptions for ScenarioMIP VLLO to avoid sudden jump of calorie intake after 2025 +- **scripts** request 24h for SLURM jobs (except for medium which still requests 7 days) ### added - **default.cfg** added option to set Tol_Optimality (GAMS solver setting) to a certain value (GAMS-default 1e-7, new MAgPIE-default 1e-8) diff --git a/scripts/output/extra/highres.R b/scripts/output/extra/highres.R index 3e515ef7b..074dfd2d1 100644 --- a/scripts/output/extra/highres.R +++ b/scripts/output/extra/highres.R @@ -104,7 +104,7 @@ highres <- function(cfg = cfg, res = "c1000", tc = NULL) { cfg$gms$s_use_gdx <- 0 #max resources for parallel runs - cfg$qos <- "standby_highMem_dayMax" + cfg$qos <- "standby_highMem" # set force download to FALSE # otherwise data is download again when calling start_run(), which overwrites diff --git a/scripts/projects/fsec.R b/scripts/projects/fsec.R index f57b6da79..6a72a0e00 100644 --- a/scripts/projects/fsec.R +++ b/scripts/projects/fsec.R @@ -214,7 +214,7 @@ fsecScenario <- function(scenario) { # general cfg$title <- paste(v, scenario, sep = "") cfg$recalibrate <- FALSE - cfg$qos <- "standby_highMem_dayMax" + cfg$qos <- "standby_highMem" cfg$output <- c("extra/highres", "extra/disaggregation", "projects/FSEC_nitrogenPollution", diff --git a/scripts/start/projects/paper_peatlandTax.R b/scripts/start/projects/paper_peatlandTax.R index 35579248a..593b86621 100644 --- a/scripts/start/projects/paper_peatlandTax.R +++ b/scripts/start/projects/paper_peatlandTax.R @@ -29,7 +29,7 @@ cfg$results_folder <- "output/:title:" cfg$results_folder_highres <- "output" cfg$force_replace <- TRUE cfg$force_download <- FALSE -cfg$qos <- "standby_dayMax" +cfg$qos <- "standby" # support function to create standardized title .title <- function(cfg, ...) diff --git a/scripts/start/projects/project_ABCDR.R b/scripts/start/projects/project_ABCDR.R index e7c6e9aaf..09cf74a8c 100644 --- a/scripts/start/projects/project_ABCDR.R +++ b/scripts/start/projects/project_ABCDR.R @@ -25,7 +25,7 @@ cfg$results_folder <- "output/:title:" cfg$force_replace <- TRUE cfg$force_download <- FALSE -cfg$qos <- "standby_dayMax" +cfg$qos <- "standby" # support function to create standardized title .title <- function(cfg, ...) return(paste(cfg$info$flag, sep="_",...)) diff --git a/scripts/start/projects/project_EAT2p0.R b/scripts/start/projects/project_EAT2p0.R index ee615cdd9..e0d00e1ab 100644 --- a/scripts/start/projects/project_EAT2p0.R +++ b/scripts/start/projects/project_EAT2p0.R @@ -27,7 +27,7 @@ cfg$results_folder <- "output/:title::date:" cfg$force_download <- TRUE # Special outputs required for Deep Dive -cfg$qos <- "standby_highMem_dayMax" +cfg$qos <- "standby_highMem" cfg$output <- c( "output_check", # "extra/highres", # do manually on last magpie run diff --git a/scripts/start/projects/project_EAT2p0_DeepDive.R b/scripts/start/projects/project_EAT2p0_DeepDive.R index b91dfeb51..ecb377d05 100644 --- a/scripts/start/projects/project_EAT2p0_DeepDive.R +++ b/scripts/start/projects/project_EAT2p0_DeepDive.R @@ -27,7 +27,7 @@ cfg$results_folder <- "output/:title::date:" cfg$force_download <- TRUE # Special outputs required for Deep Dive -cfg$qos <- "standby_highMem_dayMax" +cfg$qos <- "standby_highMem" cfg$output <- c( "output_check", "extra/highres", diff --git a/scripts/start/projects/project_EAT2p0_DeepDive_Sensitivity.R b/scripts/start/projects/project_EAT2p0_DeepDive_Sensitivity.R index 30b000592..072b256c7 100644 --- a/scripts/start/projects/project_EAT2p0_DeepDive_Sensitivity.R +++ b/scripts/start/projects/project_EAT2p0_DeepDive_Sensitivity.R @@ -27,7 +27,7 @@ cfg$results_folder <- "output/:title::date:" cfg$force_download <- TRUE # Special outputs required for Deep Dive -cfg$qos <- "standby_highMem_dayMax" +cfg$qos <- "standby_highMem" cfg$output <- c( "output_check", "extra/disaggregation", diff --git a/scripts/start/projects/project_ScenarioMIP.R b/scripts/start/projects/project_ScenarioMIP.R index df82bac0e..acd68cacb 100644 --- a/scripts/start/projects/project_ScenarioMIP.R +++ b/scripts/start/projects/project_ScenarioMIP.R @@ -22,7 +22,7 @@ source("config/default.cfg") # create additional information to describe the runs cfg$info$flag <- "SMIP63" -cfg$qos <- "standby_dayMax" +cfg$qos <- "standby" cfg$results_folder <- "output/:title:" cfg$force_replace <- TRUE diff --git a/scripts/start/projects/project_WetHorizons.R b/scripts/start/projects/project_WetHorizons.R index caf5cdea4..2f43dfa01 100644 --- a/scripts/start/projects/project_WetHorizons.R +++ b/scripts/start/projects/project_WetHorizons.R @@ -29,7 +29,7 @@ cfg$results_folder <- "output/:title:" cfg$results_folder_highres <- "output" cfg$force_replace <- TRUE cfg$force_download <- FALSE -cfg$qos <- "standby_dayMax" +cfg$qos <- "standby" # support function to create standardized title .title <- function(cfg, ...) From ad4f2c1e6ca4e2d7aedf3af140e8aea784ddbd73 Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Thu, 15 May 2025 11:41:18 +0200 Subject: [PATCH 12/14] use magpie4::disaggregateLandConservation --- DESCRIPTION | 2 +- scripts/output/extra/disaggregation.R | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index daedf343b..f311e482d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,7 +21,7 @@ Imports: m4fsdp, madrat, magclass (>= 6.14.0), - magpie4 (>= 2.22.9), + magpie4 (>= 2.24.0), MagpieNCGains, magpiesets (>= 0.46.1), mip, diff --git a/scripts/output/extra/disaggregation.R b/scripts/output/extra/disaggregation.R index eac94dfba..270d54328 100644 --- a/scripts/output/extra/disaggregation.R +++ b/scripts/output/extra/disaggregation.R @@ -281,7 +281,19 @@ message("Disaggregating conservation land") land_consv_hr <- NULL if (file.exists(wdpa_hr_file)) { - land_consv_hr <- .dissagLandConsv(gdx, cfg, map_file, wdpa_hr_file, consv_prio_hr_file) + if (file.exists(consv_prio_hr_file)) { + conservationPrioHr <- read.magpie(consv_prio_hr_file) + } else { + warning("Future land conservation used in MAgPIE run but high resolution ", + "conservation priority data for disaggregation not found.") + conservationPrioHr <- NULL + } + land_consv_hr <- magpie4::disaggregateLandConservation(gdx, cfg, + mapping = readRDS(map_file), + wdpaHr = read.magpie(wdpa_hr_file), + conservationPrioHr = conservationPrioHr) + land_consv_hr2 <- .dissagLandConsv(gdx, cfg, map_file, wdpa_hr_file, consv_prio_hr_file) + stopifnot(identical(land_consv_hr, land_consv_hr2)) # Write gridded conservation land .writeDisagg(land_consv_hr, land_consv_hr_out_file, From 45466ea4cfa1460b2b2460963d5efae704620970 Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Thu, 15 May 2025 14:35:41 +0200 Subject: [PATCH 13/14] remove .dissagLandConsv --- scripts/output/extra/disaggregation.R | 95 --------------------------- 1 file changed, 95 deletions(-) diff --git a/scripts/output/extra/disaggregation.R b/scripts/output/extra/disaggregation.R index 270d54328..ade2a4afe 100644 --- a/scripts/output/extra/disaggregation.R +++ b/scripts/output/extra/disaggregation.R @@ -87,99 +87,6 @@ if (length(map_file) > 1) { return(area_shr_hr) } -.dissagLandConsv <- function(gdx, cfg, map_file, wdpa_hr_file, consv_prio_hr_file) { - land_consv_lr <- readGDX(gdx, "pm_land_conservation", react = "silent") - land_consv_lr <- dimSums(land_consv_lr, dim=3.2) - wdpa_hr <- read.magpie(wdpa_hr_file) - map <- readRDS(map_file) - - # create full time series - land_consv_hr <- new.magpie(map[, "cell"], getYears(land_consv_lr), getItems(wdpa_hr, dim = 3.2), - fill = 0, sets = c("x.y.iso", "year", "data") - ) - - iso <- readGDX(gdx, "iso") - consv_iso <- readGDX(gdx, "policy_countries22") - consv_iso <- consv_iso[consv_iso %in% getItems(wdpa_hr, dim = 1.3)] - if (length(consv_iso) == 0) { - warning("No countries selected in land conservation disaggregation. Results may be erroneous") - } - - base_protect_select <- cfg$gms$c22_base_protect - base_protect_noselect <- cfg$gms$c22_base_protect_noselect - - if (!all(c(base_protect_select, base_protect_noselect) %in% "none")) { - - if (base_protect_noselect != "none") { - land_consv_hr[, getYears(land_consv_hr), ] <- collapseDim(wdpa_hr[, nyears(wdpa_hr), base_protect_noselect], dim = 3.1) - land_consv_hr[, getYears(wdpa_hr), ] <- collapseDim(wdpa_hr[, , base_protect_noselect], dim = 3.1) - } - if (base_protect_select != "none") { - land_consv_hr[consv_iso, , ] <- collapseDim(wdpa_hr[consv_iso, nyears(wdpa_hr), base_protect_select], dim = 3.1) - } else { - land_consv_hr[consv_iso, , ] <- 0 - } - } - - consv_select <- cfg$gms$c22_protect_scenario - consv_noselect <- cfg$gms$c22_protect_scenario_noselect - - if (!all(c(consv_select, consv_noselect) %in% "none")) { - if (file.exists(consv_prio_hr_file)) { - consv_prio_all <- read.magpie(consv_prio_hr_file) - consv_prio_hr <- new.magpie( - cells_and_regions = map[, "cell"], - names = getNames(consv_prio_all, dim = 2), fill = 0, - sets = c("x.y.iso", "year", "data") - ) - - if (consv_noselect != "none") { - consv_prio_hr <- collapseDim(consv_prio_all[, , consv_noselect], dim = 3.1) - } - if (consv_select != "none") { - consv_prio_hr[consv_iso, , ] <- collapseDim(consv_prio_all[consv_iso, , consv_select], dim = 3.1) - } else { - consv_prio_hr[consv_iso, , ] <- 0 - } - # future conservation only pertains to natveg - consv_prio_hr[, , c("crop", "past", "forestry", "urban")] <- 0 - consv_fader <- readGDX(gdx, "p22_conservation_fader", format = "first_found") - consv_prio_hr <- consv_prio_hr * consv_fader[, getYears(land_consv_hr), ] - - # add conservation priority areas - land_consv_hr <- (land_consv_hr + consv_prio_hr) - } else { - warning(paste( - "Future land conservation used in MAgPIE run but high resolution", - "conservation priority data for disaggregation not found." - )) - } - } - # Due to internal constraints and compensation (e.g. NDC forest conservation) - # the actual land conservation can sometimes be smaller than the land - # conservation in the input data (this can especially happen also if - # land restoration is switched off). Therefore a scaling is applied here separately - # for grassland and natural vegetation - natveg <- c("primforest", "secdforest", "other") - consv_sum_lr <- mbind( - land_consv_lr[, , "past"], - setNames(dimSums(land_consv_lr[, , natveg], dim = 3), "natveg") - ) - consv_sum_hr_agg <- mbind( - toolAggregate(land_consv_hr[, , "past"], map, from = "cell", to = "cluster"), - toolAggregate(setNames(dimSums(land_consv_hr[, , natveg], dim = 3), "natveg"), - map, - from = "cell", to = "cluster" - ) - ) - consv_scaling <- consv_sum_lr / consv_sum_hr_agg - consv_scaling[is.na(consv_scaling) | is.infinite(consv_scaling)] <- 1 - consv_scaling <- toolAggregate(consv_scaling, map, from = "cluster", to = "cell") - land_consv_hr[, , "past"] <- consv_scaling[, , "past"] * land_consv_hr[, , "past"] - land_consv_hr[, , natveg] <- consv_scaling[, , "natveg"] * land_consv_hr[, , natveg] - return(land_consv_hr) -} - .dissagBII <- function(gdx, map_file, dir) { # Biodiversity intactness indicator (BII) at cluster level bii_lr <- BII(gdx, @@ -292,8 +199,6 @@ if (file.exists(wdpa_hr_file)) { mapping = readRDS(map_file), wdpaHr = read.magpie(wdpa_hr_file), conservationPrioHr = conservationPrioHr) - land_consv_hr2 <- .dissagLandConsv(gdx, cfg, map_file, wdpa_hr_file, consv_prio_hr_file) - stopifnot(identical(land_consv_hr, land_consv_hr2)) # Write gridded conservation land .writeDisagg(land_consv_hr, land_consv_hr_out_file, From 382e0016cb0a34872d2c4e6ff89818ad1339a934 Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Fri, 16 May 2025 10:46:19 +0200 Subject: [PATCH 14/14] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64542ccff..febce8449 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **script/start/test_runs.R** Test runs adjusted based on availability from coupled runs for R34M410. - **scenario_config.csv** SSP2 food system assumptions for ScenarioMIP VLLO to avoid sudden jump of calorie intake after 2025 - **scripts** request 24h for SLURM jobs (except for medium which still requests 7 days) +- **scripts** disaggregation.R moved disaggregateLandConservation function to magpie4 ### added - **default.cfg** added option to set Tol_Optimality (GAMS solver setting) to a certain value (GAMS-default 1e-7, new MAgPIE-default 1e-8)