REMIND - REgional Model of INvestments and Development

3.4.0

created with goxygen 1.4.4

Industry (37_industry)

Description

This module models final energy use in the industry sector and its subsectors, as well as the emissions generated by them.

Interfaces

Interface plot missing!

Input

module inputs (A: fixed_shares | B: subsectors)
  Description Unit A B
cm_CCS_cement CCS for cement sub-sector x x
cm_CCS_chemicals CCS for chemicals sub-sector x x
cm_CCS_steel CCS for steel sub-sector x x
cm_emiscen policy scenario choice x
cm_IndCCSscen CCS for Industry x x
cm_indst_costDecayStart simplified logistic function end of full value (ex. 5% -> between 0 and 5% the simplified logistic function will have the value 1). \(\%\) x
cm_indst_H2costAddH2Inv additional h2 distribution costs for low diffusion levels (default value: 3.25\(kg = 0.1\)/kWh) x
cm_indst_H2costDecayEnd simplified logistic function start of null value (ex. 10% -> between 10% and 100% the simplified logistic function will have the value 0). \(\%\) x
cm_optimisticMAC assume optimistic Industry MAC from AR5 Ch. 10? x
cm_startyear first optimized modelling time step \(year\) x x
pm_calibrate_eff_scale
(all_in, all_in, eff_scale_par)
parameters for scaling efficiencies in CES calibration x
pm_CementAbatementPrice
(ttot, all_regi)
CO2 price used during calculation of cement demand reduction \(\$/tCO2\) x
pm_CementDemandReductionCost
(tall, all_regi)
cost of reducing cement demand \(tn\$2005\) x x
pm_cesdata
(tall, all_regi, all_in, cesParameter)
parameters of the CES function x x
pm_cesdata_sigma
(ttot, all_in)
elasticities of substitution. x x
pm_delta_kap
(all_regi, all_in)
Depreciation rate of capital. 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_emifacNonEnergy
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_enty)
emission factor for non-energy fedstocks. For now only for Chemicals Industry \(GtC/TWa\) x
pm_exogDemScen
(ttot, all_regi, exogDemScen, all_in)
Exogenous demand trajectories to fix CES function to specific quantity trajectories x
pm_fedemand
(tall, all_regi, all_in)
final energy demand x
pm_FEPrice
(ttot, all_regi, all_enty, sector, emiMkt)
parameter to capture all FE prices across sectors and markets \(tr\$2005/TWa\) x x
pm_incinerationRate
(ttot, all_regi)
share of plastic waste that gets incinerated \(fraction\) x
pm_macAbat
(tall, all_regi, all_enty, steps)
abatement levels based on data from van Vuuren \(fraction\) x x
pm_macAbatLev
(tall, all_regi, all_enty)
actual level of abatement per time step, region, and source \(fraction\) x x
pm_macCostSwitch
(all_enty)
switch to include mac costs in the code (e.g. in coupled scenarios, we want to include the costs in REMIND, but MAC effects on emissions are calculated in MAgPIE) x
pm_macStep
(tall, all_regi, all_enty)
step number of abatement level \(integer\) x x
pm_macSwitch
(all_enty)
switch to include mac option in the code x x
pm_ppfen_shares
(ttot, all_regi, all_in, all_in)
Limit the share of one ppfEn in total CES nest inputs. x
pm_priceCO2forMAC
(tall, all_regi, all_enty)
carbon price defined for MAC gases \(\$/tC\) x
pm_ResidualCementDemand
(tall, all_regi)
reduction in cemend demand (and thus process emissions) due to climate policy \(0...1\) x
pm_secBioShare
(ttot, all_regi, all_enty, emi_sectors)
share of biomass per carrier for each sector x
pm_shfe_lo
(ttot, all_regi, all_enty, emi_sectors)
Final energy shares exogenous lower bounds per sector x
pm_shfe_up
(ttot, all_regi, all_enty, emi_sectors)
Final energy shares exogenous upper bounds per sector x
pm_shGasLiq_fe_lo
(ttot, all_regi, emi_sectors)
Final energy gases plus liquids shares exogenous lower bounds per sector x
pm_shGasLiq_fe_up
(ttot, all_regi, emi_sectors)
Final energy gases plus liquids shares exogenous upper bounds per sector 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_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
qm_budget
(ttot, all_regi)
Budget balance x x
sm_c_2_co2 conversion from c to co2 x x
sm_D2005_2_D2017 Convert US$2005 to US$2017 x
sm_D2020_2_D2017 Convert US$2020 to US$2017 x
sm_dmac step in MAC functions \(US\$\) x x
sm_EJ_2_TWa multiplicative factor to convert from EJ to TWa x
sm_eps small number: 1e-9 x x
sm_EURO2023_2_D2017 Convert EURO 2023 to US$2017 x
sm_giga_2_non giga to non x
sm_macChange maximum yearly increase of relative abatement in percentage points of maximum abatement. \(0..1\) x
sm_tmp temporary scalar that can be used locally x x
sm_tmp2 temporary scalar that can be used locally x
sm_trillion_2_non trillion to non x
sm_TWa_2_kWh tera Watt year to kilo Watt hour x
sm_TWa_2_MWh tera Watt year to Mega Watt hour x
vm_cap
(tall, all_regi, all_te, rlf)
net total capacities x
vm_capFac
(ttot, all_regi, all_te)
capacity factor of conversion technologies x
vm_cesIO
(tall, all_regi, all_in)
Production factor x x
vm_costAddTeInv
(tall, all_regi, all_te, emi_sectors)
additional sector-specific investment cost of demand-side transformation x
vm_costCESMkup
(ttot, all_regi, all_in)
CES markup cost to represent demand-side technology cost of end-use transformation \(trUSD/TWa\) x x
vm_demFENonEnergySector
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
energy flows of non-energy feedstocks \(TWa\) x
vm_demFeSector_afterTax
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
fe demand per sector and emission market after tax. Demand sectors should use this variable in their fe balance equations so demand side marginals include taxes effects. \(TWa\) x x
vm_effGr
(ttot, all_regi, all_in)
growth of factor efficiency x
vm_feedstockEmiUnknownFate
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
Carbon flow: carbon contained in feedstocks with unknown fate (not plastics)(assumed to go back into the atmosphere) \(GtC\) x
vm_incinerationCCS
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
CCS from incineration of plastic waste \(GtC\) x
vm_incinerationEmi
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
Emissions from incineration of plastic waste \(GtC\) x
vm_macBase
(ttot, all_regi, all_enty)
baseline emissions for all emissions subject to MACCs (type emismac) x
vm_nonIncineratedPlastics
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
Carbon flow: carbon contained in plastics that are not incinerated \(GtC\) x

Output

module outputs
  Description Unit
