REMIND - REgional Model of INvestments and Development

3.0.0

created with goxygen 1.2.4

Regional Policies (47_regipol)

Description

The 47_regipol module includes region specific policies.

The regiCarbonPrice realization allows to determine region specific year or budget targets for CO2 or GHG emissions. It overwrites all other carbon prices for selected regions (for example those implemented by 45_carbonprice or 46_carbonpriceRegi).

Interfaces

Interfaces to other modules

Input

module inputs (A: none | B: regiCarbonPrice)
  Description Unit A B
cm_ariadne_VRECapFac_adj switch for enabling increase of VRE capacity factors for wind and solar PV in Germany until 2040 in line with ARIADNE assumptions x x
cm_deuCDRmax switch to limit maximum annual CDR amount in Germany in MtCO2 per y x x
cm_EnSecScen switch for running an ARIADNE energy security scenario, introducing a tax on pegas in Germany from 2020 to 2050 x
cm_noPeFosCCDeu switch to suppress Pe2Se Fossil Carbon Capture in Germany x x
cm_postTargetIncrease carbon price increase per year after target is reached (euro per tCO2) x
cm_startyear first optimized modelling time step \(year\) 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_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_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_share_CCS_CCO2
(ttot, all_regi)
share of stored CO2 from total captured CO2 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_taxCO2eq_iteration
(iteration, ttot, all_regi)
save CO2eq tax used in iteration 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_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_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_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
sm_c_2_co2 conversion from c to co2 x 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_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_capTotal
(ttot, all_regi, all_enty, all_enty)
total capacity without technology differentation for technologies where there exists differentation \(TW\) x
vm_co2CCS
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
all differenct ccs. \(GtC/a\) x x
vm_co2eq
(ttot, all_regi)
total emissions measured in co2 equivalents ATTENTION: content depends on multigasscen. \(GtCeq\) 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. \(TWa\) x
vm_emiAll
(ttot, all_regi, all_enty)
total regional emissions. \(GtC, Mt CH4, Mt N\) x
vm_emiAllMkt
(tall, all_regi, all_enty, all_emiMkt)
total regional emissions for each emission market. \(GtC, Mt CH4, Mt N\) x
vm_emiCdr
(ttot, all_regi, all_enty)
total (negative) emissions due to CDR technologies of each region. \(GtC\) x
vm_emiCdrAll
(ttot, all_regi)
all CDR emissions x x
vm_emiTe
(ttot, all_regi, all_enty)
total energy-related emissions 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_prodFe
(ttot, all_regi, all_enty, all_enty, all_te)
fe production. \(TWa\) x
vm_taxrevimplFETax
(ttot, all_regi)
implicit efficiency directive target tax x

Output

module outputs
  Description Unit
pm_emiCurrentETS
(ETS_mkt)
previous iteration ETS CO2 equivalent emissions \(GtCO2\)
pm_emiRescaleCo2TaxESR
(ttot, all_regi)
Effort Sharing CO2 equivalent (or CO2) price re-scale update factor in between iterations \(\%\)
pm_emiRescaleCo2TaxETS
(ETS_mkt)
ETS CO2 equivalent price re-scale update factor in between iterations \(\%\)
pm_emissionsCurrent
(ext_regi, ttot, ttot2)
previous iteration region emissions (from year ttot to ttot2 for budget) \(GtCO2\)
pm_emissionsRefYear
(ext_regi, ttot, ttot2)
emissions in reference year 2015, used for calculating target deviation of year targets \(GtCO2\)
pm_emissionsRefYearESR
(ttot, all_regi)
ESR emissions in reference year 2005, used for calculating target deviation of year targets \(GtCO2\)
pm_emissionsRefYearETS
(ETS_mkt)
ETS emissions in reference year 2005, used for calculating target deviation of year targets \(GtCO2\)
pm_emiTargetESR
(ttot, all_regi)
CO2 or GHG Effort Sharing emissions target per region \(GtC\)
pm_ESRTarget_dev
(ttot, all_regi)
ESR emissions deviation of current iteration from target emissions \(GtC\)
pm_ESRTarget_dev_iter
(iteration, ttot, all_regi)
parameter to save pm_ESRTarget_dev across iterations \(GtC\)
pm_ETSTarget_dev
(ETS_mkt)
ETS emissions deviation of current iteration from target emissions \(\%\)
pm_ETSTarget_dev_iter
(iteration, ETS_mkt)
parameter to save pm_ETSTarget_dev across iterations \(\%\)
pm_factorRescaleCO2Tax
(ext_regi, ttot, ttot2)
multiplicative tax rescale factor that rescales carbon price from iteration to iteration to reach regipol targets \(\%\)
pm_regiCO2ETStarget
(ttot, target_type, emi_type)
ETS emissions target \(GtCO2\)
pm_regiCO2target
(ttot, ttot2, ext_regi, target_type, emi_type)
region GHG emissions target \(GtCO2\)
pm_regiTarget_dev
(ext_regi, ttot, ttot2)
target deviation across iterations in current emissions divided by target emissions
pm_regiTarget_dev_iter
(iteration, ext_regi, ttot, ttot2)
parameter to save pm_regiTarget_dev across iterations \(\%\)

