REMIND - REgional Model of INvestments and Development

3.4.0

created with goxygen 1.4.4

Regional Policies (47_regipol)

Description

The 47_regipol module includes region-specific policies and adjustments on top of the generic parts in the core and other modules.

The regiCarbonPrice realization has two purposes. First, it allows to determine region specific year or budget targets for CO2 or GHG emissions. Second, it comprises region-specific adjustments that are always active in this realization and policies that can be activated by specific switches (see modules/47_regipol/regiCarbonPrice/bounds.gms). On the emissions targets: Emissions targets can be activated via the switch cm_emiMktTarget and there are number of options that can be chosen to specify them like the type of target (annual target or budget), the target year, the regions the target should be applied to, the emissions metric (CO2, GHG, CO2 excl. bunkers/LULUCF etc.) and the emissions market (all, ETS, ESR). For example, setting cm_emiMktTarget to “2020.2030.EU27_regi.all.year.netGHG_noLULUCF_noBunkers 3.16, 2035.2050.EU27_regi.all.year.netCO2 0.001” will apply two emissions targets to the region group “EU27_regi” which consists of all model regions in the EU27 (for the definition of region groups, please see definition of the set regi_group): The first is a target of 3.16 GtCO2eq/yr annual (“year”) emissions by 2030 in the metric of net greenhouse gas emissions without LULUCF and bunkers (“netGHG_noLULUCF_noBunkers”, for definition of emissions metrics see modules/47_regipol/regiCarbonPrice/postsolve.gms) for all emissions markets (“all”). The second defines a target of 1 Mt CO2/yr annual (“year”) emissions by 2050 in the metric of net CO2 emissions (“netCO2”) for all emissions markets (“all”). For details on the options please see the description of the switch. When an emissions target is set via this switch, the carbon price in the target years and regions, to which it is applied, is adjusted over nash iterations in REMIND until the desired emissions target is reached within a certain margin of tolerance defined by cm_emiMktTarget_tolerance. Note that also multiple emissions targets can be specified for different years (e.g. the EU’s 2030 and 2050 targets). The carbon price trajectory up to the target years are linear and the carbon price is assumed to still increase linearly at a small rate after the last target year. Please check the parameter pm_emiMktTarget_dev_iter to see the emissions target convergence over iterations. Note that these regional emissions targets of the module only overwrite the carbon price trajectory for the regions they are applied to, while the other regions keep the carbon price trajectories that are adjusted in other parts of the model, in particular, from the global emissions target adjustment. This means that these regional targets come on top of the global emissions target that REMIND aims to achieve. On the regional bounds and adjustments: In the bounds file, there are a number of regionally hard-coded bounds to the model that aim to improve the representation of specific regions in REMIND. They come on top of the bounds in the core of REMIND. The difference is that core defines bounds for all regions, while in this module region-specific adjustments are made which have not yet been generalized to all regions and are not activated outside of the realization “regiCarbonPrice”. These bounds either serve to align REMIND with historic and near-term data in specific regions or represent regional policies (like national coal phase-out plans) that can be activated via switches. Finally, there are some regional adjustments in the datainput file that modify input data for specific regions for cases which have not been generalized for all REMIND regions yet.

Interfaces

Interface plot missing!

Input

module inputs (A: none | B: regiCarbonPrice)
  Description Unit A B
