OPEN PROM

0.1

created with goxygen 1.4.5

Heat module (09_Heat)

Description

This is the Heat module.

Interfaces

Interfaces to other modules

Input

module inputs (A: heat)
  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

Output

module outputs
  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)

Realizations

(A) heat

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.

Definitions

Objects

module-internal objects (A: heat)
  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

Sets

sets in use
  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

See Also

02_Industry, 03_RestOfEnergy, 06_CO2, 08_Prices, core

References