REMIND - REgional Model of INvestments and Development

3.7.0

created with goxygen 1.5.0

(core)

Interfaces

Interface plot missing!

Input

module inputs
  Description Unit
pm_GDPGross
(tall, all_regi)
gross GDP (before damages) \(T\$\)
pm_IO_output
(tall, all_regi, all_enty, all_enty, all_te)
Historical energy output per technology based on IEA data \(TWa\)
pm_IO_trade
(tall, all_regi, all_enty, char)
Energy trade bounds based on IEA data.
pm_NonFos_IndCC_fraction0
(ttot, all_regi, emiInd37)
share of fuel co2 captured that is from sebio or sesyn \(fraction\)
pm_abatparam_Ind
(ttot, all_regi, all_enty, steps)
industry CCS MAC curves \(ratio @ US\$2017\)
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_fe2es
(tall, all_regi, all_teEs)
Conversion factor from final energies to transport energy services \(Tpkm/TWa, Ttkm/TWa\)
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_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_secBioShare
(ttot, all_regi, all_enty, emi_sectors)
Share of biomass per carrier for each sector \(share\)
pm_shFeCes
(ttot, all_regi, all_enty, all_in, all_teEs)
Final energy shares for CES nodes in transport \(share\)
pm_taxCO2eqRegi
(ttot, all_regi)
Additional markup carbon in 46_carbonpriceRegi module to reach net-zero targets [T$/GtC]. Multiply by 272 to convert to $/tCO2.
pm_taxCO2eqSCC
(ttot, all_regi)
carbon tax component due to damages (social cost of carbon) \(T\$/GtCeq\)
pm_taxCO2eqSum
(ttot, all_regi)
Total CO2 price including general trajectory (pm_taxCO2eq), regional markup (pm_taxCO2eqRegi) and social cost of carbon (pm_taxCO2eqSCC) [T\(/GtC]. Multiply by 272 to convert to\)/tCO2.
pm_taxemiMkt
(ttot, all_regi, all_emiMkt)
CO2 tax path per region and emissions market \(T\$/GtC\)
pm_taxemiMkt_iteration
(iteration, ttot, all_regi, all_emiMkt)
CO2 tax path per region and emissions market calculated from previous iteration \(T\$/GtC\)
qm_budget
(ttot, all_regi)
Budget balance
sm_capture_rate_cdrmodule CO2 capture rate for CDR energy and process emissions, i.e. fegas use in OAE and DAC and for calcination emissions in oae
vm_IndCCSCost
(ttot, all_regi, all_enty)
industry CCS cost
vm_Mport
(tall, all_regi, all_enty)
Import of traded commodity.
vm_Xport
(tall, all_regi, all_enty)
Export of traded commodity.
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 \(GtC/a\)
vm_co2capture_cdr
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand \(GtC / a\)
vm_co2emi_cdrFE_beforeCapture
(ttot, all_regi, all_te)
CO2 emissions from energy use in CDR-sector, before capture \(GtC / a\)
vm_cons
(ttot, all_regi)
Consumption
vm_costFuBio
(ttot, all_regi)
fuel costs from bioenergy production \(T\$US\)
vm_demFeNonEnergySector
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
final energy demand used for material feedstocks in the industry sector \(TWa\)
vm_emiCdrTeDetail
(ttot, all_regi, all_te)
gross (negative) emissions from CDR technologies in the CDR module by technology. Includes all atmospheric CO2 that enter the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) \(GtC / a\)
vm_emiFeedstockNoEnergy
(ttot, all_regi, all_enty, all_emiMkt)
Emissions from feedstocks that are not accounted as energy-related emissions, so far only CO2 emissions \(GtC\)
vm_emiIndBase
(ttot, all_regi, all_enty, secInd37)
industry CCS baseline emissions; Not used for emission accounting outside CCS \(GtC/a\)
vm_emiIndCCS
(ttot, all_regi, all_enty)
industry CCS emissions \(GtC/a\)
vm_emiNonFosNonIncineratedPlastics
(ttot, all_regi, all_enty, all_emiMkt)
Negative CO2 emissions from non-fossil carbon in non-incinerated plastics \(GtC\)
vm_incinerationCCS
(ttot, all_regi, all_enty, all_enty, all_emiMkt)
CCS from incineration of plastic waste \(GtC\)
vm_invMacro
(ttot, all_regi, all_in)
Investment for capital for ttot
vm_nonFosNonPlasticNonEmitted
(ttot, all_regi)
Carbon from non-fossil origin in non-plastic materials that does not get emitted to the atmosphere \(GtC\)
vm_nonFosPlastic_incinCC
(ttot, all_regi, all_emiMkt)
Carbon from non-fossil origin in plastics that gets incinerated with carbon capture \(GtC\)
vm_omcosts_cdr
(tall, all_regi)
O&M costs for spreading grinded rocks on fields \(T\$\)
vm_outflowPrc
(tall, all_regi, all_te, opmoPrc)
Production volume of processes in process-based model \(Gt/a\)
vm_pebiolc_price
(ttot, all_regi)
bioenergy price based on MAgPIE supply curves \(T\$/TWa\)
vm_perm
(ttot, all_regi)
emission allowances \(GtCeq\)
vm_usableSe
(ttot, all_regi, entySe)
Usable SE electricity defined as: generation from pe2se technologies + generation from coupled production - storage losses \(TWa\)
vm_wasteIncinerationEmiBalance
(tall, all_regi, all_enty, all_emiMkt)
Sum of plastics waste incineration related emissions (positive and negative) \(GtC\)

Output

module outputs (continued below)
  Description
