From b711406ded45825ac71239049eb78a81e68be98f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Mon, 2 Mar 2026 13:41:21 +0000 Subject: [PATCH 1/2] Implementing suggestions: renaming switches everywhere, using cm_permitTradeRatio instead of cm_permittradescen to describe the trading scenario --- main.gms | 8 ++++---- modules/41_emicapregi/AbilityToPay/not_used.txt | 4 ++-- modules/41_emicapregi/CandC/not_used.txt | 4 ++-- modules/41_emicapregi/GDPint/not_used.txt | 4 ++-- modules/41_emicapregi/POPint/not_used.txt | 4 ++-- .../PerCapitaConvergence/not_used.txt | 4 ++-- modules/41_emicapregi/TradingOnRef/bounds.gms | 14 ++++++-------- modules/41_emicapregi/TradingOnRef/not_used.txt | 3 ++- modules/41_emicapregi/TradingOnRef/realization.gms | 4 ++-- modules/41_emicapregi/exog/not_used.txt | 4 ++-- modules/41_emicapregi/none/not_used.txt | 4 ++-- 11 files changed, 28 insertions(+), 29 deletions(-) diff --git a/main.gms b/main.gms index 819bdc4ff..93c97bee4 100755 --- a/main.gms +++ b/main.gms @@ -812,21 +812,21 @@ parameter *' * (3): all GHG excl CO2 emissions from LULUCF *' parameter - cm_permittradescen "scenario on permit trade" + cm_permittradescen "Scenario on permit trade, not used in the TradingOnRef realisation" ; cm_permittradescen = 1; !! def = 1 !! regexp = [1-3] *' * (1): full permit trade (no restrictions) *' * (2): no permit trade (only domestic mitigation) *' * (3): limited trade (certain percentage of permits) *' + parameter - cm_permitTradeFinalYr "Year until permit trading is allowed" + cm_permitTradeFinalYr "[TradingOnRef] Year until permit trading is allowed" ; cm_permitTradeFinalYr = 2100; !! def = 2100 *' - parameter - cm_permitTradeRatio "Percentage of restricted permit trading" + cm_permitTradeRatio "[TradingOnRef] Share of emissions allowed for permit trading between 0 and 1" ; cm_permitTradeRatio = 0.2; !! def = 0.2 *' diff --git a/modules/41_emicapregi/AbilityToPay/not_used.txt b/modules/41_emicapregi/AbilityToPay/not_used.txt index 479771833..3131f6520 100644 --- a/modules/41_emicapregi/AbilityToPay/not_used.txt +++ b/modules/41_emicapregi/AbilityToPay/not_used.txt @@ -10,5 +10,5 @@ pm_gdp_gdx, parameter, ??? pm_budgetCO2eq, parameter, ??? vm_co2eqGlob,input,questionnaire cm_emiscen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? diff --git a/modules/41_emicapregi/CandC/not_used.txt b/modules/41_emicapregi/CandC/not_used.txt index 9553ed69e..b3699610a 100644 --- a/modules/41_emicapregi/CandC/not_used.txt +++ b/modules/41_emicapregi/CandC/not_used.txt @@ -13,5 +13,5 @@ pm_budgetCO2eq, parameter, ??? pm_shPPPMER,input,questionnaire pm_gdp,input,questionnaire cm_permittradescen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? diff --git a/modules/41_emicapregi/GDPint/not_used.txt b/modules/41_emicapregi/GDPint/not_used.txt index 36a64e469..4a39a3e60 100644 --- a/modules/41_emicapregi/GDPint/not_used.txt +++ b/modules/41_emicapregi/GDPint/not_used.txt @@ -13,5 +13,5 @@ pm_budgetCO2eq, parameter, ??? pm_shPPPMER,input,questionnaire pm_gdp,input,questionnaire cm_permittradescen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? diff --git a/modules/41_emicapregi/POPint/not_used.txt b/modules/41_emicapregi/POPint/not_used.txt index 4f518d993..f3df1eafc 100644 --- a/modules/41_emicapregi/POPint/not_used.txt +++ b/modules/41_emicapregi/POPint/not_used.txt @@ -11,5 +11,5 @@ vm_Mport,input,questionnaire pm_shPPPMER,input,questionnaire pm_gdp,input,questionnaire cm_permittradescen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? \ No newline at end of file +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? \ No newline at end of file diff --git a/modules/41_emicapregi/PerCapitaConvergence/not_used.txt b/modules/41_emicapregi/PerCapitaConvergence/not_used.txt index e11f91edf..7f60d3e45 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/not_used.txt +++ b/modules/41_emicapregi/PerCapitaConvergence/not_used.txt @@ -12,5 +12,5 @@ vm_co2eqGlob,input,questionnaire pm_shPPPMER,input,questionnaire pm_gdp,input,questionnaire cm_emiscen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? \ No newline at end of file +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? \ No newline at end of file diff --git a/modules/41_emicapregi/TradingOnRef/bounds.gms b/modules/41_emicapregi/TradingOnRef/bounds.gms index b186a9c62..ee62ca077 100755 --- a/modules/41_emicapregi/TradingOnRef/bounds.gms +++ b/modules/41_emicapregi/TradingOnRef/bounds.gms @@ -5,21 +5,19 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/41_emicapregi/TradingOnRef/bounds.gms + *** calculate emission cap in absolute terms vm_perm.fx(t,regi) = p41_co2eq(t,regi); display vm_perm.up; -*** deactivate permit trade -if(cm_permittradescen eq 2, vm_Xport.fx(t,regi,"perm") = 0; vm_Mport.fx(t,regi,"perm") = 0; -); -*** limited permit trade: limit in terms of share of allocated permits -if(cm_permittradescen eq 3, -vm_Xport.fx(t,regi,"perm") = 0; + +*** Only activate permit trade between 2030 and cm_permitTradeFinalYr +*** cm_permitTradeRatio determines the proportion of emissions that can be traded, +*** between 0 (no permit trade allowed) and 1 (all emissions can be traded) vm_Xport.up(t,regi,"perm") $ (t.val > 2025 and t.val <= cm_permitTradeFinalYr) = cm_permitTradeRatio * abs(p41_co2eq(t,regi)); -vm_Mport.fx(t,regi,"perm") = 0; vm_Mport.up(t,regi,"perm") $ (t.val > 2025 and t.val <= cm_permitTradeFinalYr) = cm_permitTradeRatio * abs(p41_co2eq(t,regi)); -); + *** EOF ./modules/41_emicapregi/TradingOnRef/bounds.gms diff --git a/modules/41_emicapregi/TradingOnRef/not_used.txt b/modules/41_emicapregi/TradingOnRef/not_used.txt index 0580ec517..f8db31446 100755 --- a/modules/41_emicapregi/TradingOnRef/not_used.txt +++ b/modules/41_emicapregi/TradingOnRef/not_used.txt @@ -15,4 +15,5 @@ p41_correct_factor, parameter, ??? pm_shPPPMER,input,questionnaire pm_pop, parameter, ??? pm_gdp,input,questionnaire -p41_co2eq_bau, parameter, ??? \ No newline at end of file +p41_co2eq_bau, parameter, ??? +cm_permittradescen,input,replaced by cm_permitTradeRatio \ No newline at end of file diff --git a/modules/41_emicapregi/TradingOnRef/realization.gms b/modules/41_emicapregi/TradingOnRef/realization.gms index f1229f977..86759e4ca 100755 --- a/modules/41_emicapregi/TradingOnRef/realization.gms +++ b/modules/41_emicapregi/TradingOnRef/realization.gms @@ -12,8 +12,8 @@ *' * (1): full permit trade (no restrictions) *' * (2): no permit trade (only domestic mitigation) *' * (3): limited trade (certain percentage of regional allowances) -*' for limited trade use cm_pemittradefinalyr to set the final year until permit trading is allowed -*' with cm_pemittraderatio set the percentage of allowed trade +*' for limited trade use cm_permitTradeFinalYr to set the final year until permit trading is allowed +*' with cm_permitTradeRatio set the percentage of allowed trade *####################### R SECTION START (PHASES) ############################## diff --git a/modules/41_emicapregi/exog/not_used.txt b/modules/41_emicapregi/exog/not_used.txt index 665dc85d8..5e9156d09 100644 --- a/modules/41_emicapregi/exog/not_used.txt +++ b/modules/41_emicapregi/exog/not_used.txt @@ -16,5 +16,5 @@ cm_emiscen, switch, ??? pm_shPPPMER,input,questionnair pm_gdp,input,questionnaire cm_permittradescen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? diff --git a/modules/41_emicapregi/none/not_used.txt b/modules/41_emicapregi/none/not_used.txt index 55be26906..2ae02ab04 100644 --- a/modules/41_emicapregi/none/not_used.txt +++ b/modules/41_emicapregi/none/not_used.txt @@ -14,5 +14,5 @@ cm_emiscen, switch, ??? pm_shPPPMER,input,questionnaire pm_gdp,input,questionnaire cm_permittradescen,input,questionnaire -cm_pemittradefinalyr, input, ??? -cm_pemittraderatio, input, ??? +cm_permitTradeFinalYr, input, ??? +cm_permitTradeRatio, input, ??? From df2036270439a19cefe98f4aa14d493ff04978bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Mon, 2 Mar 2026 13:57:29 +0000 Subject: [PATCH 2/2] update realisation description --- modules/41_emicapregi/TradingOnRef/realization.gms | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/41_emicapregi/TradingOnRef/realization.gms b/modules/41_emicapregi/TradingOnRef/realization.gms index 86759e4ca..8dcb2b9bd 100755 --- a/modules/41_emicapregi/TradingOnRef/realization.gms +++ b/modules/41_emicapregi/TradingOnRef/realization.gms @@ -6,14 +6,12 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/41_emicapregi/TradingOnRef/realization.gms -*' @description: Emission caps/permits are allocated according to a reference run -*' There are three different trade patterns currently available. -*' cm_permittradescen = 1; !! def = 1 !! regexp = [1-3] -*' * (1): full permit trade (no restrictions) -*' * (2): no permit trade (only domestic mitigation) -*' * (3): limited trade (certain percentage of regional allowances) -*' for limited trade use cm_permitTradeFinalYr to set the final year until permit trading is allowed -*' with cm_permitTradeRatio set the percentage of allowed trade +*' @description: Emission caps/permits are allocated according to a reference run. +*' The share of emissions that can be traded is determined by cm_permitTradeRatio: +*' * 0: no permit trade (only domestic mitigation) +*' * 0.2 for instance: limited trade (20% of regional allowances) +*' * 1: full permit trade (no restrictions, 100% of emissions may be traded) +*' Permit trade is activated between 2030 and cm_permitTradeFinalYr (included). *####################### R SECTION START (PHASES) ##############################