cm_deuCDRmax switch to limit maximum annual CDR amount in Germany in MtCO2 per y x x
cm_emiMktTargetDelay number of years for delayed price change in the emission tax convergence algorithm. Not applied to first target set. x
cm_EnSecScen_limit switch for limiting the gas demand from 2025 onward, currently only applied to Germany x
cm_noPeFosCCDeu switch to suppress Pe2Se Fossil Carbon Capture in Germany x x
cm_postTargetIncrease carbon price increase per year after regipol emission target is reached (euro per tCO2) x
cm_startyear first optimized modelling time step \(year\) x
pm_cesdata
(tall, all_regi, all_in, cesParameter)
parameters of the CES function x
pm_cf
(tall, all_regi, all_te)
Installed capacity availability - capacity factor (fraction of the year that a plant is running) x x
pm_conv_TWa_EJ conversion from TWa to EJ x
pm_data
(all_regi, char, all_te)
Large array for most technical parameters of technologies; more detail on the individual technical parameters can be found in the declaration of the set ‘char’ x
pm_delta_histCap
(tall, all_regi, all_te)
parameter to store data of historic capacity additions \(TW/yr\) x x
pm_emifac
(tall, all_regi, all_enty, all_enty, all_te, all_enty)
emission factor by technology for all types of emissions in emiTe x x
pm_eta_conv
(tall, all_regi, all_te)
Time-dependent eta for technologies that do not have explicit time-dependant etas, still eta converges until 2050 to dataglob_values. \(efficiency (0..1)\) x
pm_FEPrice_by_SE_Sector
(ttot, all_regi, entySe, all_enty, sector)
parameter to save FE marginal price per SE and sector \(tr\$2005/TWa\) x
pm_histCap
(tall, all_regi, all_te)
historical installed capacity x
pm_inco0_t
(ttot, all_regi, all_te)
New inco0 that is time-dependent for some technologies. \(T\$/TW\) x
pm_IndstCO2Captured
(ttot, all_regi, all_enty, all_enty, secInd37, all_emiMkt)
Captured CO2 in industry by energy carrier, subsector and emissions market x
pm_macBaseMagpie
(tall, all_regi, all_enty)
baseline emissions from MAgPIE (type emiMacMagpie) x
pm_PEPrice
(ttot, all_regi, all_enty)
parameter to capture all PE prices \(tr\$2005/TWa\) x
pm_prodCouple
(all_regi, all_enty, all_enty, all_te, all_enty)
own consumption x
pm_share_CCS_CCO2
(ttot, all_regi)
share of stored CO2 from total captured CO2 x
pm_shareWindOff
(ttot, all_regi)
windoff rollout as a fraction of technical potential x
pm_shareWindPotentialOff2On
(all_regi)
ratio of technical potential of windoff to windon x
pm_tau_ces_tax
(ttot, all_regi, all_in)
ces production tax to implement CES mark-up cost in a budget-neutral way x
pm_tau_pe_tax
(ttot, all_regi, all_enty)
pe tax path x
pm_taxCO2eq
(ttot, all_regi)
CO2 tax path in T\(/GtC =\)/kgC. To get $/tCO2, multiply with 272 \(T\$/GtC\) x
pm_taxCO2eqRegi
(tall, all_regi)
additional regional CO2 tax path 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_taxCO2eqSum
(tall, all_regi)
sum of pm_taxCO2eq, pm_taxCO2eqRegi, pm_taxCO2eqSCC in T\(/GtC =\)/kgC. To get $/tCO2, multiply with 272 \(T\$/GtC\) x
pm_taxemiMkt
(ttot, all_regi, all_emiMkt)
CO2 or CO2eq region and emission market specific emission tax x
pm_taxemiMkt_iteration
(iteration, ttot, all_regi, all_emiMkt)
CO2 or CO2eq region and emission market specific emission tax per iteration x
pm_taxrevCO2LUC0
(ttot, all_regi)
reference level value of co2luc emission tax x
pm_taxrevCO2Sector0
(ttot, all_regi, emi_sectors)
reference level value of CO2 sector markup tax x
pm_taxrevGHG0
(ttot, all_regi)
reference level value of GHG emission tax x
pm_taxrevNetNegEmi0
(ttot, all_regi)
reference level value of net-negative emissions tax x
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
pm_ttot_val
(ttot)
value of ttot set element x
sm_c_2_co2 conversion from c to co2 x x
sm_D2005_2_D2017 Convert US$2005 to US$2017 x
sm_DpGJ_2_TDpTWa multipl. factor to convert (Dollar per GJoule) to (TerraDollar per TWyear) x
sm_DptCO2_2_TDpGtC Conversion multiplier to go from \(/tCO2 to T\)/GtC: 44/12/1000 x
sm_EJ_2_TWa multiplicative factor to convert from EJ to TWa x
sm_globalBudget_dev actual level of global cumulated emissions budget divided by target budget 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_cap
(tall, all_regi, all_te, rlf)
net total capacities x
vm_capEarlyReti
(tall, all_regi, all_te)
fraction of early retired capital x x
vm_capFac
(ttot, all_regi, all_te)
capacity factor of conversion technologies x
vm_capTotal
(ttot, all_regi, all_enty, all_enty)
total capacity without technology differentation for technologies where there exists differentation \(TW\) x
vm_cesIO
(tall, all_regi, all_in)
Production factor x
vm_co2CCS
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
all different ccs. \(GtC/a\) x x
vm_co2eqMkt
(ttot, all_regi, all_emiMkt)
total emissions per market measured in co2 equivalents ATTENTION: content depends on multigasscen. \(GtCeq\) x
vm_deltaCap
(tall, all_regi, all_te, rlf)
capacity additions x 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
vm_demPe
(tall, all_regi, all_enty, all_enty, all_te)
pe demand. \(TWa, Uranium: Mt Ur\) x
vm_demSe
(ttot, all_regi, all_enty, all_enty, all_te)
se demand. \(TWa\) x
vm_emiAllMkt
(tall, all_regi, all_enty, all_emiMkt)
total regional emissions for each emission market. \(GtC, Mt CH4, Mt N\) x
vm_emiCdrAll
(ttot, all_regi)
all CDR emissions x x
vm_emiFgas
(ttot, all_regi, all_enty)
F-gas emissions by single gases from IMAGE x
vm_emiIndCCS
(ttot, all_regi, all_enty)
industry CCS emissions \(GtC/a\) x
vm_emiMacSector
(ttot, all_regi, all_enty)
total non-energy-related emission of each region. \(GtC, Mt CH4, Mt N\) x
vm_emiTeDetail
(ttot, all_regi, all_enty, all_enty, all_te, all_enty)
energy-related emissions per region and technology x x
vm_emiTeDetailMkt
(tall, all_regi, all_enty, all_enty, all_te, all_enty, all_emiMkt)
emissions from fuel combustion per region, technology and emission market. \(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_prodPe
(ttot, all_regi, all_enty)
pe production. \(TWa, Uranium: Mt Ur\) x
vm_prodSe
(tall, all_regi, all_enty, all_enty, all_te)
se production. \(TWa\) x
vm_shSeEl
(ttot, all_regi, all_te)
new share of electricity production in % \(\%\) x
vm_taxrevimplicitPePriceTax
(ttot, all_regi, all_enty)
primary energy price target implemented through implict tax x
vm_taxrevimplicitPriceTax
(ttot, all_regi, entySe, all_enty, sector)
final energy price target implemented through implict tax x
vm_taxrevimplicitQttyTargetTax
(ttot, all_regi)
quantity target bound implemented through implict tax x

Output

module outputs
  Description Unit
pm_allTargetsConverged
(ext_regi)
boolean to store if all emission targets converged at least once \(0 or 1\)
pm_emiMktCurrent
(ttot, ttot2, ext_regi, emiMktExt)
previous iteration region emissions (from year ttot to ttot2 for budget) \(GtCO2 or GtCO2eq\)
pm_emiMktRefYear
(ttot, ttot2, ext_regi, emiMktExt)
emissions in reference year 2005, used for calculating target deviation of year targets \(GtCO2 or GtCO2eq\)
pm_emiMktTarget
(ttot, ttot2, ext_regi, emiMktExt, target_type_47, emi_type_47)
region emissions target \(GtCO2 or GtCO2eq\)
pm_emiMktTarget_dev
(ttot, ttot2, ext_regi, emiMktExt)
target deviation across iterations in current emissions divided by target emissions (1 is 100%)
pm_emiMktTarget_dev_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
parameter to save pm_emiMktTarget_dev across iterations (1 is 100%)
pm_emiMktTarget_tolerance
(ext_regi)
tolerance for regipol emission target deviations convergence \(#\)
pm_exogDemScen
(ttot, all_regi, exogDemScen, all_in)
Exogenous demand trajectories to fix CES function to specific quantity trajectories
pm_factorRescaleemiMktCO2Tax
(ttot, ttot2, ext_regi, emiMktExt)
multiplicative tax rescale factor that rescales emiMkt carbon price from iteration to iteration to reach regipol targets \(\%\)
pm_implicitPePrice_ignConv
(all_regi, all_enty, ttot)
auxiliary parameter to store the price targets that were ignored in the convergence check (cases: 1 = non existent price, 2 = no change in prices for the last 3 iterations) \(#\)
pm_implicitPePrice_NotConv
(all_regi, all_enty, ttot)
auxiliary parameter to store the price targets that did not converged \(\%\)
pm_implicitPePriceTarget
(ttot, all_regi, all_enty)
price target for PE carrier per sector \(2005 TerraDollar/TWyear\)
pm_implicitPrice_ignConv
(all_regi, sector, all_enty, entySe, ttot)
auxiliary parameter to store the price targets that were ignored in the convergence check (cases: 1 = non existent price, 2 = no change in prices for the last 3 iterations) \(#\)
pm_implicitPrice_NotConv
(all_regi, sector, all_enty, entySe, ttot)
auxiliary parameter to store the price targets that did not converged \(\%\)
pm_implicitPriceTarget
(ttot, all_regi, all_enty, entySe, sector)
price target for FE carrier per sector \(2005 TerraDollar/TWyear\)
pm_implicitQttyTarget
(ttot, ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
quantity target \(absolute: TWa or GtC; or percentage: 0.1\)
pm_implicitQttyTarget_dev
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
deviation of current iteration quantity target from target - relative for total targets, absolute (= share points) for share targets
pm_implicitQttyTarget_isLimited
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
1 (one) if there is a hard bound on the model that does not allow the tax to change further the quantity

Realizations

(A) none

Limitations There are no known limitations.

(B) regiCarbonPrice

The regiCarbonPrice realization has two purposes. First, it allows to determine region specific year or budget targets for CO2 or GHG emissions. Second, it comprises region-specific adjustments that are always active in this realization and policies that can be activated by specific switches (see bounds file). Please see module description for details.

Implicit tax/subsidy necessary to achieve quantity target for primary, secondary, final energy and/or CCS

\[\begin{multline*} vm\_taxrevimplicitQttyTargetTax(t,regi) = \sum_{\left(qttyTarget,qttyTargetGroup\right)\$p47\_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup)}\left( \left( p47\_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) \cdot \sum_{entyPe\$energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,entyPe)}\left( \sum_{pe2se(entyPe,entySe,te)} vm\_demPe(t,regi,entyPe,entySe,te)\right) \right)\$sameas(qttyTarget,"PE") + \left( p47\_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) \cdot \sum_{entySe\$energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,entySe)}\left( \sum_{se2fe(entySe,entyFe,te)} vm\_demSe(t,regi,entySe,entyFe,te)\right) \right)\$sameas(qttyTarget,"SE") + \left( p47\_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) \cdot \sum_{entySe\$energyQttyTargetANDGroup2enty("FE",qttyTargetGroup,entySe)}\left( \sum_{se2fe(entySe,entyFe,te)}\left( \sum_{\left(sector,emiMkt\right)\$\left(entyFe2Sector(entyFe,sector) \& sector2emiMkt(sector,emiMkt)\right)} vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)\right)\right) \right)\$\left(sameas(qttyTarget,"FE") or sameas(qttyTarget,"FE\_wo\_b") or sameas(qttyTarget,"FE\_wo\_n\_e") or sameas(qttyTarget,"FE\_wo\_b\_wo\_n\_e")\right) + \left( p47\_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) \cdot \sum_{ccs2te\left(ccsCo2(enty),enty2,te\right)}\left( \sum_{teCCS2rlf(te,rlf)}vm\_co2CCS(t,regi,enty,enty2,te,rlf)\right) \right)\$sameas(qttyTarget,"CCS") + \left( p47\_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) \cdot \left(-\sum_{te\_oae33} vm\_emiCdrTeDetail(t,regi,te\_oae33)\right) \right)\$sameas(qttyTarget,"oae") \right) - p47\_implicitQttyTargetTax0(t,regi) \end{multline*}\]

