Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix h2 peak in buildings #1654

Draft
wants to merge 4 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions config/scenario_config_H2zero.csv

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion core/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,7 @@ v_shfe.lo(t,regi,entyFe,sector)$pm_shfe_lo(t,regi,entyFe,sector) = pm_shfe_lo(t,
v_shGasLiq_fe.up(t,regi,sector)$pm_shGasLiq_fe_up(t,regi,sector) = pm_shGasLiq_fe_up(t,regi,sector);
v_shGasLiq_fe.lo(t,regi,sector)$pm_shGasLiq_fe_lo(t,regi,sector) = pm_shGasLiq_fe_lo(t,regi,sector);

*** RH: Fix H2 in buildings to zero until given year (always zero by default)
*** RH: Fix H2 in buildings to zero until given year (until 2025 by default)
vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le c_H2InBuildOnlyAfter) = 0;

***----------------------------------------------------------------------------
Expand Down
172 changes: 90 additions & 82 deletions core/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -763,123 +763,131 @@ sets
ext_regi "extended regions list (includes subsets of H12 regions)"
/
GLO,
LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,
LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA
LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,EU27_regi,NEU_UKI_regi,
OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA
/

all_regi "all regions" /LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA/
all_regi "all regions" /OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA/

regi_group(ext_regi,all_regi) "region groups (regions that together corresponds to a H12 region)"
/
GLO.( LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA )
GLO.( OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA )
LAM_regi .(LAM)
OAS_regi .(OAS)
SSA_regi .(SSA)
EUR_regi .(EUR)
NEU_regi .(NEU)
EUR_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW)
NEU_regi .(NES,NEN)
MEA_regi .(MEA)
REF_regi .(REF)
CAZ_regi .(CAZ)
CHA_regi .(CHA)
IND_regi .(IND)
JPN_regi .(JPN)
USA_regi .(USA)
EU27_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,ESW)
NEU_UKI_regi .(NES,NEN,UKI)
/

iso "list of iso countries" /
ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM,
ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN,
BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ,
BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN,
CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL,
COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU,
DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP,
EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR,
GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC,
GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV,
HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL,
ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM,
KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE,
LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA,
MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG,
MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM,
NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU,
NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL,
PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS,
RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE,
SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN,
SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK,
TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA,
UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB,
VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE /
AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG,
ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB,
BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA,
BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN,
CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM,
COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE,
DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST,
ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB,
GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM,
GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG,
HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA,
JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT,
KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX,
MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ,
MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR,
MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC,
NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE,
PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT,
REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM,
VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP,
SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA,
SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA,
THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA,
TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT,
VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE /

