forked from remindmodel/remind
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeclarations.gms
More file actions
185 lines (169 loc) · 17.5 KB
/
Copy pathdeclarations.gms
File metadata and controls
185 lines (169 loc) · 17.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
*** | (C) 2006-2024 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/21_tax/on/declarations.gms
Parameters
pm_taxrevGHG0(ttot,all_regi) "reference level value of GHG emission tax"
pm_taxrevCO2Sector0(ttot,all_regi,emi_sectors) "reference level value of CO2 sector markup tax"
pm_taxrevCO2LUC0(ttot,all_regi) "reference level value of co2luc emission tax"
p21_taxrevCCS0(ttot,all_regi) "reference level value of CCS tax"
pm_taxrevNetNegEmi0(ttot,all_regi) "reference level value of net-negative emissions tax"
p21_emiAllco2neg0(ttot,all_regi) "reference level value of net-negative CO2 emissions in the current iteration"
p21_emiAllco2neg_acrossIterations0(ttot,all_regi) "reference level value of net-negative CO2 emissions as difference of gross CDR in the current iteration and gross emissions in the previous iteration"
p21_taxrevPE0(ttot,all_regi,all_enty) "reference level value of primary energy tax"
p21_taxrevFE0(ttot,all_regi) "reference level value of final energy tax"
p21_taxrevCES0(ttot,all_regi,all_in) "reference level value of ces production tax"
p21_taxrevResEx0(ttot,all_regi) "reference level value of resource extraction tax"
p21_taxrevPE2SE0(ttot,all_regi) "reference level value of pe2se technologies tax"
p21_taxrevSO20(ttot,all_regi) "reference level value of SO2 tax"
p21_taxrevBioSust0(ttot,all_regi) "reference level value of global sustainability tax on bioenergy"
p21_taxrevBioEF0(ttot,all_regi) "reference level value of emission-factor-based tax on bioenergy"
p21_taxrevBio0(ttot,all_regi) "reference level value of sum of emission-factor-based tax and global sustainability tax on bioenergy" !! TO BE DELETED ONCE REMIND2 REPORTING IS ADJUSTED
p21_taxemiMkt0(ttot,all_regi,all_emiMkt) "reference level value of co2 emission taxes per emission market"
p21_taxrevFlex0(ttot,all_regi) "reference level value of flexibility tax"
p21_taxrevImport0(ttot,all_regi,all_enty,tax_import_type_21) "reference level value of energy import tax"
p21_taxrevChProdStartYear0(ttot,all_regi) "reference level value of tax to limit changes compared to reference run in cm_startyear"
p21_taxrevSE0(ttot,all_regi) "reference level value of tax on SE electricity demand"
p21_taxrevEI0(ttot,all_regi) "reference level value of tax on environmental impacts"
p21_taxrevGHG_iter(iteration,ttot,all_regi) "track reference level value of GHG emission tax revenue over iterations"
p21_taxrevCCS_iter(iteration,ttot,all_regi) "track reference level value of CCS tax revenue over iterations"
p21_taxrevNetNegEmi_iter(iteration,ttot,all_regi) "track reference level value of net-negative emissions tax revenue over iterations"
p21_taxrevPE_iter(iteration,ttot,all_regi,all_enty) "track reference level value of primary energy tax revenue over iterations"
p21_taxrevFE_iter(iteration,ttot,all_regi) "track reference level value of final energy tax revenue over iterations"
p21_taxrevCES_iter(iteration,ttot,all_regi,all_in) "track reference level value of ces production tax revenue over iterations"
p21_taxrevResEx_iter(iteration,ttot,all_regi) "track reference level value of resource extraction tax revenue over iterations"
p21_taxrevPE2SE_iter(iteration,ttot,all_regi) "track reference level value of pe2se technologies tax revenue over iterations"
p21_taxrevSO2_iter(iteration,ttot,all_regi) "track reference level value of SO2 tax revenue over iterations"
p21_taxrevBioSust_iter(iteration,ttot,all_regi) "track reference level value of global sustainability tax revenue on bioenergy over iterations"
p21_taxrevBioEF_iter(iteration,ttot,all_regi) "track reference level value of emission-factor-based tax revenue on bioenergy over iterations"
p21_taxrevFlex_iter(iteration,ttot,all_regi) "track reference level value of flexibility tax revenue over iterations"
p21_taxrevImport_iter(iteration,ttot,all_regi,all_enty) "track reference level value of energy import tax over iterations"
p21_taxrevChProdStartYear_iter(iteration,ttot,all_regi) "track reference level value of tax to limit changes compared to reference run in cm_startyear over iterations"
p21_taxrevSE_iter(iteration,ttot,all_regi) "track reference level value of tax on SE electricity demand over iterations"
p21_taxrevEI_iter(iteration,ttot,all_regi) "track reference level value of tax on environmental impacts"
p21_deltarev(iteration,all_regi) "convergence criteria for iteration on tax revenue recycling"
p21_tau_CO2_tax_gdx(ttot,all_regi) "tax path from gdx, may overwrite default values"
p21_tau_CO2_tax_gdx_bau(ttot,all_regi) "tax path from gdx, may overwrite default values"
p21_tau_so2_tax(tall,all_regi) "so2 tax path"
p21_tau_pe2se_tax(tall,all_regi,all_te) "tax path for PE2SE technologies"
p21_tau_fuEx_sub(tall,all_regi,all_enty) "subsidy path for fuel extraction [$/TWa]"
p21_bio_EF(ttot,all_regi) "bioenergy emission factor, which is used to calculate the emission-factor-based tax level [GtC/TWa]"
p21_tau_Import(ttot,all_regi,all_enty,tax_import_type_21) "tax on energy imports, only works on energy carriers traded on nash markets, tax defined as share of world market price pm_pvp [Unit: share]"
pm_tau_pe_tax(ttot,all_regi,all_enty) "tax path for primary energy"
pm_tau_ces_tax(ttot,all_regi,all_in) "ces production tax to implement CES mark-up cost in a budget-neutral way"
p21_tau_SE_tax(ttot,all_regi,all_te) "maximum tax rate for SE electricity tax, used for taxes on electrolysis"
p21_tau_fe_tax(ttot,all_regi,emi_sectors,all_enty) "tax path for final energy"
p21_tau_fe_sub(ttot,all_regi,emi_sectors,all_enty) "subsidy path for final energy"
p21_CO2TaxSectorMarkup(ttot,all_regi,emi_sectors) "path for CO2 tax markup in building, industry or transport sector"
pm_taxEI_PE(ttot,all_regi,all_enty) "tax path for environmental impacts tax on primary energy production"
pm_taxEI_SE(ttot,all_regi,all_te) "tax path for environmental impacts tax on secondary energy production"
pm_taxEI_cap(ttot,all_regi,all_te) "tax path for environmental impacts tax on capacity additions"
p21_grossEmissions(iteration,ttot,all_regi) "Gross CO2 emissions"
p21_referenceGrossEmissions(ttot,all_regi) "Reference gross CO2 emissions used for computation of net-negative emissions"
p21_referenceGrossEmissions_iter(iteration,ttot,all_regi) "Tracked over iterations for debugging"
p21_tau_SE_tax_rampup(ttot,all_regi,all_te,teSeTax_coeff) "Parameters of logistic function to describe relationship between SE electricity tax rate and share of technology in total electricity demand"
$ifThen.SEtaxRampUpParam not "%cm_SEtaxRampUpParam%" == "off"
p21_SEtaxRampUpParameters(ext_regi,all_te,teSeTax_coeff) "config values for SE electricity tax rate tech specific ramp up logistic function parameters" / %cm_SEtaxRampUpParam% /
$endif.SEtaxRampUpParam
;
$ifThen.import not "%cm_import_tax%" == "off"
Parameter
p21_import_tax(ext_regi,all_enty,tax_import_type_21) "parameter to read in configurations from import tax switch"
/ %cm_import_tax% /
;
$endif.import
$ifthen.importtaxrc "%cm_taxrc_RE%" == "REdirect"
Parameters
p21_ref_costInvTeDir_RE(ttot,all_regi,all_te) "RE direct investment volume in reference scenario"
p21_ref_costInvTeAdj_RE(ttot,all_regi,all_te) "RE adjustment cost investment volume in reference scenario"
;
$endif.importtaxrc
$ifthen.fetax not "%cm_FEtax_trajectory_abs%" == "off"
Parameters
p21_FEtax_trajectory_abs(ttot,emi_sectors,all_enty) "absolute final energy tax level of the end year set by cm_FEtax_trajectory_abs switch [USD/MWh]" / %cm_FEtax_trajectory_abs% /
;
$endif.fetax
$ifthen.fetaxRel not "%cm_FEtax_trajectory_rel%" == "off"
Parameters
p21_FEtax_trajectory_rel(ttot,emi_sectors,all_enty) "factor to scale final energy tax level of the end year from cm_FEtax_trajectory_rel switch" / %cm_FEtax_trajectory_rel% /
;
$endif.fetaxRel
Scalars
s21_so2_tax_2010 "SO2 tax value in 2010 in 10^12$/TgS = 10^6 $/t S"
s21_tax_time "time when final tax level is reached"
s21_tax_value "target level of tax, sub, inconv in $/GJ, must always be rescaled after setting"
s21_frac_NetNegEmi "parameter used for fade-in of cm_frac_NetNegEmi"
;
variables
*** tax revenues of implicit taxes used for quantity and price target implementation
vm_taxrev(ttot,all_regi) "difference between tax volume in current and previous iteration [T$]"
vm_taxrevimplicitQttyTargetTax(ttot,all_regi) "tax revenue of implict tax for quantity target bound [T$]"
vm_taxrevimplicitPriceTax(ttot,all_regi,entySe,all_enty,sector) "tax revenue of implict tax for final energy price target [T$]"
vm_taxrevimplicitPePriceTax(ttot,all_regi,all_enty) "tax revenue of implict tax forprimary energy price target [T$]"
v21_taxrevReal(ttot,all_regi) "difference between volume of real taxes and subsidies in current and previous iteration"
v21_taxrevPseudo(ttot,all_regi) "difference between volume of pseudo taxes and subsidies in current and previous iteration"
v21_tau_bio(ttot) "demand-dependent bioenergy tax"
v21_taxrevGHG(ttot,all_regi) "tax on greenhouse gas emissions"
v21_taxrevCO2Sector(ttot,all_regi,emi_sectors) "sector markup tax on CO2 emissions"
v21_taxrevCO2luc(ttot,all_regi) "tax on co2luc emissions"
v21_taxrevCCS(ttot,all_regi) "tax on CCS (to reflect leakage risk)"
v21_taxrevNetNegEmi(ttot,all_regi) "tax on net-negative emissions (to reflect climate damages due to overshoot)"
v21_taxrevPE(ttot,all_regi,all_enty) "tax on primary energy"
v21_taxrevFE(ttot,all_regi) "tax on final energy (?)"
v21_taxrevCES(ttot,all_regi,all_in) "tax on ces production function"
v21_taxrevResEx(ttot,all_regi) "tax on resource extraction (?)"
v21_taxrevPE2SE(ttot,all_regi) "tax on pe2se technologies (?)"
v21_taxrevSO2(ttot,all_regi) "tax on SO2 (to reflect health impacts)"
v21_taxrevBioSust(ttot,all_regi) "global sustainability tax on bioenergy (to reflect sustainability constraints on bioenergy production)"
v21_taxrevBioEF(ttot,all_regi) "emission-factor-based tax on bioenergy"
v21_taxrevFlex(ttot,all_regi) "tax on technologies with flexible or inflexible electricity input"
v21_taxemiMkt(ttot,all_regi,all_emiMkt) "tax on greenhouse gas emissions"
v21_taxrevImport(ttot,all_regi,all_enty) "net change vs. last iteration of tax revenues from energy import tax"
v21_taxrevChProdStartYear(ttot,all_regi) "tax to limit changes compared to reference run in cm_startyear"
v21_taxrevSE(ttot,all_regi) "tax on SE electricity demand, used for taxes on electrolysis"
v21_taxrevEI(ttot,all_regi) "tax on environmental impacts"
;
Positive Variable
vm_emiAllco2neg(ttot,all_regi) "net-negative CO2 emissions (as positive variable)"
v21_emiAllco2neg_slack(ttot,all_regi) "dummy variable to extract net-negative CO2 emissions from emiAll"
v21_emiAllco2neg_acrossIterations(ttot,all_regi) "net-negative CO2 emissions as difference of gross CDR in the current iteration and gross emissions in the previous iteration (as positive variable)"
v21_emiAllco2neg_acrossIterations_slack(ttot,all_regi) "dummy variable to compute v21_emiAllco2neg_acrossIterations"
v21_tau_SE_tax(ttot,all_regi,all_te) "tax rate of tax on SE electricity demand, used for taxes on electrolysis"
;
equations
q21_taxrev(ttot,all_regi) "calculation of difference in total tax volume"
q21_taxrevReal(ttot,all_regi) "calculation of difference in volume of real taxes and subsidies"
q21_taxrevPseudo(ttot,all_regi) "calculation of difference in volume of pseudo taxes and subsidies"
q21_emiAllco2neg_acrossIterations(ttot,all_regi) "calculation of net-negative CO2 emissions as difference of gross CDR in the current iteration and gross emissions in the previous iteration"
q21_emiAllco2neg(ttot,all_regi) "calculation of net-negative CO2 emissions in the current iteration"
q21_tau_bio(ttot) "calculation of demand-dependent bioenergy tax"
q21_taxrevGHG(ttot,all_regi) "calculation of tax on greenhouse gas emissions"
q21_taxrevCO2Sector(ttot,all_regi,emi_sectors) "calculation of sector markup tax on CO2 emissions"
q21_taxrevCO2luc(ttot,all_regi) "calculation of tax on co2luc emissions"
q21_taxrevCCS(ttot,all_regi) "calculation of tax on CCS"
q21_taxrevNetNegEmi(ttot,all_regi) "calculation of tax on net-negative emissions"
q21_taxrevPE(ttot,all_regi,all_enty) "calculation of tax on primary energy"
q21_taxrevFE(ttot,all_regi) "calculation of tax on final energy"
q21_taxrevCES(ttot,all_regi,all_in) "calculation of tax on ces production function"
q21_taxrevResEx(ttot,all_regi) "calculation of tax on resource extraction"
q21_taxrevPE2SE(ttot,all_regi) "calculation of tax on pe2se technologies"
q21_taxrevSO2(ttot,all_regi) "calculation of tax on SO2"
q21_taxrevBioSust(ttot,all_regi) "calculation of global sustainability tax on bioenergy"
q21_taxrevBioEF(ttot,all_regi) "calculation of emission-factor-based tax on bioenergy"
q21_taxrevFlex(ttot,all_regi) "tax on technologies with flexible or inflexible electricity input"
q21_taxemiMkt(ttot,all_regi,all_emiMkt) "calculation of specific emission market tax on CO2 emissions"
q21_taxrevImport(ttot,all_regi,all_enty) "calculation of import tax"
q21_taxrevChProdStartYear(ttot,all_regi) "calculation of tax to limit changes compared to reference run in cm_startyear"
q21_taxrevSE(ttot,all_regi) "calculation of tax on SE electricity demand, used for taxes on electrolysis"
q21_SeTaxRate(ttot,all_regi,all_te) "calculation of SE tax rate, used for taxes on electrolysis"
q21_taxrevEI(ttot,all_regi) "calculation of tax on environmental impacts"
;
$ifthen.importtaxrc "%cm_taxrc_RE%" == "REdirect"
equations
q21_rc_tau_import_RE(ttot,trade_regi) "revenue recycling of import tax to RE investments (wind, solar, storage): investments in wind, solar and storage equal (i) investments from reference scenario with tax and no revenue recycling plus (ii) the revenues received from the tax"
;
$endif.importtaxrc
*** EOF ./modules/21_tax/on/declarations.gms