cm_1stgen_phaseout scenario setting for phase-out of 1st generation biofuels
cm_33DAC choose whether DAC (direct air capture) should be included into the CDR portfolio.
cm_33EW choose whether EW (enhanced weathering) should be included into the CDR portfolio.
cm_33OAE choose whether OAE (ocean alkalinity enhancement) should be included into the CDR portfolio. 0 = OAE not used, 1 = used
cm_33_BCpriceForm biochar price assumptions (revenue from using biochar in agriculture or construction)
cm_33_EW_shortTermLimit Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land
cm_33_EW_upScalingRateLimit Annual growth rate limit on upscaling of mining & spreading rocks on fields
cm_33_OAE_eff OAE efficiency measured in tCO2 uptaken by the ocean per tCaO. Typically between 0.9-1.4 (which corresponds to 1.2-1.8 molCO2/molCaO).
cm_33_OAE_limit_EEZ Global limit [Mt CO2 ocean uptake/a]. Upper bound on regions’ ocean uptake is set based on EEZ distribution.
cm_33_OAE_scen OAE distribution scenarios
cm_33_OAE_startyr The year when OAE could start being deployed
cm_33_maxFeShare max share of the CDR sectors’ FE demand in the region’s total FE demand, by FE type. Default is 10%
cm_APsource data source for air pollution baseyear (2020) emissions
cm_BioSupply_Adjust_EU factor for scaling sub-EU bioenergy supply curves
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_CPslopeAdjustment Only used with [functionalFormRegi], determines whether the entire path is shifted up and down or the slope of is adjusted endogenously
cm_EURCDRmax switch to limit maximum annual CDR amount in the EU in MtCO2 per y
cm_EnSecScen_limit switch for limiting the gas demand from 2025 onward, currently only applied to Germany
cm_FlexTaxFeedback switch deciding whether flexibility tax feedback on buildings and industry electricity prices is on
cm_H2InBuildOnlyAfter Switch to fix H2 in buildings to zero until given year
cm_H2targets switches on capacity targets for electrolysis in NDC techpol following national Hydrogen Strategies
cm_IndCCSscen CCS for Industry
cm_LTSendYr 46_carbonpriceRegi Year at which pm_taxCO2eqRegi drops to zero after having decreased linearly since the net-zero year
cm_LTSstartYr 46_carbonpriceRegi First year activating a regional carbon price markup to reach net-zero targets (Long-Term Strategy)
cm_LearningSpillover Activate Learningspillover from foreign capacity in learning technogolies
cm_LimRock limit amount of rock spread each year
cm_MAgPIE_Nash run MAgPIE between Nash iterations
cm_NDC_target_DevTol allowed NDC emissions target deviation relative to target emissions
cm_NetNegEmi_calculation switch to choose if net-negative emissions are calculated within an iteration or across iterations
cm_RenShareTargets switch that turn on renewable share targets in the NPi2025 realization of the techpol module
cm_TaxConvCheck switch for enabling tax convergence check in nash mode
cm_VRE_supply_assumptions default (0), optimistic (1), pessimistic (2), or very pessimistic (3) assumptions on VRE and storage costs
cm_abortOnConsecFail number of iterations of consecutive infeasibilities/failures to solve for one region, after which the run automatically switches to serial debug mode
cm_bioenergy_EF_for_tax bioenergy emission factor that is used to derive a bioenergy tax
cm_bioenergy_SustTax level of the bioenergy sustainability tax in fraction of bioenergy price
cm_budgetCO2_absDevTol convergence criterion for global CO2 budget set via cm_budgetCO2from2020. It is formulated as an absolute deviation from the target budget [GtCO2].
cm_budgetCO2from2020 CO2 budget for all economic sectors starting from 2020 (GtCO2). It can be either peak budget, but can also be an end-of-century budget
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_build_H2costDecayStart simplified logistic function end of full value (ex. 5% -> between 0 and 5% the function will have the value 1).
cm_carbonprice_temperatureLimit not-to-exceed temperature target in degree above pre-industrial
cm_ccapturescen carbon capture option choice, no carbon capture only if CCS and CCU are switched off!
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_distrAlphaDam income elasticity of damages for inequality
cm_distrBeta elasticity of tax revenue redistribution
cm_emiMktTargetDelay number of years for delayed price change in the emission tax convergence algorithm. Not applied to first target set.
cm_emiscen policy scenario choice
cm_expoLinear_yearStart time at which carbon price increases linearly instead of exponentially
cm_fetaxscen choice of final energy tax path and subsidy path, values other than zero enable final energy tax
cm_flex_tax switch for enabling flexibility tax
cm_frac_CCS tax on carbon transport & storage (teccsinje) to reflect risk of leakage, formulated as fraction of O&M costs
cm_frac_NetNegEmi tax on net negative emissions to reflect risk of overshooting, formulated as fraction of carbon price
cm_gdximport_target whether or not the starting value for iteratively adjusted CO2 tax trajectories for all regions (scenarios defined by cm_iterative_target_adj) should be read in from the input.gdx
cm_gs_ew grain size (for enhanced weathering, CDR module)
cm_implicitQttyTarget_tolerance tolerance for regipol implicit quantity target deviations convergence.
cm_iteration_max number of iterations, if optimization is set to negishi or testOneRegi; is overwritten in Nash mode, except if cm_nash_autoconverge is set to 0
cm_iterative_target_adj settings on iterative adjustment for CO2 tax based on in-iteration emission or forcing level. Allow iteratively generated endogenous global CO2 tax under peak budget constraint or end-of-century budget constraint.
cm_keep_presolve_gdxes save gdxes for all regions/solver tries/nash iterations for debugging
cm_maxFadeOutPriceAnticip switch to determine maximum allowed fadeout price anticipation to consider that the model converged.
cm_multigasscen scenario on GHG portfolio to be included in permit trading scheme
cm_nash_autoconverge choice of nash convergence mode
cm_nash_mode mode for solving nash problem
cm_netZeroPercent 46_carbonpriceRegi Share of emissions allowed at the target year of a country with a net-zero target
cm_noPeFosCCDeu switch to suppress Pe2Se Fossil Carbon Capture in Germany
cm_nonPlasticFeedstockEmiShare Share of non-plastic carbon that gets emitted rest is stored permanently,
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_permitTradeFinalYr [TradingOnRef] Year until permit trading is allowed
cm_permitTradeRatio [TradingOnRef] Share of emissions allowed for permit trading between 0 and 1
cm_permittradescen scenario on permit trade
cm_phaseoutBiolc Switch that allows for a full phaseout of all bioenergy technologies globally
cm_postTargetIncrease carbon price increase per year after regipol emission target is reached (euro per tCO2)
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_sccConvergence convergence indicator for SCC iteration
cm_shSynGas lower bound on share of synthetic gas in SE gases by 2045, gradual scale-up before
cm_shSynLiq lower bound on share of synfuels in SE liquids by 2045, gradual scale-up before
cm_so2tax_scen level of SO2 tax
cm_solver_try_max maximum number of inner iterations within one Negishi iteration (<10)
cm_startyear first optimized modelling time step
cm_taxCO2_IncAfterPeakBudgYr annual increase of CO2 tax after cm_peakBudgYr in $ per tCO2
cm_taxCO2_Shape Only used with [functionalFormRegi, and functionalForm if cm_iterative_target_adj=5 (i.e. EOC budget)], determines whether the carbon price increases until 2100 or is constant as of the exogenously set cm_peakYear
cm_taxCO2_expGrowth growth rate of carbon tax
cm_taxCO2_interpolation switch for interpolation between (a) carbonprice trajectory given by path_gdx_ref and (b) carbonprice trajectory defined in 45_carbonprice
cm_taxCO2_lowerBound_path_gdx_ref switch for choosing if carbon price trajectories from path_gdx_ref are used as lower bound
cm_taxCO2_peakBudgYr level of co2 tax in peak budget year (cm_peakBudgYr) in $ per t CO2eq
cm_taxCO2_regiDiff switch for choosing the regional carbon price differentiation scheme in 45_carbonprice/functionalForm
cm_taxCO2_startyear level of co2 tax in start year in $ per t CO2eq
cm_tempConvergence convergence indicator for temperature in damage iteration
cm_tradecostBio choose financial tradecosts multiplier for biomass (purpose grown pebiolc)
cm_useInputGdxForCarbonPrice Only used with [functionalFormRegi], determines whether the carbon price information from the input.gdx is used for the first iteration’s carbon price.
cm_wastelag switch to decide whether waste from plastics lags ten years behind plastics production
fm_dataglob
(char, all_te)
Energy and CDR technology characteristics: investment costs, O&M costs, efficiency, learning rates …
fm_taxCO2eqHist
(ttot, all_regi)
historic CO2 prices
pm_FEPrice
(ttot, all_regi, all_enty, sector, emiMkt)
parameter to capture all FE prices across sectors and markets
pm_FEPrice_by_SE_Sector
(ttot, all_regi, entySe, all_enty, sector)
parameter to save FE marginal price per SE and sector
pm_FEPrice_iter
(iteration, ttot, all_regi, all_enty, sector, emiMkt)
parameter to capture all FE prices across sectors and markets [tr$2017/TWa] across iterations
pm_NuclearConstraint
(ttot, all_regi, all_te)
parameter with the real-world capacities, construction and plans
pm_PEPrice
(ttot, all_regi, all_enty)
parameter to capture all PE prices
pm_SEPrice
(ttot, all_regi, all_enty)
parameter to capture all SE prices
pm_SolNonInfes
(all_regi)
model status from last iteration. 1 means status 2 or 7, 0 for all other status codes
pm_actualbudgetco2
(ttot)
actual level of cumulated emissions starting from 2020
pm_actualbudgetco2eqRegi
(ttot, all_regi)
Regional- actual level of cumulated emissions starting from 2020
pm_budgetCO2eq
(all_regi)
budget for regional energy-emissions in period 1
pm_capCum0
(tall, all_regi, all_te)
Total cumulated capacity of learning technologies from last iteration used for learning curves based on vm_capCum
pm_capCumForeign
(ttot, all_regi, all_te)
Total cumulated capacity of learning technologies of all other regions except regi
pm_ccsinjecrate
(all_regi)
Regional CCS injection rate factor. [1/year].
pm_cesdata
(tall, all_regi, all_in, cesParameter)
parameters of the CES function: efficiency parameters (xi, eff, effgr) [unitless], target quantities of CES calibration (quantity) [unit of CES node, see set all_in], CES prices resulting from calibration (price)
pm_cesdata_sigma
(ttot, all_in)
elasticities of substitution, higher values increase sustitutability between inputs of the CES function (i.e. stronger reaction of quantities to price changes)
pm_cf
(tall, all_regi, all_te)
read-in parameter for capacity factor (fraction of the year that a plant is running)
pm_cintraw
(all_enty)
CO2 emissions factor of fossil fuels
pm_co2eq0
(tall, all_regi)
Total greenhouse gas emissions from last iteration based on vm_co2eq used in nash algorithm
pm_co2eqForeign
(tall, all_regi)
emissions, which are part of the climate policy, of other regions (nash relevant).
pm_data
(all_regi, char, all_te)
Large array for most technical parameters of technologies, more detail on the individual technical parameters and their units can be found in the declaration of the set ‘char’
pm_dataccs
(all_regi, char, all_te)
maximum CO2 storage capacity using CCS technology.
pm_dataeta
(tall, all_regi, all_te)
read-in parameter for conversion efficiency of technologies that vary exogenously over time based on generisdata_varying_eta.prn file
pm_dataren
(all_regi, char, rlf, all_te)
regional renewable potential, maxprod [TWa] and capacity factor, nur
pm_delta_histCap
(tall, all_regi, all_te)
historic capacity additions calculated from historic data
pm_demFeTotal0
(ttot, all_regi)
Total Final Energy demand in the previous iteration
pm_dt
(tall)
difference to last timestep
pm_emifac
(tall, all_regi, all_enty, all_enty, all_te, all_enty)
emission factor by technology for all types of energy-related emissions
pm_emifacNonEnergy
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_enty)
emission factor for non-energy fedstocks, only for chemical industry
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)
conversion efficiency of all energy technologies, only applying to technologies that do not have explicit time-dependant conversion efficiencies, still eta converges until 2050 to dataglob_values.
pm_extRegiEarlyRetiRate
(ext_regi)
regional early retirement rate (extended regions)
pm_fedemandBuild
(tall, all_regi, all_in)
read-in parameter for final energy and production trajectories used for the CES parameter calibration in buildings
pm_fedemandInd
(tall, all_regi, all_in)
read-in parameter for final energy and production trajectories used for the CES parameter calibration in industry
pm_gdp
(tall, all_regi)
GDP MER data
pm_gdp_gdx
(tall, all_regi)
GDP path from gdx, updated iteratively
pm_histCap
(tall, all_regi, all_te)
historical installed capacity (TW)
pm_ies
(all_regi)
intertemporal elasticity of substitution
pm_incinerationRate
(ttot, all_regi)
share of plastic waste that gets incinerated
pm_inco0_t
(ttot, all_regi, all_te)
investment cost parameter including exogenuous time-variance for non-learning technologies
pm_interpolWeight_ttot_tall
(tall)
weight for linear interpolation of ttot-dependent variables
pm_lab
(tall, all_regi)
data for labour
pm_lifetime_max
(all_regi, all_te)
maximum lifetime of a technology (generisdata_tech gives the average lifetime)
pm_macAbat
(tall, all_regi, all_enty, steps)
abatement levels based on data from van Vuuren
pm_macAbatLev
(tall, all_regi, all_enty)
actual level of abatement per time step, region, and source
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_macStep
(tall, all_regi, all_enty)
step number of abatement level
pm_macSwitch
(ttot, all_regi, all_enty)
switch to include mac options in specific sectors and years
pm_omeg
(all_regi, opTimeYr, all_te)
technical depreciation parameter, gives the share of a capacity that is still usable after technical life time.
pm_pop
(tall, all_regi)
population data
pm_prodFEReference
(ttot, all_regi, all_enty, all_enty, all_te)
Final Energy output of a technology in the reference run
pm_pvp
(ttot, all_enty)
Price on commodity markets, [T\(/TWa] for energy commodities except uranium, uranium (peur) in [T\)/Mt Uranium], emissions permits (perm) in
pm_regiEarlyRetiRate
(ttot, all_regi, all_te)
regional early retirement rate, maximum allowed annual increase in the share of early retired capacity of a technology for which early retirement is allowed
pm_scaleDemand
(tall, tall, all_regi)
Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window.
pm_scaleDemandBuildTable
(ttot, all_regi)
Rescaling factor on buildings final energy and usable energy demand, read-in from a table
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_shPPPMER
(all_regi)
PPP ratio for calculating GDP|PPP from GDP|MER
pm_shareWindOff
(ttot, all_regi)
windoff rollout as a fraction of technical potential
pm_shareWindPotentialOff2On
(all_regi)
ratio of technical potential of offshore wind to onshore wind power
pm_share_CCS_CCO2
(ttot, all_regi)
share of stored CO2 from total captured CO2 from previous iteration
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_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_tall_2_ttot
(tall, ttot)
mapping from tall to ttot
pm_taxCO2eq
(ttot, all_regi)
CO2 tax path calculated in 45_carbonprice module [T$/GtC]. To get $/tCO2, multiply with 272 = 1 / sm_DptCO2_2_TDpGtC
pm_taxCO2eq_anchor_iterationdiff
(ttot)
difference in global anchor carbon price to the last iteration
pm_taxCO2eq_iter
(iteration, ttot, all_regi)
CO2 tax path (pm_taxCO2eq) tracked over iterations
pm_teAnnuity
(all_te)
Annuity factor of a technology
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n
pm_tsu2opTimeYr
(ttot, opTimeYr)
auxiliary parameter to map time steps to past time steps: counts the number of model timesteps between years ttot-opTimeYr and ttot, used for q_transPe2se and q_cap equations
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 per technology, generic assumptions made in generisdata_vintages.prn
qm_co2eqCum
(all_regi)
cumulate regional emissions over time
qm_deltaCapCumNet
(ttot, all_regi, all_te)
calculate cumulated capacities of learning technologies (vm_capCum)
qm_fuel2pe
(ttot, all_regi, all_enty)
balance of primary energy extraction, import and export and production
sm_CES_calibration_iteration current calibration iteration number, loaded from environment variable cm_CES_calibration_iteration
sm_D2005_2_D2017 Convert US$2005 to US$2017
sm_D2015_2_D2017 Convert US$2015 to US$2017
sm_D2020_2_D2017 Convert US$2020 to US$2017
sm_DpGJ_2_TDpTWa convert \(/GJ to T\)/TWa
sm_DptCO2_2_TDpGtC convert \(/tCO2 to T\)/GtC: 44/12/1000
sm_EJ_2_TWa convert from Exa Joule to Tera Watt annum
sm_EURO2023_2_D2017 Convert EURO 2023 to US$2017
sm_GJ_2_TWa convert from Giga Joule to Tera Watt annum
sm_MtCO2_2_GtC conversion factor from MtCO2 to native REMIND emission unit GtC
sm_TWa_2_EJ convert from Tera Watt annum to Exa Joule
sm_TWa_2_MWh convert Tera Watt annum to Mega Wh
sm_TWa_2_TWh convert Tera Watt annum to Tera Wh
sm_TWa_2_kWh convert Tera Watt annum to kilo Wh
sm_budgetCO2eqGlob budget for global energy-emissions in period 1
sm_c_2_co2 convert mass from carbon to CO2 (44/12)
sm_dmac step in MAC functions
sm_endBudgetCO2eq end time step of emission budget period 1
sm_eps small number: 1e-9
sm_giga_2_non giga to non
sm_globalBudget_absDev absolute deviation of global cumulated CO2 emissions budget from target budget
sm_h2kg_2_h2kWh convert kg of hydrogen to kWh energy value
sm_macChange maximum yearly increase of relative abatement in percentage points of maximum abatement.
sm_magpieIter Count the number of MAgPIE iterations, starting with zero
sm_magpieIterEnd Number of MAgPIE iterations that have to be performed. Equals the number of elements defined in the set magpieIter
sm_peakbudget_diff_tolerance convergence criterion for allowed difference between cumulative emissions in peak budget year and year of maximum cumulative emissions if both years are not the same. It is formulated as an absolute deviation from the target budget
sm_tBC_2_TWa t biochar to TWa biochar (28700 [MJ/tBC]*10^-12[EJ/MJ]/31.536[EJ/TWa])
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_updateMagpieData Boolean defined in core/presolve indicating if MAgPIE is running in the current Nash iteration (1) or not (0)
vm_cap
(tall, all_regi, all_te, rlf)
net total capacities [TW] for energy conversion technologies, [GtC] for CCS chain in ccs2te (pipelines/injection)
vm_capCum
(tall, all_regi, all_te)
cumulated capactiy of learning technologies
vm_capEarlyReti
(tall, all_regi, all_te)
fraction of early retired capacity from total standing capacity, can only be increased for technologies for which early retirement is switched on
vm_capFac
(ttot, all_regi, all_te)
capacity factor of conversion technologies
vm_capTotal
(ttot, all_regi, all_enty, all_enty)
total capacity of pe2se conversion technologies without technology differentation
vm_changeProdStartyearCost
(ttot, all_regi, all_te)
costs for changing output with respect to the reference run for each technology
vm_co2CCS
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
total CO2 injected into geological storage
vm_co2eq
(ttot, all_regi)
total greenhouse gas emissions measured in co2 equivalents that are subject to carbon pricing, be aware that emissions coverage of this variable depends on switch cm_multigasscen
vm_co2eqGlob
(ttot)
total global greenhouse gas emissions to be balanced by allowances
vm_co2eqMkt
(ttot, all_regi, all_emiMkt)
total greenhouse gas emissions per market measured in co2 equivalents that are subject to carbon pricing, be aware that emissions coverage of this variable depends on switch cm_multigasscen
vm_costAddTeInv
(tall, all_regi, all_te, emi_sectors)
additional sector-specific investment cost of demand-side transformation, e.g. investment into initial hydrogen distribution infrastructure
vm_costCESMkup
(ttot, all_regi, all_in)
CES markup cost to represent demand-side technology cost of end-use transformation
vm_costEnergySys
(ttot, all_regi)
total energy system costs
vm_costFuEx
(ttot, all_regi, all_enty)
costs of exhaustible primary energy production/extraction of fossil fuels and uranium
vm_costInvTeAdj
(tall, all_regi, all_te)
annual investments into a technology due to adjustment costs
vm_costInvTeDir
(tall, all_regi, all_te)
annual direct investments into a technology
vm_costTeCapital
(ttot, all_regi, all_te)
specific (per capacity) technology investment costs
vm_deltaCap
(tall, all_regi, all_te, rlf)
capacity additions [TW/yr] for energy conversion technologies, [GtC/yr^2] for CCS chain in ccs2te (pipelines/injection)
vm_demFeForEs
(ttot, all_regi, all_enty, all_esty, all_teEs)
Final energy which will be used in the energy service layer
vm_demFeSector
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
final energy demand per sector and emissions market, note: taxes should be applied to this variable or variables closer to the supply-side whenever possible so the marginal prices include the tax effects
vm_demFeSector_afterTax
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
final energy demand per sector and emissions market after taxation, demand sectors should use this variable in their final energy balance equations so demand-side marginals include taxes effects
vm_demPe
(tall, all_regi, all_enty, all_enty, all_te)
primary energy demand
vm_demSe
(ttot, all_regi, all_enty, all_enty, all_te)
secondary energy demand (including only demand as first input, not demand as second (coupled) input)
vm_demSeOth
(ttot, all_regi, all_enty, all_te)
other sety demand from certain technologies, have to calculated in additional equations
vm_emiAll
(ttot, all_regi, all_enty)
total emissions by species
vm_emiAllMkt
(tall, all_regi, all_enty, all_emiMkt)
total emissions per emissions market
vm_emiCO2Sector
(ttot, all_regi, emi_sectors)
total CO2 emissions from individual sectors, so far only buildings and transport excl. bunkers
vm_emiCdr
(ttot, all_regi, all_enty)
total (negative) CO2 emissions from CDR technologies that are calculated in the CDR module. Note that it includes all atmospheric CO2 entering the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR))
vm_emiCdrAll
(ttot, all_regi)
all CDR emissions, net negative emissions from land-use change, gross removals for all other options
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.
vm_emiMacSector
(ttot, all_regi, all_enty)
total emissions subject to MACCs, emissions that are not energy-related
vm_emiTe
(ttot, all_regi, all_enty)
proxy of total energy-related emissions, based on vm_emiTeDetail and taking into account industry CCS, CCU and feedstocks note: not equivalent to Emi|CO2|Energy in reporting
vm_emiTeDetail
(ttot, all_regi, all_enty, all_enty, all_te, all_enty)
emissions from energy technologies on supply-side (pm_emifac * PE) and demand-side (pm_emifac * FE), note: not equivalent to Emi|CO2|Energy in reporting
vm_emiTeDetailMkt
(tall, all_regi, all_enty, all_enty, all_te, all_enty, all_emiMkt)
emissions from energy technologies on supply-side (pm_emifac * PE) and demand-side (pm_emifac * FE) per emissions market, note: not equivalent to Emi|CO2|Energy in reporting
vm_emiTeMkt
(tall, all_regi, all_enty, all_emiMkt)
proxy of total energy-related emissions per emissions market, based on vm_emiTeDetail and taking into account industry CCS, CCU and feedstocks note: not equivalent to Emi|CO2|Energy in reporting
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 mark-up cost or subsidy, used to emulate price changes of technologies which see lower-than-average or higher-than-average electricity prices due to more or less flexible operation[T$/TWa]
vm_fuExtr
(ttot, all_regi, all_enty, rlf)
production (extraction) of primary energy fossil fuels, biomass and uranium (before trade)
vm_penSeFeSectorShareDevCost
(ttot, all_regi)
total penalty cost for secondary energy share deviation between sectors
vm_prodFe
(ttot, all_regi, all_enty, all_enty, all_te)
final energy production
vm_prodPe
(ttot, all_regi, all_enty)
primary energy production (after trade but not including PE production for MAC curves, e.g. capturing methane leakage)
vm_prodSe
(tall, all_regi, all_enty, all_enty, all_te)
secondary energy production (including only production as first product, not production as second (coupled) product)
  Unit