regi2iso(all_regi,iso) "mapping regions to iso countries"
/
LAM . (ABW,AIA,ARG,ATA,ATG,BES,BHS,BLM,BLZ,BMU)
LAM . (BOL,BRA,BRB,BVT,CHL,COL,CRI,CUB,CUW,CYM)
LAM . (DMA,DOM,ECU,FLK,GLP,GRD,GTM,GUF,GUY,HND)
LAM . (HTI,JAM,KNA,LCA,MAF,MEX,MSR,MTQ,NIC,PAN)
LAM . (PER,PRI,PRY,SGS,SLV,SUR,SXM,TCA,TTO,URY)
LAM . (VCT,VEN,VGB,VIR)
OAS . (AFG,ASM,ATF,BGD,BRN,BTN,CCK,COK,CXR,FJI)
OAS . (FSM,GUM,IDN,IOT,KHM,KIR,KOR,LAO,LKA,MDV)
OAS . (MHL,MMR,MNG,MNP,MYS,NCL,NFK,NIU,NPL,NRU)
OAS . (PAK,PCN,PHL,PLW,PNG,PRK,PYF,SGP,SLB,THA)
OAS . (TKL,TLS,TON,TUV,UMI,VNM,VUT,WLF,WSM)
SSA . (AGO,BDI,BEN,BFA,BWA,CAF,CIV,CMR,COD,COG)
SSA . (COM,CPV,DJI,ERI,ETH,GAB,GHA,GIN,GMB,GNB)
SSA . (GNQ,KEN,LBR,LSO,MDG,MLI,MOZ,MRT,MUS,MWI)
SSA . (MYT,NAM,NER,NGA,REU,RWA,SEN,SHN,SLE,SOM)
SSA . (SSD,STP,SWZ,SYC,TCD,TGO,TZA,UGA,ZAF,ZMB)
SSA . (ZWE)
EUR . (ALA,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST)
EUR . (FIN,FRA,FRO,GBR,GGY,GIB,GRC,HRV,HUN,IMN)
EUR . (IRL,ITA,JEY,LTU,LUX,LVA,MLT,NLD,POL,PRT)
EUR . (ROU,SVK,SVN,SWE)
NEU . (ALB,AND,BIH,CHE,GRL,ISL,LIE,MCO,MKD,MNE)
NEU . (NOR,SJM,SMR,SRB,TUR,VAT)
MEA . (ARE,BHR,DZA,EGY,ESH,IRN,IRQ,ISR,JOR,KWT)
MEA . (LBN,LBY,MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN)
OAS . (AFG,ASM,BGD,BTN,IOT,BRN,KHM,CXR,CCK,COK)
OAS . (FJI,PYF,ATF,GUM,IDN,KIR,PRK,KOR,LAO,MYS)
OAS . (MDV,MHL,FSM,MNG,MMR,NRU,NPL,NCL,NIU,NFK)
OAS . (MNP,PAK,PLW,PNG,PHL,PCN,WSM,SGP,SLB,LKA)
OAS . (THA,TLS,TKL,TON,TUV,UMI,VUT,VNM,WLF)
ENC . (ALA,DNK,FRO,FIN,SWE)
NES . (ALB,AND,BIH,VAT,MKD,MCO,MNE,SMR,SRB,TUR)
MEA . (DZA,BHR,EGY,IRN,IRQ,ISR,JOR,KWT,LBN,LBY)
MEA . (MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN,ARE,ESH)
MEA . (YEM)
SSA . (AGO,BEN,BWA,BFA,BDI,CMR,CPV,CAF,TCD,COM)
SSA . (COG,COD,CIV,DJI,GNQ,ERI,ETH,GAB,GMB,GHA)
SSA . (GIN,GNB,KEN,LSO,LBR,MDG,MWI,MLI,MRT,MUS)
SSA . (MYT,MOZ,NAM,NER,NGA,REU,RWA,SHN,STP,SEN)
SSA . (SYC,SLE,SOM,ZAF,SSD,SWZ,TZA,TGO,UGA,ZMB)
SSA . (ZWE)
LAM . (AIA,ATA,ATG,ARG,ABW,BHS,BRB,BLZ,BMU,BOL)
LAM . (BES,BVT,BRA,CYM,CHL,COL,CRI,CUB,CUW,DMA)
LAM . (DOM,ECU,SLV,FLK,GUF,GRD,GLP,GTM,GUY,HTI)
LAM . (HND,JAM,MTQ,MEX,MSR,NIC,PAN,PRY,PER,PRI)
LAM . (BLM,KNA,LCA,MAF,VCT,SXM,SGS,SUR,TTO,TCA)
LAM . (URY,VEN,VGB,VIR)
REF . (ARM,AZE,BLR,GEO,KAZ,KGZ,MDA,RUS,TJK,TKM)
REF . (UKR,UZB)
CAZ . (AUS,CAN,HMD,NZL,SPM)
EWN . (AUT,BEL,LUX,NLD)
ECS . (BGR,HRV,HUN,ROU,SVN)
CHA . (CHN,HKG,MAC,TWN)
ESC . (CYP,GRC,ITA,MLT)
ECE . (CZE,EST,LVA,LTU,POL,SVK)
FRA . (FRA)
DEU . (DEU)
UKI . (GIB,GGY,IRL,IMN,JEY,GBR)
NEN . (GRL,ISL,LIE,NOR,SJM,CHE)
IND . (IND)
JPN . (JPN)
ESW . (PRT,ESP)
USA . (USA)
/
iso_regi "all iso countries and EU and greater China region" / EUR,CHA,
ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM,
ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN,
BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ,
BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN,
CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL,
COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU,
DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP,
EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR,
GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC,
GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV,
HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL,
ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM,
KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE,
LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA,
MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG,
MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM,
NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU,
NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL,
PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS,
RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE,
SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN,
SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK,
TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA,
UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB,
VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE /
AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG,
ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB,
BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA,
BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN,
CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM,
COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE,
DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST,
ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB,
GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM,
GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG,
HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA,
JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT,
KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX,
MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ,
MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR,
MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC,
NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE,
PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT,
REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM,
VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP,
SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA,
SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA,
THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA,
TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT,
VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE /

