This module models final energy use in the industry sector and its subsectors, as well as the emissions generated by them.
Interface plot missing!
| 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 |
| 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\) |
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:
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.
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.
| 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 |
| 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 |
Michaja Pehl
01_macro, 05_initialCap, 20_growth, 21_tax, 24_trade, 29_CES_parameters, 47_regipol, core