REMIND - REgional Model of INvestments and Development

3.0.0

created with goxygen 1.2.4

Buildings (36_buildings)

Description

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).

Interfaces

Interfaces to other modules

Input

module inputs (A: services_putty | B: services_with_capital | C: simple)
  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

Output

Realizations

(A) services_putty

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.

(B) services_with_capital

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.

(C) simple

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

Definitions

Objects

module-internal objects (A: services_putty | B: services_with_capital | C: simple)
  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

Sets

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

Authors

Antoine Levesque, Robin Krekeler

See Also

01_macro, 20_growth, core

References