This is the Heat module.
| Description | Unit | A | |
|---|---|---|---|
| VmCarVal (allCy, NAP, YTIME) |
Carbon prices for all countries | \(US\$2015/tn CO2\) | x |
| VmConsFiEneSec (allCy, SSBS, EFS, YTIME) |
Final consumption in energy sector | \(Mtoe\) | x |
| VmConsFuel (allCy, DSBS, EF, YTIME) |
Consumption of fuels in each demand subsector, excluding heat from heatpumps | \(Mtoe\) | x |
| VmCstCO2SeqCsts (allCy, YTIME) |
Cost curve for CO2 sequestration costs | \(US\$2015/tn of CO2 sequestrated\) | x |
| VmLossesDistr (allCy, EFS, YTIME) |
Distribution losses | \(Mtoe\) | x |
| VmPriceElecInd (allCy, YTIME) |
Electricity index - a function of industry price | \(1\) | x |
| VmPriceFuelSubsecCarVal (allCy, SBS, EF, YTIME) |
Fuel prices per subsector and fuel | \(k\$2015/toe\) | x |
| Description | Unit | |
|---|---|---|
| VmConsFuelSteProd (allCy, STEMODE, EFS, YTIME) |
||
| VmCostAvgProdSte (allCy, YTIME) |
Average cost of steam production | \(kUS\$2015/toe\) |
| VmDemTotSte (allCy, YTIME) |
||
| VmProdSte (allCy, TSTEAM, YTIME) |
This is the heat realization of the Heat module.
sets
TSTEAM "CHP & DHP plant technologies"
/
TSTE1AL "Lignite powered advanced CHP"
TSTE1AH "Hard Coal powered advanced CHP"
TSTE1AD "Diesel Oil powered advanced CHP"
TSTE1AG "Natural Gas powered advanced CHP"
TSTE1AB "Biomass-Waste powered advanced CHP"
TSTE1AH2F "HYDROGEN powered FUEL CELL CHP"
TSTE2LGN
TSTE2OSL
TSTE2GDO
TSTE2NGS
TSTE2BMS
TSTE2GEO
TSTE2OTH
/
TCHP(TSTEAM) "CHP plant technologies"
/
TSTE1AL "Utilisation rate of Lignite powered advanced CHP"
TSTE1AH "Utilisation rate of Hard Coal powered advanced CHP"
TSTE1AD "Utilisation rate of Diesel Oil powered advanced CHP"
TSTE1AG "Utilisation rate of Natural Gas powered advanced CHP"
TSTE1AB "Utilisation rate of Biomass-Waste powered advanced CHP"
TSTE1AH2F "Utilisation rate of Hydrogen powered fuel cell CHP"
/
TDHP(TSTEAM) "CHP plant technologies"
/
TSTE2LGN
TSTE2OSL
TSTE2GDO
TSTE2NGS
TSTE2BMS
TSTE2GEO
TSTE2OTH
/
TSTEAMTOEF(TSTEAM,EF) Correspondence between chp plants and energy forms
/
(TSTE1AL,TSTE2LGN).LGN
(TSTE1AH,TSTE2OSL).HCL
(TSTE1AD,TSTE2GDO).(GDO,RFO,OLQ,LPG,KRS)
(TSTE1AG,TSTE2NGS).(NGS,OGS)
(TSTE1AB,TSTE2BMS).BMSWAS
TSTE1AH2F.H2F
TSTE2GEO.GEO
TSTE2OTH.NUC
/
STEAMEF(EFS) "Fuels used for steam production"
STEMODE "Steam production modes" /CHP,DHP/
;
ALIAS (TSTEAM2,TSTEAM);
ALIAS (TCHP2,TCHP);
ALIAS (TDHP2,TDHP);
STEAMEF(EFS) = yes$(sum(TSTEAM, TSTEAMTOEF(TSTEAM,EFS)));
Equations
Q09ScrapRate(allCy,TSTEAM,YTIME)
Q09DemGapSte(allCy,YTIME)
Q09CostVarProdSte(allCy,TSTEAM,YTIME)
Q09CostCapProdSte(allCy,TSTEAM,YTIME)
Q09CostProdSte(allCy,TSTEAM,YTIME)
Q09GapShareSte(allCy,TSTEAM,YTIME)
Q09CaptRateSte(allCy,TSTEAM,YTIME)
Q09ScrapRatePremature(allCy,TSTEAM,YTIME)
Interdependent Equations
Q09DemTotSte(allCy,YTIME)
Q09ProdSte(allCy,TSTEAM,YTIME)
Q09CostAvgProdSte(allCy,YTIME)
Q09ConsFuelSteProd(allCy,STEMODE,EFS,YTIME)
;
Variables
V09ScrapRate(allCy,TSTEAM,YTIME)
V09DemGapSte(allCy,YTIME)
V09CostVarProdSte(allCy,TSTEAM,YTIME) "Variable cost of steam generation technologies (kUS$2015/toe)"
V09CostCapProdSte(allCy,TSTEAM,YTIME) "Capex and O&M costs of steam generation technologies (kUS$2015/toe)"
V09CostProdSte(allCy,TSTEAM,YTIME) "Cost of steam production (kUS$2015/toe)"
V09GapShareSte(allCy,TSTEAM,YTIME)
V09CaptRateSte(allCy,TSTEAM,YTIME)
V09ScrapRatePremature(allCy,TSTEAM,YTIME)
Interdependent Variables
VmDemTotSte(allCy,YTIME)
VmProdSte(allCy,TSTEAM,YTIME)
VmCostAvgProdSte(allCy,YTIME) "Average cost of steam production (kUS$2015/toe)"
VmConsFuelSteProd(allCy,STEMODE,EFS,YTIME)
;
GENERAL INFORMATION Equation format: “typical useful energy demand equation” The main explanatory variables (drivers) are activity indicators (economic activity) and corresponding energy costs. The type of “demand” is computed based on its past value, the ratio of the current and past activity indicators (with the corresponding elasticity), and the ratio of lagged energy costs (with the corresponding elasticities). This type of equation captures both short term and long term reactions to energy costs. * Heat module This equation calculates the total heat demand in the system. It takes into account the overall need for steam across sectors like transportation, industry, and power generation, adjusted for any transportation losses or distribution inefficiencies.
Q09DemTotSte(allCy,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
VmDemTotSte(allCy,YTIME)
=E=
sum(DSBS,VmConsFuel(allCy,DSBS,"STE",YTIME)) +
SUM(SSBS,VmConsFiEneSec(allCy,SSBS,"STE",YTIME)) +
VmLossesDistr(allCy,"STE",YTIME) +
V03Transfers(allCy,"STE",YTIME);
Q09ScrapRate(allCy,TSTEAM,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
V09ScrapRate(allCy,TSTEAM,YTIME)
=E=
1 - (1 - 1 / i09ProdLftSte(TSTEAM)) *
V09ScrapRatePremature(allCy,TSTEAM,YTIME);
Q09ProdSte(allCy,TSTEAM,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
VmProdSte(allCy,TSTEAM,YTIME)
=E=
(1-V09ScrapRate(allCy,TSTEAM,YTIME)) * VmProdSte(allCy,TSTEAM,YTIME-1) +
V09GapShareSte(allCy,TSTEAM,YTIME) * V09DemGapSte(allCy,YTIME);
Q09DemGapSte(allCy,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
V09DemGapSte(allCy,YTIME)
=E=
(
VmDemTotSte(allCy,YTIME) -
sum(TSTEAM,
(1-V09ScrapRate(allCy,TSTEAM,YTIME)) *
VmProdSte(allCy,TSTEAM,YTIME-1)
) +
SQRT(SQR(
VmDemTotSte(allCy,YTIME) -
sum(TSTEAM,
(1-V09ScrapRate(allCy,TSTEAM,YTIME)) *
VmProdSte(allCy,TSTEAM,YTIME-1)
)
))
)/2 + 1e-6;
Q09CostVarProdSte(allCy,TSTEAM,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
V09CostVarProdSte(allCy,TSTEAM,YTIME)
=E=
sum(EFS$TSTEAMTOEF(TSTEAM,EFS),
(
i09ShareFuel(allCy,TSTEAM,EFS,"%fBaseY%") *
VmPriceFuelSubsecCarVal(allCy,"STEAMP",EFS,YTIME) +
V09CaptRateSte(allCy,TSTEAM,YTIME) *
(imCo2EmiFac(allCy,"STEAMP",EFS,YTIME) + 4.17$(sameas("BMSWAS", EFS))) *
VmCstCO2SeqCsts(allCy,YTIME) * 1e-3 +
(1-V09CaptRateSte(allCy,TSTEAM,YTIME)) * 1e-3 * (imCo2EmiFac(allCy,"STEAMP",EFS,YTIME)) *
sum(NAP$NAPtoALLSBS(NAP,"STEAMP"),VmCarVal(allCy,NAP,YTIME))
)
) / i09EffSteThrm(TSTEAM,YTIME) +
i09CostVOMSteProd(TSTEAM,YTIME) * 1e-3 / smTWhToMtoe * VmPriceElecInd(allCy,YTIME) -
(
VmPriceFuelSubsecCarVal(allCy,"OI","ELC",YTIME) *
smFracElecPriChp *
VmPriceElecInd(allCy,YTIME)
)$TCHP(TSTEAM);
Q09CostCapProdSte(allCy,TSTEAM,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
V09CostCapProdSte(allCy,TSTEAM,YTIME)
=E=
(
imDisc(allCy,"STEAMP",YTIME) *
exp(imDisc(allCy,"STEAMP",YTIME)* i09ProdLftSte(TSTEAM)) /
(exp(imDisc(allCy,"STEAMP",YTIME) * i09ProdLftSte(TSTEAM))-1) *
(
i09CostInvCostSteProd(TSTEAM,YTIME) * imCGI(allCy,YTIME) +
i09CostFixOMSteProd(TSTEAM,YTIME)
)
) / (i09PowToHeatRatio(TSTEAM,YTIME) + 1$TDHP(TSTEAM)) /
(
i09AvailRateSteProd(TSTEAM,YTIME) *
smGwToTwhPerYear(YTIME) *
smTWhToMtoe * 1e3
);
Q09CostProdSte(allCy,TSTEAM,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
V09CostProdSte(allCy,TSTEAM,YTIME)
=E=
V09CostCapProdSte(allCy,TSTEAM,YTIME) +
V09CostVarProdSte(allCy,TSTEAM,YTIME);
Q09CostAvgProdSte(allCy,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
VmCostAvgProdSte(allCy,YTIME)
=E=
sum(TSTEAM,
(VmProdSte(allCy,TSTEAM,YTIME) + 1e-6) *
V09CostProdSte(allCy,TSTEAM,YTIME)
) /
sum(TSTEAM,VmProdSte(allCy,TSTEAM,YTIME) + 1e-6);
Q09GapShareSte(allCy,TSTEAM,YTIME)$(TIME(YTIME)$runCy(allCy)) ..
V09GapShareSte(allCy,TSTEAM,YTIME)
=E=
!!i04MatFacPlaAvailCap(allCy,TSTEAM,YTIME) *
V09CostProdSte(allCy,TSTEAM,YTIME-1) ** (-2) /
SUM(TSTEAM2,
!!i04MatFacPlaAvailCap(allCy,TSTEAM2,YTIME) *
V09CostProdSte(allCy,TSTEAM2,YTIME-1) ** (-2)
);
Q09CaptRateSte(allCy,TSTEAM,YTIME)$(TIME(YTIME) $(runCy(allCy)))..
V09CaptRateSte(allCy,TSTEAM,YTIME)
=E=
i09CaptRateSteProd(TSTEAM) /
(1 +
EXP(20 * (
([VmCstCO2SeqCsts(allCy,YTIME) /
(sum(NAP$NAPtoALLSBS(NAP,"STEAMP"),VmCarVal(allCy,NAP,YTIME)) + 1)] + 2 -
[SQRT(SQR([VmCstCO2SeqCsts(allCy,YTIME) /
(sum(NAP$NAPtoALLSBS(NAP,"STEAMP"),VmCarVal(allCy,NAP,YTIME)) + 1)] - 2))])/2
-1)
)
);
Q09ScrapRatePremature(allCy,TSTEAM,YTIME)$(TIME(YTIME)$runCy(allCy))..
V09ScrapRatePremature(allCy,TSTEAM,YTIME)
=E=
V09CostVarProdSte(allCy,TSTEAM,YTIME) ** (-2) /
(
V09CostVarProdSte(allCy,TSTEAM,YTIME) ** (-2) +
((
i09ScaleEndogScrap *
sum(TCHP2$(not sameas(TSTEAM,TCHP2)),
V09CostProdSte(allCy,TCHP2,YTIME)
)
) ** (-2)
)$TCHP(TSTEAM) +
((
i09ScaleEndogScrap *
sum(TDHP2$(not sameas(TSTEAM,TDHP2)),
V09CostProdSte(allCy,TDHP2,YTIME)
)
) ** (-2)
)$TDHP(TSTEAM)
);
Q09ConsFuelSteProd(allCy,STEMODE,STEAMEF,YTIME)$(TIME(YTIME)$(runCy(allCy)))..
VmConsFuelSteProd(allCy,STEMODE,STEAMEF,YTIME)
=E=
SUM(TDHP$(TSTEAMTOEF(TDHP,STEAMEF)),
VmProdSte(allCy,TDHP,YTIME) *
i09ShareFuel(allCy,TDHP,STEAMEF,"%fBaseY%") / i09EffSteThrm(TDHP,YTIME)
)$sameas("DHP",STEMODE) +
SUM(TCHP$(TSTEAMTOEF(TCHP,STEAMEF)),
VmProdSte(allCy,TCHP,YTIME) *
i09ShareFuel(allCy,TCHP,STEAMEF,"%fBaseY%") / i09EffSteThrm(TCHP,YTIME)
)$sameas("CHP",STEMODE);
Parameters
i09ProdLftSte(TSTEAM) "Lifetime of steam production technologies in years"
i09CaptRateSteProd(TSTEAM)
i09ScaleEndogScrap
i09AvailRateSteProd(TSTEAM,YTIME) "Availability rate of STEAM Plants ()"
i09CostVOMSteProd(TSTEAM,YTIME) "Variable cost per steam plant type (US$2015/toe)"
i09EffSteThrm(TSTEAM,YTIME)
i09EffSteElc(TSTEAM,YTIME)
i09PowToHeatRatio(TSTEAM,YTIME)
i09ParDHEffData(EFS)
i09CostInvCostSteProd(TSTEAM,YTIME) "Capital Cost per steam plant type (US$2015/(KWe or KWThrm) )"
i09CostFixOMSteProd(TSTEAM,YTIME) "Fixed O&M cost per steam plant type (US$2015/KW )"
i09ShareFuel(allCy,TSTEAM,EFS,YTIME)
;
i09CaptRateSteProd(TSTEAM) = 0;
i09ScaleEndogScrap = 15 / card(TSTEAM);
table imDataIndTechnologyCHP(INDDOM,TSTEAM,ECONCHAR) "Technoeconomic characteristics of industry (various)"
IC FC VC LFT USC
IS.TSTE1AL 1.04547 17.284 17.68 25 0.35
IS.TSTE1AH 1.04547 17.284 17.68 25 0.35
IS.TSTE1AD 0.78340 23.3335 4.896 25 0.34
IS.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
IS.TSTE1AB 1.00334 28.8752 8.16 25 0.37
IS.TSTE1AH2F 1.34817 40.4451 25 0.5
NF.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
NF.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
NF.TSTE1AD 1.82186 54.264 11.386 25 0.34
NF.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
NF.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
NF.TSTE1AH2F 3.13528 94.0585 30 0.5
CH.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
CH.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
CH.TSTE1AD 1.82186 54.264 11.386 25 0.34
CH.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
CH.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
CH.TSTE1AH2F 3.13528 94.0585 25 0.5
BM.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
BM.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
BM.TSTE1AD 1.82186 54.264 11.386 25 0.34
BM.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
BM.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
BM.TSTE1AH2F 3.13528 94.0585 30 0.5
PP.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
PP.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
PP.TSTE1AD 1.82186 54.264 11.386 25 0.34
PP.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
PP.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
PP.TSTE1AH2F 2.27889 68.3668 25 0.5
FD.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
FD.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
FD.TSTE1AD 1.82186 54.264 11.386 25 0.34
FD.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
FD.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
FD.TSTE1AH2F 2.27889 68.3668 25 0.5
EN.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
EN.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
EN.TSTE1AD 1.82186 54.264 11.386 25 0.34
EN.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
EN.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
EN.TSTE1AH2F 2.27889 68.3668 25 0.5
TX.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
TX.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
TX.TSTE1AD 1.82186 54.264 11.386 25 0.34
TX.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
TX.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
TX.TSTE1AH2F 2.27889 68.3668 20 0.5
OE.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
OE.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
OE.TSTE1AD 1.82186 54.264 11.386 25 0.34
OE.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
OE.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
OE.TSTE1AH2F 2.27889 68.3668 25 0.5
OI.TSTE1AL 2.43133 40.1956 41.1163 25 0.35
OI.TSTE1AH 2.43133 40.1956 41.1163 25 0.35
OI.TSTE1AD 1.82186 54.264 11.386 25 0.34
OI.TSTE1AG 1.18376 30.1467 31.6279 20 0.44
OI.TSTE1AB 2.33335 67.1517 18.9767 25 0.37
OI.TSTE1AH2F 2.27889 68.3668 20 0.5
SE.TSTE1AL 2.43133 40.1956 41.1163 30 0.375
SE.TSTE1AH 2.43133 40.1956 41.1163 30 0.375
SE.TSTE1AD 1.82186 54.264 11.386 30 0.3475
SE.TSTE1AG 1.18376 30.1467 31.6279 25 0.485
SE.TSTE1AB 2.33335 67.1517 18.9767 30 0.3975
SE.TSTE1AH2F 2.68089 80.4266 20 0.465
SE.TSTE2LGN 0.29644 1.00489 2.37209 20 0.816667
SE.TSTE2OSL 0.29644 1.00489 2.37209 20 0.816667
SE.TSTE2GDO 0.29644 1.00489 2.37209 20 0.856667
SE.TSTE2NGS 0.29644 1.00489 2.37209 20 0.896667
SE.TSTE2BMS 0.29644 1.00489 2.37209 20 0.816667
AG.TSTE1AL 2.43133 40.1956 41.1163 30 0.375
AG.TSTE1AH 2.43133 40.1956 41.1163 30 0.375
AG.TSTE1AD 1.82186 54.2640 11.386 30 0.3475
AG.TSTE1AG 1.18376 30.1467 31.6279 25 0.485
AG.TSTE1AB 2.33335 67.1517 18.9767 30 0.3975
AG.TSTE1AH2F 2.68089 80.4266 20 0.465
AG.TSTE2LGN 0.29644 1.00489 2.37209 20 0.816667
AG.TSTE2OSL 0.29644 1.00489 2.37209 20 0.816667
AG.TSTE2GDO 0.29644 1.00489 2.37209 20 0.856667
AG.TSTE2NGS 0.29644 1.00489 2.37209 20 0.896667
AG.TSTE2BMS 0.29644 1.00489 2.37209 20 0.816667
HOU.TSTE1AL 2.43133 40.1956 41.1163 30 0.375
HOU.TSTE1AH 2.43133 40.1956 41.1163 30 0.375
HOU.TSTE1AD 1.82186 54.264 11.386 30 0.3475
HOU.TSTE1AG 1.18376 30.1467 31.6279 25 0.485
HOU.TSTE1AB 2.33335 67.1517 18.9767 30 0.3975
HOU.TSTE1AH2F 2.68089 80.4266 0 20 0.465
HOU.TSTE2LGN 0.296442 1.00489 2.37209 20 0.816667
HOU.TSTE2OSL 0.296442 1.00489 2.37209 20 0.816667
HOU.TSTE2GDO 0.296442 1.00489 2.37209 20 0.856667
HOU.TSTE2NGS 0.296442 1.00489 2.37209 20 0.896667
HOU.TSTE2BMS 0.296442 1.00489 2.37209 20 0.816667
;
imDataIndTechnologyCHP(INDDOM,TSTEAM,"IC") = imDataIndTechnologyCHP(INDDOM,TSTEAM,"IC") * 1.3;
imDataIndTechnologyCHP(INDDOM,TSTEAM,"FC") = imDataIndTechnologyCHP(INDDOM,TSTEAM,"FC") * 1.3;
imDataIndTechnologyCHP(INDDOM,TSTEAM,"VC") = imDataIndTechnologyCHP(INDDOM,TSTEAM,"VC") * 1.3;
table imDataChpPowGen(TSTEAM,CHPPGSET,YTIME) "Data for power generation costs (various)"
$ondelim
$include"./iChpPowGen.csv"
$offdelim
;
parameter i09ParDHEffData(EFS) "Parameter of district heating Efficiency (1)"
/
HCL 0.76,
LGN 0.75,
GDO 0.78,
RFO 0.78,
OLQ 0.78,
NGS 0.8,
OGS 0.78,
BMSWAS 0.76
/
;
i09ProdLftSte(TSTEAM) = imDataChpPowGen(TSTEAM,"LFT","%fBaseY%");
i09CostInvCostSteProd(TSTEAM,YTIME) = imDataChpPowGen(TSTEAM,"IC",YTIME);
i09CostFixOMSteProd(TSTEAM,YTIME) = imDataChpPowGen(TSTEAM,"FC",YTIME);
i09CostVOMSteProd(TSTEAM,YTIME) = imDataChpPowGen(TSTEAM,"VOM",YTIME);
imDataChpPowGen("TSTE2GEO","effThrm",YTIME) = 1;
$ontext
i09EffSteThrm(TDHP,YTIME) = imDataChpPowGen(TDHP,"effThrm","2020");
i09EffSteThrm(TDHP,YTIME)$(not sameas("TSTE2GEO",TDHP)) =
i09EffSteThrm(TDHP,YTIME) * (i03OutDHPTransfProcess("CHA","STE","2020") + 1e-6) /
(1e-6 - SUM((TDHP2,STEAMEF)$(TSTEAMTOEF(TDHP2,STEAMEF) and (not sameas("TSTE2GEO",TDHP))),imDataChpPowGen(TDHP2,"effThrm","2020") *i03InpDHPTransfProcess("CHA",STEAMEF,"2020")));
$offtext
i09EffSteElc(TSTEAM,YTIME) = imDataChpPowGen(TSTEAM,"effElc",YTIME);
i09EffSteThrm(TSTEAM,YTIME) = imDataChpPowGen(TSTEAM,"effThrm",YTIME) / 4;
i09AvailRateSteProd(TSTEAM,YTIME) = imDataChpPowGen(TSTEAM,"AVAIL",YTIME);
!!FIXME : What is the difference between imDataChpPowGen vs imDataIndTechnologyCHP?
i09PowToHeatRatio(TSTEAM,YTIME) = i09EffSteElc(TSTEAM,YTIME) / i09EffSteThrm(TSTEAM,YTIME);
i09ShareFuel(allCy,TCHP,EFS,YTIME)$(DATAY(YTIME) and TSTEAMTOEF(TCHP,EFS)) =
[
(i03InpTotTransfProcess(allCy,"CHP",EFS,YTIME) - 1e-6) /
(SUM(EFS2$TSTEAMTOEF(TCHP,EFS2),i03InpTotTransfProcess(allCy,"CHP",EFS,YTIME) - 1e-6))
];
i09ShareFuel(allCy,TDHP,EFS,YTIME)$(DATAY(YTIME) and TSTEAMTOEF(TDHP,EFS)) =
[
(i03InpTotTransfProcess(allCy,"STEAMP",EFS,YTIME) - 1e-6) /
(SUM(EFS2$TSTEAMTOEF(TDHP,EFS2),i03InpTotTransfProcess(allCy,"STEAMP",EFS2,YTIME) - 1e-6))
];
VARIABLE INITIALISATION
V09ScrapRatePremature.LO(runCy,TSTEAM,YTIME) = 0;
V09ScrapRatePremature.UP(runCy,TSTEAM,YTIME) = 1;
V09GapShareSte.LO(runCy,TSTEAM,YTIME) = 0;
V09GapShareSte.UP(runCy,TSTEAM,YTIME) = 1;
V09CaptRateSte.LO(runCy,TSTEAM,YTIME) = 0;
V09CaptRateSte.UP(runCy,TSTEAM,YTIME) = 1;
V09ScrapRate.LO(runCy,TSTEAM,YTIME) = 0;
V09ScrapRate.UP(runCy,TSTEAM,YTIME) = 1;
V09ScrapRate.L(runCy,TSTEAM,YTIME) = 0.5;
VmDemTotSte.LO(runCy,YTIME) = 0;
VmDemTotSte.L(runCy,YTIME) =
SUM(DSBS, imFuelConsPerFueSub(runCy,DSBS,"STE","%fBaseY%")) +
i03TotEneBranchCons(runCy,"STE","%fBaseY%") +
imDistrLosses(runCy,"STE","%fBaseY%") +
i03FeedTransfr(runCy,"STE","%fBaseY%");
VmDemTotSte.FX(runCy,YTIME)$DATAY(YTIME) =
SUM(DSBS, imFuelConsPerFueSub(runCy,DSBS,"STE",YTIME)) +
i03TotEneBranchCons(runCy,"STE",YTIME) +
imDistrLosses(runCy,"STE",YTIME) +
i03FeedTransfr(runCy,"STE",YTIME);
VmProdSte.LO(runCy,TSTEAM,YTIME) = 0;
VmProdSte.L(runCy,TSTEAM,YTIME) =
(
SUM(EFS$TSTEAMTOEF(TSTEAM,EFS),i03InpTotTransfProcess(runCy,"CHP",EFS,"%fBaseY%") * i09EffSteThrm(TSTEAM,"%fBaseY%") - 1e-6) /
SUM(EFS$STEAMEF(EFS),i03InpTotTransfProcess(runCy,"CHP",EFS,"%fBaseY%") * i09EffSteThrm(TSTEAM,"%fBaseY%") - 1e-6) *
(
SUM(DSBS$(not DOMSE(DSBS)), imFuelConsPerFueSub(runCy,DSBS,"STE","%fBaseY%")) +
i03TotEneBranchCons(runCy,"STE","%fBaseY%") +
imDistrLosses(runCy,"STE","%fBaseY%") / 2 +
i03FeedTransfr(runCy,"STE","%fBaseY%") / 2
)
)$TCHP(TSTEAM) +
(
SUM(EFS$TSTEAMTOEF(TSTEAM,EFS),i03InpTotTransfProcess(runCy,"STEAMP",EFS,"%fBaseY%") * i09EffSteThrm(TSTEAM,"%fBaseY%") - 1e-6) /
SUM(EFS$STEAMEF(EFS),i03InpTotTransfProcess(runCy,"STEAMP",EFS,"%fBaseY%") * i09EffSteThrm(TSTEAM,"%fBaseY%") - 1e-6) *
(
SUM(DSBS$DOMSE(DSBS), imFuelConsPerFueSub(runCy,DSBS,"STE","%fBaseY%")) +
imDistrLosses(runCy,"STE","%fBaseY%") / 2 +
i03FeedTransfr(runCy,"STE","%fBaseY%") / 2
)
)$TDHP(TSTEAM);
VmProdSte.FX(runCy,TSTEAM,YTIME)$DATAY(YTIME) =
(
SUM(EFS$TSTEAMTOEF(TSTEAM,EFS),i03InpTotTransfProcess(runCy,"CHP",EFS,YTIME) * i09EffSteThrm(TSTEAM,YTIME) - 1e-6) /
SUM(EFS$STEAMEF(EFS),i03InpTotTransfProcess(runCy,"CHP",EFS,YTIME) * i09EffSteThrm(TSTEAM,YTIME) - 1e-6) *
(
SUM(DSBS$(not DOMSE(DSBS)), imFuelConsPerFueSub(runCy,DSBS,"STE",YTIME)) +
i03TotEneBranchCons(runCy,"STE",YTIME) +
imDistrLosses(runCy,"STE",YTIME) / 2 +
i03FeedTransfr(runCy,"STE",YTIME) / 2
)
)$TCHP(TSTEAM) +
(
SUM(EFS$TSTEAMTOEF(TSTEAM,EFS),i03InpTotTransfProcess(runCy,"STEAMP",EFS,YTIME) * i09EffSteThrm(TSTEAM,YTIME) - 1e-6) /
SUM(EFS$STEAMEF(EFS),i03InpTotTransfProcess(runCy,"STEAMP",EFS,YTIME) * i09EffSteThrm(TSTEAM,YTIME) - 1e-6) *
(
SUM(DSBS$DOMSE(DSBS), imFuelConsPerFueSub(runCy,DSBS,"STE",YTIME)) +
imDistrLosses(runCy,"STE",YTIME) / 2 +
i03FeedTransfr(runCy,"STE",YTIME) / 2
)
)$TDHP(TSTEAM);
V09CaptRateSte.FX(runCy,TSTEAM,YTIME)$DATAY(YTIME) = i09CaptRateSteProd(TSTEAM);
V09CostCapProdSte.LO(runCy,TSTEAM,YTIME) = 0;
V09CostCapProdSte.FX(runCy,TSTEAM,YTIME)$DATAY(YTIME) =
(
imDisc(runCy,"STEAMP",YTIME) *
exp(imDisc(runCy,"STEAMP",YTIME)* i09ProdLftSte(TSTEAM)) /
(exp(imDisc(runCy,"STEAMP",YTIME) * i09ProdLftSte(TSTEAM))-1) *
(
i09CostInvCostSteProd(TSTEAM,YTIME) * imCGI(runCy,YTIME) +
i09CostFixOMSteProd(TSTEAM,YTIME)
)
) / (i09PowToHeatRatio(TSTEAM,YTIME) + 1$TDHP(TSTEAM)) /
(
i09AvailRateSteProd(TSTEAM,YTIME) *
smGwToTwhPerYear(YTIME) *
smTWhToMtoe * 1e3
);
V09CostVarProdSte.LO(runCy,TSTEAM,YTIME) = epsilon6;
V09CostVarProdSte.L(runCy,TSTEAM,YTIME) = 1;
V09CostVarProdSte.FX(runCy,TSTEAM,YTIME)$DATAY(YTIME) =
sum(EF$TSTEAMTOEF(TSTEAM,EF),
(
VmPriceFuelSubsecCarVal.L(runCy,"STEAMP",EF,YTIME) +
V09CaptRateSte.L(runCy,TSTEAM,YTIME) *
(imCo2EmiFac(runCy,"STEAMP",EF,YTIME) + 4.17$(sameas("BMSWAS", EF))) *
VmCstCO2SeqCsts.L(runCy,YTIME) * 1e-3 +
(1-V09CaptRateSte.L(runCy,TSTEAM,YTIME)) * 1e-3 * (imCo2EmiFac(runCy,"STEAMP",EF,YTIME)) *
sum(NAP$NAPtoALLSBS(NAP,"STEAMP"),VmCarVal.L(runCy,NAP,YTIME))
)
) / i09EffSteThrm(TSTEAM,YTIME) +
i09CostVOMSteProd(TSTEAM,YTIME) * 1e-3 / smTWhToMtoe * VmPriceElecInd.L(runCy,YTIME) -
(
VmPriceFuelSubsecCarVal.L(runCy,"OI","ELC",YTIME) *
smFracElecPriChp *
VmPriceElecInd.L(runCy,YTIME)
)$TCHP(TSTEAM);
V09CostProdSte.LO(runCy,TSTEAM,YTIME) = 0;
V09CostProdSte.L(runCy,TSTEAM,YTIME) = 1;
V09CostProdSte.FX(runCy,TSTEAM,YTIME)$DATAY(YTIME) =
V09CostCapProdSte.L(runCy,TSTEAM,YTIME) + V09CostVarProdSte.L(runCy,TSTEAM,YTIME);
VmCostAvgProdSte.LO(runCy,YTIME) = 0;
VmCostAvgProdSte.L(runCy,YTIME) = 1;
VmCostAvgProdSte.FX(runCy,YTIME)$DATAY(YTIME) =
sum(TSTEAM,
(VmProdSte.L(runCy,TSTEAM,YTIME) + 1e-6) *
V09CostProdSte.L(runCy,TSTEAM,YTIME)
) /
sum(TSTEAM,VmProdSte.L(runCy,TSTEAM,YTIME) + 1e-6) ;
VmConsFuelSteProd.LO(runCy,STEMODE,EFS,YTIME) = 0;
VmConsFuelSteProd.FX(runCy,STEMODE,EFS,YTIME)$(not STEAMEF(EFS)) = 0;
VmConsFuelSteProd.FX(runCy,"CHP",STEAMEF,YTIME)$DATAY(YTIME) = -i03InpTotTransfProcess(runCy,"CHP",STEAMEF,YTIME);
VmConsFuelSteProd.FX(runCy,"DHP",STEAMEF,YTIME)$DATAY(YTIME) = -i03InpTotTransfProcess(runCy,"STEAMP",STEAMEF,YTIME);
V09DemGapSte.LO(runCy,YTIME) = 0;
Limitations There are no known limitations.
| Description | Unit | A | |
|---|---|---|---|
| AG.TSTE1AB | 2.33335 67.1517 18.9767 30 0.3975 | x | |
| AG.TSTE1AD | 1.82186 54.2640 11.386 30 0.3475 | x | |
| AG.TSTE1AG | 1.18376 30.1467 31.6279 25 0.485 | x | |
| AG.TSTE1AH | 2.43133 40.1956 41.1163 30 0.375 | x | |
| AG.TSTE1AH2F | 2.68089 80.4266 20 0.465 | x | |
| AG.TSTE1AL | 2.43133 40.1956 41.1163 30 0.375 | x | |
| AG.TSTE2BMS | 0.29644 1.00489 2.37209 20 0.816667 | x | |
| AG.TSTE2GDO | 0.29644 1.00489 2.37209 20 0.856667 | x | |
| AG.TSTE2LGN | 0.29644 1.00489 2.37209 20 0.816667 | x | |
| AG.TSTE2NGS | 0.29644 1.00489 2.37209 20 0.896667 | x | |
| AG.TSTE2OSL | 0.29644 1.00489 2.37209 20 0.816667 | x | |
| BM.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| BM.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| BM.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| BM.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| BM.TSTE1AH2F | 3.13528 94.0585 30 0.5 | x | |
| BM.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| CH.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| CH.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| CH.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| CH.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| CH.TSTE1AH2F | 3.13528 94.0585 25 0.5 | x | |
| CH.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| EN.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| EN.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| EN.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| EN.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| EN.TSTE1AH2F | 2.27889 68.3668 25 0.5 | x | |
| EN.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| FD.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| FD.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| FD.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| FD.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| FD.TSTE1AH2F | 2.27889 68.3668 25 0.5 | x | |
| FD.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| HOU.TSTE1AB | 2.33335 67.1517 18.9767 30 0.3975 | x | |
| HOU.TSTE1AD | 1.82186 54.264 11.386 30 0.3475 | x | |
| HOU.TSTE1AG | 1.18376 30.1467 31.6279 25 0.485 | x | |
| HOU.TSTE1AH | 2.43133 40.1956 41.1163 30 0.375 | x | |
| HOU.TSTE1AH2F | 2.68089 80.4266 0 20 0.465 | x | |
| HOU.TSTE1AL | 2.43133 40.1956 41.1163 30 0.375 | x | |
| HOU.TSTE2BMS | 0.296442 1.00489 2.37209 20 0.816667 | x | |
| HOU.TSTE2GDO | 0.296442 1.00489 2.37209 20 0.856667 | x | |
| HOU.TSTE2LGN | 0.296442 1.00489 2.37209 20 0.816667 | x | |
| HOU.TSTE2NGS | 0.296442 1.00489 2.37209 20 0.896667 | x | |
| HOU.TSTE2OSL | 0.296442 1.00489 2.37209 20 0.816667 | x | |
| i09AvailRateSteProd (TSTEAM, YTIME) |
Availability rate of STEAM Plants | x | |
| i09CaptRateSteProd (TSTEAM) |
x | ||
| i09CostFixOMSteProd (TSTEAM, YTIME) |
Fixed O&M cost per steam plant type | \(US\$2015/KW\) | x |
| i09CostInvCostSteProd (TSTEAM, YTIME) |
Capital Cost per steam plant type | \(US\$2015/(KWe or KWThrm)\) | x |
| i09CostVOMSteProd (TSTEAM, YTIME) |
Variable cost per steam plant type | \(US\$2015/toe\) | x |
| i09EffSteElc (TSTEAM, YTIME) |
x | ||
| i09EffSteThrm (TSTEAM, YTIME) |
x | ||
| i09ParDHEffData (EFS) |
x | ||
| i09PowToHeatRatio (TSTEAM, YTIME) |
x | ||
| i09ProdLftSte (TSTEAM) |
Lifetime of steam production technologies in years | x | |
| i09ScaleEndogScrap | x | ||
| i09ShareFuel (allCy, TSTEAM, EFS, YTIME) |
x | ||
| IC | FC VC LFT USC | x | |
| imDataChpPowGen (TSTEAM, CHPPGSET, YTIME) |
Data for power generation costs | \(various\) | x |
| imDataIndTechnologyCHP (INDDOM, TSTEAM, ECONCHAR) |
Technoeconomic characteristics of industry | \(various\) | x |
| IS.TSTE1AB | 1.00334 28.8752 8.16 25 0.37 | x | |
| IS.TSTE1AD | 0.78340 23.3335 4.896 25 0.34 | x | |
| IS.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| IS.TSTE1AH | 1.04547 17.284 17.68 25 0.35 | x | |
| IS.TSTE1AH2F | 1.34817 40.4451 25 0.5 | x | |
| IS.TSTE1AL | 1.04547 17.284 17.68 25 0.35 | x | |
| NF.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| NF.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| NF.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| NF.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| NF.TSTE1AH2F | 3.13528 94.0585 30 0.5 | x | |
| NF.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| OE.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| OE.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| OE.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| OE.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| OE.TSTE1AH2F | 2.27889 68.3668 25 0.5 | x | |
| OE.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| OI.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| OI.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| OI.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| OI.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| OI.TSTE1AH2F | 2.27889 68.3668 20 0.5 | x | |
| OI.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| PP.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| PP.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| PP.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| PP.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| PP.TSTE1AH2F | 2.27889 68.3668 25 0.5 | x | |
| PP.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| Q09CaptRateSte (allCy, TSTEAM, YTIME) |
x | ||
| Q09ConsFuelSteProd (allCy, STEMODE, EFS, YTIME) |
x | ||
| Q09CostAvgProdSte (allCy, YTIME) |
x | ||
| Q09CostCapProdSte (allCy, TSTEAM, YTIME) |
x | ||
| Q09CostProdSte (allCy, TSTEAM, YTIME) |
x | ||
| Q09CostVarProdSte (allCy, TSTEAM, YTIME) |
x | ||
| Q09DemGapSte (allCy, YTIME) |
x | ||
| Q09DemTotSte (allCy, YTIME) |
x | ||
| Q09GapShareSte (allCy, TSTEAM, YTIME) |
x | ||
| Q09ProdSte (allCy, TSTEAM, YTIME) |
x | ||
| Q09ScrapRate (allCy, TSTEAM, YTIME) |
x | ||
| Q09ScrapRatePremature (allCy, TSTEAM, YTIME) |
x | ||
| SE.TSTE1AB | 2.33335 67.1517 18.9767 30 0.3975 | x | |
| SE.TSTE1AD | 1.82186 54.264 11.386 30 0.3475 | x | |
| SE.TSTE1AG | 1.18376 30.1467 31.6279 25 0.485 | x | |
| SE.TSTE1AH | 2.43133 40.1956 41.1163 30 0.375 | x | |
| SE.TSTE1AH2F | 2.68089 80.4266 20 0.465 | x | |
| SE.TSTE1AL | 2.43133 40.1956 41.1163 30 0.375 | x | |
| SE.TSTE2BMS | 0.29644 1.00489 2.37209 20 0.816667 | x | |
| SE.TSTE2GDO | 0.29644 1.00489 2.37209 20 0.856667 | x | |
| SE.TSTE2LGN | 0.29644 1.00489 2.37209 20 0.816667 | x | |
| SE.TSTE2NGS | 0.29644 1.00489 2.37209 20 0.896667 | x | |
| SE.TSTE2OSL | 0.29644 1.00489 2.37209 20 0.816667 | x | |
| TX.TSTE1AB | 2.33335 67.1517 18.9767 25 0.37 | x | |
| TX.TSTE1AD | 1.82186 54.264 11.386 25 0.34 | x | |
| TX.TSTE1AG | 1.18376 30.1467 31.6279 20 0.44 | x | |
| TX.TSTE1AH | 2.43133 40.1956 41.1163 25 0.35 | x | |
| TX.TSTE1AH2F | 2.27889 68.3668 20 0.5 | x | |
| TX.TSTE1AL | 2.43133 40.1956 41.1163 25 0.35 | x | |
| V09CaptRateSte (allCy, TSTEAM, YTIME) |
x | ||
| V09CostCapProdSte (allCy, TSTEAM, YTIME) |
Capex and O&M costs of steam generation technologies | \(kUS\$2015/toe\) | x |
| V09CostProdSte (allCy, TSTEAM, YTIME) |
Cost of steam production | \(kUS\$2015/toe\) | x |
| V09CostVarProdSte (allCy, TSTEAM, YTIME) |
Variable cost of steam generation technologies | \(kUS\$2015/toe\) | x |
| V09DemGapSte (allCy, YTIME) |
x | ||
| V09GapShareSte (allCy, TSTEAM, YTIME) |
x | ||
| V09ScrapRate (allCy, TSTEAM, YTIME) |
x | ||
| V09ScrapRatePremature (allCy, TSTEAM, YTIME) |
x |
| description | |
|---|---|
| ALIAS | (H2TECH2H2TECH) |
| allCy | All Countries Used in the Model |
| CHPPGSET | |
| DOMSE(DSBS) | Tertiary SubSectors |
| DSBS(SBS) | All Demand Subsectors |
| ECONCHAR | Technical - Economic characteristics for demand technologies |
| EF | Energy Forms |
| EFS(EF) | Energy Forms used in Supply Side |
| HOU | 11.511 0.9 0.00001 |
| INDDOM(DSBS) | Industry and Tertiary |
| NAP(Policies_set) | National Allocation Plan sector categories |
| NAPtoALLSBS(NAP, ALLSBS) | Energy sectors corresponding to NAP sectors |
| runCy(allCy) | Countries for which the model is running |
| runCyL(allCy) | Countries for which the model is running (used in countries loop) |
| SBS(ALLSBS) | Model Subsectors |
| SSBS(SBS) | All Supply Subsectors |
| STEAM(EFS) | Steam |
| STEAMEF(EFS) | Fuels used for steam production |
| STEMODE | Steam production modes |
| TCHP(TSTEAM) | CHP plant technologies |
| TDHP(TSTEAM) | CHP plant technologies |
| TSTEAM | CHP & DHP plant technologies |
| TSTEAMTOEF(TSTEAM, EF) | Correspondence between chp plants and energy forms |
02_Industry, 03_RestOfEnergy, 06_CO2, 08_Prices, core