The 36_buildings module calculates the demand for energy from buildings.
The simple
realization only gives a representation of
the demand for energy carriers. The services_with_capital
realization distinguishes between end-uses and adds a trade-off between
energy consumption and capital investments. The
services_putty
realization uses
services_with_capital
as a basis, but adds inertia dynamics
to the improvement of building envelopes (insulation).
Description | Unit | A | B | C | |
---|---|---|---|---|---|
cm_build_AdjCostActive | Activate adjustment cost to penalise inter-temporal variation of area-specific weatherisation demand and space cooling efficiency slope (only in putty) | x | |||
cm_build_costDecayStart | simplified logistic function end of full value (ex. 5% -> between 0 and 5% the function will have the value 1). | \(\%\) | x | ||
cm_build_H2costAddH2Inv | additional h2 distribution costs for low diffusion levels (default value: 6.5$/kg = 0.2 $/Kwh) | x | |||
cm_build_H2costDecayEnd | simplified logistic function start of null value (ex. 10% -> after 10% the function will have the value 0). | \(\%\) | x | ||
cm_CESMkup_build | switch for setting markup cost to CES nodes in buildings | x | |||
cm_DiscRateScen | Scenario for the implicit discount rate applied to the energy efficiency capital | x | x | ||
cm_ElLim_b | switch to set maximum share of electricity in FE buildings | x | |||
cm_HeatLim_b | switch to set maximum share of district heating in FE buildings | x | |||
cm_INNOPATHS_priceSensiBuild | Price sensitivity of energy carrier choice in buildings | x | x | ||
cm_logitCal_markup_conv_b | value to which logit calibration markup of standard fe2ue technologies in detailed buildings module converges to | x | |||
cm_logitCal_markup_newtech_conv_b | value to which logit calibration markup of new fe2ue technologies in detailed buildings module converges to | x | |||
cm_noReboundEffect | Switch for allowing a rebound effect when closing the efficiency gap (cm_DiscRateScen) | x | x | ||
cm_startyear | first optimized modelling time step | \(year\) | x | x | x |
pm_capital_lifetime_exp (all_regi, all_in) |
number of years for which 25% of the CES capital stocks remains | x | x | ||
pm_cesdata (tall, all_regi, all_in, cesParameter) |
parameters of the CES function | x | x | x | |
pm_cesdata_sigma (ttot, all_in) |
elasticities of substitution | x | x | x | |
pm_cumDeprecFactor_new (ttot, all_regi, all_in) |
Investment depreciation within a period, applied to the investment of t. | x | |||
pm_cumDeprecFactor_old (ttot, all_regi, all_in) |
Investment depreciation within a period, applied to the investment of t -1. | x | |||
pm_delta_kap (all_regi, all_in) |
Depreciation rate of capital. | x | x | ||
pm_dt (tall) |
difference to last timestep | x | x | ||
pm_esCapCost (tall, all_regi, all_teEs) |
Capital energy cost per unit of consumption for end-use capital (energy service layer) | x | x | ||
pm_fe2es (tall, all_regi, all_teEs) |
Conversion factor from final energies to energy services. Default is 1. | x | x | ||
pm_FEPrice (ttot, all_regi, all_enty, sector, emiMkt) |
parameter to capture all FE prices across sectors and markets (tr$2005/TWa) | x | x | x | |
pm_gdp (tall, all_regi) |
GDP data | \(trn US\$ 2005\) | x | x | |
pm_pop (tall, all_regi) |
population data | \(bn people\) | x | x | |
pm_shfe_lo (ttot, all_regi, all_enty, emi_sectors) |
Final energy shares exogenous lower bounds per sector | x | |||
pm_shfe_up (ttot, all_regi, all_enty, emi_sectors) |
Final energy shares exogenous upper bounds per sector | x | |||
pm_shFeCes (ttot, all_regi, all_enty, all_in, all_teEs) |
Final energy shares for CES nodes | x | x | ||
pm_shGasLiq_fe_lo (ttot, all_regi, emi_sectors) |
Final energy gases plus liquids shares exogenous lower bounds per sector | x | |||
pm_shGasLiq_fe_up (ttot, all_regi, emi_sectors) |
Final energy gases plus liquids shares exogenous upper bounds per sector | x | |||
pm_shPPPMER (all_regi) |
PPP ratio for calculating GDP|PPP from GDP|MER | x | x | ||
pm_tau_fe_sub (ttot, all_regi, emi_sectors, all_enty) |
subsidy path for final energy | x | |||
pm_tau_fe_tax (ttot, all_regi, emi_sectors, all_enty) |
tax path for final energy | x | |||
pm_ts (tall) |
(t_n+1 - t_n-1)/2 for a timestep t_n | x | x | ||
pm_tsu2opTimeYr (ttot, opTimeYr) |
parameter that counts opTimeYr regarding tsu2opTimeYr apping | x | x | ||
pm_ttot_val (ttot) |
value of ttot set element | x | x | x | |
qm_balFe (ttot, all_regi, all_enty, all_enty, all_te) |
balance of final energy (fe) | x | |||
qm_budget (ttot, all_regi) |
Budget balance | x | x | x | |
sm_D2015_2_D2005 | Convert $2015 to $2005 by dividing by 1.2: 1/1.2 = 0.8333 | x | x | ||
sm_day_2_hour | hours per day | x | x | ||
sm_DpGJ_2_TDpTWa | multipl. factor to convert (Dollar per GJoule) to (TerraDollar per TWyear) | x | x | ||
sm_DpKW_2_TDpTW | convert Dollar per kW to TeraDollar per TeraWatt | x | x | ||
sm_EJ_2_TWa | multiplicative factor to convert from EJ to TWa | x | x | ||
sm_eps | small number: 1e-9 | x | x | x | |
sm_tmp | temporary scalar that can be used locally | x | x | ||
sm_trillion_2_non | trillion to non | x | |||
sm_TWa_2_kWh | tera Watt year to kilo Watt hour | x | |||
sm_TWa_2_MWh | tera Watt year to Mega Watt hour | x | |||
sm_year_2_day | days per year | x | x | ||
vm_cesIO (tall, all_regi, all_in) |
Production factor | x | x | x | |
vm_cesIOdelta (tall, all_regi, all_in) |
Putty-clay production factor | x | x | ||
vm_costAddTeInv (tall, all_regi, all_te, emi_sectors) |
additional sector-specific investment cost of demand-side transformation | x | |||
vm_costCESMkup (ttot, all_regi, all_in) |
CES markup cost to represent demand-side technology cost of end-use transformation | \(trUSD/TWa\) | x | ||
vm_demFeForEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Final energy which will be used in the ES layer. | x | x | ||
vm_demFeSector (ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt) |
fe demand per sector and emission market. | \(TWa\) | x | x | x |
vm_effGr (ttot, all_regi, all_in) |
growth of factor efficiency | x | x | ||
vm_enerSerAdj (tall, all_regi, all_in) |
adjustment costs for energy service transformations | x |
The services_putty
realization splits the representation
of buildings energy demand between the CES structure and a multinomial
logit structure which distributes the demand across technologies.
Importantly, the realization distinguishes across four end-use
categories (appliances and lighting
,
water heating and cooking
, space cooling
and
space cooling
). Not only the demand for final energy is
represented, but also the demand for useful energy, which is necessary
to display the level of efficiency achieved. In total, six energy
carrier categories are included (electricity, solids, liquids, gas,
district heating, hydrogen), spread across the various end-uses.
The model can decide to invest in end-use capital (insulation, appliances, space cooling) to reduce the energy demand, or it can switch to more efficient technologies to produce heat. The conversion efficiencies of the individual heat technologies is prescribed exogenously however.
In addition, inertia dynamics are integrated through a putty-clay representation. In each time step, the model can only improve the efficiency of a portion of the building stock.
The services_putty
realization splits the representation
of buildings energy demand between the CES structure and a multinomial
logit structure which distributes the demand across technologies.
Importantly, the realization distinguishes across four end-use
categories (appliances and lighting
,
water heating and cooking
, space cooling
and
space cooling
). Not only the demand for final energy is
represented, but also the demand for useful energy, which is necessary
to display the level of efficiency achieved. In total, six energy
carrier categories are included (electricity, solids, liquids, gas,
district heating, hydrogen), spread across the various end-uses.
The model can decide to invest in end-use capital (insulation, appliances, space cooling) to reduce the energy demand, or it can switch to more efficient technologies to produce heat. The conversion efficiencies of the individual heat technologies is prescribed exogenously however.
In addition, inertia dynamics are integrated through a putty-clay representation. In each time step, the model can only improve the efficiency of a portion of the building stock.
\[\begin{multline*} \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)} vm\_demFeSector(ttot,regi,entySe,entyFe,"build",emiMkt) = \left( \sum_{fe2ppfEn36(entyFe,in)}\left( vm\_cesIO(ttot,regi,in) + pm\_cesdata(ttot,regi,in,"offset\_quantity") \right) + \sum_{fe2es\_dyn36(entyFe,esty,teEs)} vm\_demFeForEs(ttot,regi,entyFe,esty,teEs) \right)\$sameas(emiMkt,"ES") \end{multline*}\]
\[\begin{multline*} p36\_floorspace\left(ttot + 1,regi\right) = \left(1- pm\_delta\_kap(regi,"esswb")\right)^{pm\_dt(ttot+1) } \cdot p36\_floorspace(ttot,regi) + \left(pm\_cumDeprecFactor\_old(ttot+1,regi,"esswb") \cdot v36\_floorspace\_delta(ttot,regi)\right) + \left(pm\_cumDeprecFactor\_new(ttot+1,regi,"esswb") \cdot v36\_floorspace\_delta(ttot+1,regi)\right) \end{multline*}\]
\[\begin{multline*} v36\_putty\_obj = \sum_{\left(ttot,regi,in\right)\$\left(ord(ttot) lt card(ttot)\right) }\left( \left( v36\_floorspace\_delta(ttot+1,regi) - v36\_floorspace\_delta(ttot,regi) \right)^{2} \right) \end{multline*}\]
\[\begin{multline*} vm\_enerSerAdj(ttot,regi,in) = p36\_adjFactor(ttot,regi) \cdot sqr\left(\frac{\frac{ \left(\frac{vm\_cesIOdelta(ttot,regi,in) }{ p36\_floorspace\_delta(ttot,regi) }-\frac{ vm\_cesIOdelta(ttot-1,regi,in) }{ p36\_floorspace\_delta(ttot-1,regi)}\right) }{ \left(pm\_ttot\_val(ttot)-pm\_ttot\_val(ttot-1)\right) }}{ \left(\frac{vm\_cesIOdelta(ttot,regi,in) }{ p36\_floorspace\_delta(ttot,regi) }+0.0001\right) }\right) \cdot \frac{ vm\_cesIOdelta(ttot,regi,in) }{ 11 } \end{multline*}\]
\[\begin{multline*} vm\_enerSerAdj(ttot,regi,in) = p36\_adjFactor(ttot,regi) \cdot sqr\left(\frac{\frac{ \left(\frac{vm\_cesIOdelta(ttot,regi,in) }{ p36\_floorspace\_delta(ttot,regi) }-\frac{ vm\_cesIOdelta(ttot-1,regi,in) }{ p36\_floorspace\_delta(ttot-1,regi)}\right) }{ \left(pm\_ttot\_val(ttot)-pm\_ttot\_val(ttot-1)\right) }}{ \left(\frac{vm\_cesIOdelta(ttot,regi,in) }{ p36\_floorspace\_delta(ttot,regi) }+0.0001\right) }\right) \cdot \frac{ vm\_cesIOdelta(ttot,regi,in) }{ 11 } \end{multline*}\]
\[\begin{multline*} p36\_demUEtotal(ttot,regi,in) + v36\_logitInfes(ttot,regi,in) = \sum \left(fe2ces\_dyn36(enty,esty,teEs,in), v36\_prodEs(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} p36\_demUEtotal(ttot,regi,in) + v36\_logitInfes(ttot,regi,in) = \sum \left(fe2ces\_dyn36(enty,esty,teEs,in), v36\_prodEs(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} v36\_costs(ttot,regi) = \sum \left( fe2ces\_dyn36(enty,esty,teEs,in), p36\_techCosts(ttot,regi,enty,esty,teEs) \cdot v36\_deltaProdEs(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} v36\_vintage\_obj = \sum_{\left(ttot,regi\_dyn36(regi),fe2es\_dyn36(enty,esty,teEs)\right)\$\left( t36\_hist(ttot) \right)}\left( \sum_{opTimeYr2teEs(teEs,opTimeYr)\$\left( tsu2opTimeYr(ttot,opTimeYr) \right)}\left( \power \left( v36\_deltaProdEs\left(ttot-pm\_tsu2opTimeYr(ttot,opTimeYr),regi,enty,esty,teEs\right) - v36\_deltaProdEs\left(ttot-\left(pm\_tsu2opTimeYr(ttot,opTimeYr)-1\right),regi,enty,esty,teEs\right) ,2 \right) + 1000 \cdot v36\_vintageInfes\left(ttot-pm\_tsu2opTimeYr(ttot,opTimeYr),regi,enty,esty,teEs\right) \right) + 1000 \cdot v36\_vintageInfes(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} v36\_shares\_obj = \sum \left(\left(t36\_scen(ttot),regi\_dyn36(regi),inViaEs\_dyn36(in)\right), \sum \left( fe2ces\_dyn36(enty,esty,teEs,in), - p36\_logitCalibration(ttot,regi,enty,esty,teEs) \cdot v36\_deltaProdEs(ttot,regi,enty,esty,teEs) \right) +\frac{ 1 }{ p36\_logitLambda(regi,in) } \cdot \sum \left( fe2ces\_dyn36(enty,esty,teEs,in), v36\_deltaProdEs(ttot,regi,enty,esty,teEs) \cdot log \left(\frac{ v36\_deltaProdEs(ttot,regi,enty,esty,teEs) }{ \sum \left(fe2ces\_dyn36\_2(enty2,esty2,teEs2,in), v36\_deltaProdEs(ttot,regi,enty2,esty2,teEs2)\right) }\right) \right) \right) - \sum \left( \left(t36\_scen(ttot),regi\_dyn36(regi)\right), v36\_costs(ttot,regi) \right) - \sum \left(\left(ttot,regi\_dyn36(regi),fe2es\_dyn36(enty,esty,teEs)\right), 1000 \cdot v36\_vintageInfes(ttot,regi,enty,esty,teEs) \right) - \sum \left(\left(ttot,regi\_dyn36(regi),inViaEs\_dyn36(in)\right), 1000 \cdot v36\_logitInfes(ttot,regi,in) \right) \end{multline*}\]
The services_putty
realization splits the representation
of buildings energy demand between the CES structure and a multinomial
logit structure which distributes the demand across technologies.
Importantly, the realization distinguishes across four end-use
categories (appliances and lighting
,
water heating and cooking
, space cooling
and
space cooling
). Not only the demand for final energy is
represented, but also the demand for useful energy, which is necessary
to display the level of efficiency achieved. In total, six energy
carrier categories are included (electricity, solids, liquids, gas,
district heating, hydrogen), spread across the various end-uses.
The model can decide to invest in end-use capital (insulation, appliances, space cooling) to reduce the energy demand, or it can switch to more efficient technologies to produce heat. The conversion efficiencies of the individual heat technologies is prescribed exogenously however.
In addition, inertia dynamics are integrated through a putty-clay representation. In each time step, the model can only improve the efficiency of a portion of the building stock.
Limitations There are no known limitations.
The services_with_capital
realization splits the
representation of buildings energy demand between the CES structure and
a multinomial logit structure which distributes the demand across
technologies. Importantly, the realization distinguishes across four
end-use categories (appliances and lighting
,
water heating and cooking
, space cooling
and
space cooling
). Not only the demand for final energy is
represented, but also the demand for useful energy, which is necessary
to display the level of efficiency achieved. In total, six energy
carrier categories are included (electricity, solids, liquids, gas,
district heating, hydrogen), spread across the various end-uses.
The model can decide to invest in end-use capital (insulation, appliances, space cooling) to reduce the energy demand, or it can switch to more efficient technologies to produce heat. The conversion efficiencies of the individual heat technologies is prescribed exogenously however.
The services_with_capital
realization splits the
representation of buildings energy demand between the CES structure and
a multinomial logit structure which distributes the demand across
technologies. Importantly, the realization distinguishes across four
end-use categories (appliances and lighting
,
water heating and cooking
, space cooling
and
space cooling
). Not only the demand for final energy is
represented, but also the demand for useful energy, which is necessary
to display the level of efficiency achieved. In total, six energy
carrier categories are included (electricity, solids, liquids, gas,
district heating, hydrogen), spread across the various end-uses.
The model can decide to invest in end-use capital (insulation, appliances, space cooling) to reduce the energy demand, or it can switch to more efficient technologies to produce heat. The conversion efficiencies of the individual heat technologies is prescribed exogenously however.
\[\begin{multline*} \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)} vm\_demFeSector(ttot,regi,entySe,entyFe,"build",emiMkt) = \left( \sum_{fe2ppfEn36(entyFe,in)}\left( vm\_cesIO(ttot,regi,in) + pm\_cesdata(ttot,regi,in,"offset\_quantity") \right) + \sum_{fe2es\_dyn36(entyFe,esty,teEs)} vm\_demFeForEs(ttot,regi,entyFe,esty,teEs) \right)\$sameas(emiMkt,"ES") \end{multline*}\]
\[\begin{multline*} p36\_demUEtotal(ttot,regi,in) + v36\_logitInfes(ttot,regi,in) = \sum \left(fe2ces\_dyn36(enty,esty,teEs,in), v36\_prodEs(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} p36\_demUEtotal(ttot,regi,in) + v36\_logitInfes(ttot,regi,in) = \sum \left(fe2ces\_dyn36(enty,esty,teEs,in), v36\_prodEs(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} v36\_costs(ttot,regi) = \sum \left( fe2ces\_dyn36(enty,esty,teEs,in), p36\_techCosts(ttot,regi,enty,esty,teEs) \cdot v36\_deltaProdEs(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} v36\_vintage\_obj = \sum_{\left(ttot,regi\_dyn36(regi),fe2es\_dyn36(enty,esty,teEs)\right)\$\left( t36\_hist(ttot) \right)}\left( \sum_{opTimeYr2teEs(teEs,opTimeYr)\$\left( tsu2opTimeYr(ttot,opTimeYr) \right)}\left( \power \left( v36\_deltaProdEs\left(ttot-pm\_tsu2opTimeYr(ttot,opTimeYr),regi,enty,esty,teEs\right) - v36\_deltaProdEs\left(ttot-\left(pm\_tsu2opTimeYr(ttot,opTimeYr)-1\right),regi,enty,esty,teEs\right) ,2 \right) + 1000 \cdot v36\_vintageInfes\left(ttot-pm\_tsu2opTimeYr(ttot,opTimeYr),regi,enty,esty,teEs\right) \right) + 1000 \cdot v36\_vintageInfes(ttot,regi,enty,esty,teEs) \right) \end{multline*}\]
\[\begin{multline*} v36\_shares\_obj = \sum \left(\left(t36\_scen(ttot),regi\_dyn36(regi),inViaEs\_dyn36(in)\right), \sum \left( fe2ces\_dyn36(enty,esty,teEs,in), - p36\_logitCalibration(ttot,regi,enty,esty,teEs) \cdot v36\_deltaProdEs(ttot,regi,enty,esty,teEs) \right) +\frac{ 1 }{ p36\_logitLambda(regi,in) } \cdot \sum \left( fe2ces\_dyn36(enty,esty,teEs,in), v36\_deltaProdEs(ttot,regi,enty,esty,teEs) \cdot log \left(\frac{ v36\_deltaProdEs(ttot,regi,enty,esty,teEs) }{ \sum \left(fe2ces\_dyn36\_2(enty2,esty2,teEs2,in), v36\_deltaProdEs(ttot,regi,enty2,esty2,teEs2)\right) }\right) \right) \right) - \sum \left( \left(t36\_scen(ttot),regi\_dyn36(regi)\right), v36\_costs(ttot,regi) \right) - \sum \left(\left(ttot,regi\_dyn36(regi),fe2es\_dyn36(enty,esty,teEs)\right), 1000 \cdot v36\_vintageInfes(ttot,regi,enty,esty,teEs) \right) - \sum \left(\left(ttot,regi\_dyn36(regi),inViaEs\_dyn36(in)\right), 1000 \cdot v36\_logitInfes(ttot,regi,in) \right) \end{multline*}\]
The services_with_capital
realization splits the
representation of buildings energy demand between the CES structure and
a multinomial logit structure which distributes the demand across
technologies. Importantly, the realization distinguishes across four
end-use categories (appliances and lighting
,
water heating and cooking
, space cooling
and
space cooling
). Not only the demand for final energy is
represented, but also the demand for useful energy, which is necessary
to display the level of efficiency achieved. In total, six energy
carrier categories are included (electricity, solids, liquids, gas,
district heating, hydrogen), spread across the various end-uses.
The model can decide to invest in end-use capital (insulation, appliances, space cooling) to reduce the energy demand, or it can switch to more efficient technologies to produce heat. The conversion efficiencies of the individual heat technologies is prescribed exogenously however.
Limitations This realization does not represent inertia dynamics in the renovation of buildings. This realization does not represent inertia dynamics in the renovation of buildings. This realization does not represent inertia dynamics in the renovation of buildings.
The simple
realization represents buildings energy
demand within the CES function. It displays the energy demand for six
energy carrier categories (electricity, solids, liquids, gas, district
heating, hydrogen), at the final energy level. In policy scenarios,
energy demand reacts to modified prices by switching to energy carriers
whose relative prices decrease.
The simple
realization represents buildings energy
demand within the CES function. It displays the energy demand for six
energy carrier categories (electricity, solids, liquids, gas, district
heating, hydrogen), at the final energy level. In policy scenarios,
energy demand reacts to modified prices by switching to energy carriers
whose relative prices decrease.
Buildings Final Energy Balance
\[\begin{multline*} \sum_{\left(entySe,te\right)\$se2fe(entySe,entyFe,te)} vm\_demFeSector(ttot,regi,entySe,entyFe,"build",emiMkt) = \left( \sum_{in\$\left(fe2ppfEn(entyFe,in) \& ppfen\_buildings\_dyn36(in)\right)}\left( vm\_cesIO(ttot,regi,in) + pm\_cesdata(ttot,regi,in,"offset\_quantity") \right) \right)\$sameas(emiMkt,"ES") \end{multline*}\]
Calculate sector-specific additional t&d cost (here only cost of hydrogen t&d at low hydrogen penetration levels when grid is not yet developed)
\[\begin{multline*} vm\_costAddTeInv(t,regi,te,"build") = v36\_costAddTeInvH2(t,regi,te) \end{multline*}\]
Additional hydrogen phase in cost at low H2 penetration levels
\[\begin{multline*} v36\_costAddTeInvH2(t,regi,"tdh2s") = v36\_costAddH2LowPen(t,regi) \cdot vm\_demFeSector(t,regi,"seh2","feh2s","build","ES") + \left(v36\_expSlack(t,regi) \cdot 1e-8\right) \end{multline*}\]
barrier cost for low penetration
\[\begin{multline*} v36\_costAddH2LowPen(t,regi) = \frac{ 1 }{ \left(1 + 3^{v36\_costExponent(t,regi)}\right) } \cdot s36\_costAddH2Inv \cdot \frac{ sm\_TWa\_2\_kWh }{ sm\_trillion\_2\_non } \end{multline*}\]
Logistic function exponent for additional hydrogen low penetration cost equation
\[\begin{multline*} v36\_costExponent(t,regi) = \left( \left(\frac{10}{\left(s36\_costDecayEnd-s36\_costDecayStart\right)}\right) \cdot \left( \left(v36\_H2share(t,regi)+1e-7\right) - \left(\frac{\left(s36\_costDecayEnd+s36\_costDecayStart\right)}{2}\right) \right) \right) - v36\_expSlack(t,regi) \end{multline*}\]
Hydrogen fe share in buildings gases use (natural gas + hydrogen)
\[\begin{multline*} v36\_H2share(t,regi) \cdot \sum_{se2fe(entySe,entyFe,te)\$\left(SAMEAS(entyFe,"feh2s") OR SAMEAS(entyFe,"fegas")\right)}\left( vm\_demFeSector(t,regi,entySe,entyFe,"build","ES")\right) = \sum_{se2fe(entySe,entyFe,te)\$SAMEAS(entyFe,"feh2s")}\left( vm\_demFeSector(t,regi,entySe,entyFe,"build","ES")\right) \end{multline*}\]
CES markup cost to represent sector-specific demand-side transformation cost in buildings
\[\begin{multline*} vm\_costCESMkup(t,regi,in) = p36\_CESMkup(t,regi,in) \cdot \left(vm\_cesIO(t,regi,in) + pm\_cesdata(t,regi,in,"offset\_quantity")\right) \end{multline*}\]
The simple
realization represents buildings energy
demand within the CES function. It displays the energy demand for six
energy carrier categories (electricity, solids, liquids, gas, district
heating, hydrogen), at the final energy level. In policy scenarios,
energy demand reacts to modified prices by switching to energy carriers
whose relative prices decrease.
Limitations This realization does not distinguish across end-uses. Also, it does not allow for substitution between energy consumption and end-use capital This realization does not distinguish across end-uses. Also, it does not allow for substitution between energy consumption and end-use capital This realization does not distinguish across end-uses. Also, it does not allow for substitution between energy consumption and end-use capital
Description | Unit | A | B | C | |
---|---|---|---|---|---|
f36_dataeff (char, all_teEs) |
end-use (final energy) long term efficiency assumptions | x | x | ||
f36_datafecostsglob (char, all_teEs) |
end-use (final energy) technologies characteristics | x | x | ||
f36_inconvpen (all_teEs) |
maximum inconvenience penalty for traditional conversion technologies. Unit: T$/TWa | x | x | ||
f36_uedemand_build (tall, all_regi, all_demScen, all_rcp_scen, all_in) |
useful energy demand in buildings | x | |||
p36_adjFactor (tall, all_regi) |
factor applied for the adjustment costs | x | x | ||
p36_aux_lifetime (all_teEs) |
auxiliary parameter for calculating life times | x | x | ||
p36_cesdata_sigma (all_in) |
substitution elasticities | x | x | x | |
p36_cesIONoRebound (tall, all_regi, all_in) |
loads the vm_cesIO values from the input_ref and sets the upper bound to vm_cesIO to forbid a rebound effect | x | x | ||
p36_cesIONoRebound_putty (tall, all_regi, all_in) |
loads the vm_cesIO_putty values from the input_ref and sets the upper bound to vm_cesIO to forbid a rebound effect | x | |||
p36_CESMkup (ttot, all_regi, all_in) |
CES markup cost parameter | \(trUSD/CES input\) | x | ||
p36_CESMkup_input (all_in) |
markup cost parameter read in from config for CES levels in buildings to influence demand-side cost and efficiencies in CES tree | \(trUSD/CES input\) | x | ||
p36_costReduc (tall, all_teEs) |
Reduction of costs for some technologies | x | x | ||
p36_deltaProdEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy service demand (UE in the case of buildings) addition for a year. Result of vintage_36 | x | x | ||
p36_deltaProdEs_iter (iteration, ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy service demand (UE in the case of buildings) addition for a year. For technologies producing energy services and using FE over iterations | x | x | ||
p36_demFeForEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Final energy demand for technologies producing energy services (useful energy in the case of buildings) | x | x | ||
p36_demFeForEs_scen | final energy demand projections for FE-UE technologies | x | x | ||
p36_demUEdelta (tall, all_regi, all_in) |
Demand for UE, independent of the technology, and which is not covered by the depreciated technologies | x | x | ||
p36_demUEtotal (tall, all_regi, all_in) |
Demand for UE, independent of the technology | x | x | ||
p36_depreciationRate (all_teEs) |
Depreciation rates for the indivudal conversion technologies, rouhgly derived from their lifetime parameter | x | x | ||
p36_esCapCost (tall, all_regi, all_teEs) |
Capital costs for each technology transforming FE into UE. Cost per unit of FE | x | x | ||
p36_esCapCostImplicit (tall, all_regi, all_teEs) |
Capital costs for each technology transforming FE into UE, taking the implicit discount rate into account. Cost per unit of FE | x | x | ||
p36_fe2es (ttot, all_regi, all_teEs) |
FE to ES(UE) efficiency of technology teES | x | x | ||
p36_fePrice (tall, all_regi, all_enty) |
Final energy price | x | x | ||
p36_fePrice_iter (iteration, tall, all_regi, all_enty) |
Final energy price over iterations | x | x | ||
p36_fePrice_load (tall, all_regi, all_enty, all_enty, all_te) |
Final energy price from GDX | x | x | ||
p36_floorspace (tall, all_regi) |
buildings floorspace, billion m2 | x | x | x | |
p36_floorspace_delta (tall, all_regi) |
increase in floorspace, billion m2 | x | |||
p36_floorspace_delta_gdx (tall, all_regi) |
parameter storing fixings from input_ref for v36_floorspace_delta | x | |||
p36_floorspace_scen (tall, all_regi, all_demScen) |
floorspace | x | x | x | |
p36_implicitDiscRateMarg (tall, all_regi, all_in) |
Implicit discount rate for the choice of conversion technologies from UE to FE in buildings | x | x | ||
p36_inconvpen (ttot, all_regi, all_teEs) |
parameter for inconvenience penalty depending on income level. Unit: T$/TWa | x | x | ||
p36_kapPrice (tall, all_regi) |
Macroeconomic capital price, net of depreciation | x | x | ||
p36_kapPriceImplicit (tall, all_regi, all_teEs) |
Macroeconomic capital price, net of depreciation, to which the implicit discount rate is added | x | x | ||
p36_logitCalibration (tall, all_regi, all_enty, all_esty, all_teEs) |
calibration parameter for the multinomial logit function | x | x | ||
p36_logitCalibration_load (tall, all_regi, all_enty, all_esty, all_teEs) |
calibration parameter for the multinomial logit function from input_ref.gdx | x | x | ||
p36_logitLambda (all_regi, all_in) |
logit parameter for homogeneity | x | x | ||
p36_logitLambda_load | (all_regiall_in) logit parameter for homogeneity, loaded from GDX_ref | x | x | ||
p36_logitNorm (iteration, tall, all_regi, all_in) |
Norm of the share vector difference between iterations | x | x | ||
p36_marginalUtility (tall, all_regi) |
Marginal utility of income: used to compute the final energy price from the marginal of balance equation | x | x | ||
p36_omegEs (all_regi, opTimeYr, all_teEs) |
technical depreciation parameter, gives the share of a capacity that is still usable after tlt. | \(none/share, value between 0 and 1\) | x | x | |
p36_prodEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy service demand (UE in the case of buildings) for technologies producing energy services and using FE | x | x | ||
p36_prodEs_iter (iteration, ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy service demand (UE in the case of buildings) for technologies producing energy services and using FE over iterations | x | x | ||
p36_prodEs_scen | useful energy demand projections for FE-UE technologies | x | x | ||
p36_prodUEintern (tall, all_regi, all_enty, all_esty, all_teEs) |
UE production from depreciated technologies of the previous period | x | x | ||
p36_prodUEintern_load (tall, all_regi, all_enty, all_esty, all_teEs) |
UE production from depreciated technologies of the previous period – From GDX | x | x | ||
p36_pushCalib (tall, all_teEs) |
degree to which the calibration parameter should be reduced/increased for these technologies | x | x | ||
p36_shFeCes (ttot, all_regi, all_enty, all_in, all_teEs) |
share of Final energy of technology teEs in the final energy producing all_in | x | x | ||
p36_shFeCes_iter (iteration, ttot, all_regi, all_enty, all_in, all_teEs) |
share of Final energy of technology teEs in the final energy producing all_in | x | x | ||
p36_shUeCes (ttot, all_regi, all_enty, all_in, all_teEs) |
share of Useful energy of technology teEs in the final energy producing all_in | x | x | ||
p36_shUeCes_iter (iteration, ttot, all_regi, all_enty, all_in, all_teEs) |
share of Useful energy of technology teEs in the final energy producing all_in | x | x | ||
p36_shUeCesDelta (ttot, all_regi, all_enty, all_in, all_teEs) |
Technological shares in UE which is not covered by former depreciated technologies | x | x | ||
p36_techCosts (tall, all_regi, all_enty, all_esty, all_teEs) |
Relevant costs of each ES technology for the computation of the share in the multinomial logit | x | x | ||
p36_techCosts_iter (iteration, tall, all_regi, all_enty, all_esty, all_teEs) |
Relevant costs of each ES technology for the computation of the share in the multinomial logit over iterations | x | x | ||
p36_uedemand_build (tall, all_regi, all_in) |
useful energy demand in buildings in TWh/a, in simple realization only used for reporting | x | |||
q36_auxCostAddTeInv (ttot, all_regi) |
auxiliar logistic function exponent calculation for additional hydrogen low penetration cost | x | |||
q36_budget (tall, all_regi) |
budget equation | x | x | ||
q36_cap (tall, all_regi, all_enty, all_esty, all_teEs) |
definition of available capacities | x | x | ||
q36_costAddH2LowPen (ttot, all_regi) |
additional buildings hydrogen annual investment costs under low technology diffusion | x | |||
q36_costAddH2PhaseIn (ttot, all_regi) |
calculation of additional industry hydrogen t&d cost at low penetration levels of hydrogen in buildings | x | |||
q36_costAddTeInv (ttot, all_regi, all_te) |
summation of sector-specific demand-side cost | x | |||
q36_costCESmarkup (ttot, all_regi, all_in) |
calculation of additional CES markup cost to represent demand-side technology cost of end-use transformation, for example, cost of heat pumps etc. | x | |||
q36_demFeBuild (ttot, all_regi, all_enty, all_emiMkt) |
buildings final energy demand | x | x | x | |
q36_enerCoolAdj (tall, all_regi, all_in) |
adjustment costs for energy cooling services | x | |||
q36_enerSerAdj (tall, all_regi, all_in) |
adjustment costs for energy services | x | |||
q36_H2Share (ttot, all_regi) |
H2 share in gases | x | |||
q36_pathConstraint (tall, all_regi) |
equation describing the relation between a variable and its variation | x | |||
q36_putty_obj | objective function | x | |||
q36_shares_obj | objective function for logit shares: heterogeneity preferences | x | x | ||
q36_ueTech2Total (tall, all_regi, all_in) |
definition of total UE buildings demand, based on the sum of demand by technology | x | x | ||
q36_vintage_obj | objective function for vintage model | x | x | ||
s36_costAddH2Inv | additional h2 distribution costs for low diffusion levels | \(\$/kWh\) | x | ||
s36_costDecayEnd | simplified logistic function start of null value (ex. 10% -> after 10% the function will have the value 0). | \(\%\) | x | ||
s36_costDecayStart | simplified logistic function end of full value (ex. 5% -> between 0 and 5% the function will have the value 1). | \(\%\) | x | ||
s36_logit | switch for the inclusion of vintage equations. It should exclude the equations from hybrid | x | x | ||
s36_switch_floor | switch for the inclusion of the floorspace equations. It should exclude the equations from hybrid | x | |||
s36_vintage_calib | switch for the inclusion of vintage equations and restricting ttot to historical. It should exclude the equations from hybrid | x | x | ||
v36_costAddH2LowPen (ttot, all_regi) |
low penetration H2 mark up component | x | |||
v36_costAddTeInvH2 (ttot, all_regi, all_te) |
Additional hydrogen phase-in cost at low H2 penetration levels | \(trUSD\) | x | ||
v36_costExponent (ttot, all_regi) |
logistic function exponent for additional hydrogen low penetration cost | x | |||
v36_costs (ttot, all_regi) |
technological costs | x | x | ||
v36_deltaProdEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy service demand (UE in the case of buildings) addition for a year. For technologies producing energy services and using FE | x | x | ||
v36_expSlack (ttot, all_regi) |
slack variable to avoid overflow on too high logistic function exponent | x | |||
v36_floorspace_delta (tall, all_regi) |
increase in floorspace, million m2 | x | |||
v36_H2share (ttot, all_regi) |
H2 share in gases | x | |||
v36_logitInfes (tall, all_regi, all_in) |
slack variable to avoid infeasibilities in case historical demand cannot be declined fast enough | x | x | ||
v36_prodEs (ttot, all_regi, all_enty, all_esty, all_teEs) |
Energy service demand (UE in the case of buildings) for technologies producing energy services and using FE | x | x | ||
v36_putty_obj | index of the step by step variation of v36_floorspace_delta | x | |||
v36_shares_obj | objective variable for heterogeneity preferences | x | x | ||
v36_vintage_obj | objective variable for vintage model | x | x | ||
v36_vintageInfes (ttot, all_regi, all_enty, all_esty, all_teEs) |
slack variable to avoid infeasibilities in the initialisation of vintages | x | x |
description | |
---|---|
all_demScen | all possible demand scenarios |
all_emiMkt | emission markets |
all_enty | all types of quantities |
all_esty | energy services |
all_GDPscen | all possible GDP scenarios |
all_in | all inputs and outputs of the CES function |
all_rcp_scen | all possible RCP scenarios |
all_regi | all regions |
all_te | all energy technologies, including from modules |
all_teEs | energy service technologies |
buildMoBio(all_esty) | modern biomass in buildings |
buildMoBio36 | (all_esty) modern biomass in buildings |
c_expname | c_expname as set for use in GDX |
cal_ppf_buildings_dyn36(all_in) | primary production factors - buildings - used for the calibration |
ces_buildings_dyn36(all_in, all_in) | CES tree structure - buildings |
cesOut2cesIn(all_in, all_in) | CES tree structure |
cesParameter | parameters of the CES functions and for calibration |
char | characteristics of technologies |
cm_GDPscen | cm_GDPscen as set for use in GDX |
emi_sectors | comprehensive sector set used for more detailed emissions accounting (REMIND-EU) and for CH4 tier 1 scaling - potentially to be integrated with similar set all_exogEmi |
enty(all_enty) | all types of quantities |
entyFe(all_enty) | final energy types. |
entyFe2Sector(all_enty, emi_sectors) | final energy (stationary and transportation) mapping to sectors (industry, buildings, transportation and cdr) |
entyFe36(all_enty) | FE carriers used in buildings |
entySe(all_enty) | secondary energy types |
es2ppfen(all_esty, all_in) | matching ES in ESM to ppfEn in MACRO |
es2ppfen_dyn36(all_esty, all_in) | matching FE to ppfEn in MACRO |
esty(all_esty) | energy service types. Have to be added by modules. |
esty_dyn36(all_esty) | Energy service types |
fe_tax_sub_sbi(all_in, all_in) | correspondence between tax and subsidy input data resolution and model sectoral resolution. For FE which takes the pathway I to the CES |
fe_tax_sub36(all_in, all_in) | correspondence between tax and subsidy input data resolution and model sectoral resolution |
fe2ces_dyn36(all_enty, all_esty, all_teEs, all_in) | map FE carriers to CES via appliances |
fe2es(all_enty, all_esty, all_teEs) | map FE carriers to ES via ES technologies |
fe2es_dyn36(all_enty, all_esty, all_teEs) | map FE carriers to ES via appliances |
fe2ppfEn(all_enty, all_in) | mapping between CES FE variables and ESM FE variables |
fe2ppfEn36(all_enty, all_in) | match ESM entyFe to ppfEn |
feteces_dyn36(all_enty, all_teEs, all_in) | map FE carriers to CES without esty |
feViaEs2ppfen(all_enty, all_in, all_teEs) | map final energies to the primar production factor - is filled automatically from the content of fe2es and es2ppfen |
in(all_in) | All inputs and outputs of the CES function |
in_buildings_dyn36(all_in) | all inputs and outputs of the CES function - buildings |
in_complements(all_in) | Factors which are perfect complements |
in_complements_dyn36(all_in) | in complements |
in_enerSerAdj(all_in) | Energy services factors which should be constrained by adjustment costs |
in_enerSerAdj_dyn36(all_in) | Energy services input to be adjusted |
in_putty(all_in) | Production factors subject to putty-clay dynamics |
in_putty_dyn36(all_in) | putty in for buildings |
inViaEs_dyn36(all_in) | CES inputs which are provided throught the ES pathway |
ipf_putty(all_in) | All putty-clay intermediate production factors |
iteration | iterator for main (Negishi/Nash) iterations |
mapElHp(all_teEs, all_teEs) | correspondence between electric resistance technology and heat pump technology |
modules | all the available modules |
nests_putty(all_in, all_in) | Defines factors which are in the same putty subnest. The first all_in gives the higher factors of the subnest |
nests_putty_dyn36(all_in, all_in) | putty nests |
opTimeYr | actual life time of ??? in years |
opTimeYr2teEs(all_teEs, opTimeYr) | mapping for technologies to yearly lifetime - is filled automatically from the lifetime values of technologies |
ppf(all_in) | All primary production factors |
ppf_putty(all_in) | All putty-clay primary production factors |
ppf_putty_dyn36(all_in) | putty ppf for buildigs |
ppfEn(all_in) | Primary production factors energy |
ppfen_buildings_dyn36(all_in) | primary production factors energy - buildings |
ppfen_CESMkup(all_in) | production factors of CES function to which CES markup cost can be applied |
ppfKap(all_in) | Primary production factors capital |
ppfKap_dyn36(all_in) | Capital primary production factors |
regi(all_regi) | all regions used in the solution process |
regi_dyn36(all_regi) | dynamic region set for compatibility with testOneRegi |
regi_dyn36_cooling(all_regi) | regions with high cooling on which we impose efficiency constraint |
regi_dyn80(all_regi) | region for testOneRegi |
regi_group(ext_regi, all_regi) | region groups (regions that together corresponds to a H12 region) |
richTechs(all_teEs) | technologies whose calibration decreases with income |
se2fe(all_enty, all_enty, all_te) | map secondary energy to end-use energy using a technology |
set | regi_nucscen(all_regi) regions which nucscen applies to |
steps | iterator for MAC steps |
t(ttot) | modeling time, usually starting in 2005, but later for fixed delay runs |
t0(tall) | start of modelling time, not optimization |
t36_hist(ttot) | historic time steps |
t36_hist_last(ttot) | last historic time step |
t36_scen(ttot) | non historical scenario time step |
tall | time index |
te(all_te) | energy technologies |
teEs(all_teEs) | ES technologies which are actually used (to be filled by module realizations). |
teEs_dyn36(all_teEs) | technologies - buildings module additions |
teEs_pushCalib_dyn36(all_teEs) | technologies for which the Logit parameter should be modified |
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 |
ue_dyn36(all_in) | useful energy items |
Antoine Levesque, Robin Krekeler