From bc496b50aca46c93cbea5e05fa59cc0ffbc9f9a0 Mon Sep 17 00:00:00 2001 From: giannou <11047746+giannou@users.noreply.github.com> Date: Wed, 11 Dec 2019 16:24:47 +0100 Subject: [PATCH] documentation of modules 80_optimization and 81_codePerformance --- config/default.cfg | 4 ++-- modules/80_optimization/nash/equations.gms | 26 ++++++++++++---------- modules/81_codePerformance/module.gms | 3 ++- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 724113b..8328592 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -232,8 +232,8 @@ cfg$gms$optimization <- "nash" # def = nash # ***--------------------- 81_codePerformance ---------------------------------------- # * (off): nothing happens -# * (on): noumerous (30) succesive runs performed in a triangle: tax0, tax30, tax150 ,all growing exponentially, -# therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. also "long" as loadleveler class option (node = not_shared is recommended, too). test code performance +# * (on): test code performance: noumerous (30) succesive runs performed in a triangle, tax0, tax30, tax150, all growing exponentially, +# therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. cfg$gms$codePerformance <- "off" # def = off # ***------------------------------------------------------------------------------ diff --git a/modules/80_optimization/nash/equations.gms b/modules/80_optimization/nash/equations.gms index 83f4544..bceec4c 100644 --- a/modules/80_optimization/nash/equations.gms +++ b/modules/80_optimization/nash/equations.gms @@ -5,14 +5,16 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/80_optimization/nash/equations.gms -*gl* for Nash solution: intertemporal trade balance must be zero -q80_budg_intertemp(regi).. -0 =e= pm_nfa_start(regi) * pm_pvp("2005","good") - + SUM(ttot$(ttot.val ge 2005), + +*gl* +*' For Nash solution: intertemporal trade balance must be zero (couple in agricultural trade costs: pvp deflator * net export) +q80_budg_intertemp(regi).. +0 =e= pm_nfa_start(regi) * pm_pvp("2005","good") + + SUM(ttot$(ttot.val ge 2005), pm_ts(ttot) * ( - SUM(trade, - (vm_Xport(ttot,regi,trade) - vm_Mport(ttot,regi,trade)) * pm_pvp(ttot,trade) + SUM(trade, + (vm_Xport(ttot,regi,trade) - vm_Mport(ttot,regi,trade)) * pm_pvp(ttot,trade) * ( 1 + sm_fadeoutPriceAnticip*p80_etaXp(trade) * ( (pm_Xport0(ttot,regi,trade) - p80_Mport0(ttot,regi,trade)) - (vm_Xport(ttot,regi,trade) - vm_Mport(ttot,regi,trade)) - p80_taxrev0(ttot,regi)$(ttot.val gt 2005)$(sameas(trade,"good")) + vm_taxrev(ttot,regi)$(ttot.val gt 2005)$(sameas(trade,"good")) @@ -20,16 +22,15 @@ q80_budg_intertemp(regi).. / (p80_normalize0(ttot,regi,trade) + sm_eps) ) ) -*** couple in agricultural trade costs: pvp deflator * net export: + pm_pvp(ttot,"good") * pm_NXagr(ttot,regi) ) - ); + ); -***quadratic adjustment costs, penalizing deviations from the trade pattern of the last iteration. +*' quadratic adjustment costs, penalizing deviations from the trade pattern of the last iteration. q80_costAdjNash(ttot,regi)$(ttot.val ge cm_startyear).. vm_costAdjNash(ttot,regi) =e= sum(trade, - pm_pvp(ttot,trade) * p80_etaAdj(trade) + pm_pvp(ttot,trade) * p80_etaAdj(trade) * ( (pm_Xport0(ttot,regi,trade) - p80_Mport0(ttot,regi,trade)) - (vm_Xport(ttot,regi,trade) - vm_Mport(ttot,regi,trade)) ) * ( (pm_Xport0(ttot,regi,trade) - p80_Mport0(ttot,regi,trade)) - (vm_Xport(ttot,regi,trade) - vm_Mport(ttot,regi,trade)) @@ -39,8 +40,9 @@ vm_costAdjNash(ttot,regi) =e= sum(trade, ); -*** mlb 20150324 *** link between permit budget and emission budget -q80_budgetPermRestr(regi)$(cm_emiscen=6) .. +*** mlb 20150324 +*' link between permit budget and emission budget +q80_budgetPermRestr(regi)$(cm_emiscen=6) .. sum(ttot$(ttot.val lt sm_endBudgetCO2eq and ttot.val ge cm_startyear), pm_ts(ttot)* vm_perm(ttot,regi)) + sum(ttot$(ttot.val eq sm_endBudgetCO2eq),pm_ts(ttot)/2 * (vm_perm(ttot,regi))) =l= pm_budgetCO2eq(regi) - sum(ttot $((ttot.val ge 2005) and (ttot.val lt cm_startyear)), pm_ts(ttot)* vm_co2eq(ttot,regi)); diff --git a/modules/81_codePerformance/module.gms b/modules/81_codePerformance/module.gms index 083fe0c..eee0d3d 100644 --- a/modules/81_codePerformance/module.gms +++ b/modules/81_codePerformance/module.gms @@ -8,7 +8,8 @@ *' @title Codeperformance *' -*' @description The realization codeperformance can be used to test the performance of the model. +*' @description The realization codeperformance can be used to test the performance of the model. test code performance: noumerous (30) succesive runs +*' performed in a triangle, tax0, tax30, tax150, all growing exponentially, therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. *' *' @authors Anastasis Giannousakis, Robert Pietzcker -- GitLab