map_iso_regi(iso_regi,all_regi) "mapping from iso countries to regions that represent country"
/
EUR . EUR
CHA . CHA
FRA . FRA
DEU . DEU
IND . IND
JPN . JPN
USA . USA
Expand Down
2 changes: 1 addition & 1 deletion main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -964,7 +964,7 @@ parameter
parameter
c_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year"
;
c_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings)
c_H2InBuildOnlyAfter = 2025; !! def = 2025
*' For all years until the given year, FE demand for H2 in buildings is set to zero
parameter
c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot"
Expand Down
8 changes: 4 additions & 4 deletions modules/29_CES_parameters/calibrate/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -306,12 +306,12 @@ $ifthen.build_H2_offset "%buildings%" == "simple"

*** RK: feh2b offset scaled from 1% in 2025 to 50% in 2050 of fegab quantity
loop ((t,regi),
pm_cesdata(t,regi,"feh2b","offset_quantity")
= - (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025))))
pm_cesdata(t,regi,"feh2b","offset_quantity")
= - (0.05 + 0.45 * min(1, (t.val - 2025) * max(0, (t.val - 2025) / (2080 - 2025)**2)))
* pm_cesdata(t,regi,"fegab","quantity")
- pm_cesdata(t,regi,"feh2b","quantity");
pm_cesdata(t,regi,"feh2b","quantity")
= (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025))))
pm_cesdata(t,regi,"feh2b","quantity")
= (0.05 + 0.45 * min(1, (t.val - 2025) * max(0, (t.val - 2025) / (2080 - 2025)**2)))
* pm_cesdata(t,regi,"fegab","quantity");
);
$endif.build_H2_offset
Expand Down
11 changes: 2 additions & 9 deletions modules/36_buildings/simple/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,9 @@
v36_costExponent.up(t,regi) = 20;


*** FS: no H2 in buildings before 2050
vm_demFeSector_afterTax.up('2010',regi,'seh2','feh2s','build','ES') = 0;
vm_demFeSector_afterTax.up('2015',regi,'seh2','feh2s','build','ES') = 0;
vm_demFeSector_afterTax.up('2020',regi,'seh2','feh2s','build','ES') = 1e-5;
vm_demFeSector_afterTax.up('2025',regi,'seh2','feh2s','build','ES') = 1e-5;


*** Assure that h2 penetration is not high in calibration so the extra t&d cost can be considered by the model. In case contrary, H2 is competitive against gas in buildings and industry even during calibration.
*** Fix H2 Phase-In costs to zero for calibration runs
$ifthen.CES_calibration "%CES_parameters%" == "calibrate"
v36_H2share.up(t,regi) = cm_build_H2costDecayStart;
v36_costAddH2LowPen.fx(t,regi) = 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is v36_costAddH2LowPen still needed or coud it be deleted?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is still needed for non-calibration runs. And in the current implementation it needs to be set to zero for a calibration run to make sure that no Phase-In costs are included.

$endif.CES_calibration


