The welfare module enables the implementation of different social welfare functions. The ineqLognormal realization includes subregional inequality in the welfare function through a log-normal distribution. Any change in the utilitarian realization needs to be mirrored in the ineqLognormal realization!
Interface plot missing!
| Description | Unit | A | B | |
|---|---|---|---|---|
| cm_distrAlphaDam | income elasticity of damages for inequality | x | ||
| cm_distrBeta | elasticity of tax revenue redistribution | x | ||
| cm_emiscen | policy scenario choice | x | ||
| cm_startyear | first optimized modelling time step | \(year\) | x | x |
| pm_cesdata (tall, all_regi, all_in, cesParameter) |
parameters of the CES function | x | ||
| pm_FEPrice (ttot, all_regi, all_enty, sector, emiMkt) |
parameter to capture all FE prices across sectors and markets (tr$2005/TWa) | x | ||
| pm_ies (all_regi) |
intertemporal elasticity of substitution | x | x | |
| pm_interpolWeight_ttot_tall (tall) |
weight for linear interpolation of ttot-dependent variables | x | ||
| pm_pop (tall, all_regi) |
population data | \(bn people\) | x | x |
| pm_SolNonInfes (all_regi) |
model status from last iteration. 1 means status 2 or 7, 0 for all other status codes | x | ||
| pm_tall_2_ttot (tall, ttot) |
mapping from tall to ttot | x | ||
| pm_taxCO2eq (ttot, all_regi) |
CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 | \(T\$/GtC\) | x | |
| pm_taxCO2eqHist (ttot, all_regi) |
Historic CO2 tax path in 2010 and 2015 (also in BAU!) in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 | \(T\$/GtC\) | x | |
| pm_taxCO2eqSCC (ttot, all_regi) |
carbon tax component due to damages (social cost of carbon) | x | ||
| pm_ts (tall) |
(t_n+1 - t_n-1)/2 for a timestep t_n | x | x | |
| pm_ttot_val (ttot) |
value of ttot set element | x | x | |
| sm_giga_2_non | giga to non | x | x | |
| sm_GJ_2_TWa | multiplicative factor to convert from GJ to TWa | x | x | |
| sm_tgch4_2_pgc | conversion factor 100-yr GWP from TgCH4 to PgCeq | x | ||
| sm_tgn_2_pgc | conversion factor 100-yr GWP from TgN to PgCeq | x | ||
| vm_cesIO (tall, all_regi, all_in) |
Production factor | x | x | |
| vm_cons (ttot, all_regi) |
Consumption | x | x | |
| vm_damageFactor (ttot, all_regi) |
damage factor reducing GDP | x | ||
| vm_demFeSector (ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt) |
fe demand per sector and emission market. Taxes should be applied to this variable or variables closer to the supply side whenever possible so the marginal prices include the tax effects. | \(TWa\) | x | x |
| vm_emiCdr (ttot, all_regi, all_enty) |
total (negative) emissions due to CDR technologies of each region. | \(GtC\) | x | |
| vm_emiMacSector (ttot, all_regi, all_enty) |
total non-energy-related emission of each region. | \(GtC, Mt CH4, Mt N\) | x | |
| vm_emiTeMkt (tall, all_regi, all_enty, all_emiMkt) |
total energy-emissions of each region and emission market. | \(GtC, Mt CH4, Mt N\) | x | |
| vm_prodSe (tall, all_regi, all_enty, all_enty, all_te) |
se production. | \(TWa\) | x | x |
| Description | Unit | |
|---|---|---|
| pm_prtp (all_regi) |
Pure rate of time preference | |
| pm_sccIneq (tall, all_regi) |
inequality term in SCC calculation | |
| pm_w (all_regi) |
Negishi weights | |
| pm_welf (tall) |
Weight parameter in the welfare function to avoid jumps with cm_less_TS | |
| vm_welfareGlob | Global welfare |
The ineqLognormal realization adds a representation of subregional inequality to the welfare equation. This is determined by the SSP-based Gini projections by Rao et al. and modified by the effects of climate damages and energy expenditure changes due to climate policy. It is also affected by the redistribution of carbon tax revenues, which can be distributed either proportional to income (distributionally neutral) or on an equal-per-capita basis.
Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel
The objective of the optimization is to maximize the total discounted intertemporal utility. It is summed over all regions.
\[\begin{multline*} vm\_welfareGlob = \sum_{regi}\left( pm\_w(regi) \cdot v02\_welfare(regi) \right) \end{multline*}\]
Total discounted intertemporal regional welfare calculated from per capita consumption summing over all time steps taking into account the pure time preference rate. Assuming an intertemporal elasticity of substitution of 1, it holds:
q02_welfare(regi)..
v02_welfare(regi)
=e=
sum(ttot $(ttot.val ge 2005),
pm_welf(ttot) * pm_ts(ttot) * (1 / ( (1 + pm_prtp(regi))**(pm_ttot_val(ttot)-2005) ) )
* ( (pm_pop(ttot,regi)
* (
((((vm_cons(ttot,regi)*exp(-0.5*(1/pm_ies(regi))*v02_distrFinal_sigmaSq_welfare(ttot,regi)))/pm_pop(ttot,regi))**(1-1/pm_ies(regi))-1)/(1-1/pm_ies(regi)) )$(pm_ies(regi) ne 1)
+ ( log((vm_cons(ttot,regi)) / pm_pop(ttot,regi))
- 0.5*v02_distrFinal_sigmaSq_welfare(ttot,regi) )$(pm_ies(regi) eq 1)
)
)
$if %cm_INCONV_PENALTY% == "on" - v02_inconvPen(ttot,regi) - v02_inconvPenCoalSolids(ttot,regi)
$if "%cm_INCONV_PENALTY_FESwitch%" == "on" - sum((entySe,entyFe,te,sector,emiMkt)$(se2fe(entySe,entyFe,te) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) ), v02_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt))/1e3
)
)
;
Defining variables which are useful for the inequality module: 1/ Energy Expenditures 2/ Revenues from taxes
\[\begin{multline*} v02\_energyExp(ttot,regi) = \sum_{se2fe(entySe,entyFe,te)}\left( \sum_{sector2emiMkt(sector,emiMkt),entyFE2sector(entyFE,sector)}\left( vm\_demFeSector(ttot,regi,entySe,entyFe,sector,emiMkt) \cdot pm\_FEPrice(ttot,regi,entyFe,sector,emiMkt)\right) \right) \end{multline*}\]
\[\begin{multline*} v02\_emitaxredistr(ttot,regi) = \sum_{emiMkt}\left( vm\_emiTeMkt(ttot,regi,"co2",emiMkt)+vm\_emiCdr(ttot,regi,"co2")\$sameas(emiMkt,"ETS") + sm\_tgn\_2\_pgc \cdot \left(vm\_emiTeMkt \left(ttot,regi,"n2o",emiMkt\right)+vm\_emiCdr(ttot,regi,"n2o")\$sameas(emiMkt,"ETS")\right) + sm\_tgch4\_2\_pgc \cdot \left(vm\_emiTeMkt \left(ttot,regi,"ch4",emiMkt\right)+vm\_emiCdr(ttot,regi,"ch4")\$sameas(emiMkt,"ETS")\right) \right) + vm\_emiMacSector(ttot,regi,"co2cement\_process") + sm\_tgch4\_2\_pgc \cdot \left(vm\_emiMacSector(ttot,regi,"ch4coal")+vm\_emiMacSector(ttot,regi,"ch4gas")+vm\_emiMacSector(ttot,regi,"ch4oil")\right) + sm\_tgn\_2\_pgc \cdot \left(vm\_emiMacSector(ttot,regi,"n2otrans")+vm\_emiMacSector(ttot,regi,"n2oadac")+vm\_emiMacSector(ttot,regi,"n2onitac")\right) \end{multline*}\]
Variables affecting inequalities: 1/ Additional energy expenditures, 2/ Additional revenues from the carbon tax
\[\begin{multline*} v02\_energyExp\_Add(ttot,regi) = \left(v02\_energyExp(ttot,regi)-p02\_energyExp\_ref(ttot,regi)\right)\$\left(cm\_emiscen ne 1\right) \end{multline*}\]
\[\begin{multline*} v02\_energyexpShare(ttot,regi) = \frac{ v02\_energyExp\_Add(ttot,regi)}{vm\_cons(ttot,regi) } \end{multline*}\]
\[\begin{multline*} v02\_taxrev\_Add(ttot,regi) = \left(\left(pm\_taxCO2eq(ttot,regi)+ pm\_taxCO2eqSCC(ttot,regi)+pm\_taxCO2eqHist(ttot,regi)\right) \cdot v02\_emitaxredistr(ttot,regi) -p02\_taxrev\_redistr0\_ref(ttot,regi)\right)\$\left(cm\_emiscen ne 1\right) \end{multline*}\]
\[\begin{multline*} v02\_revShare(ttot,regi) = \frac{ v02\_taxrev\_Add(ttot,regi)\$\left(v02\_taxrev\_Add.l(ttot,regi) ge 0\right)}{vm\_cons(ttot,regi) } \end{multline*}\]
\[\begin{multline*} v02\_damageConsShare(ttot,regi) = \frac{ 1}{\left(p02\_damConsFactor1(ttot,regi)+vm\_damageFactor(ttot,regi) \cdot p02\_damConsFactor2(ttot,regi)\right)}-1 \end{multline*}\]
\[\begin{multline*} v02\_distrAlpha(ttot,regi) = 1+1.618788-2 \cdot 0.09746092 \cdot log\left(1000 \cdot \frac{vm\_cesIO(ttot,regi,"inco")}{pm\_pop(ttot,regi)}\right) \end{multline*}\]
Defining sigma
\[\begin{multline*} v02\_distrFinal\_sigmaSq(ttot,regi) = 2 \cdot p02\_ineqTheil(ttot,regi) \cdot \left(\frac{\left(1+p02\_distrBeta(ttot,regi) \cdot v02\_revShare(ttot,regi)-v02\_distrAlpha(ttot,regi) \cdot v02\_energyexpShare(ttot,regi)\right)}{\left(1+v02\_revShare(ttot,regi)-v02\_energyexpShare(ttot,regi)\right)}\right)^{2} \end{multline*}\]
\[\begin{multline*} v02\_distrFinal\_sigmaSq\_postDam(ttot,regi) = 2 \cdot p02\_ineqTheil(ttot,regi) \cdot \left(\frac{\left(1+p02\_distrBeta(ttot,regi) \cdot v02\_revShare(ttot,regi)-v02\_distrAlpha(ttot,regi) \cdot v02\_energyexpShare(ttot,regi)-cm\_distrAlphaDam \cdot v02\_damageConsShare(ttot,regi)\right)}{\left(1+v02\_revShare(ttot,regi)-v02\_energyexpShare(ttot,regi)-v02\_damageConsShare(ttot,regi)\right)}\right)^{2} \end{multline*}\]
Defining a boundary to prevent welfare-enhancing effects
\[\begin{multline*} v02\_distrFinal\_sigmaSq\_limit(ttot,regi) = 2 \cdot p02\_ineqTheil(ttot,regi) \end{multline*}\]
\[\begin{multline*} v02\_distrFinal\_sigmaSq\_welfare(ttot,regi) = 0.5 \cdot \left(v02\_distrFinal\_sigmaSq\_postDam(ttot,regi)+v02\_distrFinal\_sigmaSq\_limit(ttot,regi)+sqrt\left(\power\left(v02\_distrFinal\_sigmaSq\_postDam(ttot,regi)-v02\_distrFinal\_sigmaSq\_limit(ttot,regi),2\right)+0.00001\right)\right) \end{multline*}\]
Adding other boundaries to prevent model from failing
\[\begin{multline*} v02\_energyexpShare(ttot,regi) \leq 0.5 \end{multline*}\]
\[\begin{multline*} 0 \leq 1 \end{multline*}\]
\[\begin{multline*} 0 \leq \left(1+v02\_revShare(ttot,regi)-v02\_energyexpShare(ttot,regi)-0.05\right) \end{multline*}\]
Calculation of the inconvenience penalty:
\[\begin{multline*} v02\_inconvPen(t,regi) \geq \cdot ' local air pollution for all entySe production except for coal solids \left(=sesofos\right), which is treated separately \left(see below\right) SUM\left(pe2se(enty,entySe,te)\$\left(NOT sameas(entySe,"sesofos")\right), p02\_inconvpen\_lap(t,regi,te) \cdot vm\_prodSe(t,regi,enty,entySe,te) \right) \end{multline*}\]
\[\begin{multline*} v02\_inconvPenCoalSolids(t,regi) \geq \cdot ' local air pollution for coal: inconvinienve penalty applies only for buildings use \end{multline*}\]
\[\begin{multline*} vm\_demFeSector(ttot,regi,entySe,entyFe,sector,emiMkt) - vm\_demFeSector(ttot-1,regi,entySe,entyFe,sector,emiMkt) + v02\_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - v02\_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) = 0 \end{multline*}\]
Limitations There are no known limitations.
The utilitarian realization loads the utilitarian aka. Benthamite social welfare function, in which social welfare is equal to the discounted intertemporal sum of utility, which itself is a function of per capita consumption.
Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel
The objective of the optimization is to maximize the total discounted intertemporal utility. It is summed over all regions.
\[\begin{multline*} vm\_welfareGlob = \sum_{regi}\left( pm\_w(regi) \cdot v02\_welfare(regi) \right) \end{multline*}\]
Total discounted intertemporal regional welfare calculated from per capita consumption summing over all time steps taking into account the pure time preference rate. Assuming an intertemporal elasticity of substitution of 1, it holds:
q02_welfare(regi)..
v02_welfare(regi)
=e=
sum(ttot $(ttot.val ge 2005),
pm_welf(ttot) * pm_ts(ttot) * (1 / ( (1 + pm_prtp(regi))**(pm_ttot_val(ttot)-2005) ) )
* ( (pm_pop(ttot,regi)
* (
((( (vm_cons(ttot,regi))/pm_pop(ttot,regi))**(1-1/pm_ies(regi))-1)/(1-1/pm_ies(regi)) )$(pm_ies(regi) ne 1)
+ (log((vm_cons(ttot,regi)) / pm_pop(ttot,regi)))$(pm_ies(regi) eq 1)
)
)
$if %cm_INCONV_PENALTY% == "on" - v02_inconvPen(ttot,regi) - v02_inconvPenCoalSolids(ttot,regi)
$if "%cm_INCONV_PENALTY_FESwitch%" == "on" - sum((entySe,entyFe,te,sector,emiMkt)$(se2fe(entySe,entyFe,te) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) ), v02_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt))/1e3
)
)
;
Calculation of the inconvenience penalty:
\[\begin{multline*} v02\_inconvPen(t,regi) \geq \cdot ' local air pollution for all entySe production except for coal solids \left(=sesofos\right), which is treated separately \left(see below\right) SUM\left(pe2se(enty,entySe,te)\$\left(NOT sameas(entySe,"sesofos")\right), p02\_inconvpen\_lap(t,regi,te) \cdot vm\_prodSe(t,regi,enty,entySe,te) \right) \end{multline*}\]
\[\begin{multline*} v02\_inconvPenCoalSolids(t,regi) \geq \cdot ' local air pollution for coal: inconvinience penalty applies only for buildings use \end{multline*}\]
\[\begin{multline*} vm\_demFeSector(ttot,regi,entySe,entyFe,sector,emiMkt) - vm\_demFeSector(ttot-1,regi,entySe,entyFe,sector,emiMkt) + v02\_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - v02\_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) = 0 \end{multline*}\]
Limitations There are no known limitations.
| Description | Unit | A | B | |
|---|---|---|---|---|
| f02_damConsFactor (all_regi, dam_factors) |
for translating output to consumption losses from KW damage function | x | ||
| f02_ineqTheil (tall, all_regi, all_GDPscen) |
Gini data | x | ||
| p02_cons_ref (ttot, all_regi) |
consumption in reference run | x | ||
| p02_damConsFactor1 (ttot, all_regi) |
factor translating output damages to consumption losses | x | ||
| p02_damConsFactor2 (ttot, all_regi) |
factor translating output damages to consumption losses | x | ||
| p02_distrAlpha (ttot, all_regi) |
income elasticity of mitigation costs | x | ||
| p02_distrBeta (ttot, all_regi) |
income elasticity of revenues redistribution | x | ||
| p02_distrMu (ttot, all_regi) |
mu of lognormal distribution (prior to mitigation costs) | x | ||
| p02_distrSigma (ttot, all_regi) |
sigma of lognormal distribution (prior to mitigation costs) | x | ||
| p02_energyExp_ref (ttot, all_regi) |
regional energy expenditure in the reference scenario | x | ||
| p02_inconvpen_lap (ttot, all_regi, all_te) |
Parameter for inconvenience penalty for local air pollution. | \(T\$/TWa at Consumption of 1000\$/cap\) | x | x |
| p02_inconvPen_Switch_Track (ttot, all_regi) |
Parameter to track magnitude of inconvenience penalty for bio/synfuel share switching | \(share of consumption\) | x | x |
| p02_ineqTheil (ttot, all_regi) |
regional Theil-T index = sigma^2/2 for lognormal | x | ||
| p02_prodFe_ref (ttot, all_regi, all_enty, all_enty, all_te) |
final energy in ref | x | ||
| p02_taxrev_redistr0_ref (ttot, all_regi) |
tax revenue in the reference run | x | ||
| q02_budget_first (ttot, all_regi) |
making sure budget is positive | x | ||
| q02_budget_second (ttot, all_regi) |
making sure budget is positive | x | ||
| q02_consLossShare (ttot, all_regi) |
share of consumption loss from damages | x | ||
| q02_distrAlpha (ttot, all_regi) |
income elasticity of mitigation costs | x | ||
| q02_distrFinal_sigmaSq (ttot, all_regi) |
sigma^2 parameter of lognormal final distribution (after costs and taxes) | x | ||
| q02_distrFinal_sigmaSq_limit (ttot, all_regi) |
sigma limit | x | ||
| q02_distrFinal_sigmaSq_postDam (ttot, all_regi) |
sigma^2 parameter of lognormal final distribution (after costs, taxes and damages) | x | ||
| q02_distrFinal_sigmaSq_welfare (ttot, all_regi) |
sigma^2 entering welfare equation after applying the limit | x | ||
| q02_emitaxredistr (ttot, all_regi) |
emissions that will be taxes and redistributed | x | ||
| q02_energyExp (ttot, all_regi) |
regional energy expenditure | x | ||
| q02_energyExp_Add (ttot, all_regi) |
regional additional energy expenditure w.r.t. reference run | x | ||
| q02_energyexpShare (ttot, all_regi) |
additional energy exp w.r.t. reference run as a share of consumption | x | ||
| q02_energyexpShare_cap (ttot, all_regi) |
cap energy expenditure share | x | ||
| q02_inconvPen (ttot, all_regi) |
Calculate the inconvenience penalty v02_inconvPen | x | x | |
| q02_inconvPenCoalSolids (ttot, all_regi) |
Calculate the inconvenience penalty v02_inconvPen | x | x | |
| q02_inconvPenFeBioSwitch (ttot, all_regi, all_enty, all_enty, all_te, emi_sectors, all_emiMkt) |
Calculate the inconvenience penalty to avoid switching biomass and synfuel shares in hydrocarbons in buildings, transport and industry and emissions markets if costs are relatively close | x | x | |
| q02_relTaxlevels (ttot, all_regi) |
relative tax revenues | x | ||
| q02_taxrev_Add (ttot, all_regi) |
tax revenue w.r.t. reference run | x | ||
| q02_welfare | Regional welfare | x | x | |
| q02_welfareGlob | Global welfare | x | x | |
| v02_damageConsShare (ttot, all_regi) |
share of consumption loss from damages in consumption | x | ||
| v02_distrAlpha (ttot, all_regi) |
income elasticity of mitigation costs | x | ||
| v02_distrFinal_sigmaSq (ttot, all_regi) |
sigma^2 parameter of final lognormal distribution (after redistributional effects of taxes) | x | ||
| v02_distrFinal_sigmaSq_limit (ttot, all_regi) |
Limit past which inequality improvements do not lead to welfare benefits | x | ||
| v02_distrFinal_sigmaSq_postDam (ttot, all_regi) |
sigma^2 parameter of final lognormal distribution (after redistributional effects of taxes and damages) | x | ||
| v02_distrFinal_sigmaSq_welfare (ttot, all_regi) |
sigma^2 entering welfare | x | ||
| v02_emitaxredistr (ttot, all_regi) |
emissions that will be taxes and redistributed | x | ||
| v02_energyExp (ttot, all_regi) |
regional energy expenditure | x | ||
| v02_energyExp_Add (ttot, all_regi) |
additional energy expenditure w.r.t. reference run | x | ||
| v02_energyexpShare (ttot, all_regi) |
relative additional energy expenditure w.r.t. reference run | x | ||
| v02_inconvPen (ttot, all_regi) |
Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils? | x | x | |
| v02_inconvPenCoalSolids (ttot, all_regi) |
Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils? | x | x | |
| v02_NegInconvPenFeBioSwitch (ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt) |
Negative inconvenience penalty in the welfare function for bio/synfuel shares switch between sectors and emissions markets | x | x | |
| v02_PosInconvPenFeBioSwitch (ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt) |
Positive inconvenience penalty in the welfare function for bio/synfuel shares switch between sectors and emissions markets | x | x | |
| v02_revShare (ttot, all_regi) |
tax revenues (share of consumption) | x | ||
| v02_sesoInconvPenSlack (ttot, all_regi) |
Slack to avoid negative inconvenience penalty for Coal Solids | x | x | |
| v02_taxrev_Add (ttot, all_regi) |
tax revenue w.r.t. reference run | x | ||
| v02_welfare (all_regi) |
Regional welfare | x | x |
| description | |
|---|---|
| all_emiMkt | emission markets |
| all_enty | all types of quantities |
| all_GDPscen | all possible GDP scenarios |
| all_in | all inputs and outputs of the CES function |
| all_regi | all regions |
| all_te | all energy technologies, including from modules |
| cesParameter | parameters of the CES functions and for calibration |
| cm_GDPscen | cm_GDPscen as set for use in GDX |
| dam_factors | damage conversion factors output to consumption |
| damscens | scenarios for which the conversion factor from output to consumption loss is available |
| emi_sectors | comprehensive sector set used for more detailed emissions accounting (REMIND-EU) and for CH4 tier 1 scaling - potentially to be integrated with similar set all_exogEmi |
| enty(all_enty) | all types of quantities |
| entyFe(all_enty) | final energy types. |
| entyFe2Sector(all_enty, emi_sectors) | final energy (stationary and transportation) mapping to sectors (industry, buildings, transportation and cdr) |
| entySe(all_enty) | secondary energy types |
| entySeBio(all_enty) | biomass secondary energy types |
| entySeFos(all_enty) | secondary energy types from fossil primary energy |
| entySeSyn(all_enty) | synfuel secondary energy types |
| in(all_in) | All inputs and outputs of the CES function |
| modules | all the available modules |
| pe2se(all_enty, all_enty, all_te) | map primary energy carriers to secondary |
| regi(all_regi) | all regions used in the solution process |
| run | iterator for performance test iterations |
| se2fe(all_enty, all_enty, all_te) | map secondary energy to end-use energy using a technology |
| sector2emiMkt(emi_sectors, all_emiMkt) | mapping sectors to emission markets |
| t(ttot) | modeling time, usually starting in 2005, but later for fixed delay runs |
| tall | time index |
| te(all_te) | energy technologies |
| ttot(tall) | time index with spin up |
01_macro, 23_capitalMarket, 31_fossil, 45_carbonprice, 50_damages, 51_internalizeDamages, 80_optimization, core