REMIND - REgional Model of INvestments and Development

3.0.0

created with goxygen 1.2.4

Trade module (24_trade)

Description

This file loads the trade module realization.

Interfaces

Interfaces to other modules

Input

module inputs (A: capacity | B: se_trade | C: standard)
  Description Unit A B C
cm_biotrade_phaseout switch for phaseing out biomass trade in the respective regions by 2030 x x x
cm_emiscen policy scenario choice x x x
cm_import_EU EU switch for different scenarios of EU SE import assumptions x
cm_startyear first optimized modelling time step \(year\) x x x
cm_tradecost_bio choose financal tradecosts for biomass (purpose grown pebiolc) x x x
cm_trdadj parameter scale the adjustment cost parameter for increasing gas trade export x x x
cm_trdcst parameter to scale trade export cost for gas x x x
pm_data
(all_regi, char, all_te)
Large array for most technical parameters of technologies; more detail on the individual technical parameters can be found in the declaration of the set ‘char’ x
pm_demPeBio
(tall, all_regi)
Primary energy bioenergy demand from last iteration \(TWyr\) x x x
pm_dt
(tall)
difference to last timestep x
pm_EN_demand_from_initialcap2
(all_regi, all_enty)
PE demand resulting from the initialcap routine. \(EJ, Uranium: MT U3O8\) x x x
pm_ffPolyCumEx
(all_regi, all_enty, char)
Minimum / maximum cumulative extraction (condition to activate rent / upper bound on v31_fuExtrCum for Oil, Gas and Coal) x x x
pm_fuelex_cum
(tall, all_regi, all_enty, rlf)
(Output) cumulated extraction. Unit: x x x
pm_gdp
(tall, all_regi)
GDP data \(trn US\$ 2005\) x
pm_omeg (all_regiopTimeYrall_te) technical depreciation parameter, gives the share of a capacity that is still usable after tlt. \(none/share, value between 0 and 1\) x
pm_PEPrice
(ttot, all_regi, all_enty)
parameter to capture all PE prices (tr$2005/TWa) x
pm_prodIni
(all_regi, all_enty)
(Preloop) regional amount of primary energy that has to be produced according to 1.1*initial demand. Unit: x x x
pm_SEPrice
(ttot, all_regi, all_enty)
parameter to capture all SE prices (tr$2005/TWa) x
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
pm_tsu2opTimeYr
(ttot, opTimeYr)
parameter that counts opTimeYr regarding tsu2opTimeYr apping x
pm_ttot_val
(ttot)
value of ttot set element x
sm_EJ_2_TWa multiplicative factor to convert from EJ to TWa x x x

Output

module outputs
  Description Unit
pm_costsPEtradeMp
(all_regi, all_enty)
PE tradecosts (energy losses on import)
pm_costsTradePeFinancial
(all_regi, char, all_enty)
PE tradecosts (financial costs on import, export and use)
pm_IO_trade
(tall, all_regi, all_enty, char)
Energy trade bounds based on IEA data.
pm_MPortsPrice
(tall, all_regi, all_enty)
Secondary energy import price for region (only used in se_trade realisation).
pm_tradecostgood
(all_regi)
Trade costs (final good).
pm_Xport0
(tall, all_regi, all_enty)
Reference level value of export.
pm_XPortsPrice
(tall, all_regi, all_enty)
Export price for region (capacity realisation). Calculated in the postsolve and corresponding to the region secondary energy price \(T\$/TWa\)
vm_capacityTradeBalance
(tall, all_regi)
Capacity trade balance term
vm_costTradeCap
(tall, all_regi, all_enty)
Trade technology and transportation cost
vm_Mport
(tall, all_regi, all_enty)
Import of traded commodity.
vm_Xport
(tall, all_regi, all_enty)
Export of traded commodity.

Realizations

(A) capacity

\[\begin{multline*} \sum_{ \left(trade\_regi,tradeEnty2Mode(tradeCap,tradeModes)\right)\$\left(not sameAs(trade\_regi,regi)\right)} v24\_trade(t,trade\_regi,regi,tradeModes) = vm\_Mport(t,regi,tradeCap) \end{multline*}\]