Realizations

(A) none

Limitations There are no known limitations.

(B) regiCarbonPrice

The regiCarbonPrice realization allow to determine region specific year or budget targets for CO2 or GHG emissions.

This allows to determine regions with more (or less) stringent carbon policies than the World targets.

Ex.: EU emission targets are tipically more stringent than other World regions.

The regiCarbonPrice realization allow to determine region specific year or budget targets for CO2 or GHG emissions.

This allows to determine regions with more (or less) stringent carbon policies than the World targets.

Ex.: EU emission targets are tipically more stringent than other World regions.

\[\begin{multline*} v47\_emiTarget(t,regi,"netCO2") = vm\_emiAll(t,regi,"co2") \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"netCO2\_noBunkers") = vm\_emiAll(t,regi,"co2") - \sum_{se2fe(enty,enty2,te)}\left( pm\_emifac(t,regi,enty,enty2,te,"co2") \cdot vm\_demFeSector(t,regi,enty,enty2,"trans","other")\right) \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"netCO2\_noLULUCF\_noBunkers") = \sum_{emiMkt\$\left(sameas(emiMkt,"ETS") OR sameas(emiMkt,"ES")\right)}\left( vm\_emiAllMkt(t,regi,"co2",emiMkt) \right) \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"grossEnCO2\_noBunkers") = vm\_emiTe(t,regi,"co2") + vm\_emiCdr(t,regi,"co2") \cdot \left(1-pm\_share\_CCS\_CCO2(t,regi)\right) + \sum_{emi2te(enty,enty2,te,enty3)\$\left(teBio(te) \& teCCS(te) \& sameAs(enty3,"cco2")\right)} vm\_emiTeDetail(t,regi,enty,enty2,te,enty3) \cdot pm\_share\_CCS\_CCO2(t,regi) + \sum_{ \left(entySe,entyFe,secInd37,emiMkt\right)\$\left(NOT entySeFos(entySe)\right)}\left( pm\_IndstCO2Captured(t,regi,entySe,entyFe,secInd37,emiMkt)\right) \cdot pm\_share\_CCS\_CCO2(t,regi) - \sum_{se2fe(enty,enty2,te)}\left( pm\_emifac(t,regi,enty,enty2,te,"co2") \cdot vm\_demFeSector(t,regi,enty,enty2,"trans","other")\right) \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"netGHG") = vm\_co2eq(t,regi) \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"netGHG\_noBunkers") = vm\_co2eq(t,regi) - \sum_{se2fe(enty,enty2,te)}\left( \left(pm\_emifac(t,regi,enty,enty2,te,"co2") + pm\_emifac(t,regi,enty,enty2,te,"n2o") \cdot sm\_tgn\_2\_pgc + pm\_emifac(t,regi,enty,enty2,te,"ch4") \cdot sm\_tgch4\_2\_pgc\right) \cdot vm\_demFeSector(t,regi,enty,enty2,"trans","other")\right) \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"netGHG\_noLULUCF\_noBunkers") = \sum_{emiMkt\$\left(sameas(emiMkt,"ETS") OR sameas(emiMkt,"ES")\right)}\left( vm\_co2eqMkt(t,regi,emiMkt) \right) \end{multline*}\]