Expand Down
6 changes: 5 additions & 1 deletion modules/36_buildings/simple/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,19 @@ Variables
Positive Variables
v36_expSlack(ttot,all_regi) "slack variable to avoid overflow on too high logistic function exponent"
v36_H2share(ttot,all_regi) "H2 share in gases"
v36_avgH2share(ttot, all_regi) "Average of the H2 share from this and the previous time period"
v36_costAddH2LowPen(ttot,all_regi) "low penetration H2 mark up component"
v36_costAddTeInvH2(ttot,all_regi,all_te) "Additional H2 phase-in cost at low H2 penetration levels [trUSD]"
;

Equations
q36_demFeBuild(ttot,all_regi,all_enty,all_emiMkt) "buildings final energy demand"
q36_H2Share(ttot,all_regi) "H2 share in gases"
q36_auxCostAddTeInv(ttot,all_regi) "logistic function exponent calculation for additional cost at low H2 penetration"
q36_avgH2share(ttot, all_regi) "Computation of average of the H2 share from this and the previous time period"
q36_auxCostAddTeInv(ttot,all_regi) "logistic function exponent calculation for additional cost at low H2 penetration"
$ifthen.no_calibration NOT "%CES_parameters%" == "calibrate" !! CES_parameters
q36_costAddH2LowPen(ttot,all_regi) "additional annual investment costs under low H2 penetration in buildings"
$endif.no_calibration
q36_costAddH2PhaseIn(ttot,all_regi) "additional industry H2 t&d cost at low H2 penetration in buildings"
q36_costCESmarkup(ttot,all_regi,all_in) "calculation of additional CES markup cost that are accounted in the budget (GDP) to represent demand-side technology cost of end-use transformation, for example, cost of heat pumps"
q36_costAddTeInv(ttot,all_regi,all_te) "summation of sector-specific demand-side cost"
Expand Down
24 changes: 19 additions & 5 deletions modules/36_buildings/simple/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -43,32 +43,46 @@ q36_costAddH2PhaseIn(t,regi)..
+ (v36_expSlack(t,regi) * 1e-8)
;


*' barrier cost for low penetration
$ifthen.no_calibration NOT "%CES_parameters%" == "calibrate" !! CES_parameters
q36_costAddH2LowPen(t,regi)..
v36_costAddH2LowPen(t,regi)
=e=
cm_build_H2costAddH2Inv * sm_TWa_2_kWh / sm_trillion_2_non
cm_build_H2costAddH2Inv
* sm_TWa_2_kWh / sm_trillion_2_non
/ (1 + 3**v36_costExponent(t,regi))
;
$endif.no_calibration


*' Logistic function exponent for additional cost for hydrogen at low penetration cost equation
q36_auxCostAddTeInv(t,regi)..
v36_costExponent(t,regi)
=e=
10 / (cm_build_H2costDecayEnd - cm_build_H2costDecayStart)
* (v36_H2share(t,regi) + 1e-7
* (v36_avgH2share(t,regi) + 1e-7
- (cm_build_H2costDecayEnd + cm_build_H2costDecayStart) / 2
)
- v36_expSlack(t,regi)
;


*' Hydrogen fe share in buildings gases use (natural gas + hydrogen)
*' Average of the H2 share from this and the previous time period
q36_avgH2share(ttot, regi)$(ttot.val ge cm_startyear)..
v36_avgH2share(ttot, regi)
=e=
(v36_H2share(ttot, regi)
+ v36_H2share(ttot-1, regi)$(ttot.val > cm_startyear)
+ v36_H2share(ttot, regi)$(ttot.val = cm_startyear))
/ 2
;


*' Hydrogen fe share in buildings energy use
q36_H2Share(t,regi)..
v36_H2share(t,regi)
* sum(se2fe(entySe,entyFe,te)$(SAMEAS(entyFe,"feh2s")
OR SAMEAS(entyFe,"fegas")),
* sum(se2fe(entySe,entyFe,te)$(entyFe36(entyFe)),
vm_demFeSector_afterTax(t,regi,entySe,entyFe,"build","ES"))
=e=
sum(se2fe(entySe,entyFe,te)$SAMEAS(entyFe,"feh2s"),
Expand Down
Loading