\[\begin{multline*} \sum_{ tradeMode2te\left(tradeModes, teTradeBilat\right) } v24\_trade(t,trade\_regi,regi,tradeModes) \leq v24\_capTrade(t,trade\_regi,regi,teTradeBilat) \end{multline*}\]

\[\begin{multline*} \sum_{ tradeMode2te\left(tradeModes, teTradeXport\right) }\left( \sum_{trade\_regi\$\left(not sameAs(trade\_regi,regi)\right)} v24\_trade(t,regi,trade\_regi,tradeModes) \right) \leq v24\_capTrade(t,regi,regi,teTradeXport) \end{multline*}\]

\[\begin{multline*} \sum_{ tradeMode2te\left(tradeModes, teTradeMport\right) }\left( \sum_{trade\_regi\$\left(not sameAs(trade\_regi,regi)\right)} v24\_trade(t,trade\_regi,regi,tradeModes) \right) \leq v24\_capTrade(t,regi,regi,teTradeMport) \end{multline*}\]

\[\begin{multline*} v24\_capTrade(ttot,trade\_regi,regi,teTrade) = \left( \sum_{opTimeYr2te(teTrade,opTimeYr)\$\left(tsu2opTimeYr(ttot,opTimeYr) \& \left(opTimeYr.val gt 1\right) \right)}\left( pm\_ts\left(ttot-\left(pm\_tsu2opTimeYr(ttot,opTimeYr)-1\right)\right) \cdot pm\_omeg(regi,opTimeYr+1,teTrade) \cdot v24\_deltaCapTrade\left(ttot-\left(pm\_tsu2opTimeYr(ttot,opTimeYr)-1\right),trade\_regi,regi,teTrade\right) \right) + \left(\frac{ pm\_dt(ttot) }{ 2 } \cdot pm\_omeg(regi,"2",teTrade) \cdot v24\_deltaCapTrade(ttot,trade\_regi,regi,teTrade) \right) \right) \end{multline*}\]

\[\begin{multline*} v24\_capTrade(ttot,trade\_regi,regi,teTrade) = \left( \sum_{opTimeYr2te(teTrade,opTimeYr)\$\left(tsu2opTimeYr(ttot,opTimeYr) \& \left(opTimeYr.val gt 1\right) \right)}\left( pm\_ts\left(ttot-\left(pm\_tsu2opTimeYr(ttot,opTimeYr)-1\right)\right) \cdot pm\_omeg(regi,opTimeYr+1,teTrade) \cdot v24\_deltaCapTrade\left(ttot-\left(pm\_tsu2opTimeYr(ttot,opTimeYr)-1\right),trade\_regi,regi,teTrade\right) \right) + \left(\frac{ pm\_dt(ttot) }{ 2 } \cdot pm\_omeg(regi,"2",teTrade) \cdot v24\_deltaCapTrade(ttot,trade\_regi,regi,teTrade) \right) \right) \end{multline*}\]