\[\begin{multline*} v47\_emiTarget(t,regi,"netGHG\_LULUCFGrassi\_noBunkers") = vm\_co2eq(t,regi) - \sum_{se2fe(enty,enty2,te)}\left( \left(pm\_emifac(t,regi,enty,enty2,te,"co2") + pm\_emifac(t,regi,enty,enty2,te,"n2o") \cdot sm\_tgn\_2\_pgc + pm\_emifac(t,regi,enty,enty2,te,"ch4") \cdot sm\_tgch4\_2\_pgc\right) \cdot vm\_demFeSector(t,regi,enty,enty2,"trans","other")\right) - p47\_LULUCFEmi\_GrassiShift(t,regi) \end{multline*}\]

\[\begin{multline*} v47\_emiTargetMkt(t,regi,emiMkt,"netCO2") = vm\_emiAllMkt(t,regi,"co2",emiMkt) \end{multline*}\]

\[\begin{multline*} v47\_emiTargetMkt(t,regi,emiMkt,"netGHG") = vm\_co2eqMkt(t,regi,emiMkt) \end{multline*}\]

\[\begin{multline*} \sum_{regi\$regi\_group(ext\_regi,regi)}\left( v47\_emiTarget(t,regi,emi\_type) \right) \leq \frac{ p47\_quantity\_regiCO2target(t,ext\_regi,emi\_type)}{sm\_c\_2\_co2 } \end{multline*}\]

Calculation of tax/subsidy to reflect non carbon pricing driven efficency measures applied to reduce total final energy to comply with efficiency directive targets

\[\begin{multline*} vm\_taxrevimplFETax(t,regi) = \sum_{enty2\$entyFE(enty2)}\left( p47\_implFETax(t,regi,enty2) \cdot \sum\left(se2fe(enty,enty2,te), vm\_prodFe(t,regi,enty,enty2,te)\right) \right) - p47\_implFETax0(t,regi) \end{multline*}\]

The regiCarbonPrice realization allow to determine region specific year or budget targets for CO2 or GHG emissions.

This allows to determine regions with more (or less) stringent carbon policies than the World targets.

Ex.: EU emission targets are tipically more stringent than other World regions.

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: none | B: regiCarbonPrice)
  Description Unit A B
