$setGlobal c_expname default
$setGlobal c_description REMIND run with default settings
——————— 01_macro —————————————–
$setGlobal macro singleSectorGr !! def = singleSectorGr
——————— 02_welfare —————————————
$setGlobal welfare utilitarian !! def = utilitarian
——————— 04_PE_FE_parameters ——————————
$setGlobal PE_FE_parameters iea2014 !! def = iea2014
——————— 05_initialCap ————————————
$setGlobal initialCap on !! def = on
——————— 11_aerosols ————————————–
$setGlobal aerosols exoGAINS !! def = exoGAINS
——————— 15_climate —————————————
$setGlobal climate off !! def = off
——————— 16_downscaleTemperature ————————–
$setGlobal downscaleTemperature off !! def = off
——————— 20_growth ——————————————
$setglobal growth exogenous !! def = exogenous
——————— 21_tax ——————————————
$setglobal tax on !! def = on
——————— 22_subsidizeLearning —————————–
$setglobal subsidizeLearning off !! def = off
———————- 23_capitalMarket ——————————-
$setglobal capitalMarket debt_limit !! def = debt_limit
———————- 24_trade —————————————
$setglobal trade standard !! def = standard
———————- 26_agCosts —————————————-
$setglobal agCosts costs !! def = costs
——————— 29_CES_parameters —————————-
$setglobal CES_parameters load !! def = load
——————— 30_biomass —————————————-
$setglobal biomass magpie_40 !! def = magpie_40
——————— 31_fossil —————————————-
$setglobal fossil grades2poly !! def = grades2poly
——————— 32_power —————————————-
$setglobal power IntC !! def = IntC
——————— 33_CDR —————————————-
$setglobal CDR portfolio !! def = portfolio
——————— 35_transport —————————————-
$setglobal transport edge_esm !! def = edge_esm
——————— 36_buildings ———————————
$setglobal buildings simple !! def = simple
——————— 37_industry ———————————-
$setglobal industry subsectors !! def = subsectors
——————— 39_CCU ———————————
$setglobal CCU on !! def = on
——————— 40_techpol —————————————-
$setglobal techpol none !! def = none
——————— 41_emicapregi —————————————-
$setglobal emicapregi none !! def = none
——————— 45_carbonprice —————————————-
This module defines the carbon price pm_taxCO2eq, with behaviour across regions governed by similar principles (e.g. global targets, or all following NDC or NPi policies).
The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm [default = linear]. The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). In addition, the carbon prices provided by path_gdx_ref can be used as a lower bound based on the switch cm_taxCO2_lowerBound_path_gdx_ref [def = on].$setglobal carbonprice none !! def = none
——————— 46_carbonpriceRegi ———————————
This module applies a markup pm_taxCO2eqRegi on top of pm_taxCO2eq to achieve additional intermediate targets.
$setglobal carbonpriceRegi none !! def = none
——————— 47_regipol —————————————–
The regiCarbonPrice realisation defines more detailed region or emissions market specific targets, overwriting the behaviour of pm_taxCO2eq and pm_taxCO2eqRegi for these regions.
$setglobal regipol none !! def = none
——————— 50_damages —————————————
$setGlobal damages off !! def = off
——————— 51_internalizeDamages —————————-
$setGlobal internalizeDamages off !! def = off
——————— 70_water ——————————————-
$setglobal water heat !! def = heat
——————— 80_optimization ———————————-
$setGlobal optimization nash !! def = nash
——————— 81_codePerformance ——————————-
$setGlobal codePerformance off !! def = off
parameter
cm_nash_mode "mode for solving nash problem"
;
cm_nash_mode = 2; !! def = 2 !! regexp = 1|2
parameter
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_iteration_max = 1; !! def = 1
parameter
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_abortOnConsecFail = 2; !! def = 2 !! regexp = [0-9]+
parameter
cm_solver_try_max "maximum number of inner iterations within one Negishi iteration (<10)"
;
cm_solver_try_max = 2; !! def = 2
set to at least five by testOneRegi
parameter
c_keep_iteration_gdxes "save intermediate iteration gdxes"
;
c_keep_iteration_gdxes = 0; !! def = 0 !! regexp = 0|1
in default we do not save gdx files from each iteration to limit the number of the output files but this might be helpful for debugging
parameter
cm_keep_presolve_gdxes "save gdxes for all regions/solver tries/nash iterations for debugging"
;
cm_keep_presolve_gdxes = 0; !! def = 0 !! regexp = 0|1
parameter
cm_nash_autoconverge "choice of nash convergence mode"
;
cm_nash_autoconverge = 1; !! def = 1 !! regexp = [0-3]
parameter
cm_emiscen "policy scenario choice"
;
cm_emiscen = 1; !! def = 1 !! regexp = 0|1|4|6|9|10
parameter
cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq"
;
cm_taxCO2_startyear = -1; !! def = -1 !! regexp = -1|is.nonnegative
initialization of CO2 tax in start year [if cm_iterative_target_adj eq 5, 7 or 9]parameter
cm_taxCO2_expGrowth "growth rate of carbon tax"
;
cm_taxCO2_expGrowth = 1.045; !! def = 1.045 !! regexp = is.numeric
(any number >= 0): rate of exponential increase over time, default value chosen to be consistent with interest rate
parameter
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_budgetCO2from2020 = 1150; !! def = 1150
budgets from AR6 for 2020-2100 (including 2020), for 1.5 C: 500 Gt CO2 peak budget (400 Gt CO2 end of century), for 2 C: 1150 Gt CO2
parameter
cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot"
;
cm_peakBudgYr = 2050; !! def = 2050
time of net-zero CO2 emissions (peak budget) endogenous adjustment by algorithms in 45_carbonprice/functionalForm/postsolve.gms [requires emiscen = 9 and cm_iterative_target_adj = 7 or 9]
parameter
cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 tax after cm_peakBudgYr in $ per tCO2"
;
cm_taxCO2_IncAfterPeakBudgYr = 0; !! def = 0 . For weak targets (higher than 1100 Peak Budget), this value might need to increased to prevent continually increasing temperatures
parameter
cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially"
;
cm_expoLinear_yearStart = 2050; !! def = 2050
parameter
c_macscen "scenario switch on whether or not to use MAC (Marginal Abatement Cost) for certain sectors not related to direct combustion of fossil fuel, e.g. fugitive emissions from old mines, forestry, agriculture and cement"
;
c_macscen = 1; !! def = 1 !! regexp = 1|2
parameter
cm_nucscen "nuclear option choice"
;
cm_nucscen = 2; !! def = 2 !! regexp = 1|2|5|6
parameter
cm_ccapturescen "carbon capture option choice, no carbon capture only if CCS and CCU are switched off!"
;
cm_ccapturescen = 1; !! def = 1 !! regexp = [1-4]
parameter
c_bioliqscen "2nd generation bioenergy liquids technology choice"
;
c_bioliqscen = 1; !! def = 1 !! regexp = 0|1
parameter
c_bioh2scen "bioenergy hydrogen technology choice"
;
c_bioh2scen = 1; !! def = 1 !! regexp = 0|1
parameter
c_shGreenH2 "lower bound on share of green hydrogen in all hydrogen from 2030 onwards"
;
c_shGreenH2 = 0; !! def = 0 !! regexp = is.share
(a number between 0 and 1): share
parameter
c_shBioTrans "upper bound on share of bioliquids in transport from 2025 onwards"
;
c_shBioTrans = 1; !! def = 1 !! regexp = is.share
(a number between 0 and 1): share
parameter
cm_shSynLiq "lower bound on share of synfuels in SE liquids by 2045, gradual scale-up before"
;
cm_shSynLiq = 0; !! def = 0 !! regexp = is.share
(a number between 0 and 1): share
parameter
cm_shSynGas "lower bound on share of synthetic gas in SE gases by 2045, gradual scale-up before"
;
cm_shSynGas = 0; !! def = 0 !! regexp = is.share
parameter
cm_IndCCSscen "CCS for Industry"
;
cm_IndCCSscen = 1; !! def = 1
parameter
cm_optimisticMAC "assume optimistic Industry MAC from AR5 Ch. 10?"
;
cm_optimisticMAC = 0; !! def = 0
parameter
cm_CCS_cement "CCS for cement sub-sector"
;
cm_CCS_cement = 1; !! def = 1
parameter
cm_CCS_chemicals "CCS for chemicals sub-sector"
;
cm_CCS_chemicals = 1; !! def = 1
parameter
cm_CCS_steel "CCS for steel sub-sector"
;
cm_CCS_steel = 1; !! def = 1
parameter
cm_bioenergy_SustTax "level of the bioenergy sustainability tax in fraction of bioenergy price"
;
cm_bioenergy_SustTax = 1.5; !! def = 1.5
Only effective if 21_tax is on. The tax is only applied to purpose grown 2nd generation (lignocellulosic) biomass and the level increases linearly with bioenergy demand. A value of 1 refers to a tax level of 100% at a production of 200 EJ per yr globally (implies 50% at 100 EJ per yr or 150% at 300 EJ per yr, for example).
parameter
cm_bioenergy_EF_for_tax "bioenergy emission factor that is used to derive a bioenergy tax [kgCO2 per GJ]"
;
cm_bioenergy_EF_for_tax = 0; !! def = 0
Only effective if 21_tax is on, applied to all regions specified by cm_regi_bioenergy_EFTax. Please note that the tax, which is derived from this emission factor, is not the same as the sustainabilty tax described above. Please also note that the emission factor is only used to inform the tax level, i.e. associated emissions do not enter the emissions balance equations.
parameter
cm_tradecostBio "choose financial tradecosts multiplier for biomass (purpose grown pebiolc)"
;
cm_tradecostBio = 1; !! def = 1
parameter
cm_1stgen_phaseout "scenario setting for phase-out of 1st generation biofuels"
;
cm_1stgen_phaseout = 0; !! def = 0 !! regexp = 0|1
parameter
cm_phaseoutBiolc "Switch that allows for a full phaseout of all bioenergy technologies globally"
;
cm_phaseoutBiolc = 0; !! def = 0 !! regexp = 0|1
parameter
cm_startyear "first optimized modelling time step [year]"
;
cm_startyear = 2005; !! def = 2005 for a baseline !! regexp = 20[0-9](0|5)
parameter
c_start_budget "start of GHG budget limit"
;
c_start_budget = 2100; !! def = 2100
parameter
cm_prtpScen "pure rate of time preference standard values"
;
cm_prtpScen = 1; !! def = 1 !! regexp = 1|3
parameter
cm_fetaxscen "choice of final energy tax path, subsidy path and inconvenience cost path, values other than zero enable final energy tax"
;
cm_fetaxscen = 3; !! def = 3 !! regexp = [0-5]
even if set to 0, the PE inconvenience cost per SO2-cost for coal are always on if module 21_tax is on * (0): no tax, sub, inconv * (1): constant t,s,i (used in SSP 5 and ADVANCE WP3.1 HighOilSub) * (2): converging tax, phased out sub (-2030), no inconvenience cost so far (used in SSP 1) * (3): constant tax, phased out sub (-2050), no inconvenience cost so far (used in SSP 2) * (4): constant tax, phased out sub (-2030), no inconvenience cost so far (used in SDP) * (5): roll back of final energy taxes to get back to a no-policy case (previously known as BAU)
parameter
cm_distrBeta "elasticity of tax revenue redistribution"
;
cm_distrBeta = 1; !! def = 1 !! regexp = 0|1
(0): equal per capita redistribution (1): proportional redistribution
parameter
cm_multigasscen "scenario on GHG portfolio to be included in permit trading scheme"
;
cm_multigasscen = 2; !! def = 2 !! regexp = [1-3]
parameter
cm_permittradescen "scenario on permit trade"
;
cm_permittradescen = 1; !! def = 1 !! regexp = [1-3]
parameter
cm_rentdiscoil "[grades2poly] discount factor for the oil rent"
;
cm_rentdiscoil = 0.2; !! def = 0.2
parameter
cm_rentdiscoil2 "[grades2poly] discount factor for the oil rent achieved in 2100"
;
cm_rentdiscoil2 = 0.9; !! def = 0.9
parameter
cm_rentconvoil "[grades2poly] number of years required to converge to the 2100 oil rent"
;
cm_rentconvoil = 50; !! def = 50
parameter
cm_rentdiscgas "[grades2poly] discount factor for the gas rent"
;
cm_rentdiscgas = 0.6; !! def = 0.6
parameter
cm_rentdiscgas2 "[grades2poly] discount factor for the gas rent achieved in 2100"
;
cm_rentdiscgas2 = 0.8; !! def = 0.8
parameter
cm_rentconvgas "[grades2poly] number of years required to converge to the 2100 gas rent"
;
cm_rentconvgas = 50; !! def = 50
parameter
cm_rentdisccoal "[grades2poly] discount factor for the coal rent"
;
cm_rentdisccoal = 0.4; !! def = 0.4
parameter
cm_rentdisccoal2 "[grades2poly] discount factor for the coal rent achieved in 2100"
;
cm_rentdisccoal2 = 0.6; !! def = 0.6
parameter
cm_rentconvcoal "[grades2poly] number of years required to converge to the 2100 coal rent"
;
cm_rentconvcoal = 50; !! def = 50
parameter
c_cint_scen "additional GHG emissions from mining fossil fuels"
;
c_cint_scen = 1; !! def = 1 !! regexp = 0|1
parameter
cm_so2tax_scen "level of SO2 tax"
;
cm_so2tax_scen = 1; !! def = 1 !! regexp = [0-4]
parameter
c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5, 4: SSP3"
;
c_techAssumptScen = 1; !! def = 1 !! regexp = [1-4]
This flag defines an energy technology scenario according to SSP scenario * (1) SSP2: reference scenario - default investment costs & learning rates for pv, csp and wind * (2) SSP1: advanced renewable energy techno., pessimistic for nuclear and CCS * (3) SSP5: pessimistic techno-economic assumptions
parameter
c_ccsinjecratescen "CCS injection rate factor applied to total regional storage potentials, yielding an upper bound on annual injection"
;
c_ccsinjecratescen = 1; !! def = 1 !! regexp = [0-6]
This switch determines the upper bound of the annual CCS injection rate. CCS here refers to carbon sequestration, carbon capture is modelled separately. * (0) no “CCS” as in no carbon sequestration at all * (1) reference case: 0.005; max 19.7 GtCO2/yr globally * (2) lower estimate: 0.0025; max 9.8 GtCO2/yr globally * (3) upper estimate: 0.0075; max 29.5 GtCO2/yr globally * (4) unconstrained: 1; max 3900 GtCO2/yr globally * (5) sustainability case: 0.001; max 3.9 GtCO2/yr globally * (6) intermediate estimate: 0.0022; max 8.6 GtCO2/yr globally
parameter
c_ccscapratescen "CCS capture rate"
;
c_ccscapratescen = 1; !! def = 1 !! regexp = 1|2
This flag determines the CO2 capture rate of selected CCS technologies * (1) reference (90%) * (2) increased capture rate (99%)
parameter
c_export_tax_scen "choose which oil export tax is used in the model. 0 = none, 1 = fix"
;
c_export_tax_scen = 0; !! def = 0 !! regexp = 0|1
parameter
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_iterative_target_adj = 0; !! def = 0 !! regexp = 0|2|3|5|7|9
parameter
cm_NDC_divergentScenario "choose scenario about convergence of CO2eq prices [45_carbonprice = NDC]"
;
cm_NDC_divergentScenario = 0; !! def = 0 !! regexp = [0-2]
parameter
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_gdximport_target = 0; !! def = 0 !! regexp = 0|1
parameter
cm_33DAC "choose whether DAC (direct air capture) should be included into the CDR portfolio."
;
cm_33DAC = 1; !! def = 1 !! regexp = 0|1
parameter
cm_33EW "choose whether EW (enhanced weathering) should be included into the CDR portfolio."
;
cm_33EW = 0; !! def = 0 !! regexp = 0|1
parameter
cm_33OAE "choose whether OAE (ocean alkalinity enhancement) should be included into the CDR portfolio. 0 = OAE not used, 1 = used"
;
cm_33OAE = 0; !! def = 0
Since OAE is quite a cheap CDR option, runs might not converge because the model tries to deploy a lot of OAE. In this case, use a quantity target to limit OAE by adding something like: (2070,2080,2090,2100).GLO.tax.t.oae.all 5000 to cm_implicitQttyTarget in your config file, starting from the year in which OAE is deployed above 5000 MtCO2 / yr. This will limit the global deployment to 5000 Mt / yr in timesteps 2070-2100. * (1): ocean alkalinity enhancement is included * (0): not included
parameter
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). [tCO2/tCaO]"
;
cm_33_OAE_eff = 1.2; !! def = 1.2
parameter
cm_33_OAE_scen "OAE distribution scenarios"
;
cm_33_OAE_scen = 1; !! def = 1
parameter
cm_33_OAE_startyr "The year when OAE could start being deployed [year]"
;
cm_33_OAE_startyr = 2030; !! def = 2030 !! regexp = 20[3-9](0|5)
parameter
cm_gs_ew "grain size (for enhanced weathering, CDR module) [micrometre]"
;
cm_gs_ew = 20; !! def = 20 !! regexp = is.numeric
parameter
cm_LimRock "limit amount of rock spread each year [Gt]"
;
cm_LimRock = 1000; !! def = 1000
parameter
cm_33_EW_upScalingRateLimit "Annual growth rate limit on upscaling of mining & spreading rocks on fields"
;
cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% !! regexp = is.nonnegative
parameter
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_shortTermLimit = 0.005; !! def = 0.5% !! regexp = is.nonnegative
parameter
cm_postTargetIncrease "carbon price increase per year after regipol emission target is reached (euro per tCO2)"
;
cm_postTargetIncrease = 0; !! def = 0
parameter
cm_implicitQttyTarget_tolerance "tolerance for regipol implicit quantity target deviations convergence."
;
cm_implicitQttyTarget_tolerance = 0.01; !! def = 0.01, i.e. regipol implicit quantity targets must be met within 1% of target deviation
parameter
cm_emiMktTargetDelay "number of years for delayed price change in the emission tax convergence algorithm. Not applied to first target set."
;
cm_emiMktTargetDelay = 0; !! def = 0
parameter
cm_distrAlphaDam "income elasticity of damages for inequality"
;
cm_distrAlphaDam = 1; !! def = 1
1 means damage is distributed proportional to income, i.e. distributionally neutral, 0 means equal per capita distribution of damage
parameter
cm_damages_BurkeLike_specification "empirical specification for Burke-like damage functions"
;
cm_damages_BurkeLike_specification = 0; !! def = 0
{0,5} Selects the main Burke specification “pooled, short-run” (0) or an alternative one “pooled, long-run”(5)
parameter
cm_damages_BurkeLike_persistenceTime "persistence time in years for Burke-like damage functions"
;
cm_damages_BurkeLike_persistenceTime = 30; !! def = 30
Persistence time (half-time) in years. Highly uncertain, but may be in between 5 and 55 years.
parameter
cm_damages_SccHorizon "Horizon for SCC calculation. Damages cm_damagesSccHorizon years into the future are internalized."
;
cm_damages_SccHorizon = 100; !! def = 100
Horizon for SCC calculation. Damages cm_damagesSccHorizon years into the future are internalized.
parameter
cm_damage_KWSE "standard error for Kalkuhl & Wenz damages"
;
cm_damage_KWSE = 0; !! def = 0
{1.645 for 90% CI, 1.96 for 95% CI, no correction when 0}
parameter
cm_sccConvergence "convergence indicator for SCC iteration"
;
cm_sccConvergence = 0.05; !! def = 0.05
;
parameter
cm_tempConvergence "convergence indicator for temperature in damage iteration"
;
cm_tempConvergence = 0.05; !! def = 0.05
;
parameter
cm_carbonprice_temperatureLimit "not-to-exceed temperature target in degree above pre-industrial [45_carbonprice = temperatureNotToExceed]"
;
cm_carbonprice_temperatureLimit = 1.8; !! def = 1.8
parameter
cm_frac_CCS "tax on carbon transport & storage (ccsinje) to reflect risk of leakage, formulated as fraction of ccsinje O&M costs"
;
cm_frac_CCS = 10; !! def = 10
parameter
cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshooting, formulated as fraction of carbon price"
;
cm_frac_NetNegEmi = 0.5; !! def = 0.5
This tax reduces the regional effective carbon price for CO2 once regional net CO2 emissions turn negative; default is a reduction by 50 percent. As the tax applies to net CO2 emissions, both further emission reductions and CDR are disincentivised. Fraction can be freely chosen. Guidelines:
parameter
cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital"
;
cm_DiscRateScen = 0; !! def = 0 !! regexp = [0-4]
parameter
cm_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year"
;
cm_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings)
For all years until the given year, FE demand for H2 in buildings is set to zero
parameter
c_teNoLearngConvEndYr "Year at which regional costs of non-learning technologies converge"
;
c_teNoLearngConvEndYr = 2070; !! def = 2070
parameter
c_earlyRetiValidYr "Year before which the early retirement rate designated by c_tech_earlyreti_rate holds"
;
c_earlyRetiValidYr = 2035; !! def = 2035
parameter
c_seFeSectorShareDevScale "scale factor in the objective function of the penalization to incentive sectors to have similar shares of secondary energy fuels."
;
c_seFeSectorShareDevScale = 1e-3; !! def = 1e-3
parameter
cm_TaxConvCheck "switch for enabling tax convergence check in nash mode"
;
cm_TaxConvCheck = 1; !! def = 1, which means tax convergence check is on !! regexp = 0|1
switches tax convergence check in nash mode on and off (check that tax revenue in all regions, periods be smaller than 0.1% of GDP) * 0 (off) * 1 (on), default
parameter
cm_maxFadeOutPriceAnticip "switch to determine maximum allowed fadeout price anticipation to consider that the model converged."
;
cm_maxFadeOutPriceAnticip = 1e-4; !! def = 1e-4, the fadeout price anticipation term needs to be lower than 1e-4 to consider that the model converged.
parameter
cm_flex_tax "switch for enabling flexibility tax"
;
cm_flex_tax = 1; !! def = 1 !! regexp = 0|1
cm_flex_tax “switch for flexibility tax/subsidy, switching it on activates a tax on a number of technologies with flexible or inflexible electricity input.” technologies with flexible eletricity input get a subsidy corresponding to the lower-than-average electricity prices that they see, while inflexible technologies get a tax corresponding to the higher-than-average electricity prices that they see * (0) flexibility tax off * (1) flexibility tax on
parameter
cm_H2targets "switches on capacity targets for electrolysis in NDC techpol following national Hydrogen Strategies"
;
cm_H2targets = 0; !! def 0
parameter
cm_FlexTaxFeedback "switch deciding whether flexibility tax feedback on buildings and industry electricity prices is on"
;
cm_FlexTaxFeedback = 0; !! def = 0 !! regexp = 0|1
cm_FlexTaxFeedback, switches on feedback of flexibility tax on buildings and industry. That is, electricity price decrease for electrolysis has to be matched by electrictiy price increase in buildings and industry. This switch only has an effect if the flexibility tax is on by cm_flex_tax set to 1.
parameter
cm_VRE_supply_assumptions "default (0), optimistic (1), sombre (2), or bleak (3) assumptions on VRE supply"
;
cm_VRE_supply_assumptions = 0; !! 0 - default, 1 - optimistic, 2 - sombre, 3 - bleak !! regexp = [0-3]
parameter
cm_build_H2costAddH2Inv "additional h2 distribution costs for low diffusion levels (default value: 6.5$/kg = 0.2 $/Kwh)"
;
cm_build_H2costAddH2Inv = 0.2; !! def = 6.5$/kg = 0.2 $/Kwh
parameter
cm_build_H2costDecayStart "simplified logistic function end of full value (ex. 5% -> between 0 and 5% the function will have the value 1). [%]"
;
cm_build_H2costDecayStart = 0.05; !! def = 0.05
parameter
cm_build_H2costDecayEnd "simplified logistic function start of null value (ex. 10% -> after 10% the function will have the value 0). [%]"
;
cm_build_H2costDecayEnd = 0.1; !! def = 0.1
parameter
cm_indst_H2costAddH2Inv "additional h2 distribution costs for low diffusion levels (default value: 3.25$kg = 0.1 $/kWh)"
;
cm_indst_H2costAddH2Inv = 0.1; !! def = 3.25$/kg = 0.1 $/Kwh
parameter
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_costDecayStart = 0.05; !! def = 5%
parameter
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_indst_H2costDecayEnd = 0.1; !! def 10%
parameter
cm_BioSupply_Adjust_EU "factor for scaling sub-EU bioenergy supply curves"
;
cm_BioSupply_Adjust_EU = 3; !! def 3, 3*bioenergy supply slope obtained from input data
scales bioenergy supply curves in EU regions (mainly used to match EUR H12/ 3 /GJ from 2030 onward, and 30\(/GJ from 2040 onward, and 40\)/GJ from 2040 onward. scales slope of bioenergy supply curves in EU subregions (mainly used to match EUR H12/Magpie bioenergy potential) switch can be removed once supply curves for EU subregions are fixed in input data
parameter
cm_noPeFosCCDeu "switch to suppress Pe2Se Fossil Carbon Capture in Germany"
;
cm_noPeFosCCDeu = 0; !! def = 0 !! regexp = 0|1
CCS limitations for Germany def 0, no suppression of Pe2Se Fossil Carbon Capture in Germany, if 1 then no pe2se fossil CO2 capture in Germany fossil CCS limitations in Germany+
parameter
c_fracRealfromAnnouncedCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030"
;
c_fracRealfromAnnouncedCCScap2030 = 0.3; !! def = 0.3
This switch changes the assumption about the share of timely realised capacities from sum of announced/planned in 2030 from the IEA CCS data base Default assumption is that only 30% of announced or planned capacities will be realised, either due to discontinuation or delay
parameter
cm_startIter_EDGET "starting iteration of EDGE-T"
;
cm_startIter_EDGET = 14; !! def = 14, by default EDGE-T is run first in iteration 14 !! regexp = [0-9]+
EDGE-T transport starting iteration of coupling def 14, EDGE-T coupling starts at 14, if you want to test whether infeasibilities after EDGE-T -> set it to 1 to check after first iteration
parameter
cm_deuCDRmax "switch to limit maximum annual CDR amount in Germany in MtCO2 per y"
;
cm_deuCDRmax = -1; !! def = -1
switch to cap annual DEU CDR amount by value assigned to switch, or no cap if -1, in MtCO2
parameter
cm_EnSecScen_limit "switch for limiting the gas demand from 2025 onward, currently only applied to Germany"
;
cm_EnSecScen_limit = 0; !! def = 0
This switch is used to represent a limited gas supply in a energy security scenario. [EJ per yr]
default, equals "off", no limit imposedparameter
c_SlackMultiplier "Multiplicative factor to up/downscale the slack size for v_changeProdStartyearSlack"
;
c_SlackMultiplier = 1; !! def = 1
parameter
c_changeProdCost "Multiplicative factor to up/downscale the costs for vm_changeProdStartyearCost"
;
c_changeProdCost = 5; !! def = 5
parameter
cm_LearningSpillover "Activate Learningspillover from foreign capacity in learning technogolies"
;
cm_LearningSpillover = 1; !! def 1 = Learningspillover activated (set to 0 to deactivate)
cm_MAgPIE_coupling “switch on coupling mode with MAgPIE”
$setglobal cm_MAgPIE_coupling off !! def = "off" !! regexp = off|on
cm_rcp_scen “chooses RCP scenario”
$setglobal cm_rcp_scen none !! def = "none" !! regexp = none|rcp20|rcp26|rcp37|rcp45|rcp60|rcp85
cm_NDC_version “choose version year of NDC targets as well as conditional vs. unconditional targets” * (2024_cond): all NDCs conditional to international financial support published until August 31, 2024 * (2024_uncond): all NDCs independent of international financial support published until August 31, 2024 * (2023_cond): all NDCs conditional to international financial support published until December 31, 2023 * (2023_uncond): all NDCs independent of international financial support published until December 31, 2023 * Other supported years are 2022, 2021 and 2018, always containing NDCs published until December 31 of that year
$setglobal cm_NDC_version 2024_cond !! def = "2024_cond" !! regexp = 20(18|2[1-4])_(un)?cond
cm_netZeroScen “choose scenario of net zero targets of netZero realization of module 46_carbonpriceRegi”
(NGFS_v4): settings used for NGFS v4, 2023 (NGFS_v4_20pc): settings used for NGFS v4, 2023, with still 20% of 2020 emissions in netZero year (ELEVATE2p3): settings used for ELEVATE2p3 LTS and NDC-LTS scenario
$setglobal cm_netZeroScen NGFS_v4 !! def = "NGFS_v4" !! regexp = NGFS_v4|NGFS_v4_20pc|ELEVATE2p3
$setglobal c_regi_earlyreti_rate GLO 0.09, EUR_regi 0.15 !! def = GLO 0.09, EUR_regi 0.15
$setglobal c_tech_earlyreti_rate GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13 !! def = GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13
$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SSP2_lowEn
$setGlobal cm_regi_bioenergy_EFTax glob !! def = glob
$setglobal cm_tradbio_phaseout default !! def = default !! regexp = default|fast
$setglobal cm_maxProdBiolc off !! def = off !! regexp = off|is.nonnegative
$setGLobal cm_bioprod_regi_lim off !! def off
cm_POPscen “Population growth scenarios from UN data and IIASA projection used in SSP”
$setglobal cm_POPscen pop_SSP2 !! def = pop_SSP2
cm_GDPscen “assumptions about future GDP development, linked to population development (cm_POPscen)”
$setglobal cm_GDPscen gdp_SSP2 !! def = gdp_SSP2
$setGlobal cm_oil_scen medOil !! def = medOil !! regexp = lowOil|medOil|highOil|4
$setGlobal cm_gas_scen medGas !! def = medGas !! regexp = lowGas|medGas|highGas
$setGlobal cm_coal_scen medCoal !! def = medCoal !! regexp = 0|lowCoal|medCoal|highCoal
$setglobal c_ccsinjecrateRegi off !! def = "off"
$setglobal c_SSP_forcing_adjust forcing_SSP2 !! def = forcing_SSP2 !! regexp = forcing_SSP(1|2|3|5)
$setGlobal cm_regiExoPrice off !! def = off
$setGlobal cm_emiMktTarget off !! def = off
$setGlobal cm_emiMktTarget_tolerance GLO 0.01 !! def = GLO 0.01
$setGlobal cm_scaleDemand off !! def = off
$setGlobal cm_quantity_regiCO2target off !! def = off
$setGlobal cm_dispatchSetyDown off !! def = off The amount that te producing any sety can dispatch less (in percent) - so setting "20" in a cm_dispatchSetyDown column in scenario_config will allow the model to reduce the output of this te by 20%
$setGlobal cm_dispatchSeelDown off !! def = off The amount that te producing seel can dispatch less (in percent) (overrides cm_dispatchSetyDown for te producing seel)
$setGlobal cm_NucRegiPol off !! def = off
$setGlobal cm_CoalRegiPol off !! def = off
$setGlobal cm_proNucRegiPol off !! def = off
$setGlobal cm_CCSRegiPol off !! def = off
$setGlobal cm_vehiclesSubsidies off !! def = off
$setGlobal cm_implicitQttyTarget off !! def = off
$setGlobal cm_implicitQttyTargetType config !! def = config !! regexp = config|scenario
$setGlobal cm_loadFromGDX_implicitQttyTargetTax off !! def = off !! regexp = off|on
$setGlobal cm_implicitQttyTarget_delay iteration 15 !! def = iteration 15, quantity targets only start after iteration 15
$setGlobal cm_implicitPriceTarget off !! def = off !! regexp = off|initial|elecPrice|H2Price|highElec|highGasandLiq|highPrice|lowElec|lowPrice
$setGlobal cm_implicitPePriceTarget off !! def = off !! regexp = off|highFossilPrice
$setGlobal cm_VREminShare off !! def = off
$setGlobal cm_CCSmaxBound off !! def = off
$setGlobal c_tech_CO2capturerate off !! def = off
$setglobal c_CES_calibration_new_structure 0 !! def = 0 !! regexp = 0|1
$setglobal c_CES_calibration_write_prices 0 !! def = 0 !! regexp = 0|1
$setglobal cm_CES_calibration_default_prices 0.01 !! def = 0.01
$setglobal cm_in_limit_price_change "ue_steel_primary, kap_steel_primary" !! def = ""
$setglobal cm_calibration_string off !! def = off
$setglobal cm_techcosts REG !! def = REG !! regexp = REG|REG2040|GLO
$setglobal cm_floorCostScen default !! def = default
$setGlobal cm_EDGEtr_scen Mix1 !! def = Mix1
$setglobal cm_steel_secondary_max_share_scenario off !! def off , switch on for maximum secondary steel share
$setGlobal cm_import_tax off !! def = off !! regexp = .*(worldPricemarkup|CO2taxmarkup|avCO2taxmarkup|off).*
$setGlobal cm_import_EU off !! def off
$setGlobal cm_import_ariadne off !! def off
$setGlobal cm_PriceDurSlope_elh2 GLO 20 !! def = GLO 20
$setGlobal cm_trade_SE_exog off !! def off
$setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40
$setGlobal cm_EnSecScen off !! def off
$setGlobal cm_EnSecScen_price off !! def off
$setGlobal cm_indstExogScen off !! def off
$setGLobal cm_exogDem_scen off !! def off !! regexp = off|ariadne_(bal|ensec|highDem|lowDem)
$setGlobal cm_Ger_Pol off !! def off
$setGlobal cm_altFeEmiFac off !! def = off
$setglobal cm_eni off !! def = off
$setglobal cm_enb off !! def = off
$setglobal cm_incolearn off !! def = off
$setglobal cm_storageFactor off !! def = off
$setglobal cm_learnRate off !! def = off
$setglobal cm_adj_seed off
$setglobal cm_adj_seed_cont off
$setglobal cm_adj_coeff off
$setglobal cm_adj_coeff_cont off
$setglobal cm_adj_seed_multiplier off
$setglobal cm_adj_coeff_multiplier off
$setglobal cm_inco0Factor off !! def = off
$setglobal cm_inco0RegiFactor off !! def = off
$setglobal cm_ccsinjeCost med !! def = med !! regexp = med|low|high
$setglobal cm_CCS_markup off !! def = off
$setglobal cm_Industry_CCS_markup off !! def = off
$setglobal cm_renewables_floor_cost off !! def = off
$setglobal cm_sehe_upper off !! def = off
$setglobal cm_rcp_scen_build none !! def = "none"
$setGlobal cm_pushCalib none !! def = none
$setGlobal cm_reducCostB none !! def = none
$setGlobal cm_effHP 5 !! def = 5
$setGlobal cm_CESMkup_build standard !! def = standard
$setGlobal cm_CESMkup_ind standard !! def = standard
$setGlobal cm_CESMkup_ind_data "" !! def = ""
$setGlobal cm_fxIndUe off !! def = off !! regexp = off|on
$setGlobal cm_fxIndUeReg "" !! def = ""
$setglobal cm_taxCO2_functionalForm linear !! def = "linear" !! regexp = linear|exponential
$setglobal cm_taxCO2_historical gdx_ref !! def = "gdx_ref" !! regexp = gdx_ref|is.nonnegative
$setglobal cm_taxCO2_historicalYr last !! def = "last" !! regexp = last|is.nonnegative
$setglobal cm_taxCO2_regiDiff initialSpread10 !! def = "initialSpread10" !! regexp = none|initialSpread10|initialSpread20|gdpSpread
$setglobal cm_taxCO2_regiDiff_endYr "GLO 2050" !! def = "GLO 2050"
$setglobal cm_taxCO2_interpolation off !! def = "off"
$setglobal cm_taxCO2_startYearValue !! def = "off"
$setglobal cm_taxCO2_lowerBound_path_gdx_ref on !! def = "on" !! regexp = on|off
$setglobal cm_ind_energy_limit default !! def = default !! regexp = default|manual
$setglobal cm_ind_energy_limit_manual "2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90"
$setglobal cm_wasteIncinerationCCSshare off !! def = off
$setglobal cm_wastelag NO !! def = NO !! regexp = YES|NO
$setglobal cm_feedstockEmiUnknownFate off !! def = off
$setglobal cm_feShareLimits off !! def = off
$setGlobal c_VREPot_Factor off !! def = off
$setGlobal cm_FEtax_trajectory_abs off !! def = off
$setGlobal cm_FEtax_trajectory_rel off !! def = off
$setGLobal c_agricult_base_shift off !! def off
$setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on
$setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on
$setglobal cm_seFeSectorShareDevMethod sqSectorAvrgShare !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare
$setglobal c_seFeSectorShareDevUnit share !! def = share !! regexp = share|energy
$setGlobal cm_MOFEX off !! def = off !! regexp = off|on
$setGlobal cm_limitSolidsFossilRegi off
$setGlobal cm_Full_Integration off !! def = off !! regexp = off|on
MAGICC configuration either uncalibrated or calibrate year 2000 temperature to HADCRUT4 data (which is very close to AR5).
$setGlobal cm_magicc_calibrateTemperature2000 uncalibrated !! def = uncalibrated
Derive temperature impulse response to CO2 emissions, based on MAGICC. Adds around 10min runtime.
$setGlobal cm_magicc_temperatureImpulseResponse off !! def = off !! regexp = off|on
MAGICC configuration roughly comparable to TCRE value, or even more roughly, equivalent climate sensitivity choose from OLDDEFAULT (REMIND1.7 legacy file); or different percentiles of RCP26 or generic TCRE outcomes calibrated to CMIP5 (see Schultes et al. (2018) for details)
$setGlobal cm_magicc_config OLDDEFAULT !! def = OLDDEFAULT ; {OLDDEFAULT, RCP26_[5,15,..,95], TCRE_[LOWEST,LOW,MEDIUM,HIGH,HIGHEST] }
climate damages (HowardNonCatastrophic, DICE2013R, DICE2016, HowardNonCatastrophic, HowardInclCatastrophic, KWcross, KWpanelPop}
$setGlobal cm_damage_DiceLike_specification HowardNonCatastrophic !! def = HowardNonCatastrophic
$setGlobal cm_KotzWenzPerc mean !! def = mean !! regexp = low|med|mean|high
$setGlobal cm_damage_Labor_exposure low !! def = low !! regexp = low|high
$setGlobal cm_TCssp SSP2 !! def = SSP2 !! regexp = SSP2|SSP5
$setGlobal cm_TCpers 8 !! def = 8 !! regexp = [0-9]
$setGlobal cm_TCspec mean !! def = mean !! regexp = mean|median|95|05|83|17
$setglobal cm_transpGDPscale off !! def = off !! regexp = off|on
$setGlobal c_skip_output off !! def = off !! regexp = off|on
$setglobal cm_CO2TaxSectorMarkup off !! def = off
$setGlobal c_regi_nucscen all !! def = all
$setGlobal c_regi_capturescen all !! def = all
$setglobal cm_subsec_model_steel processes !! def = processes !! regexp = processes|ces
$setglobal cm_tech_bounds_2025 on !! def = on !! regexp = on|off
$setGlobal cm_conoptv conopt3 !! def = conopt3
c_empty_model “Short-circuit the model, just use the input as solution”
(off): normal model operation, default (on): no model operation, instead input.gdx is copied to fulldata.gdx
$setGlobal c_empty_model off !! def = off !! regexp = off|on
$setglobal cm_secondary_steel_bound scenario !! def = scenario
$setglobal c_GDPpcScen SSP2 !! def = gdp_SSP2 (automatically adjusted by start_run() based on GDPscen)
$setglobal cm_demScen gdp_SSP2 !! def = gdp_SSP2
$setGlobal c_scaleEmiHistorical on !! def = on !! regexp = off|on
$SetGlobal cm_quick_mode off !! def = off !! regexp = off|on
$setGLobal cm_debug_preloop off !! def = off !! regexp = off|on
cm_APscen “air polution scenario” (SSP2): (SSP5): (CLE): Current Legislation Emissions (MFR): Maximum Feasible Reductions
$setGlobal cm_APscen SSP2 !! def = SSP2
$setglobal cm_CES_configuration indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7 !! this will be changed by start_run()
$setglobal c_CES_calibration_iterations 10 !! def = 10
$setglobal c_CES_calibration_industry_FE_target 1
setting which region is to be tested in the one-region test run (80_optimization = testOneRegi)
$setglobal c_testOneRegi_region EUR !! def = EUR !! regexp = [A-Z]{3}
cm_taxrc_RE “switch to define whether tax on (CO2 content of) energy imports is recycled to additional direct investments in renewables (wind, solar and storage)”
$setglobal cm_taxrc_RE none !! def = none !! regexp = none|REdirect
cm_repeatNonOpt “should nonoptimal regions be solved again?”
$setglobal cm_repeatNonOpt off !! def = off !! regexp = off|on
Interface plot missing!