pm_abatparam_Ind
(ttot, all_regi, all_enty, steps)
industry CCS MAC curves \(ratio @ US\$2017\)
pm_energy_limit
(all_in)
empty parameter
pm_IndstCO2Captured
(ttot, all_regi, all_enty, all_enty, secInd37, all_emiMkt)
Captured CO2 in industry by energy carrier, subsector and emissions market
pm_outflowPrcHist
(tall, all_regi, all_te, opmoPrc)
Exogenously prescribed production volume of processes in start year (from IEA data)
pm_specFeDem
(tall, all_regi, all_enty, all_te, opmoPrc)
Actual specific final-energy demand of a tech; blends between IEA data and Target \(TWa/Gt_output\)
pm_ue_eff_target
(all_in)
energy efficiency target trajectories \(\% p.a.\)
vm_costMatPrc
(tall, all_regi)
Cost of external material inputs such as iron ore in process-based industry \(trn \$2017/a\)
vm_emiIndBase
(ttot, all_regi, all_enty, secInd37)
industry CCS baseline emissions \(GtC/a\)
vm_emiIndCCS
(ttot, all_regi, all_enty)
industry CCS emissions \(GtC/a\)
vm_IndCCSCost
(ttot, all_regi, all_enty)
industry CCS cost
vm_outflowPrc
(tall, all_regi, all_te, opmoPrc)
Production volume of processes in process-based model \(Gt/a\)

Realizations

(A) fixed_shares

The region-specific shares of final energy use in industry subsectors (cement, chemicals, and steel production, as well as all other industry production) are kept constant on the 2005 level. This potentially overestimates the potential for electrification and thus underestimates the emissions, especially from coal in the steel and cement sectors.

Subsector-specific MAC curves for CCS are applied to emissions calculated from energy use and emission factors.

Industry Final Energy Balance

\[\begin{multline*} \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)}\left( vm\_demFeSector\_afterTax(ttot,regi,entySe,entyFe,"indst",emiMkt) \right) = \sum_{in\$\left(fe2ppfEn(entyFe,in) and ppfen\_industry\_dyn37(in)\right)}\left( \left( vm\_cesIO(ttot,regi,in) + pm\_cesdata(ttot,regi,in,"offset\_quantity") \right) \cdot \sum_{secInd37\$secInd37\_emiMkt(secInd37,emiMkt)} p37\_shIndFE(regi,in,secInd37) \right) \end{multline*}\]

Baseline (emitted and captured) emissions by final energy carrier and industry subsector are calculated from final energy use in industry, the subsectors’ shares in that final energy carriers use, and the emission factor the final energy carrier.

\[\begin{multline*} vm\_emiIndBase(ttot,regi,entyFe,secInd37) = \sum_{\left(fe2ppfEn(entyFe,in),ces\_industry\_dyn37("enhi",in)\right)\$entyFeCC37(entyFe)}\left( \left( vm\_cesIO(ttot,regi,in) + pm\_cesdata(ttot,regi,in,"offset\_quantity") \right) \cdot p37\_shIndFE(regi,in,secInd37) \cdot \sum_{\left(entySe,te\right)\$\left(se2fe(entySe,entyFe,te) and entySeFos(entySe)\right)} pm\_emifac(ttot,regi,entySe,entyFe,te,"co2") \right) \end{multline*}\]

The maximum abatable emissions of a given type (industry subsector, fuel or process) are calculated from the baseline emissions and the possible abatement level (depending on the carbon price of the previous iteration).

\[\begin{multline*} v37\_emiIndCCSmax(ttot,regi,emiInd37) = \sum_{emiMac2mac(emiInd37,macInd37)}\left( \left( \sum_{secInd37\_2\_emiInd37(secInd37,emiInd37),entyFe}\left( vm\_emiIndBase(ttot,regi,entyFe,secInd37) \right)\$\left( NOT sameas(emiInd37,"co2cement\_process") \right) + \left( vm\_emiIndBase(ttot,regi,"co2cement\_process","cement") \right)\$ sameas(emiInd37,"co2cement\_process") \right) \cdot pm\_macSwitch(macInd37) \cdot pm\_macAbatLev(ttot,regi,macInd37) \right) \end{multline*}\]

Industry CCS is limited to below the maximum abatable emissions.

\[\begin{multline*} vm\_emiIndCCS(ttot,regi,emiInd37) \leq v37\_emiIndCCSmax(ttot,regi,emiInd37) \end{multline*}\]

The CCS capture rates of cement fuel and process emissions are identical, as they are captured in the same installation.

\[\begin{multline*} vm\_emiIndCCS(ttot,regi,"co2cement") \cdot v37\_emiIndCCSmax(ttot,regi,"co2cement\_process") = vm\_emiIndCCS(ttot,regi,"co2cement\_process") \cdot v37\_emiIndCCSmax(ttot,regi,"co2cement") \end{multline*}\]

Industry CCS costs (by subsector) are equal to the integral below the MAC cost curve. For the calculation, consider this figure: MAC curve example To make the calculations involving MAC curves leaner, they are discretised into 5 $/tC steps (parameter sm_dmac) and transformed into step-wise curves. The parameter pm_macStep holds the current step on the MAC curve the model is on (given the CO2 price of the last iteration), and pm_macAbat holds the abatement level (as a fraction) on that step. The emission abatement equals the area under the MAC curve (turqoise area in the figure). To calculate it, pm_macStep is multiplied by pm_macAbat (the horizontal and vertical lines enclosing the coloured rectangle in the

\[\begin{multline*} vm\_IndCCSCost(ttot,regi,emiInd37) = 1e-3 \cdot pm\_macSwitch(emiInd37) \cdot \left( \sum_{enty,secInd37\_2\_emiInd37(secInd37,emiInd37)}\left( vm\_emiIndBase(ttot,regi,enty,secInd37) \right)\$\left( NOT sameas(emiInd37,"co2cement\_process") \right) + \left( vm\_emiIndBase(ttot,regi,"co2cement\_process","cement") \right)\$ sameas(emiInd37,"co2cement\_process") \right) \cdot sm\_dmac \cdot \sum_{emiMac2mac(emiInd37,enty)}\left( \left( pm\_macStep(ttot,regi,emiInd37) \cdot \sum_{steps\$\left( ord(steps) eq pm\_macStep(ttot,regi,emiInd37) \right)}\left( pm\_macAbat(ttot,regi,enty,steps) \right) \right) - \sum_{steps\$\left( ord(steps) le pm\_macStep(ttot,regi,emiInd37) \right)}\left( pm\_macAbat(ttot,regi,enty,steps) \right) \right) \end{multline*}\]

Calculate sector-specific additional t&d cost (here only cost of hydrogen t&d at low hydrogen penetration levels when grid is not yet developed)

\[\begin{multline*} vm\_costAddTeInv(t,regi,te,"indst") = v37\_costAddTeInvH2(t,regi,te) \end{multline*}\]

Additional hydrogen phase-in cost at low H2 penetration levels

\[\begin{multline*} v37\_costAddTeInvH2(t,regi,"tdh2s") = \left(\frac{1 }{ \left(1 + \left(3 ^{ v37\_costExponent(t,regi)}\right)\right)}\right) \cdot \left( s37\_costAddH2Inv \cdot \frac{ sm\_TWa\_2\_kWh }{ sm\_trillion\_2\_non } \cdot \sum_{emiMkt} vm\_demFeSector\_afterTax(t,regi,"seh2","feh2s","indst",emiMkt) \right) + \left(v37\_expSlack(t,regi) \cdot 1e-8\right) \end{multline*}\]

Logistic function exponent for additional hydrogen low penetration cost equation

\[\begin{multline*} v37\_costExponent(t,regi) = \left( \left(\frac{10}{\left(s37\_costDecayEnd-s37\_costDecayStart\right)}\right) \cdot \left( \left(v37\_H2share(t,regi)+1e-7\right) - \left(\frac{\left(s37\_costDecayEnd+s37\_costDecayStart\right)}{2}\right) \right) \right) - v37\_expSlack(t,regi) \end{multline*}\]

Hydrogen fe share in industry gases use (natural gas + hydrogen)

\[\begin{multline*} v37\_H2share(t,regi) \cdot \sum_{emiMkt}\left( \sum_{se2fe(entySe,entyFe,te)\$\left(SAMEAS(entyFe,"feh2s") OR SAMEAS(entyFe,"fegas")\right)}\left( vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,"indst",emiMkt)\right)\right) = \sum_{emiMkt}\left( \sum\left(se2fe(entySe,entyFe,te)\$SAMEAS(entyFe,"feh2s"), vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,"indst",emiMkt)\right)\right) \end{multline*}\]

