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_capital
distinguished between end-uses and adds a trade-off between energy consumption and capital investments The services_putty
uses services_capital
as a basis but adds inertia dynamics to improve the building enveloppes
Description | Unit | A | B | C | |
---|---|---|---|---|---|
cm_DiscRateScen | Scenario for the implicit discount rate applied to the energy efficiency capital | x | 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 | |
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 | ||
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_gdp (tall, all_regi) |
GDP data | \(trn US\$ 2005\) | x | x | |
pm_pop (tall, all_regi) |
population data | \(bn people\) | x | x | |
pm_ppfen_ratios (all_in, all_in) |
Limit ratio of two primary production factors of energy (ppfEn). | x | |||
pm_ppfen_shares (all_in, all_in) |
Limit the share of one ppfEn in total CES nest inputs. | x | |||
pm_shFeCes (ttot, all_regi, all_enty, all_in, all_teEs) |
Final energy shares for CES nodes | x | x | ||
pm_shPPPMER (all_regi) |
PPP ratio for calculating GDP|PPP from GDP|MER | x | x | ||
pm_tau_fe_sub_ES_st (tall, all_regi, all_esty) |
subsidy path for pathways III FE to CES via ES | x | x | ||
pm_tau_fe_tax_ES_st (tall, all_regi, all_esty) |
tax path for pathways III FE to CES via ES | x | x | ||
pm_ttot_val (ttot) |
value of ttot set element | x | x | x | |
qm_balFeForCesAndEs (ttot, all_regi, all_enty) |
FE balance coupling ESM and production function either directly (Pathway I) or Indirectly through Energy services (Pathway III) | x | x | ||
qm_budget (ttot, all_regi) |
Budget balance | 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 | ||
sm_tmp | temporary scalar that can be used locally | x | x | ||
sm_year_2_day | days per year | x | x | ||
vm_cesIO (tall, all_regi, all_in) |
Production factor | x | x | ||
vm_cesIOdelta (tall, all_regi, all_in) |
Putty-clay production factor | 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 |
Limitations There are no known limitations.
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*} 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 \sum \left(cesOut2cesIn(out,in), sqr \left(\frac{ \left(\frac{vm\_cesIO(ttot,regi,out) }{ vm\_cesIO(ttot,regi,in) !! Efficiency in ttot }-\frac{ vm\_cesIO\left(ttot - 1,regi,out\right) }{ vm\_cesIO\left(ttot - 1,regi,in\right) !! Efficiency in ttot }-1 \right) }{ \left(pm\_ttot\_val(ttot) - pm\_ttot\_val\left(ttot - 1\right)\right) }-\frac{ \left(\frac{vm\_cesIO\left(ttot - 1,regi,out\right) }{ vm\_cesIO\left(ttot - 1,regi,in\right) !! Efficiency in ttot }-1 -\frac{ vm\_cesIO\left(ttot - 2,regi,out\right) }{ vm\_cesIO\left(ttot - 2,regi,in\right) !! Efficiency in ttot }-2 \right) }{ \left(pm\_ttot\_val\left(ttot - 1\right) - pm\_ttot\_val\left(ttot - 2\right)\right) }\right) \right) \end{multline*}\]
\[\begin{multline*} v36\_logitproba(t,regi,entyFe,esty,teEs,in) = \frac{ exp \left( v36\_beta(regi,in) \cdot p36\_techCosts(t,regi,entyFe,esty,teEs)\right) }{ \sum \left(fe2ces\_dyn36\_2(entyFe2,esty2,teEs2,in), exp \left( v36\_beta(regi,in) \cdot p36\_techCosts(t,regi,entyFe2,esty2,teEs2)\right)\right) } \end{multline*}\]
\[\begin{multline*} \sum \left(fe2ces\_dyn36(entyFe,esty,teEs,in), p36\_techCosts(t,regi,entyFe,esty,teEs) \cdot p36\_shFeCes(t,regi,entyFe,in,teEs) \right) = \sum \left(fe2ces\_dyn36(entyFe,esty,teEs,in), p36\_techCosts(t,regi,entyFe,esty,teEs) \cdot v36\_logitproba(t,regi,entyFe,esty,teEs,in) \right) \end{multline*}\]
\[\begin{multline*} v36\_dummy = \sum \left(\left(regi,in\right)\$\left(regi\_dyn36(regi) \& inViaEs\_dyn36(in)\right), v36\_beta(regi,in) \right) \end{multline*}\]
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.
\[\begin{multline*} v36\_logitproba(t,regi,entyFe,esty,teEs,in) = \frac{ exp \left( v36\_beta(regi,in) \cdot p36\_techCosts(t,regi,entyFe,esty,teEs)\right) }{ \sum \left(fe2ces\_dyn36\_2(entyFe2,esty2,teEs2,in), exp \left( v36\_beta(regi,in) \cdot p36\_techCosts(t,regi,entyFe2,esty2,teEs2)\right)\right) } \end{multline*}\]
\[\begin{multline*} \sum \left(fe2ces\_dyn36(entyFe,esty,teEs,in), p36\_techCosts(t,regi,entyFe,esty,teEs) \cdot p36\_shFeCes(t,regi,entyFe,in,teEs) \right) = \sum \left(fe2ces\_dyn36(entyFe,esty,teEs,in), p36\_techCosts(t,regi,entyFe,esty,teEs) \cdot v36\_logitproba(t,regi,entyFe,esty,teEs,in) \right) \end{multline*}\]
\[\begin{multline*} v36\_dummy = \sum \left(\left(regi,in\right)\$\left(regi\_dyn36(regi) \& inViaEs\_dyn36(in)\right), v36\_beta(regi,in) \right) \end{multline*}\]
Limitations 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.
Limitations 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 | ||
p36_adjFactor (tall, all_regi) |
factor applied for the adjustment costs | 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_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) |
Storage parameter for final energy price over iterations | x | x | ||
p36_floorspace (tall, all_regi) |
buildings floorspace, billion m2 | x | x | ||
p36_floorspace_delta (tall, all_regi) |
increase in floorspace, billion m2 | x | x | ||
p36_floorspace_delta_gdx (tall, all_regi) |
parameter storing fixings from input_ref for v36_floorspace_delta | x | |||
p36_floorspace_scen | floorspace | 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) |
computes the norm of the share vector difference between two 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_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_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_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 | ||
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_pathConstraint (tall, all_regi) |
equation describing the relation between a variable and its variation | x | |||
q36_putty_obj | objective function | x | |||
s36_switch_floor | switch for the inclusion of the floorspace equations. It should exclude the equations from hybrid | x | |||
v36_floorspace_delta (tall, all_regi) |
increase in floorspace, million m2 | x | |||
v36_putty_obj | index of the step by step variation of v36_floorspace_delta | x |
description | |
---|---|
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_POPscen | all possible population scenarios |
all_regi | all regions |
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 |
enty(all_enty) | all types of quantities |
entyFe(all_enty) | final energy types. Calculated in sets_calculations |
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 |
fe_tax_subEs(all_in, all_esty) | correspondence between tax and subsidy input data resolution and model sectoral resolution. For FE which takes the pathway III to the CES |
fe_tax_subEs36(all_in, all_esty) | 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 |
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 |
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 |
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_dyn80(all_regi) | region for testOneRegi |
richTechs(all_teEs) | technologies whose calibration decreases with income |
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 |
teEs(all_teEs) | ES technologies which are actually used (to be filled by module realizations). |
teEs_dyn36(all_teEs) | technologies - buildings module additions |
ttot(tall) | time index with spin up |
ue_dyn36(all_in) | useful energy items |
Antoine Levesque
01_macro, 20_growth, 21_tax, core