REMIND - REgional Model of INvestments and Development

3.7.0

created with goxygen 1.5.0

Optimization (80_optimization)

Description

The optimization module gives the opportunity to choose different solution algorithms.

Interfaces

Interface plot missing!

Input

module inputs (A: nash | B: negishi | C: testOneRegi) (continued below)
  Description Unit A
cm_LearningSpillover Activate Learningspillover from foreign capacity in learning technogolies x
cm_MAgPIE_Nash run MAgPIE between Nash iterations x
cm_NDC_target_DevTol allowed NDC emissions target deviation relative to target emissions \(45_carbonprice = NDC\) x
cm_TaxConvCheck switch for enabling tax convergence check in nash mode x
cm_abortOnConsecFail number of iterations of consecutive infeasibilities/failures to solve for one region, after which the run automatically switches to serial debug mode x
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]. x
cm_emiscen policy scenario choice x
cm_implicitQttyTarget_tolerance tolerance for regipol implicit quantity target deviations convergence. x
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 x
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. x
cm_keep_presolve_gdxes save gdxes for all regions/solver tries/nash iterations for debugging x
cm_maxFadeOutPriceAnticip switch to determine maximum allowed fadeout price anticipation to consider that the model converged. x
cm_nash_autoconverge choice of nash convergence mode x
cm_nash_mode mode for solving nash problem x
cm_peakBudgYr date of net-zero CO2 emissions for peak budget runs without overshoot x
cm_sccConvergence convergence indicator for SCC iteration x
cm_solver_try_max maximum number of inner iterations within one Negishi iteration (<10)
cm_startyear first optimized modelling time step \(year\) x
cm_tempConvergence convergence indicator for temperature in damage iteration x
pm_FEPrice
(ttot, all_regi, all_enty, sector, emiMkt)
parameter to capture all FE prices across sectors and markets \(tr\$2017/TWa\) x
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 x
pm_NDCEmiTargetDeviation
(ttot, all_regi)
deviation of REMIND emissions to NDC target emissions in last iteration normalized to NDC target emissions \(0-1\) x
pm_NXagr
(tall, all_regi)
Net agricultural exports x
pm_SolNonInfes
(all_regi)
model status from last iteration. 1 means status 2 or 7, 0 for all other status codes x
pm_Xport0
(tall, all_regi, all_enty)
Reference level value of export. x
pm_allTargetsConverged
(ext_regi)
boolean to store if all emission targets converged at least once \(0 or 1\) x
pm_budgetCO2eq
(all_regi)
budget for regional energy-emissions in period 1 \(GtC\) x
pm_budgetDeviation
(all_regi)
deviations from regional targets x
pm_capCum0
(tall, all_regi, all_te)
Total cumulated capacity of learning technologies from last iteration used for learning curves based on vm_capCum \(TW\) x
pm_capCumForeign
(ttot, all_regi, all_te)
Total cumulated capacity of learning technologies of all other regions except regi \(TW\) x
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) \(T\$/unit of CES node\) x
pm_co2eq0
(tall, all_regi)
Total greenhouse gas emissions from last iteration based on vm_co2eq used in nash algorithm \(GtCeq\) x
pm_co2eqForeign
(tall, all_regi)
emissions, which are part of the climate policy, of other regions (nash relevant). x
pm_emiMktCurrent
(ttot, ttot2, ext_regi, emiMktExt)
previous iteration region emissions (from year ttot to ttot2 for budget) \(GtCO2 or GtCO2eq\) x
pm_emiMktRefYear
(ttot, ttot2, ext_regi, emiMktExt)
emissions in reference year 2005, used for calculating target deviation of year targets \(GtCO2 or GtCO2eq\) x
pm_emiMktTarget
(ttot, ttot2, ext_regi, emiMktExt, target_type_47, emi_type_47)
region emissions target \(GtCO2 or GtCO2eq\) x
pm_emiMktTarget_dev
(ttot, ttot2, ext_regi, emiMktExt)
target deviation across iterations in current emissions divided by target emissions (1 is 100%) x
pm_emiMktTarget_dev_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
parameter to save pm_emiMktTarget_dev across iterations (1 is 100%) x
pm_emiMktTarget_tolerance
(ext_regi)
tolerance for regipol emission target deviations convergence \(#\) x
pm_emicapglob
(tall)
global emission cap \(GtC\) x
pm_factorRescale_taxCO2Regi_Funneled2
(iteration, all_regi)
regional - Multiplicative factor for rescaling the CO2 price to reach the target - Funnelled (interactive, incl. adjustments based on last iterations) x
pm_factorRescaleemiMktCO2Tax
(ttot, ttot2, ext_regi, emiMktExt)
multiplicative tax rescale factor that rescales emiMkt carbon price from iteration to iteration to reach regipol targets \(\%\) x
pm_gmt_conv global mean temperature convergence x
pm_implicitPePriceTarget
(ttot, all_regi, all_enty)
price target for PE carrier per sector \(2005 TerraDollar/TWyear\) x
pm_implicitPePrice_NotConv
(all_regi, all_enty, ttot)
auxiliary parameter to store the price targets that did not converged \(\%\) x
pm_implicitPePrice_ignConv
(all_regi, all_enty, ttot)
auxiliary parameter to store the price targets that were ignored in the convergence check (cases: 1 = non existent price, 2 = no change in prices for the last 3 iterations) \(#\) x
pm_implicitPriceTarget
(ttot, all_regi, all_enty, entySe, sector)
price target for FE carrier per sector \(2005 TerraDollar/TWyear\) x
pm_implicitPrice_NotConv
(all_regi, sector, all_enty, entySe, ttot)
auxiliary parameter to store the price targets that did not converged \(\%\) x
pm_implicitPrice_ignConv
(all_regi, sector, all_enty, entySe, ttot)
auxiliary parameter to store the price targets that were ignored in the convergence check (cases: 1 = non existent price, 2 = no change in prices for the last 3 iterations) \(#\) x
pm_implicitQttyTarget
(ttot, ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
quantity target \(absolute: TWa or GtC; or percentage: 0.1\) x
pm_implicitQttyTarget_dev
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
deviation of current iteration quantity target from target - relative for total targets, absolute (= share points) for share targets x
pm_implicitQttyTarget_isLimited
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
1 (one) if there is a hard bound on the model that does not allow the tax to change further the quantity x
pm_nfa_start
(all_regi)
initial net foreign asset x
pm_pop
(tall, all_regi)
population data \(bn people\) x
pm_prtp
(all_regi)
Pure rate of time preference
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 \(T\$/GtC\) x
pm_regionalBudget_absDevTol
(all_regi)
tolerance of deviation from regional targets in absolute terms x
pm_sccConvergenceMaxDeviation max deviation of SCC from last iteration \(percent\) x
pm_shPerm
(tall, all_regi)
emission permit shares \(share\) x
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 x
pm_taxCO2eq_anchor_iterationdiff
(ttot)
difference in global anchor carbon price to the last iteration \(T\$/GtC\) x
pm_taxCO2eq_iter
(iteration, ttot, all_regi)
CO2 tax path (pm_taxCO2eq) tracked over iterations \(T\$/GtC\) x
pm_taxemiMkt_iteration
(iteration, ttot, all_regi, all_emiMkt)
CO2 tax path per region and emissions market calculated from previous iteration \(T\$/GtC\) x
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
pm_ttot_val
(ttot)
value of ttot set element
pm_w
(all_regi)
Negishi weights x
pm_welf
(tall)
Weight parameter in the welfare function to avoid jumps with cm_less_TS
qm_budget
(ttot, all_regi)
Budget balance x
qm_co2eqCum
(all_regi)
cumulate regional emissions over time x
sm_CES_calibration_iteration current calibration iteration number, loaded from environment variable cm_CES_calibration_iteration x
sm_DptCO2_2_TDpGtC convert \(/tCO2 to T\)/GtC: 44/12/1000 x
sm_EJ_2_TWa convert from Exa Joule to Tera Watt annum x
sm_budgetCO2eqGlob budget for global energy-emissions in period 1 x
sm_endBudgetCO2eq end time step of emission budget period 1 x
sm_eps small number: 1e-9 x
sm_globalBudget_absDev absolute deviation of global cumulated CO2 emissions budget from target budget x
sm_magpieIter Count the number of MAgPIE iterations, starting with zero x
sm_magpieIterEnd Number of MAgPIE iterations that have to be performed. Equals the number of elements defined in the set magpieIter x
sm_peakbudget_diff difference in cumulative CO2 emissions between cumulative emissions in cm_peakBudgYr and time step of maximum cumulative CO2 emissions \(GtCO2\) x
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 \(GtCO2\) x
sm_tmp temporary scalar that can be used locally x
sm_tmp2 temporary scalar that can be used locally x
vm_Mport
(tall, all_regi, all_enty)
Import of traded commodity. x
vm_Xport
(tall, all_regi, all_enty)
Export of traded commodity. x
vm_capacityTradeBalance
(tall, all_regi)
Capacity trade balance term x
vm_cesIO
(tall, all_regi, all_in)
Production factor x
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 \(GtCeq\) x
vm_cons
(ttot, all_regi)
Consumption x
vm_effGr
(ttot, all_regi, all_in)
growth of factor efficiency x
vm_emiAll
(ttot, all_regi, all_enty)
total emissions by species \(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\) x
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 \(GtC, Mt CH4, Mt N, Mt SO2, Mt BC, Mt OC\) x
vm_fuExtr
(ttot, all_regi, all_enty, rlf)
production (extraction) of primary energy fossil fuels, biomass and uranium (before trade) \(TWa, Uranium: Mt Ur\) x
vm_perm
(ttot, all_regi)
emission allowances \(GtCeq\) x
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) \(TWa, Uranium: Mt Ur\) x
vm_taxrev
(ttot, all_regi)
difference between tax volume in current and previous iteration \(T\$\) x
vm_welfareGlob Global welfare x
  B C
cm_LearningSpillover
cm_MAgPIE_Nash
cm_NDC_target_DevTol
cm_TaxConvCheck
cm_abortOnConsecFail
cm_budgetCO2_absDevTol
cm_emiscen x
cm_implicitQttyTarget_tolerance
cm_iteration_max
cm_iterative_target_adj
cm_keep_presolve_gdxes x
cm_maxFadeOutPriceAnticip
cm_nash_autoconverge
cm_nash_mode
cm_peakBudgYr
cm_sccConvergence
cm_solver_try_max x
cm_startyear x x
cm_tempConvergence
pm_FEPrice
(ttot, all_regi, all_enty, sector, emiMkt)
x
pm_FEPrice_iter
(iteration, ttot, all_regi, all_enty, sector, emiMkt)
x
pm_NDCEmiTargetDeviation
(ttot, all_regi)
pm_NXagr
(tall, all_regi)
x
pm_SolNonInfes
(all_regi)
x x
pm_Xport0
(tall, all_regi, all_enty)
x
pm_allTargetsConverged
(ext_regi)
pm_budgetCO2eq
(all_regi)
pm_budgetDeviation
(all_regi)
pm_capCum0
(tall, all_regi, all_te)
pm_capCumForeign
(ttot, all_regi, all_te)
x x
pm_cesdata
(tall, all_regi, all_in, cesParameter)
pm_co2eq0
(tall, all_regi)
pm_co2eqForeign
(tall, all_regi)
x x
pm_emiMktCurrent
(ttot, ttot2, ext_regi, emiMktExt)
pm_emiMktRefYear
(ttot, ttot2, ext_regi, emiMktExt)
pm_emiMktTarget
(ttot, ttot2, ext_regi, emiMktExt, target_type_47, emi_type_47)
pm_emiMktTarget_dev
(ttot, ttot2, ext_regi, emiMktExt)
pm_emiMktTarget_dev_iter
(iteration, ttot, ttot2, ext_regi, emiMktExt)
pm_emiMktTarget_tolerance
(ext_regi)
pm_emicapglob
(tall)
x
pm_factorRescale_taxCO2Regi_Funneled2
(iteration, all_regi)
pm_factorRescaleemiMktCO2Tax
(ttot, ttot2, ext_regi, emiMktExt)
pm_gmt_conv
pm_implicitPePriceTarget
(ttot, all_regi, all_enty)
pm_implicitPePrice_NotConv
(all_regi, all_enty, ttot)
pm_implicitPePrice_ignConv
(all_regi, all_enty, ttot)
pm_implicitPriceTarget
(ttot, all_regi, all_enty, entySe, sector)
pm_implicitPrice_NotConv
(all_regi, sector, all_enty, entySe, ttot)
pm_implicitPrice_ignConv
(all_regi, sector, all_enty, entySe, ttot)
pm_implicitQttyTarget
(ttot, ext_regi, taxType, targetType, qttyTarget, qttyTargetGroup)
pm_implicitQttyTarget_dev
(ttot, ext_regi, qttyTarget, qttyTargetGroup)
pm_implicitQttyTarget_isLimited
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
pm_nfa_start
(all_regi)
pm_pop
(tall, all_regi)
x
pm_prtp
(all_regi)
x
pm_pvp
(ttot, all_enty)
x x
pm_regionalBudget_absDevTol
(all_regi)
pm_sccConvergenceMaxDeviation
pm_shPerm
(tall, all_regi)
x
pm_taxCO2eq
(ttot, all_regi)
pm_taxCO2eq_anchor_iterationdiff
(ttot)
pm_taxCO2eq_iter
(iteration, ttot, all_regi)
pm_taxemiMkt_iteration
(iteration, ttot, all_regi, all_emiMkt)
pm_ts
(tall)
x x
pm_ttot_val
(ttot)
x
pm_w
(all_regi)
x x
pm_welf
(tall)
x
qm_budget
(ttot, all_regi)
x
qm_co2eqCum
(all_regi)
sm_CES_calibration_iteration x
sm_DptCO2_2_TDpGtC
sm_EJ_2_TWa
sm_budgetCO2eqGlob
sm_endBudgetCO2eq
sm_eps
sm_globalBudget_absDev
sm_magpieIter
sm_magpieIterEnd
sm_peakbudget_diff
sm_peakbudget_diff_tolerance
sm_tmp x
sm_tmp2 x
vm_Mport
(tall, all_regi, all_enty)
x x
vm_Xport
(tall, all_regi, all_enty)
x x
vm_capacityTradeBalance
(tall, all_regi)
x
vm_cesIO
(tall, all_regi, all_in)
vm_co2eq
(ttot, all_regi)
vm_cons
(ttot, all_regi)
x x
vm_effGr
(ttot, all_regi, all_in)
vm_emiAll
(ttot, all_regi, all_enty)
vm_emiTe
(ttot, all_regi, all_enty)
vm_fuExtr
(ttot, all_regi, all_enty, rlf)
x
vm_perm
(ttot, all_regi)
vm_prodPe
(ttot, all_regi, all_enty)
x
vm_taxrev
(ttot, all_regi)
x x
vm_welfareGlob x x

Output

module outputs
  Description Unit
pm_cumEff
(tall, all_regi, all_in)
parameter for spillover externality (aggregated productivity level)
pm_fuExtrForeign
(ttot, all_regi, all_enty, rlf)
foreign fuel extraction
sm_fadeoutPriceAnticip Helper parameter, describes fadeout of price anticipation during iterations
vm_costAdjNash
(ttot, all_regi)
Adjustment costs for deviation from the trade structure of the last iteration.

Realizations

(A) nash

Unlike in Negishi-mode, each region forms its own optimization problem in Nash mode. Regions trade on goods and resource markets, but market-clearing conditions are not part of the optimization itself. Instead, the Nash-algorithm iteratively computes solutions for all regions including their trade patterns, and adjusts prices such that the surplus on global markets vanishes. Initial values for trade patterns, prices etc. are taken from the gdx (input.gdx).

Potential benefits of a Nash-solution are a massive reduction in run-time (convergence within a few hours), and more flexibility in treating inter-regional externalities. Learning-by-doing technologies (learnte) are included by default and cause an inter-regional spill-over. This causes a welfare difference between the solution in Nash- and Negishi-mode. In Nash-mode, a subsidy on the investment cost of learning technologies can be used to internalize this spill-over externality. This subsidy is implemented in the module 22_subsidizeLearning.

Without internalizing the learning-by-doing spill-over due to the global learning curve, Nash and Negishi solution differ. This is the case in the default setting of the corresponding module: cfg\(gms\)subsidizeLearning <- “off” In Nash-mode, the subsidy internalizing this externality can be calculated. When activated by cfg\(gms\)subsidizeLearning <- “globallyOptimal” the Nash solution should be equivalent to the Negishi solution.

For Nash solution: intertemporal trade balance must be zero (couple in agricultural trade costs: pvp deflator * net export)

\[\begin{multline*} 0 = pm\_nfa\_start(regi) \cdot pm\_pvp("2005","good") + SUM\left(ttot\$\left(ttot.val ge 2005\right), pm\_ts(ttot) \cdot \left( SUM\left(trade\$\left(NOT tradeSe(trade) and NOT tradeCap(trade)\right), \left(vm\_Xport(ttot,regi,trade) - vm\_Mport(ttot,regi,trade)\right) \cdot pm\_pvp(ttot,trade) \cdot \left( 1 + sm\_fadeoutPriceAnticip \cdot p80\_etaXp(trade) \cdot \frac{ \left( \left(pm\_Xport0(ttot,regi,trade) - p80\_Mport0(ttot,regi,trade)\right) - \left(vm\_Xport(ttot,regi,trade) - vm\_Mport(ttot,regi,trade)\right) - p80\_taxrev0(ttot,regi)\$\left(ttot.val gt 2005\right)\$sameas(trade,"good") + vm\_taxrev(ttot,regi)\$\left(ttot.val gt 2005\right)\$sameas(trade,"good") \right) }{ \left(p80\_normalize0(ttot,regi,trade) + sm\_eps\right) }\right) \right) + vm\_capacityTradeBalance(ttot,regi) + pm\_pvp(ttot,"good") \cdot pm\_NXagr(ttot,regi) \right) \right) \end{multline*}\]

quadratic adjustment costs, penalizing deviations from the trade pattern of the last iteration.

\[\begin{multline*} vm\_costAdjNash(ttot,regi) = \sum_{trade\$\left(NOT tradeSe(trade)\right)}\left( pm\_pvp(ttot,trade) \cdot p80\_etaAdj(trade) \cdot \left( \left(pm\_Xport0(ttot,regi,trade) - p80\_Mport0(ttot,regi,trade)\right) - \left(vm\_Xport(ttot,regi,trade) - vm\_Mport(ttot,regi,trade)\right) \right) \cdot \frac{ \left( \left(pm\_Xport0(ttot,regi,trade) - p80\_Mport0(ttot,regi,trade)\right) - \left(vm\_Xport(ttot,regi,trade) - vm\_Mport(ttot,regi,trade)\right) \right) }{ \left(p80\_normalize0(ttot,regi,trade) + sm\_eps\right) }\right) \end{multline*}\]

link between permit budget and emission budget

\[\begin{multline*} \sum_{ttot\$\left(ttot.val lt sm\_endBudgetCO2eq and ttot.val ge cm\_startyear\right)}\left( pm\_ts(ttot) \cdot vm\_perm(ttot,regi)\right) + \sum_{ttot\$\left(ttot.val eq sm\_endBudgetCO2eq\right)}\left(\frac{pm\_ts(ttot)}{2 } \cdot vm\_perm(ttot,regi)\right) \leq pm\_budgetCO2eq(regi) - \sum_{ttot \$\left(\left(ttot.val ge 2005\right) and \left(ttot.val lt cm\_startyear\right)\right)}\left( pm\_ts(ttot) \cdot vm\_co2eq(ttot,regi)\right) \end{multline*}\]

Limitations There are no known limitations.

(B) negishi

In Negishi mode, all regions forms a big optimization problem, as opposed to separate optimizations in Nash mode. Regions trade on goods and resource markets, and market-clearing conditions are also part of the optimization. The Negishi algorithm iteratively computes solutions for the whole globe including regional trade patterns, and adjusts the so-called Negishi weights until a Pareto optimal solution is found. Negishi weights are the coefficients of regional utilities in their sum that forms the utility function of REMIND and are computed via an intertemporal trade balance.

Initial values for the Negishi weights are taken from the gdx (input.gdx).

Limitations This realization is computationally very expensive. Unless a very specific problem has to be solved, using the Nash realization will deliver the same result in a fraction of the time.

(C) testOneRegi

This is a reduced model version, only containing one region. It is equivalent to the Nash realization with just one region. Prices of resources and goods are exogenously fixed to the values taken from the gdx.

Run time is some minutes.

for Nash solution: intertemporal trade balance must be zero

\[\begin{multline*} 0 = SUM\left(ttot\$\left(ttot.val ge 2005\right), pm\_ts(ttot) \cdot \left( SUM\left(trade\$\left(NOT tradeSe(trade)\right), \left(vm\_Xport(ttot,regi,trade)-vm\_Mport(ttot,regi,trade)\right) \cdot pm\_pvp(ttot,trade) \cdot \left( 1 + p80\_etaXp(trade) \cdot \frac{ \left( \left(pm\_Xport0(ttot,regi,trade) - p80\_Mport0(ttot,regi,trade)\right) - \left(vm\_Xport(ttot,regi,trade) - vm\_Mport(ttot,regi,trade)\right) \right) }{ \left(p80\_normalize0(ttot,regi,trade) + 1E-6\right) }\right) \right) + vm\_capacityTradeBalance(ttot,regi) \right) \right) \end{multline*}\]

\[\begin{multline*} vm\_costAdjNash(ttot,regi) = 0 \end{multline*}\]

Limitations This realization is only useful for testing purposes or for regions with no influence on the global prices of traded goods.

Definitions

Objects

module-internal objects (A: nash | B: negishi | C: testOneRegi)
  Description Unit A B C
o80_PriceChangePriceAnticipReg
(ttot, all_enty, all_regi)
only for display: Price change of a trade good due to price anticipation. If nothing is displayed, all values are <0.1%. \(Percent, rounded to 0.1\%\) x
o80_PriceChangePriceAnticipRegMaxIter
(ttot, iteration)
only for display: Largest absolute value of o80_PriceChangePriceAnticipReg until 2100/2150, tracked over iteration. \(Percent, rounded to 0.1\%\) x
o80_SurplusOverTolerance
(ttot, all_enty, iteration)
auxiliary parameter to track in which iterations which item surpassed the tolerance (positive/negative) x
o80_counter_iteration_trade_ttot
(ttot, all_enty, iteration)
auxiliary parameter to display in which iteration and for which item (ttot, trade) additional convergence measures were taken x
o80_trackSurplusSign
(ttot, all_enty, iteration)
auxiliary parameter to track how long the surplus for an item (ttot, trade) had the same sign over iterations x
p80_DevPriceAnticipGlob
(ttot, all_enty)
Global sum of p80_DevPriceAnticipReg. \(trillion Dollar\) x
p80_DevPriceAnticipGlobAll
(ttot)
p80_DevPriceAnticipGlob summed over all trade goods. \(trillion Dollar\) x
p80_DevPriceAnticipGlobAllMax
(ttot)
Max of p80_DevPriceAnticipGlobAll until the given year. \(trillion Dollar\) x
p80_DevPriceAnticipGlobAllMax2100Iter
(iteration)
Track the 2100 value of p80_DevPriceAnticipGlobAllMax over iterations. \(trillion Dollar\) x
p80_DevPriceAnticipGlobIter
(ttot, all_enty, iteration)
Track p80_DevPriceAnticipGlob over iterations. \(trillion Dollar\) x
p80_DevPriceAnticipGlobMax
(ttot, all_enty)
Max of p80_DevPriceAnticipGlob until the given year. \(trillion Dollar\) x
p80_DevPriceAnticipGlobMax2100Iter
(all_enty, iteration)
Track the 2100 value of p80_DevPriceAnticipGlobMax over iterations. \(trillion Dollar\) x
p80_DevPriceAnticipReg
(ttot, all_enty, all_regi)
Deviation of the yearly monetary export/import expenditure due to price change anticipation effect. \(trillion Dollar\) x
p80_Mport0
(tall, all_regi, all_enty)
Imports in last iteration x x
p80_Mport_iter
(ttot, all_regi, all_enty, iteration)
Imports over iterations x
p80_PriceChangePriceAnticipReg
(ttot, all_enty, all_regi)
Price change of a trade good due to the price anticipation effect. \(Percent\) x
p80_SolNonOpt
(all_regi)
solve status x
p80_Xport_iter
(ttot, all_regi, all_enty, iteration)
Exports over iterations x
p80_alpha_nw
(tall, all_regi)
diagnostic parameter for new negishi routine x
p80_convNashObjVal_iter
(iteration, all_regi)
deviation of objective value to objective value from last iteration per iteration x
p80_convNashTaxrev_iter
(iteration, ttot, all_regi)
deviation of tax revenue relative to GDP per iteration, thus 0.01 means 1 percent \(1\) x
p80_count count regions with feasible solution x
p80_curracc
(ttot, all_regi)
current account x x
p80_currentaccount_bau
(tall, all_regi)
baseline current account path x
p80_defic
(iteration, all_regi)
intertemporal trade balance deficit x
p80_defic_sum
(iteration)
Surplus in monetary terms over all times on all commodity markets combined [trillion US$2017] (NOTE: to compare this number with the Negishi defic_sum, divide by around 100) x x
p80_defic_sumLast the sum of intertemporal deficits, only for the last iteration (needed for output analysis script) x
p80_defic_sum_rel
(iteration)
Surplus monetary value over all times on all commodity markets combined, normalized to consumption \(\%\) x
p80_defic_trade
(all_enty)
Surplus in monetary terms over all times on commodity markets \(trillion US\$2017\) x
p80_eoDeltaEmibudget total change in permit budget x
p80_eoEmiMarg
(all_regi)
weighted marginal utility of emissions x
p80_eoEmibudget1RegItr
(all_regi, iteration)
corrected regional permit budgets x
p80_eoEmibudgetDiffAbs
(iteration)
convergence indicator x
p80_eoMargAverage global average of marginals from nash budget equation x
p80_eoMargDiff
(all_regi)
scaled deviation of regional marginals from global average x
p80_eoMargDiffItr
(all_regi, iteration)
scaled deviation of regional marginals from global average x
p80_eoMargEmiCum
(all_regi)
marginal of cumulative emissions x
p80_eoMargPermBudg
(all_regi)
marginal of permit budget restriction x
p80_eoWeights
(all_regi)
welfare weights x
p80_etaAdj
(all_enty)
Adjustment costs for changes of trade pattern between iterations x
p80_etaLT
(all_enty)
long term price ajustment elasticity x
p80_etaLT_correct
(all_enty, iteration)
long term price correction factor in percent x
p80_etaST
(all_enty)
short term price ajustment elasticity x
p80_etaST_correct
(tall, all_enty, iteration)
short term price correction factor in percent x
p80_etaST_correct_safecopy
(tall, all_enty, iteration)
auxiliary parameter to remember short term price correction factor in percent, before new convergence adjustments x
p80_etaXp
(all_enty)
Parameter governing price anticipation on commodity markets x x
p80_fadeoutPriceAnticip_iter
(iteration)
Helper parameter, describes fadeout of price anticipation during iterations per iteration x
p80_fuExtr_iter
(ttot, all_regi, all_enty, rlf, iteration)
Fuel extraction over iterations x
p80_globalBudget_absDev_iter
(iteration)
absolute deviation of global cumulated CO2 emissions budget from target budget x
p80_gmt_conv_iter
(iteration)
global mean temperature convergence per iteration x
p80_handle
(all_regi)
parallel mode handle parameter x
p80_implicitQttyTarget_dev_iter
(iteration, ttot, ext_regi, qttyTarget, qttyTargetGroup)
deviation of current iteration quantity target from target per iteration - relative for total targets, absolute (= share points) for share targets x
p80_messageFailedMarket
(tall, all_enty)
nash display helper x
p80_messageShow
(convMessage80)
nash display helper x
p80_nfa
(tall, all_regi)
net foreign assets x
p80_normalize0
(ttot, all_regi, all_enty)
Normalization parameter for market volume x x
p80_normalizeLT
(all_enty)
Aggregated intertemporal market volume x
p80_nw
(iteration, all_regi)
negishi weights x
p80_prodPe_iter
(ttot, all_regi, all_enty, iteration)
PE production over iterations x
p80_pvpFallback
(ttot, all_enty)
Helper parameter. Price path from input/prices_NASH.inc. Only used if reading prices from gdx fails. x x
p80_pvp_itr
(ttot, all_enty, iteration)
Price on commodity markets per iteration x
p80_regionalBudget_absDev_iter
(iteration, all_regi)
absolute deviation of regional cumulated CO2 emissions target budgets x
p80_repy
(all_regi, solveinfo80)
summary report from solver x
p80_repyLastOptim
(all_regi, solveinfo80)
p80_repy from last iteration x
p80_repy_iteration
(all_regi, solveinfo80, iteration)
summary report from solver in iteration x
p80_repy_nashitr_solitr
(all_regi, solveinfo80, iteration, sol_itr)
summary report from solver in nash iteration and solver iteration x
p80_repy_thisSolitr
(all_regi, solveinfo80)
p80_repy from the current solitr - only shows results for regions that were run in this solItr x
p80_sccConvergenceMaxDeviation_iter
(iteration)
max deviation of SCC from last iteration per iteration \(percent\) x
p80_surplus
(tall, all_enty, iteration)
Surplus on commodity market x
p80_surplusMax2100
(all_enty)
Worst residual market surplus until 2100, absolute value. \(TWa, trillion Dollar, GtC\) x
p80_surplusMaxRel
(all_enty, iteration, tall)
Diagnostics for Nash: Worst residual market surplus until given year, in per cent. x
p80_surplusMaxTolerance
(all_enty)
maximum tolerable residual value of absolute market surplus in 2100. x
p80_surplusMax_iter
(all_enty, iteration, tall)
Diagnostics for Nash: Worst residual market surplus until given year, absolute value. \(TWa, trillion Dollar, GtC\) x
p80_taxrev0
(tall, all_regi)
vm_taxrev from last iteration x x
p80_taxrev_agg
(tall, iteration)
vm_taxrev globally from last iteration x
p80_trackConsecFail
(all_regi)
Parameter to keep track of consecutive solve failures of regions in Nash mode. x
p80_trade
(ttot, all_regi, all_enty)
trade surplusses x
p80_tradeVolume
(tall, all_regi, all_enty)
Trade volume x
p80_tradeVolumeAll
(tall, all_regi)
Trade volume of all traded goods x
q80_balTrade
(ttot, all_enty)
trade balance equation x
q80_budg_intertemp
(all_regi)
interemporal trade balance (Nash mode only) x x
q80_budgetPermRestr
(all_regi)
constraints regional permit budget to given regional emission budget x
q80_budget_helper
(ttot, all_regi)
Helper declaration for import from gdx x
q80_costAdjNash
(ttot, all_regi)
calculate Nash adjustment costs (of anticipation of the difference in trade pattern, compared to the last iteration), combined for all markets x x
s80_after value of time step after current interpolation time step x
s80_alpha_avg average of p80_alpha_nw x
s80_before value of time step befor current interpolation time step x
s80_bool helper x
s80_cnptfile parameter that indicates which optimality tolerance will be used x
s80_converged if nash converged, this is 1 x
s80_dummy dummy scalar x
s80_fadeoutPriceAnticipStartingPeriod Helper parameter, denotes iteration in which price anticipation fadeout starts x
s80_numberIterations display helper x
s80_runInDebug Is 1 if regions stayed infeasible in nash and start in debug mode automatically following the parallel mode x

Sets

sets in use
  description
activeConvMessage80(convMessage80) all active convergence criterias
all_emiMkt emission markets
all_enty all types of quantities
all_in all inputs and outputs of the CES function
all_regi all regions
all_te all energy technologies, including from modules
cesParameter parameters of the CES functions and for calibration
convMessage80 contains all convergence criteria
emi_type_47 emission type used in regional target
enty(all_enty) all types of quantities
entyFe(all_enty) final energy types.
entyPe(all_enty) Primary energy types (PE)
entySe(all_enty) secondary energy types
ext_regi extended regions list (includes subsets of H12 regions)
in(all_in) All inputs and outputs of the CES function
iteration iterator for main (Negishi/Nash) iterations
learnte_dyn80(all_te) learnte for nash
qttyTarget quantity target for energy carrier level (primary, secondary, final energy) or CCS or OAE
qttyTargetGroup quantity target aggregated categories
regi(all_regi) all regions used in the solution process
regi_dyn80(all_regi) region for testOneRegi
rlf cost levels of fossil fuels
sol_itr iterator for inner solution process within one Negishi iteration
solveinfo80 Nash solution stats
t(ttot) optimisation time, years between cm_startyear and 2150 with 5 to 20 years time steps
tall time index, each year from 1900 to 3000
targetType PE, SE or FE target type
target_type_47 CO2 policy target type
taxType PE, SE or FE tax type
teLearn(all_te) Learning technologies (for which investment costs are reduced endogenously through capacity deployment).
trade(all_enty) All traded commodities
tradeCap(all_enty) Commodities traded via capacity mode.
tradePe(all_enty) Traded primary energy commodities
tradeSe(all_enty) Traded secondary energy commodities
ttot(tall) time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps

Authors

Anastasis Giannousakis, Marian Leimbach, Lavinia Baumstark, Gunnar Luderer, Anselm Schultes

See Also

01_macro, 02_welfare, 15_climate, 20_growth, 21_tax, 22_subsidizeLearning, 23_capitalMarket, 24_trade, 26_agCosts, 41_emicapregi, 45_carbonprice, 47_regipol, 51_internalizeDamages, core

References