Description | Unit | |
---|---|---|
pm_abatparam_Ind (ttot, all_regi, all_enty, steps) |
industry CCS MAC curves | \(ratio @ US\$2005\) |
pm_aux_capLowerLimit (all_te, all_regi, tall) |
auxiliary calculation parameter for the calculation of the lowest possible capacities in the first time steps | |
pm_costsPEtradeMp (all_regi, all_enty) |
PE tradecosts (energy losses on import) | |
pm_emiAPexo (ttot, all_regi, all_enty, all_exogEmi) |
exogenous emissions from RCP scenarios | |
pm_emiAPexoGlob (ttot, all_enty, all_exogEmi) |
exogenous emissions for aviation and international shipping from RCP scenarios | |
pm_emiAPexsolve (tall, all_regi, all_sectorEmi, emiRCP) |
??? | |
pm_emiTargetESR (ttot, all_regi) |
CO2 or GHG Effort Sharing emissions target per region | \(GtC\) |
pm_fuExtrOwnCons (all_regi, all_enty, all_enty) |
energy own consumption in the extraction sector with first enty being the output produced and the second enty being the input required | |
pm_histfegrowth (all_regi, all_enty) |
average growth rate of fe use from 1995 to 2005 | |
pm_IO_trade (tall, all_regi, all_enty, char) |
Energy trade bounds based on IEA data. | |
pm_pebiolc_demandmag (tall, all_regi) |
Production of lignocellulosic purpose grown bioenergy from MAgPIE | \(TWa\) |
pm_prodCouple (all_regi, all_enty, all_enty, all_te, all_enty) |
own consumption | |
pm_prtp (all_regi) |
Pure rate of time preference | |
pm_risk_premium (all_regi) |
risk premium that lowers the use of capital imports | |
qm_budget (ttot, all_regi) |
Budget balance | |
vm_ccs_cdr (ttot, all_regi, all_enty, all_enty, all_te, rlf) |
CCS emissions from CDR | \(GtC / a\) |
vm_cesIO (tall, all_regi, all_in) |
Production factor | |
vm_co2CCUshort (ttot, all_regi, all_enty, all_enty, all_te, rlf) |
CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years. Unit GtC/a | |
vm_cons (ttot, all_regi) |
Consumption | |
vm_emiIndCCS (ttot, all_regi, all_enty) |
industry CCS emissions | \(GtC/a\) |
vm_IndCCSCost (ttot, all_regi, all_enty) |
industry CCS cost | |
vm_invMacro (ttot, all_regi, all_in) |
Investment for capital for ttot | |
vm_macBaseInd (ttot, all_regi, all_enty, secInd37) |
industry CCS baseline emissions | \(GtC/a\) |
vm_Mport (tall, all_regi, all_enty) |
Import of traded commodity. | |
vm_Xport (tall, all_regi, all_enty) |
Export of traded commodity. |
Description | Unit | |
---|---|---|
cm_1stgen_phaseout | choose if 1st generation biofuels should phase out after 2030 (vm_deltaCap=0) | |
cm_abortOnConsecFail | number of iterations of consecutive failures of one region after which to abort | |
cm_ARIADNE_FeShareBounds | switch for minimum share of liquids and gases for industry needed for the ARIADNE project | |
cm_ariadne_VRECapFac_adj | switch for enabling increase of VRE capacity factors for wind and solar PV in Germany until 2040 in line with ARIADNE assumptions | |
cm_bioenergy_tax | level of bioenergy sustainability tax in fraction of bioenergy price | |
cm_bioenergymaxscen | choose bound on global pebiolc production excluding residues | |
cm_BioImportTax_EU | factor for EU bioenergy import tax | |
cm_biolc_tech_phaseout | Switch that allows for a full phaseout of all bioenergy technologies globally | |
cm_bioprod_histlim | regional parameter to limit biomass (pebiolc.1) production to a multiple of the 2015 production | |
cm_BioSupply_Adjust_EU | factor for scaling sub-EU bioenergy supply curves | |
cm_biotrade_phaseout | switch for phaseing out biomass trade in the respective regions by 2030 | |
cm_build_AdjCostActive | Activate adjustment cost to penalise inter-temporal variation of area-specific weatherisation demand and space cooling efficiency slope (only in putty) | |
cm_build_costDecayStart | simplified logistic function end of full value (ex. 5% -> between 0 and 5% the function will have the value 1). | \(\%\) |
cm_build_H2costAddH2Inv | additional h2 distribution costs for low diffusion levels (default value: 6.5$/kg = 0.2 $/Kwh) | |
cm_build_H2costDecayEnd | simplified logistic function start of null value (ex. 10% -> after 10% the function will have the value 0). | \(\%\) |
cm_carbonprice_temperatureLimit | not-to-exceed temperature target in degree above pre-industrial | |
cm_ccapturescen | carbon capture option choice | |
cm_CCS_cement | CCS for cement sub-sector | |
cm_CCS_chemicals | CCS for chemicals sub-sector | |
cm_CCS_steel | CCS for steel sub-sector | |
cm_CESMkup_build | switch for setting markup cost to CES nodes in buildings | |
cm_CESMkup_ind | switch for setting markup cost to CES nodes in industry | |
cm_co2_tax_2020 | level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential | |
cm_co2_tax_growth | growth rate of carbon tax | |
cm_CO2priceRegConvEndYr | Year at which regional CO2 prices converge in module 45 realization diffPhaseIn2LinFlex | |
cm_CO2TaxSectorMarkup | CO2 tax markup in buildings or transport sector, a value of 0.5 means CO2 tax increased by 50% | |
cm_cprice_red_factor | reduction factor for price on co2luc when calculating the revenues. Replicates the reduction applied in MAgPIE | |
cm_damage | cm_damage factor for forcing overshoot | |
cm_damage_KWSE | standard error for Kalkuhl & Wenz damages | |
cm_damages_BurkeLike_persistenceTime | persistence time in years for Burke-like damage functions | |
cm_damages_BurkeLike_specification | empirical specification for Burke-like damage functions | |
cm_damages_SccHorizon | Horizon for SCC calculation. Damages cm_damagesSccHorizon years into the future are internalized. | |
cm_deuCDRmax | switch to limit maximum annual CDR amount in Germany in MtCO2 per y | |
cm_DiscRateScen | Scenario for the implicit discount rate applied to the energy efficiency capital | |
cm_ElLim_b | switch to set maximum share of electricity in FE buildings | |
cm_emiscen | policy scenario choice | |
cm_EnSecScen | switch for running an ARIADNE energy security scenario, introducing a tax on pegas in Germany from 2020 to 2050 | |
cm_expoLinear_yearStart | time at which carbon price increases lineraly instead of exponentially | |
cm_FEtax_trajectory_abs | switch for setting the aboslute FE tax level explicitly from a given year onwards, before tax levels increases or decreases linearly to that value | |
cm_FEtax_trajectory_rel | factor for scaling the FE tax level relative to cm_startyear from a given year onwards, before tax levels increases or decreases linearly to that value | |
cm_fetaxscen | choice of final energy tax path, subsidy path and inconvenience cost path, values other than 0 make setting module 21_tax on | |
cm_flex_tax | switch for enabling flexibility tax | |
cm_FlexTaxFeedback | switch deciding whether flexibility tax feedback on buildlings and industry electricity prices is on | |
cm_frac_CCS | tax on CCS to reflect risk of leakage, formulated as fraction of ccs O&M costs | |
cm_frac_NetNegEmi | tax on CDR to reflect risk of overshooting, formulated as fraction of carbon price | |
cm_GDPcovid | GDP correction for covid | |
cm_gdximport_target | whether or not the starting value for iteratively adjusted budgets, tax scenarios, or forcing targets (emiscen 5,6,8,9) should be read in from the input.gdx | |
cm_gs_ew | grain size (for enhanced weathering, CDR module) | \(micrometre\) |
cm_H2targets | switches on capacity targets for electrolysis in NDC techpol following national Hydrogen Strategies | |
cm_HeatLim_b | switch to set maximum share of district heating in FE buildings | |
cm_import_EU | EU switch for different scenarios of EU SE import assumptions | |
cm_IndCCSscen | CCS for Industry | |
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). | \(\%\) |
cm_indst_H2costAddH2Inv | additional h2 distribution costs for low diffusion levels (default value: 3.25$kg = 0.1 $/kWh) | |
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). | \(\%\) |
cm_INNOPATHS_priceSensiBuild | Price sensitivity of energy carrier choice in buildings | |
cm_iteration_max | number of iterations, if optimization is set to negishi or testOneRegi; used in nash mode only with cm_nash_autoconvergence = 0 | |
cm_iterative_target_adj | whether or not a tax or a budget target should be iteratively adjusted depending on actual emission or forcing level | |
cm_keep_presolve_gdxes | save gdxes for all regions/solver tries/nash iterations for debugging | |
cm_limit_peur_scen | limit total uranium production | |
cm_LimRock | limit amount of rock spread each year | \(Gt\) |
cm_logitCal_markup_conv_b | value to which logit calibration markup of standard fe2ue technologies in detailed buildings module converges to | |
cm_logitCal_markup_newtech_conv_b | value to which logit calibration markup of new fe2ue technologies in detailed buildings module converges to | |
cm_multigasscen | scenario on GHG portfolio to be included in permit trading scheme | |
cm_nash_autoconverge | choice of nash convergence mode | |
cm_NDC_divergentScenario | choose scenario about convergence of CO2eq prices in NDC realization of module 45_carbonprice | |
cm_NDC_version | choose version year of NDC targets as well as conditional vs. unconditional targets | |
cm_noPeFosCCDeu | switch to suppress Pe2Se Fossil Carbon Capture in Germany | |
cm_noReboundEffect | Switch for allowing a rebound effect when closing the efficiency gap (cm_DiscRateScen) | |
cm_nucscen | nuclear option choice | |
cm_optimisticMAC | assume optimistic Industry MAC from AR5 Ch. 10? | |
cm_peakBudgYr | date of net-zero CO2 emissions for peak budget runs without overshoot | |
cm_permittradescen | scenario on permit trade | |
cm_postTargetIncrease | carbon price increase per year after target is reached (euro per tCO2) | |
cm_PriceDurSlope_elh2 | slope of price duration curve of electrolysis | |
cm_prtpScen | pure rate of time preference standard values | |
cm_rentconvcoal | [grades2poly] number of years required to converge to the 2100 coal rent | |
cm_rentconvgas | [grades2poly] number of years required to converge to the 2100 gas rent | |
cm_rentconvoil | [grades2poly] number of years required to converge to the 2100 oil rent | |
cm_rentdisccoal | [grades2poly] discount factor for the coal rent | |
cm_rentdisccoal2 | [grades2poly] discount factor for the coal rent achieved in 2100 | |
cm_rentdiscgas | [grades2poly] discount factor for the gas rent | |
cm_rentdiscgas2 | [grades2poly] discount factor for the gas rent achieved in 2100 | |
cm_rentdiscoil | [grades2poly] discount factor for the oil rent | |
cm_rentdiscoil2 | [grades2poly] discount factor for the oil rent achieved in 2100 | |
cm_shSynGas | lower bound on share of synthetic gases by 2045 | |
cm_shSynTrans | lower bound on share of synthetic fuels in all transport fuels by 2045 | |
cm_so2tax_scen | level of SO2 tax | |
cm_solwindenergyscen | scenario for fluctuating renewables, 1 is reference, 2 is pessimistic with limits to fluctuating SE el share | |
cm_startIter_EDGET | starting iteration of EDGE-T | |
cm_startyear | first optimized modelling time step | \(year\) |
cm_taxCO2inc_after_peakBudgYr | annual increase of CO2 price after the Peak Budget Year in $ per tCO2 | |
cm_TaxConvCheck | switch for enabling tax convergence check in nash mode | |
cm_tradbio_phaseout | Switch that allows for a faster phase out of traditional biomass | |
cm_tradecost_bio | choose financal tradecosts for biomass (purpose grown pebiolc) | |
cm_trdadj | parameter scale the adjustment cost parameter for increasing gas trade export | |
cm_trdcst | parameter to scale trade export cost for gas | |
cm_VRE_supply_assumptions | default (0), optimistic (1), sombre (2), or bleak (3) assumptions on VRE supply | |
fm_dataemiglob (all_enty, all_enty, all_te, all_enty) |
read-in of emissions factors co2,cco2 | |
fm_dataglob (char, all_te) |
energy technology characteristics: investment costs, O&M costs, efficiency, learning rates … | |
pm_boundCapCCS (all_regi) |
installed and planed capacity of CCS | |
pm_boundCapEV (tall, all_regi) |
installed capacity of electric vehicles | |
pm_budgetCO2eq (all_regi) |
budget for regional energy-emissions in period 1 | |
pm_calibrate_eff_scale (all_in, all_in, eff_scale_par) |
parameters for scaling efficiencies in CES calibration | |
pm_capCum0 (tall, all_regi, all_te) |
vm_capCum from last iteration | |
pm_capCumForeign (ttot, all_regi, all_te) |
parameter for learning externality (cumulated capacity of other regions except regi) | |
pm_capital_lifetime_exp (all_regi, all_in) |
number of years for which 25% of the CES capital stocks remains | |
pm_ccsinjecrate (all_regi) |
Regional CCS injection rate factor. 1/a. | |
pm_CementAbatementPrice (ttot, all_regi) |
CO2 price used during calculation of cement demand reduction | \(\$/tCO2\) |
pm_CementDemandReductionCost (tall, all_regi) |
cost of reducing cement demand | \(tn\$2005\) |
pm_cesdata (tall, all_regi, all_in, cesParameter) |
parameters of the CES function | |
pm_cesdata_putty (tall, all_regi, all_in, cesParameter) |
quantities for the putty clay factors | |
pm_cesdata_sigma (ttot, all_in) |
elasticities of substitution | |
pm_cf (tall, all_regi, all_te) |
Installed capacity availability - capacity factor (fraction of the year that a plant is running) | |
pm_co2eq0 (tall, all_regi) |
vm_co2eq from last iteration | |
pm_co2eqForeign (tall, all_regi) |
emissions, which are part of the climate policy, of other regions (nash relevant) | |
pm_conv_TWa_EJ | conversion from TWa to EJ | |
pm_data (all_regi, char, all_te) |
Large array for most technical parameters of technologies; more detail on the individual technical parameters can be found in the declaration of the set ‘char’ | |
pm_dataccs (all_regi, char, rlf) |
maximum CO2 storage capacity using CCS technology. | \(GtC\) |
pm_dataeta (tall, all_regi, all_te) |
regional eta data | |
pm_dataren (all_regi, char, rlf, all_te) |
Array including both regional renewable potential and capacity factor | |
pm_delta_histCap (tall, all_regi, all_te) |
parameter to store data of historic capacity additions | \(TW/yr\) |
pm_demPeBio (tall, all_regi) |
Primary energy bioenergy demand from last iteration | \(TWyr\) |
pm_dt (tall) |
difference to last timestep | |
pm_emicapglob (tall) |
global emission cap | |
pm_emiExog (tall, all_regi, all_enty) |
exogenous emissions | |
pm_emifac (tall, all_regi, all_enty, all_enty, all_te, all_enty) |
emission factor by technology for all types of emissions in emiTe | |
pm_emissions0 (tall, all_regi, all_enty) |
Emissions in last iteration | |
pm_emissionsForeign (tall, all_regi, all_enty) |
total emissions of other regions (nash relevant) | |
pm_EN_demand_from_initialcap2 (all_regi, all_enty) |
PE demand resulting from the initialcap routine. | \(EJ, Uranium: MT U3O8\) |
pm_esCapCost (tall, all_regi, all_teEs) |
Capital energy cost per unit of consumption for end-use capital (energy service layer) | |
pm_eta_conv (tall, all_regi, all_te) |
Time-dependent eta for technologies that do not have explicit time-dependant etas, still eta converges until 2050 to dataglob_values. | \(efficiency (0..1)\) |
pm_extRegiEarlyRetiRate (ext_regi) |
regional early retirement rate (extended regions) | |
pm_fe2es (tall, all_regi, all_teEs) |
Conversion factor from final energies to energy services. Default is 1. | |
pm_fedemand (tall, all_regi, all_in) |
final energy demand | |
pm_FEPrice (ttot, all_regi, all_enty, sector, emiMkt) |
parameter to capture all FE prices across sectors and markets (tr$2005/TWa) | |
pm_FEPrice_iter (iteration, ttot, all_regi, all_enty, sector, emiMkt) |
parameter to capture all FE prices across sectors and markets (tr$2005/TWa) across iterations | |
pm_gdp (tall, all_regi) |
GDP data | \(trn US\$ 2005\) |
pm_gdp_gdx (tall, all_regi) |
GDP path from gdx, updated iteratively. | |
pm_GDPGross (tall, all_regi) |
gross GDP (before damages) | |
pm_globalMeanTemperature (tall) |
global mean temperature anomaly | |
pm_globalMeanTemperatureZeroed1900 (tall) |
global mean temperature anomaly, zeroed around 1900 | |
pm_histCap (tall, all_regi, all_te) |
historical installed capacity | |
pm_inco0_t (ttot, all_regi, all_te) |
New inco0 that is time-dependent for some technologies. | \(T\$/TW\) |
pm_interpolWeight_ttot_tall (tall) |
weight for linear interpolation of ttot-dependent variables | |
pm_lab (tall, all_regi) |
data for labour | \(bn people\) |
pm_macAbat (tall, all_regi, all_enty, steps) |
abatement levels based on data from van Vuuren | \(fraction\) |
pm_macAbatLev (tall, all_regi, all_enty) |
actual level of abatement per time step, region, and source | \(fraction\) |
pm_macBaseMagpie (tall, all_regi, all_enty) |
baseline emissions from MAgPIE (type emiMacMagpie) | |
pm_macCost (tall, all_regi, all_enty) |
abatement costs for all emissions subject to MACCs (type emiMacSector) | |
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) | |
pm_macStep (tall, all_regi, all_enty) |
step number of abatement level | \(integer\) |
pm_macSwitch (all_enty) |
switch to include mac option in the code | |
pm_NuclearConstraint (ttot, all_regi, all_te) |
parameter with the real-world capacities, construction and plans | |
pm_omeg | (all_regiopTimeYrall_te) technical depreciation parameter, gives the share of a capacity that is still usable after tlt. | \(none/share, value between 0 and 1\) |
pm_pedem_res (ttot, all_regi, all_te) |
Demand for pebiolc residues, needed for enhancement of residue potential | \(TWa\) |
pm_PEPrice (ttot, all_regi, all_enty) |
parameter to capture all PE prices (tr$2005/TWa) | |
pm_pop (tall, all_regi) |
population data | \(bn people\) |
pm_priceCO2 (tall, all_regi) |
carbon price | \(\$/tC\) |
pm_pricePerm (ttot) |
permit price in special case when the marginal is only found in box module | |
pm_pvp (ttot, all_enty) |
Price on commodity markets | |
pm_pvpRegi (ttot, all_regi, all_enty) |
prices of traded commodities - regional. only used for permit trade | |
pm_regiEarlyRetiRate (ttot, all_regi, all_te) |
regional early retirement rate (model native regions) | |
pm_ResidualCementDemand (tall, all_regi) |
reduction in cemend demand (and thus process emissions) due to climate policy | \(0...1\) |
pm_secBioShare (ttot, all_regi, all_enty, emi_sectors) |
share of biomass per carrier for each sector | |
pm_SEPrice (ttot, all_regi, all_enty) |
parameter to capture all SE prices (tr$2005/TWa) | |
pm_share_CCS_CCO2 (ttot, all_regi) |
share of stored CO2 from total captured CO2 | |
pm_share_ind_fehos (tall, all_regi) |
Share of heating oil used in the industry (rest is residential) | |
pm_share_ind_fesos (tall, all_regi) |
Share of coal solids (coaltr) used in the industry (rest is residential) | |
pm_share_ind_fesos_bio (tall, all_regi) |
Share of biomass solids (biotr) used in the industry (rest is residential) | |
pm_share_trans (tall, all_regi) |
transportation share | |
pm_shfe_lo (ttot, all_regi, all_enty, emi_sectors) |
Final energy shares exogenous lower bounds per sector | |
pm_shfe_up (ttot, all_regi, all_enty, emi_sectors) |
Final energy shares exogenous upper bounds per sector | |
pm_shFeCes (ttot, all_regi, all_enty, all_in, all_teEs) |
Final energy shares for CES nodes | |
pm_shGasLiq_fe_lo (ttot, all_regi, emi_sectors) |
Final energy gases plus liquids shares exogenous lower bounds per sector | |
pm_shGasLiq_fe_up (ttot, all_regi, emi_sectors) |
Final energy gases plus liquids shares exogenous upper bounds per sector | |
pm_shPerm (tall, all_regi) |
emission permit shares | |
pm_shPPPMER (all_regi) |
PPP ratio for calculating GDP|PPP from GDP|MER | |
pm_SolNonInfes (all_regi) |
model status from last iteration. 1 means status 2 or 7, 0 for all other status codes | |
pm_tall_2_ttot (tall, ttot) |
mapping from tall to ttot | |
pm_tau_fe_sub (ttot, all_regi, emi_sectors, all_enty) |
subsidy path for final energy | |
pm_tau_fe_tax (ttot, all_regi, emi_sectors, all_enty) |
tax path for final energy | |
pm_taxCO2eq (ttot, all_regi) |
CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 | \(T\$/GtC\) |
pm_taxCO2eq_iteration (iteration, ttot, all_regi) |
save CO2eq tax used in iteration | |
pm_taxCO2eq_iterationdiff (ttot, all_regi) |
help parameter for iterative adjustment of taxes | |
pm_taxCO2eq_iterationdiff_tmp (ttot, all_regi) |
help parameter for iterative adjustment of taxes | |
pm_taxCO2eqHist (ttot, all_regi) |
Historic CO2 tax path in 2010 and 2015 (also in BAU!) in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 | \(T\$/GtC\) |
pm_taxCO2eqRegi (tall, all_regi) |
additional regional CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 | \(T\$/GtC\) |
pm_taxCO2eqSCC (ttot, all_regi) |
carbon tax component due to damages (social cost of carbon) | |
pm_taxCO2eqSum (tall, all_regi) |
sum of pm_taxCO2eq, pm_taxCO2eqRegi, pm_taxCO2eqHist, pm_taxCO2eqSCC in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 | \(T\$/GtC\) |
pm_taxemiMkt (ttot, all_regi, all_emiMkt) |
CO2 or CO2eq region and emission market specific emission tax | |
pm_taxemiMkt_iteration (iteration, ttot, all_regi, all_emiMkt) |
CO2 or CO2eq region and emission market specific emission tax per iteration | |
pm_temperatureImpulseResponseCO2 (tall, tall) |
temperature impulse response to CO2 | \(K/GtCO2\) |
pm_ts (tall) |
(t_n+1 - t_n-1)/2 for a timestep t_n | |
pm_tsu2opTimeYr (ttot, opTimeYr) |
parameter that counts opTimeYr regarding tsu2opTimeYr apping | |
pm_ttot_2_tall (ttot, tall) |
mapping from ttot to tall | |
pm_ttot_val (ttot) |
value of ttot set element | |
pm_vintage_in (all_regi, opTimeYr, all_te) |
historical vintage structure. | \(arbitrary\) |
qm_balFe (ttot, all_regi, all_enty, all_enty, all_te) |
balance of final energy (fe) | |
qm_co2eqCum (all_regi) |
cumulate regional emissions over time | |
qm_deltaCapCumNet (ttot, all_regi, all_te) |
increase of cumulative net capacity | |
qm_fuel2pe (ttot, all_regi, all_enty) |
constraint on cumulative fuel use | |
sm_budgetCO2eqGlob | budget for global energy-emissions in period 1 | |
sm_c_2_co2 | conversion from c to co2 | |
sm_D2015_2_D2005 | Convert $2015 to $2005 by dividing by 1.2: 1/1.2 = 0.8333 | |
sm_day_2_hour | hours per day | |
sm_dmac | step in MAC functions | \(US\$\) |
sm_DpGJ_2_TDpTWa | multipl. factor to convert (Dollar per GJoule) to (TerraDollar per TWyear) | |
sm_DpKW_2_TDpTW | convert Dollar per kW to TeraDollar per TeraWatt | |
sm_DptCO2_2_TDpGtC | Conversion multiplier to go from \(/tCO2 to T\)/GtC: 44/12/1000 | |
sm_EJ_2_TWa | multiplicative factor to convert from EJ to TWa | |
sm_endBudgetCO2eq | end time step of emission budget period 1 | |
sm_eps | small number: 1e-9 | |
sm_giga_2_non | giga to non | |
sm_GJ_2_TWa | multiplicative factor to convert from GJ to TWa | |
sm_globalBudget_dev | actual level of global cumulated emissions budget divided by target budget | |
sm_mega_2_non | mega to non | |
sm_tgch4_2_pgc | conversion factor 100-yr GWP from TgCH4 to PgCeq | |
sm_tgn_2_pgc | conversion factor 100-yr GWP from TgN to PgCeq | |
sm_tmp | temporary scalar that can be used locally | |
sm_tmp2 | temporary scalar that can be used locally | |
sm_trillion_2_non | trillion to non | |
sm_TWa_2_kWh | tera Watt year to kilo Watt hour | |
sm_TWa_2_MWh | tera Watt year to Mega Watt hour | |
sm_year_2_day | days per year | |
vm_banking (ttot, all_regi) |
banking of emission permits | |
vm_cap (tall, all_regi, all_te, rlf) |
net total capacities | |
vm_capCum (tall, all_regi, all_te) |
gross capacities (=capacities cumulated over time) | |
vm_capDistr (tall, all_regi, all_te, rlf) |
net capacities, distributed to the different grades for renewables | |
vm_capEarlyReti (tall, all_regi, all_te) |
fraction of early retired capital | |
vm_capFac (ttot, all_regi, all_te) |
capacity factor of conversion technologies | |
vm_capTotal (ttot, all_regi, all_enty, all_enty) |
total capacity without technology differentation for technologies where there exists differentation | \(TW\) |
vm_co2capture (ttot, all_regi, all_enty, all_enty, all_te, rlf) |
all captured CO2. | \(GtC/a\) |
vm_co2CCS (ttot, all_regi, all_enty, all_enty, all_te, rlf) |
all differenct ccs. | \(GtC/a\) |
vm_co2eq (ttot, all_regi) |
total emissions measured in co2 equivalents ATTENTION: content depends on multigasscen. | \(GtCeq\) |
vm_co2eqGlob (ttot) |
global emissions to be balanced by allowances. | \(GtCeq\) |
vm_co2eqMkt (ttot, all_regi, all_emiMkt) |
total emissions per market measured in co2 equivalents ATTENTION: content depends on multigasscen. | \(GtCeq\) |
vm_costAddTeInv (tall, all_regi, all_te, emi_sectors) |
additional sector-specific investment cost of demand-side transformation | |
vm_costCESMkup (ttot, all_regi, all_in) |
CES markup cost to represent demand-side technology cost of end-use transformation | \(trUSD/TWa\) |
vm_costEnergySys (ttot, all_regi) |
energy system costs | |
vm_costFuBio (ttot, all_regi) |
fuel costs from bio energy | \(tril\$US\) |
vm_costFuEx (ttot, all_regi, all_enty) |
fuel costs from exhaustible energy | \(tril\$US\) |
vm_costpollution (tall, all_regi) |
costs for air pollution policies | |
vm_costSubsidizeLearning (ttot, all_regi) |
regional cost of subsidy for learning technologies | |
vm_costTeCapital (ttot, all_regi, all_te) |
investment costs | |
vm_deltaCap (tall, all_regi, all_te, rlf) |
capacity additions | |
vm_demFeForEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Final energy which will be used in the ES layer. | |
vm_demFeSector (ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt) |
fe demand per sector and emission market. | \(TWa\) |
vm_demPe (tall, all_regi, all_enty, all_enty, all_te) |
pe demand. | \(TWa, Uranium: Mt Ur\) |
vm_demSe (ttot, all_regi, all_enty, all_enty, all_te) |
se demand. | \(TWa\) |
vm_demSeOth (ttot, all_regi, all_enty, all_te) |
other sety demand from certain technologies, have to calculated in additional equations | \(TWa\) |
vm_dummyBudget (ttot, all_regi) |
auxiliary variable that helps to meet permit allocation equation in nash case | |
vm_emiAll (ttot, all_regi, all_enty) |
total regional emissions. | \(GtC, Mt CH4, Mt N\) |
vm_emiAllGlob (ttot, all_enty) |
total global emissions - link to the climate module. | \(GtC, Mt CH4, Mt N\) |
vm_emiAllMkt (tall, all_regi, all_enty, all_emiMkt) |
total regional emissions for each emission market. | \(GtC, Mt CH4, Mt N\) |
vm_emiCdr (ttot, all_regi, all_enty) |
total (negative) emissions due to CDR technologies of each region. | \(GtC\) |
vm_emiCdrAll (ttot, all_regi) |
all CDR emissions | |
vm_emiCO2Sector (ttot, all_regi, emi_sectors) |
total CO2 emissions from individual sectors | \(GtC\) |
vm_emiFgas (ttot, all_regi, all_enty) |
F-gas emissions by single gases from IMAGE | |
vm_emiMac (ttot, all_regi, all_enty) |
total non-energy-related emission of each region. | \(GtC, Mt CH4, Mt N\) |
vm_emiMacSector (ttot, all_regi, all_enty) |
total non-energy-related emission of each region. | \(GtC, Mt CH4, Mt N\) |
vm_emiTe (ttot, all_regi, all_enty) |
total energy-related emissions of each region. | \(GtC, Mt CH4, Mt N\) |
vm_emiTeDetail (ttot, all_regi, all_enty, all_enty, all_te, all_enty) |
energy-related emissions per region and technology | |
vm_emiTeMkt (tall, all_regi, all_enty, all_emiMkt) |
total energy-emissions of each region and emission market. | \(GtC, Mt CH4, Mt N\) |
vm_enerSerAdj (tall, all_regi, all_in) |
adjustment costs for energy service transformations | |
vm_esCapInv (ttot, all_regi, all_teEs) |
investment for energy end-use capital at the energy service level | |
vm_flexAdj (tall, all_regi, all_te) |
flexibility adjustment used for flexibility subsidy (tax) to emulate price changes of technologies which see lower-than-average (higher-than-average) elec. prices | \(trUSD/TWa\) |
vm_fuExtr (ttot, all_regi, all_enty, rlf) |
fuel use | \(TWa\) |
vm_macBase (ttot, all_regi, all_enty) |
baseline emissions for all emissions subject to MACCs (type emismac) | |
vm_omcosts_cdr (tall, all_regi) |
O&M costs for spreading grinded rocks on fields | |
vm_otherFEdemand (ttot, all_regi, all_enty) |
final energy demand from no transformation technologies (e.g. enhanced weathering) | |
vm_pebiolc_price (ttot, all_regi) |
Bioenergy price according to MAgPIE supply curves | \(T\$US/TWa\) |
vm_perm (ttot, all_regi) |
emission allowances | |
vm_prodEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy services (unit determined by conversion factor pm_fe2es). | |
vm_prodFe (ttot, all_regi, all_enty, all_enty, all_te) |
fe production. | \(TWa\) |
vm_prodPe (ttot, all_regi, all_enty) |
pe production. | \(TWa, Uranium: Mt Ur\) |
vm_prodSe (tall, all_regi, all_enty, all_enty, all_te) |
se production. | \(TWa\) |
vm_prodSeOth (ttot, all_regi, all_enty, all_te) |
other sety production from certain technologies, have to be calculated in additional equations | \(TWa\) |
vm_prodUe (ttot, all_regi, all_enty, all_enty, all_te) |
Useful energy production | \(TWa\) |
vm_taxrev (ttot, all_regi) |
difference between tax volume in current and previous iteration | |
vm_taxrevimplFETax (ttot, all_regi) |
implicit efficiency directive target tax | |
vm_transpGDPscale (ttot, all_regi) |
dampening factor to align edge-t non-energy transportation costs with historical GDP data | |
vm_usableSe (ttot, all_regi, entySe) |
usable se before se2se and MP/XP (pe2se, +positive oc from pe2se, -storage losses). | \(TWa\) |
vm_usableSeTe (ttot, all_regi, entySe, all_te) |
usable se produced by one te (pe2se, +positive oc from pe2se, -storage losses). | \(TWa\) |
table fm_dataglob(char,all_te) "energy technology characteristics: investment costs, O&M costs, efficiency, learning rates ..."
$include "./core/input/generisdata_tech.prn"
$include "./core/input/generisdata_trade.prn"
;
pm_ResidualCementDemand(tall,all_regi) "reduction in cemend demand (and thus process emissions) due to climate policy [0...1]"
pm_CementAbatementPrice(ttot,all_regi) "CO2 price used during calculation of cement demand reduction [$/tCO2]"
pm_CementDemandReductionCost(tall,all_regi) "cost of reducing cement demand [tn$2005]"
p_macPE(ttot,all_regi,all_enty) "pe from MACs"
pm_shPerm(tall, all_regi) "emission permit shares"
pm_emicapglob(tall) "global emission cap"
p_adj_coeff(ttot,all_regi,all_te) "coefficient for adjustment costs"
p_adj_coeff_glob(all_te) "coefficient for adjustment costs - global scale"
p_switch_cement(ttot,all_regi) "describes an s-curve to provide a smooth switching from the short-term behavior (depending on per capita capital investments) to the long-term behavior (constant per capita emissions) of CO2 emissions from cement production"
p_cint(all_regi,all_enty,all_enty,rlf) "additional emissions of GHG from mining, on top of emissions from combustion"
pm_eta_conv(tall,all_regi,all_te) "Time-dependent eta for technologies that do not have explicit time-dependant etas, still eta converges until 2050 to dataglob_values. [efficiency (0..1)]"
pm_extRegiEarlyRetiRate(ext_regi) "regional early retirement rate (extended regions)" / %c_regi_earlyreti_rate% /
$IFTHEN.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off"
p_techEarlyRetiRate(ext_regi,all_te) "Technology specific early retirement rate" / %c_tech_earlyreti_rate% /
$ENDIF.tech_earlyreti
pm_regiEarlyRetiRate(ttot,all_regi,all_te) "regional early retirement rate (model native regions)"
pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]"
pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1"
p_actualbudgetco2(tall) "actual level of cumulated emissions starting from 2020 [GtCO2]"
pm_dataccs(all_regi,char,rlf) "maximum CO2 storage capacity using CCS technology. [GtC]"
pm_ccsinjecrate(all_regi) "Regional CCS injection rate factor. 1/a."
p_extRegiccsinjecrateRegi(ext_regi) "Regional CCS injection rate factor. 1/a. (extended regions)"
pm_dataeta(tall,all_regi,all_te) "regional eta data"
p_emi_quan_conv_ar4(all_enty) "conversion factor for various gases to GtCeq"
pm_emifac(tall,all_regi,all_enty,all_enty,all_te,all_enty) "emission factor by technology for all types of emissions in emiTe"
pm_omeg (all_regi,opTimeYr,all_te) "technical depreciation parameter, gives the share of a capacity that is still usable after tlt. [none/share, value between 0 and 1]"
p_aux_lifetime(all_regi,all_te) "auxiliary parameter for calculating life times, calculated externally in excel sheet"
pm_pedem_res(ttot,all_regi,all_te) "Demand for pebiolc residues, needed for enhancement of residue potential [TWa]"
p_ef_dem(all_regi,all_enty) "Demand side emission factor of final energy carriers [MtCO2/EJ]"
pm_demPeBio(tall,all_regi) "Primary energy bioenergy demand from last iteration [TWyr]"
pm_secBioShare(ttot,all_regi,all_enty,emi_sectors) "share of biomass per carrier for each sector"
p_avCapFac2015(all_regi,all_te) "average capacity factor of non-bio renewables in 2015 in REMIND"
p_aux_capToDistr(all_regi,all_te) "aux. param. to calculate p_avCapFac2015;
p_share_seliq_s(ttot,all_regi) "share of liquids used for stationary sector (fehos). [0..1]"
p_share_seh2_s(ttot,all_regi) "share of hydrogen used for stationary sector (feh2s). [0..1]"
p_share_seel_s(ttot,all_regi) "Share of electricity used for stationary sector (feels). [0..1]"
p_discountedLifetime(all_te) "Sum over the discounted (@6%) depreciation factor (omega)"
p_teAnnuity(all_te) "Annuity factor of a technology"
;
v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0..1]"
v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1."
v_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy in sector total final energy [0..1]"
v_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy [0..1]"
vm_emiCdrAll(ttot,all_regi) "all CDR emissions"
vm_demFeForEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Final energy which will be used in the ES layer."
vm_prodEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Energy services (unit determined by conversion factor pm_fe2es)."
vm_transpGDPscale(ttot,all_regi) "dampening factor to align edge-t non-energy transportation costs with historical GDP data"
vm_costCESMkup(ttot,all_regi,all_in) "CES markup cost to represent demand-side technology cost of end-use transformation [trUSD/TWa]"
;
s_macChange "maximum yearly increase of relative abatement in percentage points of maximum abatement. [0..1]" /0.05/
sm_tgn_2_pgc "conversion factor 100-yr GWP from TgN to PgCeq"
sm_tgch4_2_pgc "conversion factor 100-yr GWP from TgCH4 to PgCeq"
s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/
sm_D2015_2_D2005 "Convert $2015 to $2005 by dividing by 1.2: 1/1.2 = 0.8333" /0.8333/
sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/
s_co2pipe_leakage "Leakage rate of CO2 pipelines. [0..1]"
s_tau_cement "range of per capita investments for switching from short-term to long-term behavior in CO2 cement emissions" / 12000 /
s_c_so2 "constant, see S. Smith, 2004, Future Sulfur Dioxide Emissions" /4.39445/
s_ccsinjecrate "CCS injection rate factor. [1/a]"
s_t_start "start year of emission budget"
cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot"
sm_endBudgetCO2eq "end time step of emission budget period 1"
sm_budgetCO2eqGlob "budget for global energy-emissions in period 1"
p_emi_budget1_gdx "budget for global energy-emissions in period 1 from gdx, may overwrite default values"
s_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration"
s_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/
sm_globalBudget_dev "actual level of global cumulated emissions budget divided by target budget"
sm_eps "small number: 1e-9 " /1e-9/
;
Fuel costs are associated with the use of exhaustible primary energy (fossils, uranium) and biomass.
\[\begin{multline*} v\_costFu(t,regi) = vm\_costFuBio(t,regi) + \sum_{peEx(enty)} vm\_costFuEx(t,regi,enty) \end{multline*}\]
Specific investment costs of learning technologies are a model-endogenous variable; those of non-learning technologies are fixed to constant values. Total investment costs are the product of specific costs and capacity additions plus adjustment costs.
\[\begin{multline*} v\_costInv(t,regi) = \sum_{en2en(enty,enty2,te)}\left( v\_costInvTeDir(t,regi,te) + v\_costInvTeAdj(t,regi,te)\$teAdj(te) \right) + \sum_{teNoTransform}\left( v\_costInvTeDir(t,regi,teNoTransform) + v\_costInvTeAdj(t,regi,teNoTransform)\$teAdj(teNoTransform) \right) + \sum_{sector2te\_addTDCost(sector,te)}\left( vm\_costAddTeInv(t,regi,te,sector) \right) + \sum_{in\$ppfen\_CESMkup(in)}\left( vm\_costCESMkup(t,regi,in) \right) \end{multline*}\]
\[\begin{multline*} v\_costInvTeDir(t,regi,te) = vm\_costTeCapital(t,regi,te) \cdot \sum_{te2rlf(te,rlf)} vm\_deltaCap(t,regi,te,rlf) \end{multline*}\]
\[\begin{multline*} v\_costInvTeAdj(t,regi,teAdj) = vm\_costTeCapital(t,regi,teAdj) \cdot \left( \left(p\_adj\_coeff(t,regi,teAdj) \cdot v\_adjFactor(t,regi,teAdj)\right) + \left(p\_adj\_coeff\_glob(teAdj) \cdot v\_adjFactorGlob(t,regi,teAdj) \right) \right) \end{multline*}\]
Operation and maintenance costs from maintenance of existing facilities according to their capacity and operation of energy transformations according to the amount of produced secondary and final energy.
\[\begin{multline*} v\_costOM(t,regi) = \sum_{en2en(enty,enty2,te)}\left( pm\_data(regi,"omf",te) \cdot \sum_{te2rlf(te,rlf)}\left( vm\_costTeCapital(t,regi,te) \cdot vm\_cap(t,regi,te,rlf) \right) + pm\_data(regi,"omv",te) \cdot \left(vm\_prodSe(t,regi,enty,enty2,te)\$entySe(enty2) + vm\_prodFe(t,regi,enty,enty2,te)\$entyFe(enty2)\right) \right) + \sum_{teNoTransform(te)}\left( pm\_data(regi,"omf",te) \cdot \sum_{te2rlf(te,rlf)}\left( vm\_costTeCapital(t,regi,te) \cdot vm\_cap(t,regi,te,rlf) \right) \right) + vm\_omcosts\_cdr(t,regi) \end{multline*}\]
Energy balance equations equate the production of and demand for each primary, secondary and final energy. The balance equation for primary energy equals supply of primary energy demand on primary energy.
\[\begin{multline*} vm\_prodPe(t,regi,enty) + p\_macPE(t,regi,enty) = \sum_{pe2se(enty,enty2,te)} vm\_demPe(t,regi,enty,enty2,te) +\frac{ p\_datacs(regi,enty) }{ 0.95 } \end{multline*}\]
The secondary energy balance comprises the following terms (except power, defined on module): 1. Secondary energy can be produced from primary or (another type of) secondary energy. 2. Own consumption of secondary energy occurs from the production of secondary and final energy, and from CCS technologies. Own consumption is calculated as the product of the respective production and a negative coefficient. The mapping defines possible combinations: the first two enty types of the mapping define the underlying transformation process, the 3rd argument the technology, and the 4th argument specifies the consumed energy type. 3. Couple production is modeled as own consumption, but with a positive coefficient. 4. Secondary energy can be demanded to produce final or (another type of) secondary energy.
\[\begin{multline*} \sum_{pe2se(enty,enty2,te)} vm\_prodSe(t,regi,enty,enty2,te) + \sum_{se2se(enty,enty2,te)} vm\_prodSe(t,regi,enty,enty2,te) + \sum_{pc2te\left(enty,entySE(enty3),te,enty2\right)}\left( pm\_prodCouple(regi,enty,enty3,te,enty2) \cdot vm\_prodSe(t,regi,enty,enty3,te) \right) + \sum_{pc2te\left(enty4,entyFE(enty5),te,enty2\right)}\left( pm\_prodCouple(regi,enty4,enty5,te,enty2) \cdot vm\_prodFe(t,regi,enty4,enty5,te) \right) + \sum_{pc2te(enty,enty3,te,enty2)}\left( \sum_{teCCS2rlf(te,rlf)}\left( pm\_prodCouple(regi,enty,enty3,te,enty2) \cdot vm\_co2CCS(t,regi,enty,enty3,te,rlf) \right) \right) + \left( s\_MtCH4\_2\_TWa \cdot \left( vm\_macBase(t,regi,"ch4wstl") - vm\_emiMacSector(t,regi,"ch4wstl") \right) \right)\$\left( sameas(enty2,"segabio") \& t.val gt 2005 \right) + \sum_{prodSeOth2te(enty2,te)} vm\_prodSeOth(t,regi,enty2,te) + vm\_Mport(t,regi,enty2) = \sum_{se2fe(enty2,enty3,te)} vm\_demSe(t,regi,enty2,enty3,te) + \sum_{se2se(enty2,enty3,te)} vm\_demSe(t,regi,enty2,enty3,te) + \sum_{demSeOth2te(enty2,te)} vm\_demSeOth(t,regi,enty2,te) + vm\_Xport(t,regi,enty2) \end{multline*}\]
Taking the technology-specific transformation eficiency into account, the equations describe the transformation of an energy type to another type. Depending on the detail of the technology representation, the transformation technology’s eficiency can depend either only on the current year or on the year when a specific technology was built. Transformation from primary to secondary energy:
q_transPe2se(ttot,regi,pe2se(enty,enty2,te))$(ttot.val ge cm_startyear)..
vm_demPe(ttot,regi,enty,enty2,te)
=e=
(1 / pm_eta_conv(ttot,regi,te) * vm_prodSe(ttot,regi,enty,enty2,te))$teEtaConst(te)
+
(1 - vm_capEarlyReti(ttot,regi,te))
*
sum(teSe2rlf(teEtaIncr(te),rlf),
vm_capFac(ttot,regi,te)
* (
sum(opTimeYr2te(te,opTimeYr)$(tsu2opTimeYr(ttot,opTimeYr) AND (opTimeYr.val gt 1) ),
pm_ts(ttot-(pm_tsu2opTimeYr(ttot,opTimeYr)-1))
/ pm_dataeta(ttot-(pm_tsu2opTimeYr(ttot,opTimeYr)-1),regi,te)
* pm_omeg(regi,opTimeYr+1,te)
* vm_deltaCap(ttot-(pm_tsu2opTimeYr(ttot,opTimeYr)-1),regi,te,rlf)
)
+ pm_dt(ttot)/2 / pm_dataeta(ttot,regi,te)
* pm_omeg(regi,"2",te)
* vm_deltaCap(ttot,regi,te,rlf)
$ifthen setglobal END2110
- (pm_ts(ttot) / pm_dataeta(ttot,regi,te) * pm_omeg(regi,"11",te)
* 0.5*vm_deltaCap(ttot,regi,te,rlf))$(ord(ttot) eq card(ttot))
$endif
)
);
Transformation from secondary to final energy:
\[\begin{multline*} pm\_eta\_conv(t,regi,te) \cdot vm\_demSe(t,regi,entySe,entyFe,te) = vm\_prodFe(t,regi,entySe,entyFe,te) \end{multline*}\]
Transformation between secondary energy types:
\[\begin{multline*} pm\_eta\_conv(t,regi,te) \cdot vm\_demSe(t,regi,enty,enty2,te) = vm\_prodSe(t,regi,enty,enty2,te) \end{multline*}\]
\[\begin{multline*} vm\_prodFe(t,regi,entySe,entyFe,te) = \sum_{sector2emiMkt(sector,emiMkt),entyFE2sector(entyFE,sector)}\left( vm\_demFEsector(t,regi,entySE,entyFE,sector,emiMkt) \right) \end{multline*}\]
FE Pathway III: Energy service layer (prodFe -> demFeForEs -> prodEs), no capacity tracking. Transformation from final energy to energy services:
\[\begin{multline*} pm\_fe2es(t,regi,teEs) \cdot vm\_demFeForEs(t,regi,entyFe,esty,teEs) = vm\_prodEs(t,regi,entyFe,esty,teEs) \end{multline*}\]
Hand-over to CES:
\[\begin{multline*} vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity") = \sum_{fe2es(entyFe,esty,teEs)\$es2ppfen(esty,in)} vm\_prodEs(t,regi,entyFe,esty,teEs) \end{multline*}\]
Shares of FE carriers w.r.t. a CES node:
\[\begin{multline*} \sum_{fe2es(entyFe2,esty,teEs2)\$es2ppfen(esty,in)} vm\_demFeForEs(t,regi,entyFe2,esty,teEs2) \cdot pm\_shFeCes(t,regi,entyFe,in,teEs) = \sum_{fe2es(entyFe,esty,teEs)\$es2ppfen(esty,in)} vm\_demFeForEs(t,regi,entyFe,esty,teEs) \end{multline*}\]
Definition of capacity constraints for primary energy to secondary energy transformation:
\[\begin{multline*} vm\_prodSe(t,regi,enty,enty2,te) = \sum_{teSe2rlf(te,rlf)}\left( vm\_capFac(t,regi,te) \cdot pm\_dataren(regi,"nur",rlf,te) \cdot vm\_cap(t,regi,te,rlf) \right)\$\left(NOT teReNoBio(te)\right) + \sum_{teRe2rlfDetail(te,rlf)}\left( \left( 1\$teRLDCDisp(te) + pm\_dataren(regi,"nur",rlf,te)\$\left(NOT teRLDCDisp(te)\right) \right) \cdot vm\_capFac(t,regi,te) \cdot vm\_capDistr(t,regi,te,rlf) \right)\$teReNoBio(te) \end{multline*}\]
Definition of capacity constraints for secondary energy to secondary energy transformation:
\[\begin{multline*} vm\_prodSe(t,regi,enty,enty2,te) = \sum_{teSe2rlf(te,rlf)}\left( vm\_capFac(t,regi,te) \cdot pm\_dataren(regi,"nur",rlf,te) \cdot vm\_cap(t,regi,te,rlf) \right) \end{multline*}\]
Definition of capacity constraints for secondary energy to final energy transformation:
\[\begin{multline*} \sum_{\left(entySe,entyFe\right)\$se2fe(entySe,entyFe,te)} vm\_prodFe(t,regi,entySe,entyFe,te) \leq \sum_{teFe2rlf(te,rlf)}\left( vm\_capFac(t,regi,te) \cdot vm\_cap(t,regi,te,rlf)\right) \end{multline*}\]
Definition of capacity constraints for CCS technologies:
\[\begin{multline*} vm\_co2CCS(t,regi,enty,enty2,te,rlf) = \sum_{teCCS2rlf(te,rlf)}\left( vm\_capFac(t,regi,te) \cdot vm\_cap(t,regi,te,rlf)\right) \end{multline*}\]
The capacities of vintaged technologies depreciate according to a vintage depreciation scheme, with generally low depreciation at the beginning of the lifetime, and fast depreciation around the average lifetime. Depreciation can generally be tracked for each grade separately. By implementation, however, only grades of level 1 are affected. The depreciation of any fossil technology can be accelerated by early retirement, which is a crucial way to quickly phase out emissions after the implementation of stringent climate policies. Calculation of actual capacities (exponential and vintage growth TE):
q_cap(ttot,regi,te2rlf(te,rlf))$(ttot.val ge cm_startyear)..
vm_cap(ttot,regi,te,rlf)
=e=
(1 - vm_capEarlyReti(ttot,regi,te))
*
(sum(opTimeYr2te(te,opTimeYr)$(tsu2opTimeYr(ttot,opTimeYr) AND (opTimeYr.val gt 1) ),
pm_ts(ttot-(pm_tsu2opTimeYr(ttot,opTimeYr)-1))
* pm_omeg(regi,opTimeYr+1,te)
* vm_deltaCap(ttot-(pm_tsu2opTimeYr(ttot,opTimeYr)-1),regi,te,rlf)
)
+ ( pm_dt(ttot) / 2
* pm_omeg(regi,"2",te)
* vm_deltaCap(ttot,regi,te,rlf)
)
$ifthen setGlobal END2110
- ( pm_ts(ttot) / 2
* pm_omeg(regi,"11",te)
* vm_deltaCap(ttot,regi,te,rlf)
)$ (ord(ttot) eq card(ttot) )
$endif
);
\[\begin{multline*} \sum_{teRe2rlfDetail(te,rlf)} vm\_capDistr(t,regi,te,rlf) = vm\_cap(t,regi,te,"1") \end{multline*}\]
Calculation of total primary to secondary energy capacities Used for comfortably setting bounds on total capacity without technology differentiation.
\[\begin{multline*} vm\_capTotal(t,regi,entyPe,entySe) = \sum_{ pe2se\left(entyPe, entySe, te\right)}\left( vm\_cap(t,regi,te,"1")\right) \end{multline*}\]
CG: implementing simple exogenous wind offshore energy production
\[\begin{multline*} \sum_{rlf} vm\_deltaCap(t,regi,"windoff",rlf) \geq p\_shareWindOff(t) \cdot p\_shareWindPotentialOff2On(regi) \cdot 0.5 \cdot \sum_{rlf} vm\_deltaCap(t,regi,"wind",rlf) \end{multline*}\]
\[\begin{multline*} \sum_{rlf} vm\_deltaCap(t,regi,"windoff",rlf) \leq p\_shareWindOff(t) \cdot p\_shareWindPotentialOff2On(regi) \cdot 2 \cdot \sum_{rlf} vm\_deltaCap(t,regi,"wind",rlf) \end{multline*}\]
Technological change is an important driver of the evolution of energy systems. For mature technologies, such as coal-fired power plants, the evolution of techno-economic parameters is prescribed exogenously. For less mature technologies with substantial potential for cost decreases via learning-bydoing, investment costs are determined via an endogenous one-factor learning curve approach that assumes floor costs. Calculation of cumulated capacities (learning technologies only):
\[\begin{multline*} vm\_capCum(ttot+1,regi,teLearn) = \sum_{te2rlf(teLearn,rlf)}\left( \left(\frac{pm\_ts(ttot) }{ 2 } \cdot vm\_deltaCap(ttot,regi,teLearn,rlf)\right) + \left(\frac{pm\_ts(ttot+1) }{ 2 } \cdot vm\_deltaCap(ttot+1,regi,teLearn,rlf)\right) \right) + vm\_capCum(ttot,regi,teLearn) \end{multline*}\]
Initial values for cumulated capacities (learning technologies only):
\[\begin{multline*} vm\_capCum(t0,regi,teLearn) = pm\_data(regi,"ccap0",teLearn) \end{multline*}\]
Additional equation for fuel shadow price calulation:
\[\begin{multline*} vm\_prodPe(t,regi,enty) = \sum_{pe2rlf(enty,rlf2)}vm\_fuExtr(t,regi,enty,rlf2)-\left(vm\_Xport(t,regi,enty)-\left(1-pm\_costsPEtradeMp(regi,enty)\right) \cdot vm\_Mport(t,regi,enty)\right)\$tradePe(enty) - \sum_{pe2rlf(enty2,rlf2)}\left( \left(pm\_fuExtrOwnCons\left(regi, enty, enty2\right) \cdot vm\_fuExtr(t,regi,enty2,rlf2)\right)\$\left(pm\_fuExtrOwnCons\left(regi, enty, enty2\right) gt 0\right)\right) \end{multline*}\]
Definition of resource constraints for renewable energy types:
\[\begin{multline*} pm\_dataren(regi,"maxprod",rlf,te) \geq \left( 1\$teRLDCDisp(te) + pm\_dataren(regi,"nur",rlf,te)\$\left(NOT teRLDCDisp(te)\right) \right) \cdot vm\_capFac(t,regi,te) \cdot vm\_capDistr(t,regi,te,rlf) \end{multline*}\]
Definition of competition for geographical potential for renewable energy types:
\[\begin{multline*} p\_datapot(regi,"limitGeopot",rlf,enty) \geq \sum_{te\$teReComp2pe(enty,te,rlf)}\left(\frac{vm\_capDistr(t,regi,te,rlf) }{ \left(\frac{pm\_data(regi,"luse",te)}{1000}\right)}\right) \end{multline*}\]
\[\begin{multline*} vm\_costTeCapital(t,regi,teLearn) = \left( fm\_dataglob("learnMult\_wFC",teLearn) \cdot \left( \left( \sum_{regi2} vm\_capCum(t,regi2,teLearn) + pm\_capCumForeign(t,regi,teLearn) \right) ^{ fm\_dataglob("learnExp\_wFC",teLearn) }\right) \right)\$\left( t.val le 2005 \right) + \left(\frac{ \left(2020 - t.val\right)}{15 } \cdot fm\_dataglob("learnMult\_wFC",teLearn) \cdot \left( \sum_{regi2} vm\_capCum(t,regi2,teLearn) + pm\_capCumForeign(t,regi,teLearn) \right) ^{ fm\_dataglob("learnExp\_wFC",teLearn) }+\frac{ \left(t.val - 2005\right)}{15 } \cdot pm\_data(regi,"learnMult\_wFC",teLearn) \cdot \left( \sum_{regi2} vm\_capCum(t,regi2,teLearn) + pm\_capCumForeign(t,regi,teLearn) \right) ^{ pm\_data(regi,"learnExp\_wFC",teLearn) }\right)\$\left( \left(t.val gt 2005\right) \& \left(t.val lt 2020\right) \right) + \left(\frac{ \left(pm\_ttot\_val(t) - 2020\right) }{ 30 } \cdot fm\_dataglob("learnMult\_wFC",teLearn) \cdot \left( \sum_{regi2} vm\_capCum(t,regi2,teLearn) + pm\_capCumForeign(t,regi,teLearn) \right) ^{ fm\_dataglob("learnExp\_wFC",teLearn) }+\frac{ \left(2050 - pm\_ttot\_val(t)\right) }{ 30 } \cdot pm\_data(regi,"learnMult\_wFC",teLearn) \cdot \left( \sum_{regi2} vm\_capCum(t,regi2,teLearn) + pm\_capCumForeign(t,regi,teLearn) \right) ^{ pm\_data(regi,"learnExp\_wFC",teLearn) }\right)\$\left( t.val ge 2020 \& t.val le 2050 \right) + \left( fm\_dataglob("learnMult\_wFC",teLearn) \cdot \left(\sum_{regi2} vm\_capCum(t,regi2,teLearn) + pm\_capCumForeign(t,regi,teLearn) \right) ^{fm\_dataglob("learnExp\_wFC",teLearn) }\right)\$\left(t.val gt 2050\right) + pm\_data(regi,"floorcost",teLearn) \end{multline*}\]
EMF27 limits on fluctuating renewables, only turned on for special EMF27 and AWP 2 scenarios, not for SSP
\[\begin{multline*} vm\_prodSe(t,regi,"pebiolc","sesobio","biotrmod") - \sum \left(in\$sameAs("fesob",in), vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity")\right) - \sum \left(fe2es(entyFe,esty,teEs)\$buildMoBio(esty), vm\_demFeForEs(t,regi,entyFe,esty,teEs) \right) \leq \left(2 + max\left(0,min\left(\frac{1,\left( 2100 - pm\_ttot\_val(t)\right) }{ \left( 2100 - 2020 \right)}\right)\right) \cdot 3\right) \cdot vm\_prodSe(t,regi,"pecoal","sesofos","coaltr") \end{multline*}\]
Emissions result from primary to secondary energy transformation, from secondary to final energy transformation (some air pollutants), or transformations within the chain of CCS steps (Leakage).
\[\begin{multline*} vm\_emiTeDetail(t,regi,enty,enty2,te,enty3) = \sum_{emiMkt} v\_emiTeDetailMkt(t,regi,enty,enty2,te,enty3,emiMkt) \end{multline*}\]
Total energy-emissions:
\[\begin{multline*} vm\_emiTe(t,regi,enty) = \sum_{emiMkt} vm\_emiTeMkt(t,regi,enty,emiMkt) \end{multline*}\]
Emissions per market from primary to secondary energy transformation, from secondary to final energy transformation (some air pollutants), or transformations within the chain of CCS steps (Leakage).
\[\begin{multline*} v\_emiTeDetailMkt(t,regi,enty,enty2,te,enty3,emiMkt) = \sum_{emi2te(enty,enty2,te,enty3)}\left( \left( \sum_{pe2se(enty,enty2,te)}\left( pm\_emifac(t,regi,enty,enty2,te,enty3) \cdot vm\_demPE(t,regi,enty,enty2,te) \right) + \sum_{ccs2Leak(enty,enty2,te,enty3),teCCS2rlf(te,rlf)}\left( pm\_emifac(t,regi,enty,enty2,te,enty3) \cdot vm\_co2CCS(t,regi,enty,enty2,te,rlf) \right) \right)\$sameas(emiMkt,"ETS") + \sum_{se2fe(enty,enty2,te)}\left( pm\_emifac(t,regi,enty,enty2,te,enty3) \cdot \sum_{sector\$\left(entyFe2Sector(enty2,sector) \& sector2emiMkt(sector,emiMkt)\right)} vm\_demFeSector(t,regi,enty,enty2,sector,emiMkt) \right) \right) \end{multline*}\]
energy emissions from fuel extraction
\[\begin{multline*} v\_emiEnFuelEx(t,regi,enty) = \sum_{emi2fuelMine(enty,enty2,rlf)}\left( p\_cint(regi,enty,enty2,rlf) \cdot vm\_fuExtr(t,regi,enty2,rlf) \right)\$\left( c\_cint\_scen eq 1 \right) + \left(\sum_{pe2rlf(enty3,rlf2)}\left( \sum_{enty2\$peFos(enty2)}\left( \left(p\_cintraw(enty2) \cdot pm\_fuExtrOwnCons\left(regi, enty2, enty3\right) \cdot vm\_fuExtr(t,regi,enty3,rlf2)\right)\$\left(pm\_fuExtrOwnCons\left(regi, enty2, enty3\right) gt 0\right)\right)\right)\right)\$sameas("co2",enty) \end{multline*}\]
Total energy-emissions per emission market, region and timestep
\[\begin{multline*} vm\_emiTeMkt(t,regi,enty,emiMkt) = \sum_{emi2te(enty2,enty3,te,enty)}\left( v\_emiTeDetailMkt(t,regi,enty2,enty3,te,enty,emiMkt) \right) + v\_emiEnFuelEx(t,regi,enty)\$sameas(emiMkt,"ETS") - \left( \sum_{emiMac2mac(emiInd37\_fuel,enty2)}\left( vm\_emiIndCCS(t,regi,emiInd37\_fuel) \right)\$ sameas(enty,"co2") \right)\$sameas(emiMkt,"ETS") + \left( v\_co2capturevalve(t,regi)\$ sameas(enty,"co2") \right)\$sameas(emiMkt,"ETS") + \sum_{teCCU2rlf(te2,rlf)}\left( vm\_co2CCUshort(t,regi,"cco2","ccuco2short",te2,rlf)\$ sameas(enty,"co2") \right)\$sameas(emiMkt,"ETS") \end{multline*}\]
Total emissions
\[\begin{multline*} vm\_emiAllMkt(t,regi,emi,emiMkt) = vm\_emiTeMkt(t,regi,emi,emiMkt) + \sum_{emiMacSector2emiMac\left(emiMacSector,emiMac(emi)\right)\$macSector2emiMkt(emiMacSector,emiMkt)}\left( vm\_emiMacSector(t,regi,emiMacSector) \right) + vm\_emiCdr(t,regi,emi)\$\left(sameas(emi,"co2") \& sameas(emiMkt,"ETS")\right) + pm\_emiExog(t,regi,emi)\$sameas(emiMkt,"other") \end{multline*}\]
Sectoral energy-emissions used for taxation markup with cm_CO2TaxSectorMarkup
\[\begin{multline*} vm\_emiCO2Sector(t,regi,sector) = \sum_{se2fe(entySe,entyFe,te)}\left( \sum_{emiMkt\$sector2emiMkt(sector,emiMkt)}\left( pm\_emifac(t,regi,entySe,entyFe,te,"co2") \cdot vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt) \right) \right) - \sum_{se2fe(entySe,entyFe,te)}\left( pm\_emifac(t,regi,entySe,entyFe,te,"co2") \cdot vm\_demFeSector(t,regi,entySe,entyFe,sector,"other") \right)\$\left(sameAs\left(sector, "trans"\right)\right) \end{multline*}\]
Mitigation options that are independent of energy consumption are represented using marginal abatement cost (MAC) curves, which describe the percentage of abated emissions as a function of the costs. Baseline emissions are obtained by three different methods: by source (via emission factors), by econometric estimate, and exogenous. Emissions are calculated as baseline emissions times (1 - relative emission reduction). If coupled to MAgPIE pm_macBaseMagpie contains all N2O landuse emissions including n2o from biomass production and p_efFossilFuelExtr(regi,“pebiolc”,“n2obio”) is zero then. If running standalone pm_macBaseMagpie does not include n2o from biomass but it is added here. In case of CO2 from landuse (co2luc), emissions can be negative. To treat these emissions in the same framework, we subtract the minimal emission level from baseline emissions. This shift factor is then added again when calculating total emissions. The endogenous baselines of non-energy emissions are calculated in the following equation:
\[\begin{multline*} vm\_macBase(t,regi,enty) = \sum_{emi2fuel(enty2,enty)}\left( p\_efFossilFuelExtr(regi,enty2,enty) \cdot \sum_{pe2rlf(enty2,rlf)} vm\_fuExtr(t,regi,enty2,rlf) \right)\$ emiFuEx(enty) + \left( pm\_macBaseMagpie(t,regi,enty) + p\_efFossilFuelExtr(regi,"pebiolc","n2obio") \cdot vm\_fuExtr(t,regi,"pebiolc","1") \right)\$ sameas(enty,"n2ofertin") \end{multline*}\]
Total non-energy emissions:
\[\begin{multline*} vm\_emiMacSector(t,regi,enty) = \left( vm\_macBase(t,regi,enty) \cdot \sum_{emiMac2mac(enty,enty2)}\left( 1 - \left(pm\_macSwitch(enty) \cdot pm\_macAbatLev(t,regi,enty2)\right) \right) \right)\$\left( NOT sameas(enty,"co2cement\_process") \right) + \left( vm\_macBaseInd(t,regi,enty,"cement") - vm\_emiIndCCS(t,regi,enty) \right)\$ sameas(enty,"co2cement\_process") + p\_macPolCO2luc(t,regi)\$ sameas(enty,"co2luc") \end{multline*}\]
\[\begin{multline*} vm\_emiMac(t,regi,emiMac) = \sum_{emiMacSector2emiMac(emiMacSector,emiMac)}\left( vm\_emiMacSector(t,regi,emiMacSector) \right) \end{multline*}\]
All CDR emissions summed up
\[\begin{multline*} vm\_emiCdrAll(t,regi) = \left(\sum_{emiBECCS2te(enty,enty2,te,enty3)}vm\_emiTeDetail(t,regi,enty,enty2,te,enty3) + \sum_{teCCS2rlf(te,rlf)} vm\_ccs\_cdr(t,regi,"cco2","ico2","ccsinje",rlf)\right) \cdot \left(\frac{\sum_{teCCS2rlf(te,rlf)}\left( vm\_co2CCS(t,regi,"cco2","ico2",te,rlf)\right) }{ \left(\sum_{teCCS2rlf(te,rlf)}\left( vm\_co2capture(t,regi,"cco2","ico2","ccsinje",rlf)\right)+sm\_eps\right)}\right) - p\_macBaseMagpieNegCo2(t,regi) - \left(vm\_emiCdr(t,regi,"co2") + \sum_{teCCS2rlf(te,rlf)} vm\_ccs\_cdr(t,regi,"cco2","ico2","ccsinje",rlf)\right) \end{multline*}\]
Total regional emissions are the sum of emissions from technologies, MAC-curves, CDR-technologies and emissions that are exogenously given for REMIND.
\[\begin{multline*} vm\_emiAll(t,regi,enty) = vm\_emiTe(t,regi,enty) + vm\_emiMac(t,regi,enty) + vm\_emiCdr(t,regi,enty) + pm\_emiExog(t,regi,enty) \end{multline*}\]
Total global emissions are calculated for each GHG emission type and links the energy system to the climate module.
\[\begin{multline*} vm\_emiAllGlob(t,enty) = \sum_{regi}\left( vm\_emiAll(t,regi,enty) + pm\_emissionsForeign(t,regi,enty) \right) \end{multline*}\]
Total regional emissions in CO2 equivalents that are part of the climate policy are computed based on regional GHG emissions from different sectors(energy system, non-energy system, exogenous, CDR technologies).
\[\begin{multline*} vm\_co2eq(ttot,regi) = \sum_{emiMkt} vm\_co2eqMkt(ttot,regi,emiMkt) \end{multline*}\]
\[\begin{multline*} vm\_co2eqMkt(ttot,regi,emiMkt) = vm\_emiAllMkt(ttot,regi,"co2",emiMkt) + \left(sm\_tgn\_2\_pgc \cdot vm\_emiAllMkt(ttot,regi,"n2o",emiMkt) + sm\_tgch4\_2\_pgc \cdot vm\_emiAllMkt(ttot,regi,"ch4",emiMkt)\right) \$\left(cm\_multigasscen eq 2 or cm\_multigasscen eq 3\right) - vm\_emiMacSector(ttot,regi,"co2luc") \$\left(\left(cm\_multigasscen eq 3\right) \& sameas(emiMkt,"other")\right) \end{multline*}\]
Total global emissions in CO2 equivalents that are part of the climate policy also take into account foreign emissions.
\[\begin{multline*} vm\_co2eqGlob(t) = \sum_{regi}\left( vm\_co2eq(t,regi) + pm\_co2eqForeign(t,regi)\right) \end{multline*}\]
Linking GHG emissions to tradable emission permits.
\[\begin{multline*} vm\_co2eq(t,regi) + vm\_Xport(t,regi,"perm") - vm\_Mport(t,regi,"perm") + vm\_banking(t,regi) \leq vm\_perm(t,regi) \end{multline*}\]
\[\begin{multline*} v\_co2eqCum(regi) = \sum_{ttot\$\left(ttot.val lt sm\_endBudgetCO2eq and ttot.val gt s\_t\_start\right)}\left( pm\_ts(ttot) \cdot vm\_co2eq(ttot,regi) \right) + \sum_{ttot\$\left(ttot.val eq sm\_endBudgetCO2eq or ttot.val eq s\_t\_start\right)}\left(\frac{ pm\_ts(ttot) }{ 2 } \cdot vm\_co2eq(ttot,regi) \right) \end{multline*}\]
\[\begin{multline*} \sum_{regi} v\_co2eqCum(regi) \leq \sum_{regi} pm\_budgetCO2eq(regi) \end{multline*}\]
Definition of carbon capture :
\[\begin{multline*} \sum_{teCCS2rlf(te,rlf)}vm\_co2capture(t,regi,enty,enty2,te,rlf) = \sum_{emi2te(enty3,enty4,te2,enty)}\left( vm\_emiTeDetail(t,regi,enty3,enty4,te2,enty) \right) + \sum_{teCCS2rlf(te,rlf)}\left( vm\_ccs\_cdr(t,regi,enty,enty2,te,rlf) \right) + \sum_{emiInd37}\left( vm\_emiIndCCS(t,regi,emiInd37) \right) \end{multline*}\]
Definition of splitting of captured CO2 to CCS, CCU and a valve (the valve accounts for different lifetimes of capture, CCS and CCU technologies s.t. extra capture capacities of CO2 capture can release CO2 directly to the atmosphere)
\[\begin{multline*} \sum_{teCCS2rlf(te,rlf)} vm\_co2capture(t,regi,"cco2","ico2",te,rlf) = \sum_{teCCS2rlf(te,rlf)} vm\_co2CCS(t,regi,"cco2","ico2",te,rlf) + \sum_{teCCU2rlf(te,rlf)} vm\_co2CCUshort(t,regi,"cco2","ccuco2short",te,rlf) + v\_co2capturevalve(t,regi) \end{multline*}\]
Definition of the CCS transformation chain:
\[\begin{multline*} \left(1-pm\_emifac(t,regi,enty,enty2,te,"co2")\right) \cdot vm\_co2CCS(t,regi,enty,enty2,te,rlf) = vm\_co2CCS(t,regi,enty2,enty3,te2,rlf) \end{multline*}\]
\[\begin{multline*} \sum_{ttot \$\left(ttot.val ge 2005\right)}\left( pm\_ts(ttot) \cdot vm\_co2CCS(ttot,regi,enty,"ico2",te,rlf)\right) \leq pm\_dataccs(regi,"quan",rlf) \end{multline*}\]
Emission constraint on SO2 after 2050:
\[\begin{multline*} vm\_emiTe(ttot+1,regi,"so2") \leq vm\_emiTe(ttot,regi,"so2") \end{multline*}\]
\[\begin{multline*} vm\_emiTe(ttot+1,regi,"co2") \leq vm\_emiTe(ttot,regi,"co2") \end{multline*}\]
\[\begin{multline*} v\_adjFactor(ttot,regi,te) = \frac{ \left(\frac{ \left(\sum_{te2rlf(te,rlf)}vm\_deltaCap(ttot,regi,te,rlf) - \sum_{te2rlf(te,rlf)}vm\_deltaCap(ttot-1,regi,te,rlf)\right)}{\left(pm\_ttot\_val(ttot)-pm\_ttot\_val(ttot-1)\right) }\right)^{2} }{\left( \sum_{te2rlf(te,rlf)}vm\_deltaCap(ttot-1,regi,te,rlf) + p\_adj\_seed\_reg(ttot,regi) \cdot p\_adj\_seed\_te(ttot,regi,te) + p\_adj\_deltacapoffset("2010",regi,te)\$\left(ttot.val eq 2010\right) + p\_adj\_deltacapoffset("2015",regi,te)\$\left(ttot.val eq 2015\right) + p\_adj\_deltacapoffset("2020",regi,te)\$\left(ttot.val eq 2020\right) + p\_adj\_deltacapoffset("2025",regi,te)\$\left(ttot.val eq 2025\right) \right)} \end{multline*}\]
The use of early retirement is restricted by the following equations:
\[\begin{multline*} vm\_capEarlyReti(ttot+1,regi,te) \geq vm\_capEarlyReti(ttot,regi,te) \end{multline*}\]
\[\begin{multline*} vm\_capEarlyReti(ttot+1,regi,te) \leq vm\_capEarlyReti(ttot,regi,te) + \left(pm\_ttot\_val(ttot+1)-pm\_ttot\_val(ttot)\right) \cdot pm\_regiEarlyRetiRate(ttot,regi,te) \end{multline*}\]
\[\begin{multline*} vm\_costEnergySys(ttot,regi) = \left( v\_costFu(ttot,regi) + v\_costOM(ttot,regi) + v\_costInv(ttot,regi) \right) + \sum_{emiInd37} vm\_IndCCSCost(ttot,regi,emiInd37) + pm\_CementDemandReductionCost(ttot,regi) \end{multline*}\]
Investment equation for end-use capital investments (energy service layer):
\[\begin{multline*} vm\_esCapInv(ttot,regi,teEs) = \sum \left(fe2es(entyFe,esty,teEs)\$entyFeTrans(entyFe), vm\_transpGDPscale(ttot,regi) \cdot pm\_esCapCost(ttot,regi,teEs) \cdot vm\_prodEs(ttot,regi,entyFe,esty,teEs) \right) + \sum \left(fe2es(entyFe,esty,teEs)\$\left(notentyFeTrans(entyFe)\right), pm\_esCapCost(ttot,regi,teEs) \cdot vm\_prodEs(ttot,regi,entyFe,esty,teEs) \right) \end{multline*}\]
Limit electricity use for fehes to 1/4th of total electricity use:
\[\begin{multline*} \frac{ 1}{4 } \cdot vm\_usableSe(t,regi,"seel") \geq - vm\_prodSe(t,regi,"pegeo","sehe","geohe") \cdot pm\_prodCouple(regi,"pegeo","sehe","geohe","seel") \end{multline*}\]
Requires minimum share of liquids from oil in total fossil liquids of 5%:
\[\begin{multline*} \sum_{pe2se("peoil",enty2,te)\$sameas(te,"refliq") }\left( vm\_prodSe(t,regi,"peoil",enty2,te) \right) \geq 0.05 \cdot \sum_{se2fe(enty,enty2,te)\$\left(sameas(te,"tdfoshos") OR sameas(te,"tdfospet") OR sameas(te,"tdfosdie") \right)}\left( vm\_demSe(t,regi,enty,enty2,te) \right) \end{multline*}\]
PE Historical Capacity:
\[\begin{multline*} \sum_{te\$pe2se(entyPe,entySe,te)}\left( \sum\left(te2rlf(te,rlf), vm\_cap(t,regi,te,rlf)\right) \right) \geq 0.9 \cdot p\_PE\_histCap(t,regi,entyPe,entySe) \end{multline*}\]
\[\begin{multline*} \sum_{te\$pe2se(entyPe,entySe,te)}\left( \sum\left(te2rlf(te,rlf), vm\_cap(t,regi,te,rlf)\right) \right) \leq 1.5 \cdot p\_PE\_histCap("2015",regi,entyPe,entySe) + 0.01 \end{multline*}\]
Share of green hydrogen in all hydrogen.
\[\begin{multline*} \sum_{se2se("seel","seh2",te)} vm\_prodSe(t,regi,"seel","seh2",te) = \left( \sum_{pe2se(entyPe,"seh2",te)} vm\_prodSe(t,regi,entyPe,"seh2",te) + \sum_{se2se(entySe,"seh2",te)} vm\_prodSe(t,regi,entySe,"seh2",te) \right) \cdot v\_shGreenH2(t,regi) \end{multline*}\]
Share of biofuels in transport liquids
\[\begin{multline*} \sum_{se2fe(entySe,entyFeTrans,te)\$seAgg2se("all\_seliq",entySe)} vm\_prodFe(t,regi,entySe,entyFeTrans,te) \cdot v\_shBioTrans(t,regi) = \sum_{se2fe("seliqbio",entyFeTrans,te)} vm\_prodFe(t,regi,"seliqbio",entyFeTrans,te) \end{multline*}\]
Share of final energy carrier in sector
\[\begin{multline*} v\_shfe(t,regi,entyFe,sector) \cdot \sum_{emiMkt\$sector2emiMkt(sector,emiMkt)}\left( \sum_{se2fe(entySe,entyFe2,te)\$entyFe2Sector(entyFe2,sector)}\left( vm\_demFeSector(t,regi,entySe,entyFe2,sector,emiMkt)\right)\right) = \sum_{emiMkt\$sector2emiMkt(sector,emiMkt)}\left( \sum\left(se2fe(entySe,entyFe,te), vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)\right)\right) \end{multline*}\]
\[\begin{multline*} v\_shGasLiq\_fe(t,regi,sector) \cdot \sum_{emiMkt\$sector2emiMkt(sector,emiMkt)}\left( \sum_{se2fe(entySe,entyFe,te)\$entyFe2Sector(entyFe,sector)}\left( vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)\right)\right) = \sum_{emiMkt\$sector2emiMkt(sector,emiMkt)}\left( \sum_{se2fe(entySe,entyFe,te)\$\left(SAMEAS(entyFe,"fegas") OR SAMEAS(entyFe,"fehos")\right)}\left( vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)\right)\right) \end{multline*}\]
\[\begin{multline*} vm\_prodFe(t,regi,"sehe","fehes","tdhes") \leq \%cm\_INNOPATHS\_sehe\_upper\% \cdot vm\_prodFe("2020",regi,"sehe","fehes","tdhes") \end{multline*}\]
H2 t&d capacities in buildings and industry to avoid switching behavior between both sectors
\[\begin{multline*} vm\_cap(t,regi,"tdh2i","1") + vm\_cap(t,regi,"tdh2b","1") = vm\_cap(t,regi,"tdh2s","1") \end{multline*}\]
\[\begin{multline*} \sum_{sector2emiMkt(sector,emiMkt)}\left( vm\_demFeSector(t,regi,"seh2","feh2s",sector,emiMkt)\right) \leq \sum_{te2sectortdH2(te,sector)}\left( \sum\left(teFe2rlfH2BI(te,rlf), vm\_capFac(t,regi,te) \cdot vm\_cap(t,regi,te,rlf)\right)\right) \end{multline*}\]
Enforce historical data biomass share per carrier in sector final energy for buildings and industry (+- 2%)
\[\begin{multline*} \left(pm\_secBioShare(t,regi,entyFe,sector) + 0.02\right) \cdot \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)} vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt) \geq \sum_{\left(entySeBio,te\right)\$se2fe(entySeBio,entyFe,te)} vm\_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt) \end{multline*}\]
\[\begin{multline*} \left(pm\_secBioShare(t,regi,entyFe,sector) - 0.02\right) \cdot \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)} vm\_demFeSector(t,regi,entySe,entyFe,sector,emiMkt) \leq \sum_{\left(entySeBio,te\right)\$se2fe(entySeBio,entyFe,te)} vm\_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt) \end{multline*}\]
... data
lines 7 - 9 repeat for each region
$offtext
put " 24" /;
Limitations There are no known limitations.
01_macro, 02_welfare, 04_PE_FE_parameters, 05_initialCap, 11_aerosols, 15_climate, 16_downscaleTemperature, 20_growth, 21_tax, 22_subsidizeLearning, 23_capitalMarket, 24_trade, 26_agCosts, 29_CES_parameters, 30_biomass, 31_fossil, 32_power, 33_CDR, 35_transport, 36_buildings, 37_industry, 39_CCU, 40_techpol, 41_emicapregi, 42_banking, 45_carbonprice, 46_carbonpriceRegi, 47_regipol, 50_damages, 51_internalizeDamages, 70_water, 80_optimization, 81_codePerformance