cm_1stgen_phaseout
cm_33DAC
cm_33EW
cm_33OAE
cm_33_BCpriceForm
cm_33_EW_shortTermLimit
cm_33_EW_upScalingRateLimit
cm_33_OAE_eff \(tCO2/tCaO\)
cm_33_OAE_limit_EEZ
cm_33_OAE_scen
cm_33_OAE_startyr \(year\)
cm_33_maxFeShare
cm_APsource
cm_BioSupply_Adjust_EU
cm_CCS_cement
cm_CCS_chemicals
cm_CCS_steel
cm_CPslopeAdjustment
cm_EURCDRmax
cm_EnSecScen_limit
cm_FlexTaxFeedback
cm_H2InBuildOnlyAfter
cm_H2targets
cm_IndCCSscen
cm_LTSendYr
cm_LTSstartYr
cm_LearningSpillover
cm_LimRock \(Gt\)
cm_MAgPIE_Nash
cm_NDC_target_DevTol \(45_carbonprice = NDC\)
cm_NetNegEmi_calculation
cm_RenShareTargets
cm_TaxConvCheck
cm_VRE_supply_assumptions
cm_abortOnConsecFail
cm_bioenergy_EF_for_tax \(kgCO2/GJ\)
cm_bioenergy_SustTax
cm_budgetCO2_absDevTol
cm_budgetCO2from2020
cm_build_H2costAddH2Inv
cm_build_H2costDecayEnd \(\%\)
cm_build_H2costDecayStart \(\%\)
cm_carbonprice_temperatureLimit \(45_carbonprice = temperatureNotToExceed\)
cm_ccapturescen
cm_damage_KWSE
cm_damages_BurkeLike_persistenceTime
cm_damages_BurkeLike_specification
cm_damages_SccHorizon
cm_deuCDRmax
cm_distrAlphaDam
cm_distrBeta
cm_emiMktTargetDelay
cm_emiscen
cm_expoLinear_yearStart
cm_fetaxscen
cm_flex_tax
cm_frac_CCS
cm_frac_NetNegEmi
cm_gdximport_target
cm_gs_ew \(micrometre\)
cm_implicitQttyTarget_tolerance
cm_iteration_max
cm_iterative_target_adj
cm_keep_presolve_gdxes
cm_maxFadeOutPriceAnticip
cm_multigasscen
cm_nash_autoconverge
cm_nash_mode
cm_netZeroPercent \(1\)
cm_noPeFosCCDeu
cm_nonPlasticFeedstockEmiShare \(share\)
cm_nucscen
cm_optimisticMAC
cm_peakBudgYr
cm_permitTradeFinalYr
cm_permitTradeRatio
cm_permittradescen
cm_phaseoutBiolc
cm_postTargetIncrease
cm_prtpScen
cm_rentconvcoal
cm_rentconvgas
cm_rentconvoil
cm_rentdisccoal
cm_rentdisccoal2
cm_rentdiscgas
cm_rentdiscgas2
cm_rentdiscoil
cm_rentdiscoil2
cm_sccConvergence
cm_shSynGas
cm_shSynLiq
cm_so2tax_scen
cm_solver_try_max
cm_startyear \(year\)
cm_taxCO2_IncAfterPeakBudgYr
cm_taxCO2_Shape
cm_taxCO2_expGrowth
cm_taxCO2_interpolation
cm_taxCO2_lowerBound_path_gdx_ref
cm_taxCO2_peakBudgYr
cm_taxCO2_regiDiff
cm_taxCO2_startyear
cm_tempConvergence
cm_tradecostBio
cm_useInputGdxForCarbonPrice
cm_wastelag
fm_dataglob
(char, all_te)
fm_taxCO2eqHist
(ttot, all_regi)
\(\$/tCO2\)
pm_FEPrice
(ttot, all_regi, all_enty, sector, emiMkt)
\(tr\$2017/TWa\)
pm_FEPrice_by_SE_Sector
(ttot, all_regi, entySe, all_enty, sector)
\(tr\$2017/TWa\)
pm_FEPrice_iter
(iteration, ttot, all_regi, all_enty, sector, emiMkt)
pm_NuclearConstraint
(ttot, all_regi, all_te)
pm_PEPrice
(ttot, all_regi, all_enty)
\(tr\$2017/TWa\)
pm_SEPrice
(ttot, all_regi, all_enty)
\(tr\$2017/TWa\)
pm_SolNonInfes
(all_regi)
pm_actualbudgetco2
(ttot)
\(GtCO2\)
pm_actualbudgetco2eqRegi
(ttot, all_regi)
\(GtCO2\)
pm_budgetCO2eq
(all_regi)
\(GtC\)
pm_capCum0
(tall, all_regi, all_te)
\(TW\)
pm_capCumForeign
(ttot, all_regi, all_te)
\(TW\)
pm_ccsinjecrate
(all_regi)
pm_cesdata
(tall, all_regi, all_in, cesParameter)
\(T\$/unit of CES node\)
pm_cesdata_sigma
(ttot, all_in)
\(unitless\)
pm_cf
(tall, all_regi, all_te)
\(share\)
pm_cintraw
(all_enty)
\(GtC/TWa\)
pm_co2eq0
(tall, all_regi)
\(GtCeq\)
pm_co2eqForeign
(tall, all_regi)
pm_data
(all_regi, char, all_te)
pm_dataccs
(all_regi, char, all_te)
\(GtC\)
pm_dataeta
(tall, all_regi, all_te)
\(efficiency (0..1)\)
pm_dataren
(all_regi, char, rlf, all_te)
\(share\)
pm_delta_histCap
(tall, all_regi, all_te)
\(TW/yr\)
pm_demFeTotal0
(ttot, all_regi)
\(TWa\)
pm_dt
(tall)
pm_emifac
(tall, all_regi, all_enty, all_enty, all_te, all_enty)
\(GtC/TWa, Mt CH4/TWa, Mt N/TWa, Mt SO2/TWa, Mt BC/TWa, Mt OC/TWa\)
pm_emifacNonEnergy
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_enty)
\(GtC/TWa\)
pm_esCapCost
(tall, all_regi, all_teEs)
\(T\$/unit energy service\)
pm_eta_conv
(tall, all_regi, all_te)
\(efficiency (0..1)\)
pm_extRegiEarlyRetiRate
(ext_regi)
\(1/year\)
pm_fedemandBuild
(tall, all_regi, all_in)
\(EJ\)
pm_fedemandInd
(tall, all_regi, all_in)
\(EJ, ue_primary_steel, ue_secondary_steel: Gt, ue_otherInd: \$tn\)
pm_gdp
(tall, all_regi)
\(trn US\$ 2005\)
pm_gdp_gdx
(tall, all_regi)
\(T\$\)
pm_histCap
(tall, all_regi, all_te)
pm_ies
(all_regi)
pm_incinerationRate
(ttot, all_regi)
\(fraction\)
pm_inco0_t
(ttot, all_regi, all_te)
\(T\$/TW\)
pm_interpolWeight_ttot_tall
(tall)
pm_lab
(tall, all_regi)
\(bn people\)
pm_lifetime_max
(all_regi, all_te)
\(years\)
pm_macAbat
(tall, all_regi, all_enty, steps)
\(fraction\)
pm_macAbatLev
(tall, all_regi, all_enty)
\(fraction\)
pm_macBaseMagpie
(tall, all_regi, all_enty)
\(GtC, Mt CH4, Mt N\)
pm_macCost
(tall, all_regi, all_enty)
\(T\$\)
pm_macStep
(tall, all_regi, all_enty)
\(integer\)
pm_macSwitch
(ttot, all_regi, all_enty)
\(0/1\)
pm_omeg
(all_regi, opTimeYr, all_te)
\(none/share, value between 0 and 1\)
pm_pop
(tall, all_regi)
\(bn people\)
pm_prodFEReference
(ttot, all_regi, all_enty, all_enty, all_te)
\(TWa\)
pm_pvp
(ttot, all_enty)
\(T\$/GtC\)
pm_regiEarlyRetiRate
(ttot, all_regi, all_te)
\(1/year\)
pm_scaleDemand
(tall, tall, all_regi)
pm_scaleDemandBuildTable
(ttot, all_regi)
pm_shGasLiq_fe_lo
(ttot, all_regi, emi_sectors)
\(share\)
pm_shGasLiq_fe_up
(ttot, all_regi, emi_sectors)
\(share\)
pm_shPPPMER
(all_regi)
pm_shareWindOff
(ttot, all_regi)
\(share\)
pm_shareWindPotentialOff2On
(all_regi)
\(share\)
pm_share_CCS_CCO2
(ttot, all_regi)
\(share\)
pm_share_ind_fesos
(tall, all_regi)
pm_share_ind_fesos_bio
(tall, all_regi)
pm_shfe_lo
(ttot, all_regi, all_enty, emi_sectors)
\(share\)
pm_shfe_up
(ttot, all_regi, all_enty, emi_sectors)
\(share\)
pm_tall_2_ttot
(tall, ttot)
pm_taxCO2eq
(ttot, all_regi)
pm_taxCO2eq_anchor_iterationdiff
(ttot)
\(T\$/GtC\)
pm_taxCO2eq_iter
(iteration, ttot, all_regi)
\(T\$/GtC\)
pm_teAnnuity
(all_te)
\(unitless\)
pm_ts
(tall)
pm_tsu2opTimeYr
(ttot, opTimeYr)
\(unitless\)
pm_ttot_2_tall
(ttot, tall)
pm_ttot_val
(ttot)
pm_vintage_in
(all_regi, opTimeYr, all_te)
\(unitless\)
qm_co2eqCum
(all_regi)
qm_deltaCapCumNet
(ttot, all_regi, all_te)
qm_fuel2pe
(ttot, all_regi, all_enty)
sm_CES_calibration_iteration
sm_D2005_2_D2017
sm_D2015_2_D2017
sm_D2020_2_D2017
sm_DpGJ_2_TDpTWa
sm_DptCO2_2_TDpGtC
sm_EJ_2_TWa
sm_EURO2023_2_D2017
sm_GJ_2_TWa
sm_MtCO2_2_GtC
sm_TWa_2_EJ
sm_TWa_2_MWh
sm_TWa_2_TWh
sm_TWa_2_kWh
sm_budgetCO2eqGlob
sm_c_2_co2
sm_dmac \(US\$\)
sm_endBudgetCO2eq
sm_eps
sm_giga_2_non
sm_globalBudget_absDev
sm_h2kg_2_h2kWh
sm_macChange \(0..1\)
sm_magpieIter
sm_magpieIterEnd
sm_peakbudget_diff_tolerance \(GtCO2\)
sm_tBC_2_TWa
sm_tgch4_2_pgc
sm_tgn_2_pgc
sm_tmp
sm_tmp2
sm_trillion_2_non
sm_updateMagpieData
vm_cap
(tall, all_regi, all_te, rlf)
vm_capCum
(tall, all_regi, all_te)
\(TW\)
vm_capEarlyReti
(tall, all_regi, all_te)
\(share\)
vm_capFac
(ttot, all_regi, all_te)
\(share\)
vm_capTotal
(ttot, all_regi, all_enty, all_enty)
\(TW\)
vm_changeProdStartyearCost
(ttot, all_regi, all_te)
\(T\$\)
vm_co2CCS
(ttot, all_regi, all_enty, all_enty, all_te, rlf)
\(GtC/a\)
vm_co2eq
(ttot, all_regi)
\(GtCeq\)
vm_co2eqGlob
(ttot)
\(GtCeq\)
vm_co2eqMkt
(ttot, all_regi, all_emiMkt)
\(GtCeq\)
vm_costAddTeInv
(tall, all_regi, all_te, emi_sectors)
\(T\$\)
vm_costCESMkup
(ttot, all_regi, all_in)
\(T\$/TWa\)
vm_costEnergySys
(ttot, all_regi)
\(T\$\)
vm_costFuEx
(ttot, all_regi, all_enty)
\(T\$\)
vm_costInvTeAdj
(tall, all_regi, all_te)
\(T\$\)
vm_costInvTeDir
(tall, all_regi, all_te)
\(T\$\)
vm_costTeCapital
(ttot, all_regi, all_te)
\(T\$/TW for energy conversion technologies, T\$/GtC for CCS chain in ccs2te (pipelines/injection)\)
vm_deltaCap
(tall, all_regi, all_te, rlf)
vm_demFeForEs
(ttot, all_regi, all_enty, all_esty, all_teEs)
\(TWa\)
vm_demFeSector
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
\(TWa\)
vm_demFeSector_afterTax
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
\(TWa\)
vm_demPe
(tall, all_regi, all_enty, all_enty, all_te)
\(TWa, Uranium: Mt Ur\)
vm_demSe
(ttot, all_regi, all_enty, all_enty, all_te)
\(TWa\)
vm_demSeOth
(ttot, all_regi, all_enty, all_te)
\(TWa\)
vm_emiAll
(ttot, all_regi, all_enty)
\(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\)
vm_emiAllMkt
(tall, all_regi, all_enty, all_emiMkt)
\(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\)
vm_emiCO2Sector
(ttot, all_regi, emi_sectors)
\(GtC\)
vm_emiCdr
(ttot, all_regi, all_enty)
\(GtC\)
vm_emiCdrAll
(ttot, all_regi)
\(GtC/year\)
vm_emiFgas
(ttot, all_regi, all_enty)
\(emiFgasTotal in MtCO2eq, for other units see f_emiFgas.cs4r\)
vm_emiMac
(ttot, all_regi, all_enty)
\(GtC, Mt CH4, Mt N\)
vm_emiMacSector
(ttot, all_regi, all_enty)
\(GtC, Mt CH4, Mt N\)
vm_emiTe
(ttot, all_regi, all_enty)
\(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\)
vm_emiTeDetail
(ttot, all_regi, all_enty, all_enty, all_te, all_enty)
\(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\)
vm_emiTeDetailMkt
(tall, all_regi, all_enty, all_enty, all_te, all_enty, all_emiMkt)
\(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\)
vm_emiTeMkt
(tall, all_regi, all_enty, all_emiMkt)
\(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\)
vm_esCapInv
(ttot, all_regi, all_teEs)
\(T\$\)
vm_flexAdj
(tall, all_regi, all_te)
vm_fuExtr
(ttot, all_regi, all_enty, rlf)
\(TWa, Uranium: Mt Ur\)
vm_penSeFeSectorShareDevCost
(ttot, all_regi)
\(T\$\)
vm_prodFe
(ttot, all_regi, all_enty, all_enty, all_te)
\(TWa\)
vm_prodPe
(ttot, all_regi, all_enty)
\(TWa, Uranium: Mt Ur\)
vm_prodSe
(tall, all_regi, all_enty, all_enty, all_te)
\(TWa\)