f47_ESRreferenceEmissions
(tall, all_regi)
Effort Sharing 2005 reference emissions (Mt CO2-equiv or Mt CO2) x
f47_ESRTarget
(tall, all_regi)
Effort Sharing emission reduction target (%) x
f47_ETSreferenceEmissions
(tall, all_regi)
ETS 2005 reference emissions (Mt CO2-equiv or Mt CO2) x
p47_EmiLULUCFCountryAcc
(tall, all_regi)
historic co2 emissions from landuse change based on country accounting \(Mt CO2/yr\) x
p47_emiTarget_grossEnCO2_noBunkers_iter
(iteration, ttot, all_regi)
parameter to save value of gross energy emissions target over iterations to check whether values converge x
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\) x
p47_implFEExoTax
(ttot, ext_regi, FEtarget_sector)
final energy exogneous tax \(\$/GJ\) x
p47_implFETarget
(ttot, ext_regi)
final energy target \(TWa\) x
p47_implFETarget_extended
(ttot, ext_regi)
final energy target with added bunkers and non-energy use \(TWa\) x
p47_implFETargetCurrent
(ext_regi)
current iteration total final energy x
p47_implFETargetCurrent_iter
(iteration, ext_regi)
total final energy level per iteration x
p47_implFETax
(ttot, all_regi, all_enty)
tax/subsidy level on FE x
p47_implFETax_iter
(iteration, ttot, all_regi, all_enty)
final energy implicit tax per iteration x
p47_implFETax_prevIter
(ttot, all_regi, all_enty)
previous iteration implicit final energy target tax x
p47_implFETax_Rescale
(ext_regi)
rescale factor for current implicit FE tax x
p47_implFETax_Rescale_iter
(iteration, ext_regi)
final energy implicit tax rescale factor per iteration x
p47_implFETax0
(ttot, all_regi)
previous iteration implicit final energy target tax revenue x
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 x
p47_nonEnergyUse
(ttot, ext_regi)
non-energy use: EUR in 2030 =~ 90Mtoe (90 * 10^6 toe -> 90 10^6 toe 41.868 GJ/toe -> 3768.12 * 10^6 GJ * 10^-9 EJ/GJ -> 3.76812 EJ * 1 TWa/31.536 EJ -> 0.1194863 TWa) EU27 =~ 92% EU28 x
p47_quantity_regiCO2target
(ttot, ext_regi, emi_type)
Exogenously emissions quantity constrain \(GtCO2\) x
p47_taxCO2eqBeforeStartYear
(ttot, all_regi)
CO2eq prices before start year in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 \(T\$/GtC\) x
p47_taxemiMktBeforeStartYear
(ttot, all_regi, all_emiMkt)
CO2eq mkt prices before start year in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 \(T\$/GtC\) x
q47_emiTarget_grossEnCO2
(ttot, all_regi)
Calculates gross energy-related co2 emissions \(GtC\) x
q47_emiTarget_mkt_netCO2
(ttot, all_regi, all_emiMkt)
Calculates net CO2 emissions per emission market used for target \(GtC\) x
q47_emiTarget_mkt_netGHG
(ttot, all_regi, all_emiMkt)
Calculates net GHG emissions per emission market used for target \(GtC\) x
q47_emiTarget_netCO2
(ttot, all_regi)
Calculates net co2 emissions used for target \(GtC\) x
q47_emiTarget_netCO2_noBunkers
(ttot, all_regi)
Calculates net CO2 emissions excluding bunkers used for target \(GtC\) x
q47_emiTarget_netCO2_noLULUCF_noBunkers
(ttot, all_regi)
Calculates net CO2 emissions excluding bunkers and LULUCF (=ESR+ETS) \(GtC\) x
q47_emiTarget_netGHG
(ttot, all_regi)
Calculates net GHG emissions used for target \(GtC\) x
q47_emiTarget_netGHG_LULUCFGrassi_noBunkers
(ttot, all_regi)
Calculates net GHG emissions excluding bunkers and shifting LULUCF emissions to meet 2015 UNFCCC values x
q47_emiTarget_netGHG_noBunkers
(ttot, all_regi)
Calculates net GHG emissions excluding bunkers used for target \(GtC\) x
q47_emiTarget_netGHG_noLULUCF_noBunkers
(ttot, all_regi)
Calculates net GHG emissions excluding bunkers and LULUCF (=ESR+ETS) \(GtC\) x
q47_implFETax
(ttot, all_regi)
implicit final energy tax to represent non CO2-price-driven final energy policies x
q47_quantity_regiCO2target
(ttot, ext_regi, emi_type)
Exogenously emissions quantity constrain \(GtC\) x
s47_prefreeYear value of the last non-free year for the carbon price trajectory x
v47_emiTarget
(ttot, all_regi, emi_type)
CO2 or GHG Emissions used for target level \(GtC\) x
v47_emiTargetMkt
(ttot, all_regi, all_emiMkt, emi_type)
CO2 or GHG Emissions per emission market used for target level \(GtC\) x

Sets

sets in use
  description
all_emiMkt emission markets
all_enty all types of quantities
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
char characteristics of technologies
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 emission type used in regional target
emi2te(all_enty, all_enty, all_te, all_enty) map emissions to technologies
enty(all_enty) all types of quantities
entyFe(all_enty) final energy types.
entySe(all_enty) secondary energy types
entySeFos(all_enty) secondary energy types from fossil primary energy
ETS_mkt ETS market
ETS_regi(ETS_mkt, all_regi) regions that belong to the same ETS market
ext_regi extended regions list (includes subsets of H12 regions)
FEtarget_sector final energy target sector groups
FEtarget_sector2entyFe(FEtarget_sector, all_enty) mapping final energy to stationary or transportation sectors
in(all_in) All inputs and outputs of the CES function
iteration iterator for main (Negishi/Nash) iterations
modules all the available modules
peFos(all_enty) primary energy fossil fuels
regi(all_regi) all regions used in the solution process
regi_group(ext_regi, all_regi) region groups (regions that together corresponds to a H12 region)
rlf cost levels of fossil fuels
se2fe(all_enty, all_enty, all_te) map secondary energy to end-use energy using a technology
secInd37 industry sub-sectors
t(ttot) modeling time, usually starting in 2005, but later for fixed delay runs
tall time index
target_type CO2 policy target type
te(all_te) energy technologies
teBio(all_te) biomass energy systems technologies
teCCS(all_te) Technologies with CCS
teFosCCS(all_te) fossil technologies with CCS
ttot(tall) time index with spin up

Authors

Renato Rodrigues, Felix Schreyer

See Also

21_tax, 37_industry, 80_optimization, core

References