implicit tax/subsidy necessary to final energy price targets

\[\begin{multline*} vm\_taxrevimplicitPriceTax(t,regi,entySe,entyFe,sector) = \left( p47\_implicitPriceTax(t,regi,entyFe,entySe,sector) \cdot \sum\left(emiMkt\$sector2emiMkt(sector,emiMkt), vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)\right) \right) - p47\_implicitPriceTax0(t,regi,entyFe,entySe,sector) \end{multline*}\]

implicit tax/subsidy necessary to primary energy price targets

\[\begin{multline*} vm\_taxrevimplicitPePriceTax(t,regi,entyPe) = \left( p47\_implicitPePriceTax(t,regi,entyPe) \cdot vm\_prodPe(t,regi,entyPe) \right) - p47\_implicitPePriceTax0(t,regi,entyPe) \end{multline*}\]

Emission quantity target

\[\begin{multline*} \sum_{emiMkt}\left( \sum_{emiMkt\$emiMktGroup(emiMktExt,emiMkt)} vm\_emiAllMkt(t,regi,"co2",emiMkt) - \left( \sum_{se2fe(enty,enty2,te)}\left( pm\_emifac(t,regi,enty,enty2,te,"co2") \cdot vm\_demFeSector(t,regi,enty,enty2,"trans","other") \right) \right)\$\left(sameas(emiMktExt,"other") or sameas(emiMktExt,"all")\right) \right) \leq \frac{ p47\_quantity\_regiCO2target(t,ext\_regi)}{sm\_c\_2\_co2 } \end{multline*}\]

