-
Johannes Koch authored
This is part of a larger refactoring effort of the remind core. Here, code related to the social welfare functions has been moved from the core to the new module. Some renaming was required. For now, only one module realization exists, 'utilitarian', which corresponds one to one to what was in the core before. This refactoring exercises has no effect on the results!
Johannes Koch authoredThis is part of a larger refactoring effort of the remind core. Here, code related to the social welfare functions has been moved from the core to the new module. Some renaming was required. For now, only one module realization exists, 'utilitarian', which corresponds one to one to what was in the core before. This refactoring exercises has no effect on the results!
declarations.gms 2.62 KiB
*** | (C) 2006-2019 Potsdam Institute for Climate Impact Research (PIK)
*** | authors, and contributors see CITATION.cff file. This file is part
*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of
*** | AGPL-3.0, you are granted additional permissions described in the
*** | REMIND License Exception, version 1.0 (see LICENSE file).
*** | Contact: remind@pik-potsdam.de
*** SOF ./modules/02_welfare/utilitarian/declarations.gms
***-------------------------------------------------------------------------------
*** PARAMETERS
***-------------------------------------------------------------------------------
parameters
pm_welf(tall) "Weight parameter in the welfare function to avoid jumps with cm_less_TS"
pm_w(all_regi) "Negishi weights"
pm_prtp(all_regi) "Pure rate of time preference"
;
***-------------------------------------------------------------------------------
*** VARIABLES
***-------------------------------------------------------------------------------
variables
v02_welfare(all_regi) "Regional welfare"
vm_welfareGlob "Global welfare"
$ifthen.inconv %c_INCONV_PENALTY% == "on"
v02_inconvPen(ttot,all_regi) "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?"
v02_inconvPenCoalSolids(ttot,all_regi) "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?"
v02_inconvPenCoalSolids(ttot,all_regi) "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?"
v02_sesoInconvPenSlack(ttot,all_regi) "Slack to avoid negative inconvenience penalty for Coal Solids"
$endif.inconv
;
positive variables
vm_forcOs(ttot) "Forcing overshoot"
;
***-------------------------------------------------------------------------------
*** EQUATIONS
***-------------------------------------------------------------------------------
equations
q02_welfareGlob "Global welfare"
q02_welfare "Regional welfare"
$ifthen.inconv %c_INCONV_PENALTY% == "on"
q02_inconvPen(ttot,all_regi) "Calculate the inconvenience penalty v02_inconvPen"
q02_inconvPenCoalSolids(ttot,all_regi) "Calculate the inconvenience penalty v02_inconvPen"
$endif.inconv
;
*** EOF ./modules/02_welfare/utilitarian/declarations.gms