Realizations

(A) core

Learning curve for investment costs: (deactivate learning for tech_stat 4 technologies before 2025 as they are not built before) Learning technologies follow a “one-factor learning curve”[^1] (or “experience curve”). This widely-used formulation derives from empirical observations across different energy technologies of a log-linear relationship between the unit cost \(I\) of the technology and its cumulative production or installed capacity \(C\) (see for example empirical paper[^2]). [^1]: Edward S. Rubin, Iness M.L. Azevedo, Paulina Jaramillo, and Sonia Yeh. A review of learning rates for electricity supply technologies. Energy Policy, 86:198-218, 2015. [^2]: Alan McDonald and Leo Schrattenholzer. Learning rates for energy technologies. Energy Policy, 29(4):255–261, 2001. Learning rate \(\lambda\) is defined as the fractional reduction in cost associated with a doubling of cumulative capacity. Let \(I_0\) be the initial cost when cumulative capacity is \(C_0\), and \(I_d\) be the cost when cumulative capacity is \(C_d=2\times C_0\), then the learning rate is defined as: \[ \lambda = 1 - \frac{I_d}{I_0} \in [0,1] \] Hence relating investment cost \(I\) and cumulative capacity \(C\): \[ \frac{I}{I_0} = \left(1-\lambda \right)^{\log_2\left(\frac{C}{C_0}\right)} = \left(\frac{C}{C_0}\right)^{\log_2(1-\lambda )} \] Defining the learning exponent \(b = \log_2(1-\lambda)\) and the cost of the first unit \(a = \frac{I_0}{C_0^b}\), the learning equation simplifies into: \[ I = a \times C^{b} \] Now suppose there is a floor cost \(F\) such that \(I\geq F\geq 0\), irrespective of the capacity. Then the learning only applies to learnable costs \(I'=I-F\), and the learning equation becomes \[ I = a'\times C^{b'} + F \] with \(a' = \frac{I_0 - F}{C_0^{b'}}\). By design, REMIND learning equations ensure that the initial slope of learning is independent of the floor cost. Mathematically, the slopes are given by the derivative of \(I\) and \(I'\) with respect to \(C\): \[ \frac{dI}{dC} = a \times b \times C^{b-1} = I_0 \times b \times \left(\frac{C}{C_0}\right)^{b-1} \] \[ \frac{dI'}{dC} = a' \times b' \times C^{b'-1} = (I_0-F) \times b' \times \left(\frac{C}{C_0}\right)^{b'-1} \] For the two curves to have the same slope initially, we want the two derivatives to be equal for \(C=C_0\). This means \(I_0 \times b = (I_0-F) \times b'\), that we rewrite as: \[ b' = \frac{I_0}{I_0-F}b \] In datainput.gms, fm_dataglob external data provides the observed learning rate learn (\(\lambda\)), the initial investment costs inco0 (\(I_0\)), the floorcost (\(F\)) and the cumulative capacity in 2015 ccap0 (\(C_0\)). The other learning parameters are computed using the equations described above: learnExp_wFC (\(b'\)), learnMult_wFC (\(a'\)). In equations.gms, the investment costs equation q_costTeCapital corresponds to \(I = a'\times C^{b'} + F\), with variations depending on time period and floor cost scenarios.


q_costTeCapital(t,regi,teLearn) $ (pm_data(regi,"tech_stat",teLearn) < 4 or t.val > 2020) ..
  vm_costTeCapital(t,regi,teLearn)
  =e=
  macro_costGlob $ (t.val <= 2005)
    
  + macro_interpolate(t.val, 2005, 2020, macro_costGlob, macro_costRegi) $ (t.val > 2005 and t.val <= 2020)
$if %cm_floorCostScen% == "pricestruc"  + macro_costRegi $ (t.val > 2020)
$if %cm_floorCostScen% == "gdpBased"    + macro_costRegi $ (t.val > 2020)
$ifthen.default %cm_floorCostScen% == "uniform"
  + macro_costRegi $ (t.val > 2020 and t.val <= c_teLearnConvStartYr)
  + macro_interpolate(t.val, c_teLearnConvStartYr, c_teLearnConvEndYr, macro_costRegi, macro_costGlob) $ (t.val > c_teLearnConvStartYr and t.val < c_teLearnConvEndYr)
  + macro_costGlob $ (t.val >= c_teLearnConvEndYr)
$endif.default
;

Limitations There are no known limitations.

See Also

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, 25_WACC, 26_agCosts, 29_CES_parameters, 30_biomass, 31_fossil, 32_power, 33_carbonRemoval, 35_transport, 36_buildings, 37_industry, 39_carbonUtilization, 40_techpol, 41_emicapregi, 45_carbonprice, 46_carbonpriceRegi, 47_regipol, 50_damages, 51_internalizeDamages, 70_water, 80_optimization, 81_codePerformance

References