diff --git a/CHANGELOG.md b/CHANGELOG.md index 097c72d63..5bf892130 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **module_documentation** all references to USD05 changed to USD17 ### added -- +- **62_material** added switch to turn off future material demand for bioplastic ### removed - diff --git a/config/default.cfg b/config/default.cfg index 6e7a3223c..22a4b7fc4 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -1941,11 +1941,16 @@ cfg$gms$material <- "exo_flexreg_apr16" # * defined by the maximum demand for bioplastics s62_max_dem_bioplastics # * (in mio. tonnes) and the midpoint s62_midpoint_dem_bioplastics (i.e. # * where bioplastic demand is half of the maximum demand). -# * If maximum demand is 0, biomass demand for bioplastic production is not included. +# * If s62_include_bioplastic is set to 0, future biomass demand for bioplastic +# * production is not included. Otherwise, bioplastic demand is either kept +# * constant at the value of 2020 (if s62_max_dem_bioplastics is set to 0) +# * or follows a logistic curve with the specified maximum demand and +# * midpoint (s62_midpoint_dem_bioplastic). # * Projected total plastic use in the "Global Ambiton" scneario of the OECD is # * about 600 mio. tonnes in 2050 -> E.g. 200 mio. tonnes in 2050 could be a # * reasonable (but ambitious) bioplastic scenario. With midpoint 2050 this # * would mean s62_max_dem_bioplastic = 400. +cfg$gms$s62_include_bioplastic <- 1 # def = 1 cfg$gms$s62_max_dem_bioplastic <- 0 # def = 0 cfg$gms$s62_midpoint_dem_bioplastic <- 2050 # def = 2050 diff --git a/modules/62_material/exo_flexreg_apr16/input.gms b/modules/62_material/exo_flexreg_apr16/input.gms index 829405d7d..bd503db12 100644 --- a/modules/62_material/exo_flexreg_apr16/input.gms +++ b/modules/62_material/exo_flexreg_apr16/input.gms @@ -27,5 +27,6 @@ $offdelim / ; +scalar s62_include_bioplastic switch whether future bioplastic demand should be included (0 or 1) / 1 /; scalar s62_max_dem_bioplastic maximum demand for bioplastics (mio. tDM per yr) / 0 /; scalar s62_midpoint_dem_bioplastic midpoint of logistic function for bioplastic demand (yr) / 2050 /; diff --git a/modules/62_material/exo_flexreg_apr16/preloop.gms b/modules/62_material/exo_flexreg_apr16/preloop.gms index 3253981ce..ed766ebe5 100644 --- a/modules/62_material/exo_flexreg_apr16/preloop.gms +++ b/modules/62_material/exo_flexreg_apr16/preloop.gms @@ -9,9 +9,9 @@ p62_dem_food_lastcalibyear(i) = 1; p62_dem_bioplastic(t,i) = 0; -* Bioplastic demand is based on historic values up to 2020, and either kept constant for -* future years, or following a logistic function with given midpoint and maximum if a -* bioplastic production target is exogenously set. +* Bioplastic demand is based on historic values up to 2020, and either set to zero for +* future years, kept constant at the value of 2020, or following a logistic function with +* given midpoint and maximum if a bioplastic production target is exogenously set. * Global bioplastic demand is distributed to regions proportional to population due to lack of better data. p62_dem_bioplastic(t,i) = f62_hist_dem_bioplastic(t) * (im_pop(t,i) / sum(i2, im_pop(t,i2))); @@ -22,5 +22,9 @@ if (s62_max_dem_bioplastic <> 0, p62_dem_bioplastic(t,i)$(m_year(t)>2020) = s62_max_dem_bioplastic / (1 + exp(-s62_growth_rate_bioplastic*(m_year(t)-s62_midpoint_dem_bioplastic))) * (im_pop(t,i) / sum(i2, im_pop(t,i2))); ); +if (s62_include_bioplastic = 0, + p62_dem_bioplastic(t,i)$(m_year(t)>2020) = 0; +); + * translate bioplastic demand to biomass demand using conversion factors between bioplastic and the different biomass sources p62_bioplastic_substrate(t,i,kall) = p62_dem_bioplastic(t,i) * f62_biomass2bioplastic_conversion_ratio(kall); diff --git a/modules/62_material/exo_flexreg_apr16/presolve.gms b/modules/62_material/exo_flexreg_apr16/presolve.gms index c86fbd6bd..6931ccf80 100644 --- a/modules/62_material/exo_flexreg_apr16/presolve.gms +++ b/modules/62_material/exo_flexreg_apr16/presolve.gms @@ -30,5 +30,9 @@ if (sum(sameas(t_past,t),1) = 1, p62_bioplastic_substrate_double_counted(t,i,kall) = p62_bioplastic_substrate(t,i,kall); p62_bioplastic_substrate_lastcalibyear(i,kall) = p62_bioplastic_substrate(t,i,kall); else - p62_bioplastic_substrate_double_counted(t,i,kall) = p62_bioplastic_substrate_lastcalibyear(i,kall) * p62_scaling_factor(i); + if (s62_include_bioplastic = 0, + p62_bioplastic_substrate_double_counted(t,i,kall) = 0; + else + p62_bioplastic_substrate_double_counted(t,i,kall) = p62_bioplastic_substrate_lastcalibyear(i,kall) * p62_scaling_factor(i); + ); );