\[\begin{multline*} vm\_costTradeCap(t,regi,tradeCap) = \sum_{ tradeEnty2Mode\left(tradeCap, tradeModes\right)}\left( \sum_{ tradeMode2te\left(tradeModes, teTradeBilat\right)}\left( \sum_{ trade\_regi}\left( v24\_deltaCapTrade(t,trade\_regi,regi,teTradeBilat) \cdot \left(pm\_data\left(regi,'inco0', teTradeBilat\right) + pm\_data(regi,'inco0\_d',teTradeBilat) \cdot p24\_distance(trade\_regi,regi)\right) + v24\_capTrade(t,trade\_regi,regi,teTradeBilat) \cdot \left(pm\_data\left(regi,'omf' , teTradeBilat\right) + pm\_data\left(regi,'omf\_d' ,teTradeBilat\right) \cdot p24\_distance(trade\_regi,regi)\right) + v24\_trade(t,trade\_regi,regi,tradeModes) \cdot \left(pm\_data\left(regi,'omv' , teTradeBilat\right) + pm\_data\left(regi,'omv\_d' ,teTradeBilat\right) \cdot p24\_distance(trade\_regi,regi)\right) \right) \right) + \sum_{ tradeMode2te\left(tradeModes, teTradeMport\right)}\left( v24\_deltaCapTrade(t,regi,regi,teTradeMport) \cdot pm\_data(regi,'inco0',teTradeMport) + v24\_capTrade(t,regi,regi,teTradeMport) \cdot pm\_data\left(regi,'omf' ,teTradeMport\right) + \sum_{trade\_regi}v24\_trade(t,trade\_regi,regi,tradeModes) \cdot pm\_data\left(regi,'omv' ,teTradeMport\right) \right) + \sum_{ tradeMode2te\left(tradeModes, teTradeXport\right)}\left( v24\_deltaCapTrade(t,regi,regi,teTradeXport) \cdot pm\_data(regi,'inco0',teTradeXport) + v24\_capTrade(t,regi,regi,teTradeXport) \cdot pm\_data\left(regi,'omf' ,teTradeXport\right) + \sum_{trade\_regi}v24\_trade(t,trade\_regi,regi,tradeModes) \cdot pm\_data\left(regi,'omv' ,teTradeXport\right) \right) \right) \end{multline*}\]

\[\begin{multline*} vm\_capacityTradeBalance(ttot,regi) = \sum_{tradeCap}\left( + \sum_{trade\_regi}\left( \sum_{ tradeEnty2Mode(tradeCap,tradeModes)} v24\_trade(ttot,regi,trade\_regi,tradeModes) \cdot pm\_XPortsPrice(ttot,regi,tradeCap) \right) - \sum_{trade\_regi}\left( \sum_{ tradeEnty2Mode(tradeCap,tradeModes)} v24\_trade(ttot,trade\_regi,regi,tradeModes) \cdot pm\_XPortsPrice(ttot,trade\_regi,tradeCap) \right) \right) \end{multline*}\]

Limitations There are no known limitations.

(B) se_trade

Limitations There are no known limitations.

(C) standard

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: capacity | B: se_trade | C: standard)
  Description Unit A B C
p24_cap_absMaxGrowthRate
(teTrade)
Absolute maximum yearly growth rate for trade transportation capacity (TWa) x
p24_cap_relMaxGrowthRate
(teTrade)
Relative maximum yearly growth rate for trade transportation capacity (percent) x
p24_capTrade_iter
(iteration, ttot, all_regi, all_regi, teTrade)
Iterative values of v24_capTrade for diagnostics. x
p24_disallowed
(all_regi, all_regi, tradeModes)
Trade routes that are explicitly disallowed. x
p24_distance
(all_regi, all_regi)
Distance between regions (in units of 1000km) x
p24_Mport_iter
(iteration, ttot, all_regi, all_enty)
Iterative values of vm_Mport for diagnostics. x
p24_Mport2005correct
(all_regi, all_enty)
Correction factor to match fossil supply and internal region energy demand in the initial year x x x
p24_MportsRegi
(tall, all_regi, all_regi, tradeSe)
Mports to regi from regi2, assuming that trade is distributed uniformetly according existent capacities defined at p24_seTradeCapacity \(TWa\) x
p24_seTrade_Quantity
(all_regi, all_regi, all_enty)
Maximum import quantity in import scenarios with fixed quantities \(TWa\) x
p24_seTradeCapacity
(tall, all_regi, all_regi, all_enty)
Secondary energy international yearly trade capacity potential from regi to regi2 \(TWa\) x x
p24_trade_iter
(iteration, ttot, all_regi, all_regi, tradeModes)
Iterative values of v24_trade for diagnostics. x
p24_Xport
(ttot, all_regi, all_enty)
Export of traded commodity. x
p24_Xport_iter
(iteration, ttot, all_regi, all_enty)
Iterative values of vm_Xport for diagnostics. x
p24_XPortsPrice_iter
(iteration, ttot, all_regi, all_enty)
Iterative values of pm_XPortsPrice for diagnostics. x
p24_XportsRegi
(tall, all_regi, all_regi, tradeSe)
Exports from regi to regi2. Defined in the postsolve as a result of p24_MportsRegi calculation \(TWa\) x
q24_capTrade
(ttot, all_regi, all_regi, teTrade)
Trade transportation capacities from deltaCap. x
q24_costTradeCap
(ttot, all_regi, tradeCap)
Trade technology and transportation cost x
q24_limitCapTradeBilat
(ttot, all_regi, all_regi, teTrade)
Trade is limited by capacity for pipelines. x
q24_limitCapTradeMport
(ttot, all_regi, teTrade)
Trade is limited by capacity for Mport terminals. x
q24_limitCapTradeXport
(ttot, all_regi, teTrade)
Trade is limited by capacity for Xport terminals. x
q24_limitDeltaCap
(ttot, all_regi, all_regi, teTrade)
Limit deltaCap. x
q24_tradeBalanceTerms
(ttot, all_regi)
Capacity trade balance term x
q24_tradeFromMports
(ttot, all_regi, tradeCap)
Total imports of each region must equal the demanded imports x
s24_switchTradeModel Switch to activate trade model eqns before trade solve and to deactivate them during main solve x
v24_capEarlyRetiTrade
(tall, all_regi, all_regi, teTrade)
Early retired capacity x
v24_capTrade
(tall, all_regi, all_regi, teTrade)
Net total capacities for transportation x
v24_deltaCapTrade
(tall, all_regi, all_regi, teTrade)
Capacity additions for transportation x
v24_trade
(tall, all_regi, all_regi, tradeModes)
Shipment quantities for different transportation modes x