per region minimum variable renewables share in electricity:

\[\begin{multline*} v47\_VREshare(ttot,regi) \geq \sum_{teVRE} vm\_shSeEl(ttot,regi,teVRE) \end{multline*}\]

per region maximum CCS:

\[\begin{multline*} \sum_{ccs2te\left(ccsCo2(enty),enty2,te\right)}\left( \sum_{teCCS2rlf(te,rlf)}vm\_co2CCS(t,regi,enty,enty2,te,rlf)\right) \leq p47\_CCSmaxBound(regi) \end{multline*}\]

total SE generation per PE carrier (useful for setting historical bounds)

\[\begin{multline*} v47\_prodSEtotal(t,regi,entyPe,entySe) = \sum_{pe2se(entyPe,entySe,te)}\left( vm\_prodSe(t,regi,entyPe,entySe,te)\right) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: none | B: regiCarbonPrice) (continued below)
  Description Unit
f47_emiMktTarget_tolerance
(ext_regi)
tolerance for regipol emission target deviations convergence \(#\)
f47_implicitPePriceTarget
(pePriceScenario, ext_regi, all_enty, ttot)
exogenously defined Pe price targets \(2005 Dollar/GJoule\)
f47_implicitPriceTarget
(fePriceScenario, ext_regi, all_enty, entySe, sector, ttot)
exogenously defined FE price targets \(2005 Dollar/GJoule\)
p47_allTargetsConverged_iter
(iteration, ext_regi)
parameter to save p47_allTargetsConverged across iterations \(0 or 1\)
p47_averagetaxemiMkt
(ttot, all_regi)
auxiliary parameter to store the weighted average convergence price between the current target terminal year and the next target year. Only applied for target years different than p47_lastTargetYear
p47_CCSmaxBound
(all_regi)
per region yearly maximum CCS. Unit[Gt C]
p47_clampedRescaleSlope_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
auxiliary parameter to save the slope value before clamping. Useful for debugging purposes \(#\)
p47_currentConvergence_iter
(iteration, ttot, ext_regi)
auxiliary parameter to store if carbon price adjustment in response to a specific emission target is being executed by the convergence algorithm in the specific REMIND iteration \(0 or 1\)
p47_currentConvergencePeriod
(ext_regi)
auxiliary parameter to store the current target year being executed by the convergence algorithm \(year\)
p47_dampedFactorRescaleemiMktCO2Tax_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
auxiliary parameter to save the rescale factor value before dampening. Useful for debugging purposes \(#\)
p47_EmiLULUCFCountryAcc
(tall, all_regi)
historic co2 emissions from landuse change based on country accounting \(Mt CO2/yr\)
p47_emiMktCurrent_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
parameter to save pm_emiMktCurrent across iterations \(GtCO2 or GtCO2eq\)
p47_emiTargetMkt
(ttot, all_regi, emiMktExt, emi_type_47)
CO2 or GHG Emissions per emission market used for target level \(GtC\)
p47_emiTargetMkt_iter
(iteration, ttot, all_regi, emiMktExt, emi_type_47)
parameter to save value of CO2 or GHG Emissions per emission market used for target level \(GtC\)
p47_exoCo2tax
(ext_regi, ttot)
Exogenous CO2 tax level. Overrides carbon prices in pm_taxCO2eq, only if explicitly defined. Regions and region groups allowed. Format: ‘. , . ’ or ‘.( , ’). \(\$/tCO2\)
p47_factorRescaleemiMktCO2Tax_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
parameter to save rescale factor across iterations for debugging purposes \(\%\)
p47_factorRescaleSlope
(ttot, ttot2, ext_regi, emiMktExt)
auxiliary parameter to save the slope corresponding to the observed mitigation derivative regarding to co2tax level changes from the two previous iterations \(#\)
p47_factorRescaleSlope_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
parameter to save mitigation curve slope across iterations \(#\)
p47_firstTargetYear
(ext_regi)
first year with a pre defined policy emission target in the region \(year\)
p47_implicitPePrice_dev
(ttot, all_regi, all_enty)
implicit price tax deviation of current iteration from target \(\%\)
p47_implicitPePrice_dev_iter
(iteration, ttot, all_regi, all_enty)
implicit price tax deviation of current iteration from target per iteration \(\%\)
p47_implicitPePriceTarget_initialYear
(all_regi, all_enty)
initial year of price target for given region and energy carrier \(year\)
p47_implicitPePriceTarget_terminalYear
(all_regi, all_enty)
terminal year of price target for given region and energy carrier \(year\)
p47_implicitPePriceTax
(ttot, all_regi, all_enty)
tax/subsidy level on PE for reaching the price target \(2005 TerraDollar/TWyear\)
p47_implicitPePriceTax_iter
(iteration, ttot, all_regi, all_enty)
tax/subsidy level on PE for reaching the price target per iteration \(2005 TerraDollar/TWyear\)
p47_implicitPePriceTax0
(ttot, all_regi, all_enty)
previous iteration implicit price target tax revenue \(2005 TerraDollar\)
p47_implicitPrice_dev
(ttot, all_regi, all_enty, entySe, sector)
implicit price tax deviation of current iteration from target \(\%\)
p47_implicitPrice_dev_iter
(iteration, ttot, all_regi, all_enty, entySe, sector)
implicit price tax deviation of current iteration from target per iteration \(\%\)
p47_implicitPriceTarget_initialYear
(all_regi, all_enty, entySe, sector)
initial year of price target for given region and energy carrier \(year\)
p47_implicitPriceTarget_terminalYear
(all_regi, all_enty, entySe, sector)
terminal year of price target for given region and energy carrier \(year\)
p47_implicitPriceTax
(ttot, all_regi, all_enty, entySe, sector)
tax/subsidy level on FE for reaching the price target \(2005 TerraDollar/TWyear\)
p47_implicitPriceTax_iter
(iteration, ttot, all_regi, all_enty, entySe, sector)
tax/subsidy level on FE for reaching the price target per iteration \(2005 TerraDollar/TWyear\)
p47_implicitPriceTax0
(ttot, all_regi, all_enty, entySe, sector)
previous iteration implicit price target tax revenue \(2005 TerraDollar\)
p47_implicitQttyTarget_delay
(qttyDelayType_47)
delay the start of the quantity target algorithm either by a given number of iteration or to after achieving emission targets convergence
p47_implicitQttyTarget_dev_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
deviation of current iteration quantity from target after the given iteration
p47_implicitQttyTarget_initialYear
(ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
initial year of quantity target for a given region \(year\)
p47_implicitQttyTargetActive_iter
(iteration, ext_regi)
auxiliary parameter to store the iterations that the quantity target should be active
p47_implicitQttyTargetCurrent
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
current iteration total value for an specific quantity target
p47_implicitQttyTargetCurrent_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
current iteration total value for an specific quantity target per iteration
p47_implicitQttyTargetIterationCount
(ext_regi)
number of iterations that the quantity target scaling algorithm is active
p47_implicitQttyTargetReferenceIteration
(ext_regi)
first iteration that the quantity target scaling algorithm is active
p47_implicitQttyTargetScenario
(qttyTargetScenario, ttot, ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
hard-coded quantity scenarios types \(absolute: TWa or GtC; or percentage: 0.1\)
p47_implicitQttyTargetTax
(ttot, all_regi, qttyTarget, qttyTargetGroup)
tax/subsidy level necessary to achieve a quantity target
p47_implicitQttyTargetTax_iter
(iteration, ttot, all_regi, qttyTarget, qttyTargetGroup)
tax/subsidy level to achieve a quantity target that the model saw in a given iteration
p47_implicitQttyTargetTax_prevIter
(ttot, all_regi, qttyTarget, qttyTargetGroup)
previous iteration quantity target tax
p47_implicitQttyTargetTax0
(ttot, all_regi)
previous iteration quantity target tax revenue
p47_implicitQttyTargetTaxRescale
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
rescale factor for current implicit quantity target tax
p47_implicitQttyTargetTaxRescale_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
rescale factor for current implicit quantity target tax after the given iteration
p47_lastTargetYear
(ext_regi)
last year with a pre defined policy emission target in the region \(year\)
p47_LULUCFEmi_GrassiShift
(ttot, all_regi)
difference between Magpie land-use change emissions and UNFCCC emissions in 2015 to correct for national accounting in emissions targets
p47_nextConvergencePeriod
(ext_regi)
auxiliary parameter to store the next target year being executed by the convergence algorithm \(year\)
p47_nonEnergyUse
(ttot, ext_regi)
non-energy use
p47_quantity_regiCO2target
(ttot, ext_regi)
Exogenously emissions quantity constrain on net CO2 without bunkers \(GtCO2\)
p47_slopeReferenceIteration_iter
(iteration, ttot, ext_regi)
auxiliary parameter to store reference iteration used for calculating slope of current mititgation cost \(#\)
p47_targetConverged
(ttot, ext_regi)
boolean to store if emission target has converged \(0 or 1\)
p47_targetConverged_iter
(iteration, ttot, ext_regi)
parameter to save p47_targetConverged across iterations \(0 or 1\)
p47_taxCO2eq_AggEmi
(ttot, all_regi)
CO2eq global and regional aggregated emission taxes (aggregated by emissions)
p47_taxCO2eq_AggFE
(ttot, all_regi)
CO2eq global and regional aggregated emission taxes (aggregated by final energy)
p47_taxCO2eq_ref
(ttot, all_regi)
CO2eq prices loaded from ref gdx, in T$/GtC = \(/kgC. To get\)/tCO2, multiply with 272 \(T\$/GtC\)
p47_taxCO2eq_SectorAggFE
(ttot, all_regi, sector)
CO2eq global and regional aggregated sectoral emission taxes (aggregated by final energy)
p47_taxemiMkt_AggEmi
(ttot, all_regi)
CO2eq regional aggregated emission tax (aggregated by emissions)
p47_taxemiMkt_AggFE
(ttot, all_regi)
CO2eq regional aggregated emission tax (aggregated by final energy)
p47_taxemiMkt_init
(ttot, all_regi, emiMkt)
emiMkt CO2eq prices loaded from ref gdx, in T\(/GtC =\)/kgC. To get $/tCO2, multiply with 272 \(T\$/GtC\)
p47_taxemiMkt_SectorAggFE
(ttot, all_regi, sector)
CO2eq regional aggregated sectoral emission tax (aggregated by final energy)
p47_VREminShare
(ttot, ext_regi)
per region minimun share of variable renewables (wind and solar) in electricity. Applied to yaers greater or equal to ttot. Unit \(0..1\)
q47_CCSmaxBound
(ttot, all_regi)
per region yearly maximum CCS
q47_implicitPePriceTax
(ttot, all_regi, all_enty)
implicit tax/subsidy PE tax to reach target energy sector sectoral price
q47_implicitPriceTax
(ttot, all_regi, all_enty, entySe, sector)
implicit tax/subsidy FE tax to reach target energy sector sectoral price
q47_implicitQttyTargetTax
(ttot, all_regi)
implicit quantity target tax (PE, SE, FE and/or FE CCS) to represent non CO2-price-driven policies or exogenously defined quantity constraint scenarios
q47_prodSEtotal
(ttot, all_regi, all_enty, all_enty)
calculate total SE production per PE and SE over all technologies
q47_quantity_regiCO2target
(ttot, ext_regi)
Exogenously emissions quantity constrain on net CO2 without bunkers \(GtC\)
q47_VREShare
(ttot, all_regi)
per region minimun share of variable renewables (wind and solar) from ttot year onward
s47_firstFreeYear value of first free year for the carbon price trajectory
s47_prefreeYear value of the last non-free year for the carbon price trajectory
v47_prodSEtotal
(ttot, all_regi, all_enty, all_enty)
total SE production per PE and SE over all technologies
v47_VREshare
(ttot, all_regi)
share of variable renewables (wind and solar) in electricity
  A B
f47_emiMktTarget_tolerance
(ext_regi)
x
f47_implicitPePriceTarget
(pePriceScenario, ext_regi, all_enty, ttot)
x
f47_implicitPriceTarget
(fePriceScenario, ext_regi, all_enty, entySe, sector, ttot)
x
p47_allTargetsConverged_iter
(iteration, ext_regi)
x
p47_averagetaxemiMkt
(ttot, all_regi)
x
p47_CCSmaxBound
(all_regi)
x
p47_clampedRescaleSlope_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
x
p47_currentConvergence_iter
(iteration, ttot, ext_regi)
x
p47_currentConvergencePeriod
(ext_regi)
x
p47_dampedFactorRescaleemiMktCO2Tax_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
x
p47_EmiLULUCFCountryAcc
(tall, all_regi)
x
p47_emiMktCurrent_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
x
p47_emiTargetMkt
(ttot, all_regi, emiMktExt, emi_type_47)
x
p47_emiTargetMkt_iter
(iteration, ttot, all_regi, emiMktExt, emi_type_47)
x
p47_exoCo2tax
(ext_regi, ttot)
x
p47_factorRescaleemiMktCO2Tax_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
x
p47_factorRescaleSlope
(ttot, ttot2, ext_regi, emiMktExt)
x
p47_factorRescaleSlope_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
x
p47_firstTargetYear
(ext_regi)
x
p47_implicitPePrice_dev
(ttot, all_regi, all_enty)
x
p47_implicitPePrice_dev_iter
(iteration, ttot, all_regi, all_enty)
x
p47_implicitPePriceTarget_initialYear
(all_regi, all_enty)
x
p47_implicitPePriceTarget_terminalYear
(all_regi, all_enty)
x
p47_implicitPePriceTax
(ttot, all_regi, all_enty)
x
p47_implicitPePriceTax_iter
(iteration, ttot, all_regi, all_enty)
x
p47_implicitPePriceTax0
(ttot, all_regi, all_enty)
x
p47_implicitPrice_dev
(ttot, all_regi, all_enty, entySe, sector)
x
p47_implicitPrice_dev_iter
(iteration, ttot, all_regi, all_enty, entySe, sector)
x
p47_implicitPriceTarget_initialYear
(all_regi, all_enty, entySe, sector)
x
p47_implicitPriceTarget_terminalYear
(all_regi, all_enty, entySe, sector)
x
p47_implicitPriceTax
(ttot, all_regi, all_enty, entySe, sector)
x
p47_implicitPriceTax_iter
(iteration, ttot, all_regi, all_enty, entySe, sector)
x
p47_implicitPriceTax0
(ttot, all_regi, all_enty, entySe, sector)
x
p47_implicitQttyTarget_delay
(qttyDelayType_47)
x
p47_implicitQttyTarget_dev_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTarget_initialYear
(ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetActive_iter
(iteration, ext_regi)
x
p47_implicitQttyTargetCurrent
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetCurrent_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetIterationCount
(ext_regi)
x
p47_implicitQttyTargetReferenceIteration
(ext_regi)
x
p47_implicitQttyTargetScenario
(qttyTargetScenario, ttot, ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetTax
(ttot, all_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetTax_iter
(iteration, ttot, all_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetTax_prevIter
(ttot, all_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetTax0
(ttot, all_regi)
x
p47_implicitQttyTargetTaxRescale
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
x
p47_implicitQttyTargetTaxRescale_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
x
p47_lastTargetYear
(ext_regi)
x
p47_LULUCFEmi_GrassiShift
(ttot, all_regi)
x
p47_nextConvergencePeriod
(ext_regi)
x
p47_nonEnergyUse
(ttot, ext_regi)
x
p47_quantity_regiCO2target
(ttot, ext_regi)
x
p47_slopeReferenceIteration_iter
(iteration, ttot, ext_regi)
x
p47_targetConverged
(ttot, ext_regi)
x
p47_targetConverged_iter
(iteration, ttot, ext_regi)
x
p47_taxCO2eq_AggEmi
(ttot, all_regi)
x
p47_taxCO2eq_AggFE
(ttot, all_regi)
x
p47_taxCO2eq_ref
(ttot, all_regi)
x
p47_taxCO2eq_SectorAggFE
(ttot, all_regi, sector)
x
p47_taxemiMkt_AggEmi
(ttot, all_regi)
x
p47_taxemiMkt_AggFE
(ttot, all_regi)
x
p47_taxemiMkt_init
(ttot, all_regi, emiMkt)
x
p47_taxemiMkt_SectorAggFE
(ttot, all_regi, sector)
x
p47_VREminShare
(ttot, ext_regi)
x
q47_CCSmaxBound
(ttot, all_regi)
x
q47_implicitPePriceTax
(ttot, all_regi, all_enty)
x
q47_implicitPriceTax
(ttot, all_regi, all_enty, entySe, sector)
x
q47_implicitQttyTargetTax
(ttot, all_regi)
x
q47_prodSEtotal
(ttot, all_regi, all_enty, all_enty)
x
q47_quantity_regiCO2target
(ttot, ext_regi)
x
q47_VREShare
(ttot, all_regi)
x
s47_firstFreeYear x
s47_prefreeYear x
v47_prodSEtotal
(ttot, all_regi, all_enty, all_enty)
x
v47_VREshare
(ttot, all_regi)
x

Sets

sets in use
  description
all_emiMkt emission markets
all_enty all types of quantities
all_in all inputs and outputs of the CES function
all_regi all regions
all_te all energy technologies, including from modules
altFeEmiFac_regi(ext_regi) set of regions that use alternative FE emission factors from umweltbundesamt
ccs2te(all_enty, all_enty, all_te) chain for ccs
ccsCo2(all_enty) only cco2 (???)
cesParameter parameters of the CES functions and for calibration
char characteristics of technologies
convergenceType emiMkt target non convergence reason
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
emi_type_47 emission type used in regional target
emi(all_enty) types of emissions, these emissions are given to the climate module
emi2te(all_enty, all_enty, all_te, all_enty) map emissions to technologies
emiBECCS2te(all_enty, all_enty, all_te, all_enty) mapping of BECCS PE,SE,technology and captured emissions
emiInd37(all_enty) industry emissions
emiMac2sector(all_enty, emi_sectors, sector_types, all_enty) mapping of emission sources from MACs to sectors (and emissions)
emiMacSector(all_enty) types of climate-relevant non-energy emissions with mac curve. Emissions in this set HAVE to be in emiMac2mac as well - if no MAC is available it will be set to zero automatically.
emiMktGroup(all_emiMktExt, all_emiMkt) set to allow selecting either a single emission market or all together (all=ETS+ESR+other)
energyQttyTargetANDGroup2enty(qttyTarget, qttyTargetGroup, all_enty) set combining possible energy level (PE, SE or FE), energy types and energy carriers
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)
entyPe(all_enty) Primary energy types (PE)
entySe(all_enty) secondary energy types
entySeBio(all_enty) biomass secondary energy types
entySeFos(all_enty) secondary energy types from fossil primary energy
exogDemScen exogenuous FE and ES demand scenarios that can be activated by cm_exogDem_scen
ext_regi extended regions list (includes subsets of H12 regions)
fePriceScenario scenarios for exogenous FE price targets
in(all_in) All inputs and outputs of the CES function
iteration iterator for main (Negishi/Nash) iterations
modules all the available modules
pe2se(all_enty, all_enty, all_te) map primary energy carriers to secondary
peFos(all_enty) primary energy fossil fuels
pePriceScenario scenarios for exogenous PE price targets
pese(all_enty, all_enty) map primary to secondary energy carriers without technology dimension
qttyDelayType_47 options to define different delay rules for starting the quantity targets algorithm
qttyTarget quantity target for energy carrier level (primary, secondary, final energy) or CCS or OAE
qttyTargetActiveScenario(qttyTargetScenario) current run active quantity scenarios
qttyTargetGroup quantity target aggregated categories
qttyTargetScenario hard-coded quantity scenarios
regi_group(ext_regi, all_regi) region groups (regions that together corresponds to a H12 region)
regi_groupExt(ext_regi, all_regi) extended region group mapping. Mapping model regions that belong to region group, including one to one region mapping
regi(all_regi) all regions used in the solution process
regiANDperiodEmiMktTarget_47(ttot, ext_regi) regions and periods with emiMkt targets
regiEmiMktconvergenceType(iteration, ttot, ttot, ext_regi, emiMktExt, convergenceType) saving convergence type in iteration
regiEmiMktRescaleType(iteration, ttot, ttot, ext_regi, emiMktExt, rescaleType) saving scaling type used in iteration
regiEmiMktTarget(ext_regi) regions with emiMkt targets
regiEmiMktTarget2regi_47(ext_regi, all_regi) regions controlled by emiMkt market set to ext_regi
rescaleType emi mkt carbon price scaling factor calculation methods
rlf cost levels of fossil fuels
run iterator for performance test iterations
se2fe(all_enty, all_enty, all_te) map secondary energy to end-use energy using a technology
secInd37 industry sub-sectors
sector2emiMkt(emi_sectors, all_emiMkt) mapping sectors to emission markets
sefe(all_enty, all_enty) map secondary energy to final energy
t(ttot) optimisation time, years between cm_startyear and 2150 with 5 to 20 years time steps
tall time index, each year from 1900 to 3000
target_type_47 CO2 policy target type
targetType PE, SE or FE target type
taxType PE, SE or FE tax type
te_oae33(all_te) OAE technologies used
te(all_te) energy technologies
teBio(all_te) biomass energy systems technologies
teCCS(all_te) Technologies with CCS
teCCS2rlf(all_te, rlf) mapping for CCS technologies to grades
teFosCCS(all_te) fossil technologies with CCS
teVRE(all_te) technologies requiring storage
ttot(tall) time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps

Authors

Renato Rodrigues, Felix Schreyer

See Also

01_macro, 04_PE_FE_parameters, 21_tax, 32_power, 37_industry, 80_optimization, core

References