CES markup cost to represent sector-specific demand-side transformation cost in industry

\[\begin{multline*} vm\_costCESMkup(t,regi,in) = p37\_CESMkup(t,regi,in) \cdot \left(vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity")\right) \end{multline*}\]

Limitations There are no known limitations.

(B) subsectors

subsectors models industry subsectors explicitly with individual models for cement, chemicals, steel, and otherInd production.

In the original formulation, each of the subsectors is modeled with its own CES nest. Extensive documentation for this CES-based version can be found in the preprint https://gmd.copernicus.org/preprints/gmd-2023-153/

Apart from that, there is a process-based subsector model implementation, which is currently implemented for primary and secondary steel. For this subsector, the switch cm_subsec_model_steel allows to switch between both implementations. Extending this process-based model to other subsectors is planned.

The process-based implementation removes the CES tree below the ue_ (subsector output) level. It introduces technologies as in the ESM/core, however with some differences.

Characteristics of these technologies are: - Vintage tracking, CAPEX & OPEX are implemented via the core equations q_cap, q_costInv and q_costOM; techno-economic data is input via generisdata_tech.prn - Specific FE demands (arbitrary number of inputs) are used instead of one efficiency eta - For historically exisitng tech, specific energy demand follows exogenous convergence from historical values (via pm_fedemand) to the best available technology (BAT) - For “new” tech, temporally constant BAT values are assumed for energy efficiency - Technologies have specific material demands. Materials can be model-external (e.g. iron ore) or outputs of other processes (e.g. DRI); This allows to have process routes consiting of several production steps. Their production volume is linked via these input and output materials. For example, the bf tech produces as much pigiron as the bof needs as input - Each technology has one output material (may be extended to several); Specific tech inputs are normalized with this output quantity; i.e. idr specific demands are per Gt of DRI. - Technologies can have several operation modes with different material and FE demands; This allows, for example, to switch from ng-based idr to h2-based with now additional capacity and CAPEX - Emissions are accounted via FE demand and pm_emifac, which happens outside of the industry module and is independent of its implementation. - Currently, production can be lower than capacity * capFac (arbitrary early retirement) - Currently, there is no learning and no regionalized costs for industry tech - CCS: the process-based implementation has a different CCS implementation. Instead of a MAC curve, point-source carbon capture (CC) is an additional tech. There is an own CC retrofit tech for each applicable baseline tech, which can be placed “on top of it”; These remove a part of the local emissions according to their capture rate.

Industry final energy balance

\[\begin{multline*} \sum_{se2fe(entySe,entyFe,te)}\left( vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,"indst",emiMkt) \right) = \sum_{fe2ppfEn\left(entyFe,ppfen\_industry\_dyn37(in)\right)}\left( \sum_{secInd37\_emiMkt(secInd37,emiMkt),secInd37\_2\_pf(secInd37,in)}\left( \left( vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity") \right)\$\left(NOT secInd37Prc(secInd37)\right) \right) \right) + \sum_{secInd37\_emiMkt(secInd37Prc,emiMkt), secInd37\_tePrc(secInd37Prc,tePrc), tePrc2opmoPrc(tePrc,opmoPrc)}\left( pm\_specFeDem(t,regi,entyFe,tePrc,opmoPrc) \cdot vm\_outflowPrc(t,regi,tePrc,opmoPrc) \right) \end{multline*}\]

Thermodynamic limits on subsector energy demand

\[\begin{multline*} \sum_{ces\_eff\_target\_dyn37(out,in)} vm\_cesIO(t,regi,in) \geq vm\_cesIO(t,regi,out) \cdot p37\_energy\_limit\_slope(t,regi,out) \end{multline*}\]

Limit the share of secondary steel to historic values, fading to 90 % in 2050

\[\begin{multline*} vm\_cesIO(t,regi,"ue\_steel\_secondary") \leq \left( vm\_cesIO(t,regi,"ue\_steel\_primary") + vm\_cesIO(t,regi,"ue\_steel\_secondary") \right) \cdot p37\_steel\_secondary\_max\_share(t,regi) \end{multline*}\]

Compute gross local industry emissions before CCS by multiplying sub-sector energy use with fuel-specific emission factors. (Local means from a hypothetical purely fossil energy mix, as that is what can be captured); vm_emiIndBase itself is not used for emission accounting, just as a CCS baseline.

\[\begin{multline*} vm\_emiIndBase(t,regi,enty,secInd37) = \sum_{secInd37\_2\_pf\left(secInd37,ppfen\_industry\_dyn37(in)\right),fe2ppfEn\left(entyFeCC37(enty),in\right)}\left( \left( vm\_cesIO(t,regi,in) - \left( p37\_chemicals\_feedstock\_share(t,regi) \cdot vm\_cesIO(t,regi,in) \right)\$ in\_chemicals\_feedstock\_37(in) \right) \cdot \sum_{se2fe(entySeFos,enty,te)}\left( pm\_emifac(t,regi,entySeFos,enty,te,"co2") \right) \right)\$\left( NOT secInd37Prc(secInd37) \right) + \left( s37\_clinker\_process\_CO2 \cdot p37\_clinker\_cement\_ratio(t,regi) \cdot \frac{ vm\_cesIO(t,regi,"ue\_cement") }{ sm\_c\_2\_co2 }\right)\$\left( sameas(enty,"co2cement\_process") \& sameas(secInd37,"cement") \right) + \sum_{secInd37\_tePrc(secInd37,tePrc),tePrc2opmoPrc(tePrc,opmoPrc)}\left( v37\_emiPrc(t,regi,enty,tePrc,opmoPrc) \right)\$ secInd37Prc(secInd37) \end{multline*}\]

Compute maximum possible CCS level in industry sub-sectors given the current CO2 price.

\[\begin{multline*} v37\_emiIndCCSmax(t,regi,emiInd37) = \sum_{emiMac2mac(emiInd37,macInd37)}\left( \left( \sum_{secInd37\_2\_emiInd37(secInd37,emiInd37),entyFeCC37}\left( vm\_emiIndBase(t,regi,entyFeCC37,secInd37) \right)\$\left( NOT sameas(emiInd37,"co2cement\_process") \right) + \left( vm\_emiIndBase(t,regi,"co2cement\_process","cement") \right)\$ sameas(emiInd37,"co2cement\_process") \right) \cdot pm\_macSwitch(macInd37) \cdot pm\_macAbatLev(t,regi,macInd37) \right) \end{multline*}\]

Limit industry CCS to maximum possible CCS level.

\[\begin{multline*} v37\_emiIndCCSmax(t,regi,emiInd37) = \sum_{emiMac2mac(emiInd37,macInd37)}\left( \left( \sum_{secInd37\_2\_emiInd37(secInd37,emiInd37),entyFeCC37}\left( vm\_emiIndBase(t,regi,entyFeCC37,secInd37) \right)\$\left( NOT sameas(emiInd37,"co2cement\_process") \right) + \left( vm\_emiIndBase(t,regi,"co2cement\_process","cement") \right)\$ sameas(emiInd37,"co2cement\_process") \right) \cdot pm\_macSwitch(macInd37) \cdot pm\_macAbatLev(t,regi,macInd37) \right) \end{multline*}\]

Limit industry CCS scale-up to sm_macChange (default: 5 % p.a.)

\[\begin{multline*} vm\_emiIndCCS(ttot,regi,emiInd37) \leq vm\_emiIndCCS(ttot-1,regi,emiInd37) + \sum_{secInd37\_2\_emiInd37(secInd37,emiInd37)}\left( v37\_emiIndCCSmax(ttot,regi,emiInd37) \cdot sm\_macChange \cdot pm\_ts(ttot) \right) \end{multline*}\]

Fix cement fuel and cement process emissions to the same abatement level.

\[\begin{multline*} vm\_emiIndCCS(t,regi,"co2cement") \cdot v37\_emiIndCCSmax(t,regi,"co2cement\_process") = vm\_emiIndCCS(t,regi,"co2cement\_process") \cdot v37\_emiIndCCSmax(t,regi,"co2cement") \end{multline*}\]

Calculate industry CCS costs.

\[\begin{multline*} v37\_emiIndCCSmax(t,regi,emiInd37) = \sum_{emiMac2mac(emiInd37,macInd37)}\left( \left( \sum_{secInd37\_2\_emiInd37(secInd37,emiInd37),entyFeCC37}\left( vm\_emiIndBase(t,regi,entyFeCC37,secInd37) \right)\$\left( NOT sameas(emiInd37,"co2cement\_process") \right) + \left( vm\_emiIndBase(t,regi,"co2cement\_process","cement") \right)\$ sameas(emiInd37,"co2cement\_process") \right) \cdot pm\_macSwitch(macInd37) \cdot pm\_macAbatLev(t,regi,macInd37) \right) \end{multline*}\]

CES markup cost that are accounted in the budget (GDP) to represent sector-specific demand-side transformation cost in industry

\[\begin{multline*} vm\_costCESMkup(t,regi,in) = p37\_CESMkup(t,regi,in) \cdot \left(vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity")\right) \end{multline*}\]

Feedstock balances Lower bound on feso/feli/fega in chemicals FE input for feedstocks

\[\begin{multline*} \sum_{in\_chemicals\_feedstock\_37(in)} vm\_cesIO(t,regi,in) \geq \sum_{ces\_eff\_target\_dyn37("ue\_chemicals",in)} vm\_cesIO(t,regi,in) \cdot p37\_chemicals\_feedstock\_share(t,regi) \end{multline*}\]

Define the flow of non-energy feedstocks. It is used for emissions accounting and calculating plastics production

\[\begin{multline*} \sum_{se2fe(entySe,entyFe,te)}\left( vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \right) = \sum_{fe2ppfEn\left(entyFe,ppfen\_industry\_dyn37(in)\right), secInd37\_emiMkt(secInd37,emiMkt), secInd37\_2\_pf\left(secInd37,in\_chemicals\_feedstock\_37(in)\right)}\left( \left( vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity") \right) \cdot p37\_chemicals\_feedstock\_share(t,regi) \right)\$ entyFE2sector2emiMkt\_NonEn(entyFe,"indst",emiMkt) \end{multline*}\]

Feedstocks flow has to be lower than total energy flow into the industry

\[\begin{multline*} vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,"indst",emiMkt) \geq vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \end{multline*}\]

Feedstocks have identical fossil/biomass/synfuel shares as industry FE

\[\begin{multline*} vm\_demFeSector\_afterTax(t,regi,entySe,entyFe,"indst",emiMkt) \cdot \sum_{se2fe(entySe2,entyFe,te)}\left( vm\_demFENonEnergySector(t,regi,entySe2,entyFe,"indst",emiMkt) \right) = vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \cdot \sum_{se2fe2(entySe2,entyFe,te)}\left( vm\_demFeSector\_afterTax(t,regi,entySe2,entyFe,"indst",emiMkt) \right) \end{multline*}\]

Calculate mass of carbon contained in chemical feedstocks

\[\begin{multline*} v37\_FeedstocksCarbon(t,regi,entySe,entyFe,emiMkt) = vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \cdot p37\_FeedstockCarbonContent(t,regi,entyFe) \end{multline*}\]

Calculate carbon contained in plastics as a share of carbon in feedstock [GtC]

\[\begin{multline*} v37\_FeedstocksCarbon(t,regi,entySe,entyFe,emiMkt) = vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \cdot p37\_FeedstockCarbonContent(t,regi,entyFe) \end{multline*}\]

calculate plastic waste generation, shifted by mean lifetime of plastic products shift by 2 time steps when we have 5-year steps and 1 when we have 10-year steps allocate averge of 2055 and 2060 to 2070, unless cm_wastelag is NO, in which case waste is incurred in the same period plastics are produced

\[\begin{multline*} v37\_plasticWaste(ttot,regi,entySe,entyFe,emiMkt) = v37\_plasticsCarbon(ttot,regi,entySe,entyFe,emiMkt)\$\left( NOT \%cm\_wastelag\% \right) + \left( v37\_plasticsCarbon(ttot-2,regi,entySe,entyFe,emiMkt)\$\left( ttot.val lt 2070 \right) + \left(\frac{ \left( v37\_plasticsCarbon(ttot-2,regi,entySe,entyFe,emiMkt) + v37\_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt) \right) }{ 2 }\right)\$\left( ttot.val eq 2070 \right) + v37\_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt)\$\left( ttot.val gt 2070 \right) \right)\$\left( \%cm\_wastelag\% \right) \end{multline*}\]

emissions from plastics incineration as a share of total plastic waste, discounted by captured amount

\[\begin{multline*} v37\_FeedstocksCarbon(t,regi,entySe,entyFe,emiMkt) = vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \cdot p37\_FeedstockCarbonContent(t,regi,entyFe) \end{multline*}\]

\[\begin{multline*} v37\_FeedstocksCarbon(t,regi,entySe,entyFe,emiMkt) = vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \cdot p37\_FeedstockCarbonContent(t,regi,entyFe) \end{multline*}\]

calculate carbon contained in non-incinerated plastics this is used in emissions accounting to subtract the carbon that gets sequestered in plastic products

\[\begin{multline*} v37\_FeedstocksCarbon(t,regi,entySe,entyFe,emiMkt) = vm\_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) \cdot p37\_FeedstockCarbonContent(t,regi,entyFe) \end{multline*}\]

calculate flow of carbon contained in chemical feedstock with unknown fate it is assumed that this carbon is re-emitted in the same timestep if cm_feedstockEmiUnknownFate is enabled (=on)


                         entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) ..
  vm_feedstockEmiUnknownFate(t,regi,entySe,entyFe,emiMkt)
  =e=
$ifthen.cm_feedstockEmiUnknownFate not "%cm_feedstockEmiUnknownFate%" == "off"
  (
    v37_FeedstocksCarbon(t,regi,entySe,entyFe,emiMkt)
  * (1 - s37_plasticsShare)
  )
$else.cm_feedstockEmiUnknownFate
  0
$endIf.cm_feedstockEmiUnknownFate
;

Material input to production

\[\begin{multline*} v37\_matFlow(t,regi,mat) = \sum_{tePrc2matIn(tePrc,opmoPrc,mat)}\left( p37\_specMatDem(mat,tePrc,opmoPrc) \cdot vm\_outflowPrc(t,regi,tePrc,opmoPrc) \right) \end{multline*}\]

Material cost

\[\begin{multline*} vm\_costMatPrc(t,regi) = \sum_{mat}\left( p37\_priceMat(mat) \cdot v37\_matFlow(t,regi,mat)\right) \end{multline*}\]

Output material production

\[\begin{multline*} v37\_matFlow(t,regi,mat) = \sum_{tePrc2matOut(tePrc,opmoPrc,mat)}\left( vm\_outflowPrc(t,regi,tePrc,opmoPrc) \right) \end{multline*}\]

Hand-over to CES

\[\begin{multline*} \left(vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity")\right) \cdot p37\_ue\_share(mat,in) = \sum_{mat2ue(mat,in)}\left( p37\_mat2ue(mat,in) \cdot v37\_matFlow(t,regi,mat) \right) \end{multline*}\]

Definition of capacity constraints

\[\begin{multline*} \sum_{tePrc2opmoPrc(tePrc,opmoPrc)}\left( vm\_outflowPrc(t,regi,tePrc,opmoPrc) \right) \leq \sum_{teMat2rlf(tePrc,rlf)}\left( vm\_capFac(t,regi,tePrc) \cdot vm\_cap(t,regi,tePrc,rlf) \right) \end{multline*}\]

Emission from process based industry sector (pre CC)

\[\begin{multline*} v37\_emiPrc(t,regi,entyFe,tePrc,opmoPrc) = pm\_specFeDem(t,regi,entyFe,tePrc,opmoPrc) \cdot \sum_{se2fe(entySeFos,entyFe,te)}\left( pm\_emifac(t,regi,entySeFos,entyFe,te,"co2")\right) \cdot vm\_outflowPrc(t,regi,tePrc,opmoPrc) \end{multline*}\]

Carbon capture processes can only capture as much co2 as the base process and the CCS process combined emit

\[\begin{multline*} \sum_{tePrc2opmoPrc(teCCPrc,opmoCCPrc)}\left( vm\_outflowPrc(t,regi,teCCPrc,opmoCCPrc) \right) = p37\_captureRate(teCCPrc) \cdot \sum_{entyFe,tePrc2teCCPrc(tePrc,opmoPrc,teCCPrc,opmoCCPrc)}\left( v37\_shareWithCC(t,regi,tePrc,opmoPrc) \cdot v37\_emiPrc(t,regi,entyFe,tePrc,opmoPrc) \right) + p37\_selfCaptureRate(teCCPrc) \cdot \sum_{entyFe,tePrc2opmoPrc(teCCPrc,opmoCCPrc)}\left( v37\_emiPrc(t,regi,entyFe,teCCPrc,opmoCCPrc)\right) \end{multline*}\]

Emission captured from process based industry sector

\[\begin{multline*} vm\_emiIndCCS(t,regi,emiInd37) = \sum_{secInd37\_2\_emiInd37(secInd37Prc,emiInd37), secInd37\_tePrc(secInd37Prc,tePrc), tePrc2teCCPrc(tePrc,opmoPrc,teCCPrc,opmoCCPrc)}\left( vm\_outflowPrc(t,regi,teCCPrc,opmoCCPrc) \right) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: fixed_shares | B: subsectors) (continued below)
  Description Unit A
f37_steel_secondary_max_share
(tall, all_regi, all_GDPscen)
maximum share of secondary steel production
o37_cementProcessEmissions
(ttot, all_regi, all_enty)
cement process emissions \(GtC/a\) x
o37_CESderivatives
(ttot, all_regi, all_in, all_in)
derivatives of production CES function x
o37_demFeIndRoute
(ttot, all_regi, all_enty, all_te, route, secInd37)
FE demand by FE type, process route and tech
o37_demFeIndSub
(ttot, all_regi, all_enty, all_enty, secInd37, all_emiMkt)
FE demand per industry subsector, FE carrier, SE carrier, emissions market x
o37_demFeIndTotEn
(ttot, all_regi, all_enty, all_emiMkt)
total FE per energy carrier and emissions market in industry (sum over subsectors)
o37_demFePrc
(ttot, all_regi, all_enty, all_te, opmoPrc)
Process-based FE demand per FE type and process
o37_ProdIndRoute
(ttot, all_regi, mat, route)
produciton volume of a material via each process route
o37_relativeOutflow
(ttot, all_regi, all_te, opmoPrc)
Outflow of a process relative to the outflow of the route, i.e. the final product of that route; Needed for LCOP calculation
o37_shareRoute
(ttot, all_regi, all_te, opmoPrc, route)
The relative share (between 0 and 1) of a technology and operation mode outflow which belongs to a certain route; For example, bf.standard belongs partly to the route bfbof and partly to the route bfbof
o37_shIndFE
(ttot, all_regi, all_enty, secInd37, all_emiMkt)
share of subsector in FE industry energy carriers and emissions markets
o37_specificEmi
(ttot, all_regi, all_te, opmoPrc)
Specific emissions of a technology; Needed as auxiliary for relative outflow calculation of CC tech
p37_arcane_FE_limits
(all_in, all_in)
minimum ratio of feelhth/feelwlth and feh2/fega (may be needed for calibration)
p37_BAU_industry_ETS_solids
(tall, all_regi)
industry solids demand in baseline scenario
p37_captureRate
(all_te)
Capture rate of CCS technology
p37_CarbonFeed_CDR
(ttot, all_regi, all_emiMkt)
testing parameter for carbon in feedstocks from biogenic and synthetic sources
p37_cesdata_sigma
(all_in)
substitution elasticities x
p37_cesIO_baseline
(tall, all_regi, all_in)
vm_cesIO from the baseline scenario
p37_cesIO_up_steel_secondary
(tall, all_regi, all_GDPscen)
upper limit to secondary steel production based on scrap availability
p37_CESMkup
(ttot, all_regi, all_in)
CES markup cost parameter \(trUSD/CES input\) x
p37_CESMkup_input
(all_in)
markup cost parameter read in from config for CES levels in industry to influence demand-side cost and efficiencies in CES tree \(trUSD/CES input\) x
p37_chemicals_feedstock_share
(ttot, all_regi)
minimum share of feso/feli/fega in total chemicals FE input \(0-1\)
p37_clinker_cement_ratio
(ttot, all_regi)
clinker content per unit cement used
p37_demFeActual
(tall, all_regi, all_enty, all_in)
Total historic Fe demand consumed for production of a UE
p37_demFeRatio
(tall, all_regi, all_in)
Ratio of historic Fe demand and Fe demand calculated from historic production and BAT specific demand
p37_demFeTarget
(tall, all_regi, all_enty, all_in)
Total Fe demand that would be have been consumed historically for production of a UE if all tech had BAT efficiency
p37_Emi_ChemProcess
(ttot, all_regi, all_enty, emiMkt)
testing parameter for process emissions from chemical feedstocks
p37_EmiEnDemand
(ttot, all_regi)
energy demand co2 emissions without non-energy correction
p37_EmiEnDemand_NonEnCorr
(ttot, all_regi)
energy demand co2 emissions with non-energy correction
p37_energy_limit_def
(ttot, ext_regi, all_in)
input data for calculating p37_energy_limit_slope
p37_energy_limit_slope
(tall, all_regi, all_in)
limit for subsector specific energy demand that converges towards the thermodynamic/technical limit \(GJ/t product\)
p37_FE_noNonEn
(ttot, all_regi, all_enty, all_enty2, emiMkt)
testing parameter for FE without non-energy use
p37_FeedstockCarbonContent
(ttot, all_regi, all_enty)
carbon content of feedstocks \(GtC/TWa\)
p37_IndFeBal_FeedStock_LH
(ttot, all_regi, all_enty, emiMkt)
testing parameter Ind FE Balance left-hand side feedstock term
p37_IndFeBal_FeedStock_RH
(ttot, all_regi, all_enty, emiMkt)
testing parameter Ind FE Balance right-hand side feedstock term
p37_industry_quantity_targets
(ttot, all_regi, all_in)
quantity targets for industry in policy scenarios
p37_mat2ue
(all_enty, all_in)
Contribution of process output to ue in CES tree; Trivial if just one material per UE, as in steel \(Gt/Gt\)
p37_matFlowHist
(tall, all_regi, all_enty)
Historic material flows
p37_priceMat
(all_enty)
Prices of external material input [US$/kg] = \(trn\$US/Gt\)
p37_regionalWasteIncinerationCCSMaxShare
(ttot, all_regi)
upper bound on regional proportion of waste incineration that is captured \(\%\)
p37_selfCaptureRate
(all_te)
Share of emissions from fossil fuels used for a CCS process which are captured by the CCS process itself
p37_shIndFE
(all_regi, all_in, secInd37)
share of industry sub-sectors in FE use \(ratio\) x
p37_specFeDemTarget
(all_enty, all_te, opmoPrc)
Best available technology (will be reached in convergence year) \(TWa/Gt_output\)
p37_specMatDem
(mat, all_te, opmoPrc)
Specific materials demand of a production technology and operation mode \(t_input/t_output\)
p37_steel_secondary_max_share
(tall, all_regi)
maximum share of secondary steel production
p37_steel_secondary_max_share_scenario
(tall, all_regi)
scenario limits on share of secondary steel production
p37_steel_secondary_share
(tall, all_regi)
endogenous values to fix rounding issues with p37_steel_secondary_max_share
p37_teMatShareHist
(all_te, opmoPrc, mat)
Share that a tePrc/opmoPrc historically contibrutes to production of a matFin
p37_ue_share
(all_enty, all_in)
Fixed share of material in ue
p37_wasteIncinerationCCSMaxShare
(ttot, ext_regi)
switch values for proportion of waste incineration that is captured \(\%\)
q37_auxCostAddTeInv
(ttot, all_regi)
auxiliar logistic function exponent calculation for additional hydrogen low penetration cost x
q37_cementCCS
(ttot, all_regi)
equal abatement levels for cement fuel and process emissions x
q37_chemicals_feedstocks_limit
(ttot, all_regi)
lower bound on feso/feli/fega in chemicals FE input for feedstocks
q37_costAddH2PhaseIn
(ttot, all_regi)
calculation of additional industry hydrogen t&d cost at low penetration levels of hydrogen in industry x
q37_costAddTeInv
(ttot, all_regi, all_te)
summation of sector-specific demand-side cost x
q37_costCESmarkup
(ttot, all_regi, all_in)
calculation of additional CES markup cost to represent demand-side technology cost of end-use transformation, for example, cost of heat pumps etc. x
q37_costMat
(tall, all_regi)
External material cost (non-energy)
q37_demFeFeedstockChemIndst
(ttot, all_regi, all_enty, all_emiMkt)
defines energy flow of non-energy feedstocks for the chemicals industry. It is used for emissions accounting
q37_demFeIndst
(ttot, all_regi, all_enty, all_emiMkt)
industry final energy demand (per emission market) x
q37_demMatPrc
(tall, all_regi, mat)
Material demand of processes
q37_emiCCPrc
(tall, all_regi, emiInd37)
Captured emissions from CCS
q37_emiIndBase
(ttot, all_regi, all_enty, secInd37)
calculate industry CCS baseline emissions x
q37_emiIndCCSmax
(ttot, all_regi, all_enty)
calculate max industry CCS emissions x
q37_emiPrc
(ttot, all_regi, all_enty, all_te, opmoPrc)
Local industry emissions pre-capture; Only used as baseline for CCS \(GtC/a\)
q37_energy_limits
(ttot, all_regi, all_in)
thermodynamic/technical limit of energy use
q37_feedstockEmiUnknownFate
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon contained in chemical feedstock with unknown fate \(GtC\)
q37_FeedstocksCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon contained in feedstocks \(GtC\)
q37_feedstocksLimit
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
restrict feedstocks flow to total energy flows into industry
q37_feedstocksShares
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
identical fossil/biomass/synfuel shares for FE and feedstocks
q37_H2Share
(ttot, all_regi)
H2 share in gases x
q37_incinerationCCS
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon captured from plastics that are incinerated \(GtC\)
q37_incinerationEmi
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon contained in plastics that are incinerated \(GtC\)
q37_IndCCS
(ttot, all_regi, all_enty)
calculate industry CCS emissions x
q37_IndCCSCost
(ttot, all_regi, all_enty)
calculate cost for Industry CCS x
q37_limit_IndCCS_growth
(ttot, all_regi, emiInd37)
limit industry CCS scale-up
q37_limit_secondary_steel_share
(ttot, all_regi)
no more than 90% of steel from seconday production
q37_limitCapMat
(tall, all_regi, all_te)
Material-flow conversion is limited by capacities
q37_limitOutflowCCPrc
(tall, all_regi, all_te)
Carbon capture processes can only capture as much co2 as the base process emits
q37_mat2ue
(tall, all_regi, mat, all_in)
Connect materials production to ue ces tree nodes
q37_nonIncineratedPlastics
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon contained in plastics that are not incinerated \(GtC\)
q37_plasticsCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon contained in plastics \(GtC\)
q37_plasticWaste
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
calculate carbon contained in plastic waste \(GtC\)
q37_prodMat
(tall, all_regi, mat)
Production volume of processes equals material flow of output material
s37_clinker_process_CO2 CO2 emissions per unit of clinker production
s37_costAddH2Inv additional h2 distribution costs for low diffusion levels. \(\$/kWh\) x
s37_costDecayEnd simplified logistic function start of null value (ex. 10% -> between 10% and 100% the simplified logistic function will have the value 0). \(\%\) x
s37_costDecayStart simplified logistic function end of full value (ex. 5% -> between 0 and 5% the simplified logistic function will have the value 1). \(\%\) x
s37_plasticsShare share of carbon cointained in feedstocks for the chemicals subsector that goes to plastics
s37_shareHistFeDemPenalty Share of the addiotional historic specific FE demand compared with BAT which is applied to non-historic tech
v37_costAddTeInvH2
(ttot, all_regi, all_te)
Additional hydrogen phase-in cost at low H2 penetration levels \(trUSD\) x
v37_costExponent
(ttot, all_regi)
logistic function exponent for additional hydrogen low penetration cost x
v37_emiIndCCSmax
(ttot, all_regi, all_enty)
max industry CCS emissions \(GtC/a\) x
v37_emiPrc
(tall, all_regi, all_enty, all_te, opmoPrc)
Emissions per process and operation mode \(GtC/a\)
v37_expSlack
(ttot, all_regi)
slack variable to avoid overflow on too high logistic function exponent x
v37_FeedstocksCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
Carbon flow: carbon contained in chemical feedstocks \(GtC\)
v37_H2share
(ttot, all_regi)
H2 share in gases x
v37_matFlow
(tall, all_regi, all_enty)
Production of materials \(Gt/a\)
v37_plasticsCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
Carbon flow: carbon contained in plastics \(GtC\)
v37_plasticWaste
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
Carbon flow: carbon contained in plastic waste \(GtC\)
v37_regionalWasteIncinerationCCSshare
(tall, all_regi)
share of waste incineration that is captured \(\%\)
v37_shareWithCC
(tall, all_regi, all_te, opmoPrc)
Share of process and operation mode equipped with carbon capture technology
  B
f37_steel_secondary_max_share
(tall, all_regi, all_GDPscen)
x
o37_cementProcessEmissions
(ttot, all_regi, all_enty)
x
o37_CESderivatives
(ttot, all_regi, all_in, all_in)
o37_demFeIndRoute
(ttot, all_regi, all_enty, all_te, route, secInd37)
x
o37_demFeIndSub
(ttot, all_regi, all_enty, all_enty, secInd37, all_emiMkt)
x
o37_demFeIndTotEn
(ttot, all_regi, all_enty, all_emiMkt)
x
o37_demFePrc
(ttot, all_regi, all_enty, all_te, opmoPrc)
x
o37_ProdIndRoute
(ttot, all_regi, mat, route)
x
o37_relativeOutflow
(ttot, all_regi, all_te, opmoPrc)
x
o37_shareRoute
(ttot, all_regi, all_te, opmoPrc, route)
x
o37_shIndFE
(ttot, all_regi, all_enty, secInd37, all_emiMkt)
x
o37_specificEmi
(ttot, all_regi, all_te, opmoPrc)
x
p37_arcane_FE_limits
(all_in, all_in)
x
p37_BAU_industry_ETS_solids
(tall, all_regi)
x
p37_captureRate
(all_te)
x
p37_CarbonFeed_CDR
(ttot, all_regi, all_emiMkt)
x
p37_cesdata_sigma
(all_in)
x
p37_cesIO_baseline
(tall, all_regi, all_in)
x
p37_cesIO_up_steel_secondary
(tall, all_regi, all_GDPscen)
x
p37_CESMkup
(ttot, all_regi, all_in)
x
p37_CESMkup_input
(all_in)
x
p37_chemicals_feedstock_share
(ttot, all_regi)
x
p37_clinker_cement_ratio
(ttot, all_regi)
x
p37_demFeActual
(tall, all_regi, all_enty, all_in)
x
p37_demFeRatio
(tall, all_regi, all_in)
x
p37_demFeTarget
(tall, all_regi, all_enty, all_in)
x
p37_Emi_ChemProcess
(ttot, all_regi, all_enty, emiMkt)
x
p37_EmiEnDemand
(ttot, all_regi)
x
p37_EmiEnDemand_NonEnCorr
(ttot, all_regi)
x
p37_energy_limit_def
(ttot, ext_regi, all_in)
x
p37_energy_limit_slope
(tall, all_regi, all_in)
x
p37_FE_noNonEn
(ttot, all_regi, all_enty, all_enty2, emiMkt)
x
p37_FeedstockCarbonContent
(ttot, all_regi, all_enty)
x
p37_IndFeBal_FeedStock_LH
(ttot, all_regi, all_enty, emiMkt)
x
p37_IndFeBal_FeedStock_RH
(ttot, all_regi, all_enty, emiMkt)
x
p37_industry_quantity_targets
(ttot, all_regi, all_in)
x
p37_mat2ue
(all_enty, all_in)
x
p37_matFlowHist
(tall, all_regi, all_enty)
x
p37_priceMat
(all_enty)
x
p37_regionalWasteIncinerationCCSMaxShare
(ttot, all_regi)
x
p37_selfCaptureRate
(all_te)
x
p37_shIndFE
(all_regi, all_in, secInd37)
p37_specFeDemTarget
(all_enty, all_te, opmoPrc)
x
p37_specMatDem
(mat, all_te, opmoPrc)
x
p37_steel_secondary_max_share
(tall, all_regi)
x
p37_steel_secondary_max_share_scenario
(tall, all_regi)
x
p37_steel_secondary_share
(tall, all_regi)
x
p37_teMatShareHist
(all_te, opmoPrc, mat)
x
p37_ue_share
(all_enty, all_in)
x
p37_wasteIncinerationCCSMaxShare
(ttot, ext_regi)
x
q37_auxCostAddTeInv
(ttot, all_regi)
q37_cementCCS
(ttot, all_regi)
x
q37_chemicals_feedstocks_limit
(ttot, all_regi)
x
q37_costAddH2PhaseIn
(ttot, all_regi)
q37_costAddTeInv
(ttot, all_regi, all_te)
q37_costCESmarkup
(ttot, all_regi, all_in)
x
q37_costMat
(tall, all_regi)
x
q37_demFeFeedstockChemIndst
(ttot, all_regi, all_enty, all_emiMkt)
x
q37_demFeIndst
(ttot, all_regi, all_enty, all_emiMkt)
x
q37_demMatPrc
(tall, all_regi, mat)
x
q37_emiCCPrc
(tall, all_regi, emiInd37)
x
q37_emiIndBase
(ttot, all_regi, all_enty, secInd37)
x
q37_emiIndCCSmax
(ttot, all_regi, all_enty)
x
q37_emiPrc
(ttot, all_regi, all_enty, all_te, opmoPrc)
x
q37_energy_limits
(ttot, all_regi, all_in)
x
q37_feedstockEmiUnknownFate
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_FeedstocksCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_feedstocksLimit
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_feedstocksShares
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_H2Share
(ttot, all_regi)
q37_incinerationCCS
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_incinerationEmi
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_IndCCS
(ttot, all_regi, all_enty)
x
q37_IndCCSCost
(ttot, all_regi, all_enty)
x
q37_limit_IndCCS_growth
(ttot, all_regi, emiInd37)
x
q37_limit_secondary_steel_share
(ttot, all_regi)
x
q37_limitCapMat
(tall, all_regi, all_te)
x
q37_limitOutflowCCPrc
(tall, all_regi, all_te)
x
q37_mat2ue
(tall, all_regi, mat, all_in)
x
q37_nonIncineratedPlastics
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_plasticsCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_plasticWaste
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
q37_prodMat
(tall, all_regi, mat)
x
s37_clinker_process_CO2 x
s37_costAddH2Inv
s37_costDecayEnd
s37_costDecayStart
s37_plasticsShare x
s37_shareHistFeDemPenalty x
v37_costAddTeInvH2
(ttot, all_regi, all_te)
v37_costExponent
(ttot, all_regi)
v37_emiIndCCSmax
(ttot, all_regi, all_enty)
x
v37_emiPrc
(tall, all_regi, all_enty, all_te, opmoPrc)
x
v37_expSlack
(ttot, all_regi)
v37_FeedstocksCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
v37_H2share
(ttot, all_regi)
v37_matFlow
(tall, all_regi, all_enty)
x
v37_plasticsCarbon
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
v37_plasticWaste
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
x
v37_regionalWasteIncinerationCCSshare
(tall, all_regi)
x
v37_shareWithCC
(tall, all_regi, all_te, opmoPrc)
x

Sets

sets in use
  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
c_expname c_expname as set for use in GDX
cal_ppf_industry_dyn37(all_in) primary production factors for calibration - industry
ces_eff_target_dyn37(all_in, all_in) empty set
ces_industry_dyn37(all_in, all_in) CES tree structure - industry
cesLevel2cesIO(counter, all_in) CES tree structure by level
cesOut2cesIn(all_in, all_in) CES tree structure
cesParameter parameters of the CES functions and for calibration
cm_GDPscen cm_GDPscen as set for use in GDX
counter helper set to facilitate looping in defined order
eff_scale_par parameters for scaling certain efficiencies during calibration
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
emiInd37_fe2sec(all_enty, secInd37) FE and industry combinations that have emissions
emiInd37_fuel(all_enty) industry emissions from fuel combustion
emiInd37(all_enty) industry emissions
emiMac2mac(all_enty, all_enty) mapping of emission sources to MACs - caution: not all MACs exist, in that case they are zero
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.
en2en(all_enty, all_enty, all_te) all energy conversion mappings
energy_limits37(all_in, all_in) thermodynamic limit of energy
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)
entyFE2sector2emiMkt_NonEn(all_enty, emi_sectors, all_emiMkt) combinations of FE type, sector and emissions markets existing for FE non-energy use
entyFe37(all_enty) FE carriers used in industry
entyFeCC37(all_enty) FE carriers in industry which can be used for CO2 capture
entyFeStat(all_enty) final energy types from stationary sector
entySE_emiFac_feedstocks(all_enty, all_enty) SE type of emissions factor that should be used to calculate carbon contained in feedstocks
entySe(all_enty) 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)
fe_tax_sub_sbi(all_in, all_in) correspondence between tax and subsidy input data resolution and model sectoral resolution. For FE which takes the pathway I to the CES
fe_tax_sub37(all_in, all_in) correspondence between tax and subsidy input data resolution and model sectoral resolution
fe2mat(all_enty, all_enty, all_te) Set of industry technologies to be included in en2en, which connects capex and opex to budget
fe2ppfen_no_ces_use(all_enty, all_in) Match ESM entyFe to ppfen that are not used in the CES tree, but for datainput for process-bases industry
fe2ppfEn(all_enty, all_in) mapping between CES FE variables and ESM FE variables
fe2ppfEn37(all_enty, all_in) match ESM entyFe to ppfEn
in_chemicals_feedstock_37(all_in) chemicals FE that can provide feedstocks
in_industry_dyn37(all_in) all inputs and outputs of the CES function - industry
in(all_in) All inputs and outputs of the CES function
industry_ue_calibration_target_dyn37(all_in) empty set
ipf_industry_dyn37(all_in) intermediate production factors - industry
macInd37(all_enty) industry CCS MACs
mat(all_enty) Materials considered in process-based model; Can be input and/or output of a process
mat2ue(mat, all_in) Mapping of materials (final route products) onto the UE ces tree node the model is connected to
matFin(mat) Final products of a process-based production route
matIn(all_enty) Materials which serve as input to a process
matOut(all_enty) Materials which serve as output of a process
modules all the available modules
opmoPrc Operation modes for technologies in process-based model
p parameter for ch4 and n2o waste emissions and co2 cement emissions
pf_eff_target_dyn29(all_in) production factors with efficiency target
pf_eff_target_dyn37(all_in) production factors with efficiency target
pf_industry_relaxed_bounds_dyn37(all_in) empty set
pf_quan_target_dyn29(all_in) production factors with quantity target
pf_quan_target_dyn37(all_in) production factors with quantity target
pf_quantity_shares_37(all_in, all_in) quantities for the calibration defined as a percentage of another pf
ppf_industry_dyn37(all_in) primary production factors - industry
ppf(all_in) All primary production factors
ppfen_CESMkup_dyn37(all_in) industry production factors of CES function to which CES markup cost can be applied
ppfen_CESMkup(all_in) production factors of CES function to which CES markup cost can be applied
ppfen_industry_dyn37(all_in) primary production factors energy - industry
ppfen_MkupCost37(all_in) primary production factors in industry on which CES mark-up cost can be levied that are counted as expenses in the macroeconomic budget equation
ppfen_no_ces_use(all_in) FE nodes of all_in that are not part of the CES tree in the process-based industry model; Needed for pm_fedemand data input
ppfEn(all_in) Primary production factors energy
ppfKap_industry_dyn37(all_in) empty set
ppfKap(all_in) Primary production factors capital
ppfUePrc(all_in) Ue CES tree nodes connected to process based implementation, which therefore become primary production factors (ppf)
regi_dyn29(all_regi) dynamic region set for compatibility with testOneRegi
regi_fxDem37(ext_regi) regions under which we fix UE demand to baseline demand
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
rlf cost levels of fossil fuels
route(all_te) Process routes; Currently only used for reporting
se2fe(all_enty, all_enty, all_te) map secondary energy to end-use energy using a technology
secInd37 industry sub-sectors
secInd37_2_emiInd37(secInd37, emiInd37) link industry sub-sectors to sector emissions
secInd37_2_pf(secInd37, all_in) link industry sub-sectors to energy to production factors
secInd37_emiMkt(secInd37, all_emiMkt) industry and emission market mapping
secInd37_tePrc(secInd37, tePrc) Mapping of technologies onto industry subsectors
secInd37Prc(secInd37) Sub-sectors with process-based modeling
sefe(all_enty, all_enty) map secondary energy to final energy
steps iterator for MAC steps
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
tdTe2In37(all_te, all_in) mapping of td technologies to CES nodes for CES markup cost
tdTeMarkup37(all_te) td technologies to which CES markup cost should be attributed to as investment cost
te(all_te) energy technologies
teCCPrc(tePrc) Technologies used in process-based model (only CCS)
teMat2rlf(all_te, rlf) mapping for material production technologies to grades
tePrc(all_te) Technologies used in process-based model (including CCS)
tePrc2matIn(tePrc, opmoPrc, mat) Mapping of technologies onto input materials
tePrc2matOut(tePrc, opmoPrc, mat) Mapping of industry process technologies onto their output materials
tePrc2opmoPrc(tePrc, opmoPrc) Mapping of technologies onto available operation modes
tePrc2route(tePrc, opmoPrc, route) Mapping of technologies onto the production routes they belong to
tePrc2teCCPrc(tePrc, opmoPrc, tePrc, opmoPrc) Mapping of base technologies to CCS technologies
tePrc2ue(tePrc, opmoPrc, all_in) Mapping of industry process technologies to the UE ces nodes they directly or indirectly feed into
ttot(tall) time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps
ue_industry_2_pf(all_in, all_in) link industry sub-sectors activity to pf
ue_industry_dyn37(all_in) empty set
ue2ppfenPrc(all_in, all_in) correspondant to ces_eff_target_dyn37, but for use in process-based context, i.e. contained subsectors are complements

Authors

Michaja Pehl

See Also

01_macro, 05_initialCap, 20_growth, 21_tax, 24_trade, 29_CES_parameters, 47_regipol, core

References