Sets

sets in use
  description
all_enty all types of quantities
all_regi all regions
all_te all energy technologies, including from modules
char characteristics of technologies
enty(all_enty) all types of quantities
entySe(all_enty) secondary energy types
in(all_in) All inputs and outputs of the CES function
iteration iterator for main (Negishi/Nash) iterations
modules all the available modules
opTimeYr actual life time of ??? in years
opTimeYr2te(all_te, opTimeYr) mapping for technologies to yearly lifetime - is filled automatically in generisdata.inc from the lifetime values in generisdata_tech.prn
peFos(all_enty) primary energy fossil fuels
regi(all_regi) all regions used in the solution process
regi_group(ext_regi, all_regi) region groups (regions that together corresponds to a H12 region)
rlf cost levels of fossil fuels
t(ttot) modeling time, usually starting in 2005, but later for fixed delay runs
t0(tall) start of modelling time, not optimization
tall time index
teTrade(all_te) Technologies used for trading goods.
teTradeBilat(teTrade) Technologies used for trading that are installed bilaterally, i.e. in between two regions (e.g. pipelines).
teTradeMport(teTrade) Technologies used for trading that are installed in the importing region only (e.g. regasification terminals).
teTradeXport(teTrade) Technologies used for trading that are installed in the exporting region only (e.g. liquification terminals).
trade(all_enty) All traded commodities
tradeCap(all_enty) Commodities traded via capacity mode.
tradeEnty2Mode(all_enty, tradeModes) Mapping of traded commodities onto the possible trade modes.
tradeMacro(all_enty) Traded macro-economic commodities
tradeMode2te(tradeModes, teTrade) Mapping of trade modes onto the required technologies.
tradeModes Modes of trade, i.e. ways in which a commodity can be transported between regions.
tradePe(all_enty) Traded primary energy commodities
tradeSe(all_enty) Traded secondary energy commodities
tsu2opTimeYr(ttot, opTimeYr) mapping for opTimeYr to the used time ttot - will be filled automatically in generisdata.inc
ttot(tall) time index with spin up

Authors

See Also

01_macro, 04_PE_FE_parameters, 21_tax, 23_capitalMarket, 30_biomass, 31_fossil, 32_power, 41_emicapregi, 80_optimization, core

References