Difference between revisions of "Energy use of buildings"

From Testiwiki
Jump to: navigation, search
(tables moved from Building stock of Kuopio)
(updates for the report format)
 
(35 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{variable|moderator=Marjo|stub=Yes}}
+
<noinclude>
 +
[[Category:Buildings]]
 +
[[Category:Energy]]
 +
{{method|moderator=Marjo}}
 +
</noinclude>
 +
== Question ==
 +
 
 +
How to model the use of energy of buildings based on either annual consumption per floor area, or energy efficiency per floor area per indoor-outdoor temperature difference?
 +
 
 +
==Answer ==
 +
 
 +
[[File:Energy used in heating in Helsinki.png|thumb|centre|600px|Example of consumer energy demand calculations: energy need in Helsinki from the assessment [[Helsinki energy decision 2015]].]]
 +
 
 +
An example code for fetching and using the variables.
 +
 
 +
<rcode embed=1>
 +
## This code is Op_en5488/ on page [[Energy use of buildings]]
  
== Question ==
+
library(OpasnetUtils)
 +
 
 +
objects.latest("Op_en5488", code_name = "EnergyConsumerDemand") # [[Energy use in buildings]]
  
What is the use of energy of buildings?
+
cat("These ovariables must be obtained from somewhere to use this method:\n")
  
== Answer ==
+
oprint(EnergyConsumerDemand@dependencies)
 +
 
 +
</rcode>
  
 
== Rationale ==
 
== Rationale ==
 +
 +
=== Input ===
 +
 +
{| {{prettytable}}
 +
|+'''Variables needed to calculate the EnergyConsumerDemand. Note that there are several different methods available, and temperature data is not needed in an annual energy version.
 +
|----
 +
! Dependencies || Measure || Indices || Missing data
 +
|----
 +
| buildings (from the model).
 +
| Floor area of the building stock to be heated
 +
| Typical indices: Building, Heating, Efficiency, Renovation
 +
| You can use value 1 to calculate energy need per 1 m<sup>2</sup> floor area.
 +
|----
 +
| temperene (fairly generic data for a given cultural and climatic area, e.g. from [[Energy use of buildings]])
 +
| Energy need per floor area and indoor-outdoor temperature difference (W /m<sup>2</sup> /K)
 +
| Required indices: Consumable, Fuel (Commodity). Typical indices: Building, Heating.
 +
| if this data is missing, you can only calculate building stock but nothing further.
 +
|----
 +
| nontemperene (fairly generic data for a given cultural and climatic area, e.g. from [[Energy use of buildings]])
 +
| Energy need for hot water and other non-temperature-dependent activities
 +
| Required indices: Consumable, Fuel (Commodity).
 +
| Use 0 to calculate energy demand excluding non-heating energy use.
 +
|----
 +
| temperatures (location-specific data)
 +
| Average outdoor temperatures for particular temperature bins.
 +
| Reuired indices: Temperature.
 +
| If missing, use the annual energy version.
 +
|----
 +
| temperdays (location-specific data)
 +
| Number of days per year for particular temperature bins.
 +
| Required indices: Temperature.
 +
| If missing, use the annual energy version.
 +
|----
 +
| efficiencyRatio (fairly generic data for a cultural and climatic area, e.g. from [[Energy use of buildings]])
 +
| Relative energy consumption compared with the efficiency group Old.
 +
| Required indices: Efficiency. Typical indices: Time, Building.
 +
| If no data, use 1 as default.
 +
|----
 +
| renovationRatio (fairly generic data for a cultural and climatic area, e.g. from [[Energy use of buildings]])
 +
| Relative energy consumption compared with the Renovation location None.
 +
| Required indices: Renovation. Typical indices: Building.
 +
| If no data, use 1 as default.
 +
|}
 +
 +
<noinclude>
 +
=== Annual calculations ===
 +
 +
The code below assumes annual energy consumption factors per floor area (kWh /m<sup>2</sup> /a). No temperature data is needed.
 +
 +
<math>Q_{e,r} = \sum_b B_{b,e,r} F_b E_e R_r,</math>
 +
 +
where
 +
* Q = Energy used for heating and cooling (kWh /a)
 +
* B = floor area of a building stock indexed by renovation and efficiency (m<sup>2</sup>)
 +
* F = energy consumption factor (kWh / m<sup>2</sup> /a)
 +
* E = relative efficiency of a building stock based on energy class when built (no unit)
 +
* R = relative efficiency of a building stock based on energy class after renovated (no unit)
 +
* indices used:
 +
** b = building type
 +
** e = efficiency class of building
 +
** r = renovation class of building
 +
 +
<rcode name='energyUseAnnual' label='Initiate energyUse using annual factors (only for developers)' embed=1>
 +
### This code is Op_en5488/energyUseAnnual on page [[Energy use of buildings]].
 +
 +
library(OpasnetUtils)
 +
 +
### energyUse is the energy consumption due to heating of a given building stock.
 +
 +
energyUse <- Ovariable("energyUse",
 +
dependencies = data.frame(
 +
Name = c(
 +
"energyFactor",
 +
"efficiencyRatio",
 +
"renovationRatio",
 +
"buildings"
 +
),
 +
Ident = c(
 +
"Op_en5488/energyFactor",
 +
"Op_en5488/efficiencyRatio",
 +
"Op_en5488/renovationRatio",
 +
NA
 +
)
 +
),
 +
formula = function(...) {
 +
 +
out <- buildings * energyFactor * efficiencyRatio * renovationRatio
 +
out <- unkeep(out, prevresults = TRUE, sources = TRUE)
 +
out <- oapply(out, cols = c("Building"), FUN = sum)
 +
 +
return(out)
 +
}
 +
)
 +
 +
objects.store(energyUse)
 +
cat("Ovariable energyUse stored.\n")
 +
</rcode>
 +
</noinclude>
 +
 +
=== Temperature-dependent calculations ===
 +
 +
The code below assumes energy consumption factors relative to floor area (W /m<sup>2</sup> /K). Local temperature data must be given in either individual or aggregated way. Individual way has temperature data for all timepoints (e.g. days or hours) of the given year, and heatingTime = 1. Aggregated way has a specific Temperature index (e.g. very cold, cold, cool etc) in both ovariables temperature and heatingTime. The ovariable temperature tells what is the actual temperature when it is "very cold", and heatingTime tells how many hours it is "very cold" during the year.
 +
 +
<math>Q_{e,r,t} = \sum_b (B_{b,e,r} U_b (17 - T_t) E_e R_r + W_b) t_t,</math>
 +
 +
where
 +
* Q = Energy used for heating and cooling (kWh /a)
 +
* B = floor area of a building stock indexed by renovation and efficiency (m<sup>2</sup>)
 +
* U = energy consumption factor per floor area for a building type (W /m<sup>2</sup> /K)
 +
* T = temperature outside (assumes that no heating is needed if outside temperature is 17 degrees Celsius)
 +
* E = relative efficiency of a building stock based on energy class when built (no unit)
 +
* R = relative efficiency of a building stock based on energy class after renovated (no unit)
 +
* W = heating need of hot water (W)
 +
* t = time spent in a particular outdoor temperature (h /a)
 +
* indices used:
 +
** b = building type
 +
** e = efficiency class of building
 +
** r = renovation class of building
 +
** t = ambient temperature class
 +
 +
<noinclude>
 +
<rcode name='energyUseTemperature' label='Initiate energyUse using temperature info (only for developers)' embed=1>
 +
### This code is Op_en5488/energyUseTemperature on page [[Energy use of buildings]].
 +
 +
library(OpasnetUtils)
 +
 +
### EnergyUse of a given building stock when U values are available.
 +
 +
energyUse <- Ovariable("energyUse",
 +
dependencies = data.frame(
 +
Name = c(
 +
"temperene",
 +
"efficiencyRatio",
 +
"renovationRatio",
 +
"nontemperene",
 +
"buildings",
 +
"temperatures",
 +
"temperdays" # fetched here but it is only calculated after energyBalance optimisation
 +
),
 +
Ident = c(
 +
"Op_en5488/temperene",
 +
"Op_en5488/efficiencyRatio",
 +
"Op_en5488/renovationRatio",
 +
"Op_en5488/nontemperene",
 +
NA,
 +
NA,
 +
NA
 +
)
 +
),
 +
formula = function(...) {
 +
 +
#NOTE! IF OTHER INPUTS ARE INDEXED BY Building, THIS MUST BE CHANGED!
 +
#NOTE2! buildings must have index Heating.
 +
buil <- oapply(buildings, cols = "Building", FUN = sum)
 +
 +
# We assume that energy efficiency of building structures also reduces cooling need.
 +
tempe <- temperene * efficiencyRatio * renovationRatio
 +
 +
# We assume that 17 °C is thermoneutral with no heating.
 +
heat <- buil * (17 - temperatures) * tempe
 +
 +
# Only positive heating is considered (i.e., cooling is not here)
 +
result(heat) <- pmax(0, result(heat))
 +
heat@output <- heat@output[heat@output$Consumable == "Heating" , ]
 +
 +
# We assume that 24 °C is thermoneutral with no cooling.
 +
cool <- buil * (temperatures - 24) * tempe
 +
# Only positive cooling is considered (i.e., heating is not here)
 +
result(cool) <- pmax(0, result(cool))
 +
cool@output <- cool@output[cool@output$Consumable %in% c("Cooling", "District cooling", "Electric cooling") , ]
 +
cool@output$Heating <- "Not heating"
 +
 +
other <- buil * nontemperene
 +
other@output$Heating <- "Not heating"
 +
 +
out <- combine(combine(heat, cool), other)
 +
out <- unkeep(out, prevresults = TRUE, sources = TRUE)
 +
out@output <- fillna(out@output, marginals = "Temperature")
 +
 +
return(out)
 +
}
 +
)
 +
 +
objects.store(energyUse)
 +
cat("Ovariable energyUse stored.\n")
 +
</rcode>
 +
</noinclude>
 +
 +
<rcode name='EnergyConsumerDemand' label='Initiate EnergyConsumerDemand (only for developers)' embed=1>
 +
### This code is Op_en5488/EnergyConsumerDemand on page [[Energy use of buildings]].
 +
 +
library(OpasnetUtils)
 +
 +
### EnergyUse of a given building stock when U values are available.
 +
 +
EnergyConsumerDemand <- Ovariable("EnergyConsumerDemand",
 +
dependencies = data.frame(
 +
Name = c(
 +
"temperene",
 +
"efficiencyRatio",
 +
"renovationRatio",
 +
"nontemperene",
 +
"buildings",
 +
"temperatures",
 +
"temperdays" # fetched here but it is only calculated after energyBalance optimisation
 +
),
 +
Ident = c(
 +
"Op_en5488/temperene",
 +
"Op_en5488/efficiencyRatio",
 +
"Op_en5488/renovationRatio",
 +
"Op_en5488/nontemperene",
 +
NA,
 +
NA,
 +
NA
 +
)
 +
),
 +
formula = function(...) {
 +
 +
#NOTE! IF OTHER INPUTS ARE INDEXED BY Building, THIS MUST BE CHANGED!
 +
#NOTE2! buildings must have index Heating.
 +
#NOTE3! Heating, cooling and Other should probably be in different ovariables instead of being here:
 +
# multiple variables necessitates explicit handling in other dependent variables, which is bad.
 +
buil <- oapply(buildings, cols = "Building", FUN = sum)
 +
 +
# Remove Fuel column as unnecessary and disruptive
 +
temperene <- temperene[,!colnames(temperene@output) %in% "Fuel"]
 +
nontemperene <- nontemperene[,!colnames(nontemperene@output) %in% "Fuel"]
 +
 +
# We assume that energy efficiency of building structures also reduces cooling need.
 +
tempe <- temperene * efficiencyRatio * renovationRatio
 +
 +
# We assume that 17 °C is thermoneutral with no heating.
 +
heat <- buil * (17 - temperatures) * tempe[tempe$Consumable == "Heating", ]#!colnames(tempe@output) %in% "Fuel"]
 +
 +
# Only positive heating is considered (i.e., cooling is not here)
 +
result(heat) <- pmax(0, result(heat))
 +
#heat@output <- heat@output[heat@output$Consumable == "Heating" , ]
 +
 +
# We assume that 24 °C is thermoneutral with no cooling.
 +
cool <- buil * (temperatures - 24) * tempe[tempe$Consumable %in% c("Cooling", "District cooling", "Electric cooling"),]
 +
# Only positive cooling is considered (i.e., heating is not here)
 +
result(cool) <- pmax(0, result(cool))
 +
#cool@output <- cool@output[cool@output$Consumable %in% c("Cooling", "District cooling", "Electric cooling") , ]
 +
#cool@output$Heating <- "Not heating"
 +
 +
other <- buil * nontemperene
 +
#other@output$Heating <- "Not heating"
 +
 +
out <- combine(heat, cool, other)
 +
out <- unkeep(out, prevresults = TRUE, sources = TRUE)
 +
out@output <- fillna(out@output, marginals = "Temperature")
 +
 +
#out[1:10]@output
 +
#nrow(out@output)
 +
 +
return(out)
 +
}
 +
)
 +
 +
objects.store(EnergyConsumerDemand)
 +
cat("Ovariable EnergyConsumerDemand stored.\n")
 +
</rcode>
 +
 +
===Baseline energy consumption===
 +
 +
Heat reflects the energy need for heating in situations where the outdoor temperature is below 17 °C. Cooling reflects the cooling need (measured as thermal energy, not electricity!) in situations where the outdoor temperature is above 24 °C. This is not a U value, because it is about energy use per floor area, not about heat loss through building structures per m<sup>2</sup>. For estimating temperene, we take the total energy consumption in Helsinki and divide that with the total floor area and average temperature difference, see [[Helsinki energy consumption#U values based on overall data]].
 +
 +
<t2b name='Energy use per area and temperature difference' index="Consumable,Fuel" obs="Energy flow" desc="Description" unit="W /K /m2">
 +
Heating|Heat|1.66|See Helsinki energy consumption: 6921.65/24/365/38990000/(17-4.8)*1E+9
 +
District cooling|Cooling|0.3|Guesswork. This uses centralised system.
 +
Electric cooling|Electricity|0.3|Guesswork. This uses apartment-specific appliances.
 +
</t2b>
 +
 +
<rcode name="temperene" label="Initiate temperene (for developers only)" embed=1>
 +
## This is code Op_en5488/temperene on page [[Energy use of buildings]]
 +
library(OpasnetUtils)
 +
 +
temperene <- Ovariable("temperene", ddata = "Op_en5488", subset = "Energy use per area and temperature difference")
 +
 +
objects.store(temperene)
 +
cat("Ovariable temperene stored.\n")
 +
</rcode>
 +
 +
Temperature-independent energy consumption per floor area.
 +
 +
<t2b name="Temperature-independent energy use per area" index="Consumable,Fuel" obs="Energy intensity" desc="Description" unit="W /m2">
 +
Consumer electricity|Electricity|5|Assumes 50 kWh /m2 /a (see below)
 +
Hot water|Heat|4|Assumes that hot water is ca. 20 % of energy need of heating: 6921.65/24/365/38990000*1E+9*0.2
 +
</t2b>
 +
 +
<rcode name="nontemperene" label="Initiate nontemperene (for developers only)" embed=1>
 +
## This is code Op_en5488/nontemperene on page [[Energy use of buildings]]
 +
library(OpasnetUtils)
 +
 +
nontemperene <- Ovariable("nontemperene", ddata = "Op_en5488", subset = "Temperature-independent energy use per area")
 +
 +
objects.store(nontemperene)
 +
cat("Ovariable nontemperene stored.\n")
 +
</rcode>
 +
 +
<noinclude>
 +
<t2b name='Baseline energy consumption per area unit' index="Building,Heating,Energy use" unit="kWh/m2/a" locations="Heat,User electricity" desc="Total electricity,Year,Description" >
 +
Detached houses|District|134.74|50|184.74|2010|Calculated from energy company´s data; Pöyry
 +
Detached houses|Electricity|130|50|180|2010|Energiapolar; Pöyry
 +
Detached houses|Oil|134.74|50|50|2010|Pöyry. Efficiency 90-95% (energiatehokaskoti.fi).
 +
Detached houses|Wood|134.74|50|50|2010|Assumption. Efficiency of good kettles 80%(energiatehokaskoti.fi).
 +
Detached houses|Geothermal|40|50|90|2010|Assumption
 +
Row houses||168.88|73.5|73.5|2010|Calculated from energy company´s data. Based on district
 +
Apartment houses||172.31|41.7|41.7|2010|Calculated from energy company´s data. Based on district
 +
Commercial||161.82|229.6|229.6|2010|Calculated from energy company´s data. Based on district
 +
Offices||161.07|93.1|93.1|2010|Calculated from energy company´s data. Based on district
 +
Health and social sector||214.97|122.81|122.81|2010|Calculated from energy company´s data. Based on district
 +
Public||165.47|110.4|110.4|2010|Calculated from energy company´s data. Based on district
 +
Sports||121.38|85.9|85.9|2010|Calculated from energy company´s data. Based on district
 +
Educational||170|116.4|116.4|2010|Calculated from energy company´s data. Based on district
 +
Industrial||168.44|212.4|212.4|2010|Calculated from energy company´s data. Based on district
 +
Leisure houses||2.4|1|3.4|2010|Calculated from energy company´s data. Based on electricity
 +
Other||138.14|170.3|170.3|2010|Calculated from energy company´s data
 +
Non-residential buildings|No energy source|113||||Urgenche data for Basel
 +
Non-residential buildings|Heating oil|113||||Urgenche data for Basel
 +
Non-residential buildings|Coal|113||||Urgenche data for Basel
 +
Non-residential buildings|Gas|113||||Urgenche data for Basel
 +
Non-residential buildings|Electricity|113||||Urgenche data for Basel
 +
Non-residential buildings|Wood|113||||Urgenche data for Basel
 +
Non-residential buildings|Centrifuge, hydro-extractor|113||||Urgenche data for Basel
 +
Non-residential buildings|Solar heater/ collector|113||||Urgenche data for Basel
 +
Non-residential buildings|Long-distance heating|113||||Urgenche data for Basel
 +
Non-residential buildings|Other sources|113||||Urgenche data for Basel
 +
Special constructions||86-106||||Urgenche data for Basel (Mixed use)
 +
Single-family houses||69||||Urgenche data for Basel
 +
Multiple-family houses||54-106||||Urgenche data for Basel
 +
Residential buildings with subsidiary use||86-106||||Urgenche data for Basel
 +
Buildings with partial residential use||86-106||||Urgenche data for Basel
 +
</t2b>
 +
 +
 +
* Pöyry 2011. <ref>Pöyry 2011: [[File:Kuopion kasvihuonekaasupäästöjen vähentämismahdollisuudet 2020 mennessä.pdf|Kuopion kasvihuonekaasupäästöjen vähentämismahdollisuudet v 2020 mennessä]].</ref>
 +
* Energiapolar. <ref>Energiapolar/Arvioi sähkönkulutus[http://www.energiapolar.fi/fi/Kotitaloudet/Tarjouslaskuri/Arvioi-sahkonkulutus]</ref>
 +
* Energiatehokaskoti.fi/Öljylämmitys <ref> Energiatehokaskoti.fi/Öljylämmitys[http://www.energiatehokaskoti.fi/suunnittelu/talotekniikan_suunnittelu/lammitys/oljylammitys]</ref>
 +
 +
<rcode name='energyFactor' embed=1 label='Initiate energyFactor (developers only)'>
 +
# This code is Op_en5488/energyFactor on page [[Energy use of buildings]]
 +
library(OpasnetUtils)
 +
 +
energyFactor <- Ovariable("energyFactor",
 +
dependencies = data.frame(
 +
Name = c("dummy")
 +
),
 +
formula = function (...) {
 +
out <- Ovariable('energyFactor',
 +
ddata = 'Op_en5488',
 +
subset = 'Baseline energy consumption per area unit'
 +
)
 +
out@data <- out@data[
 +
out@data[["Energy use"]] == "Heat" ,
 +
colnames(out@data) != "Energy use"
 +
]
 +
levels(out@data$Heating)[levels(out@data$Heating) == ""] <- NA
 +
out@data <- fillna(out@data, "Heating")
 +
return(EvalOutput(out))
 +
}
 +
)
 +
 +
objects.store(energyFactor)
 +
cat("Object energyFactor initiated!\n")
 +
 +
</rcode>
 +
</noinclude>
  
 
===Energy efficiency in heating===
 
===Energy efficiency in heating===
  
<t2b name='Energy use by energy class of building' index="Efficiency,Energy use" locations="Heat,User electricity,Water" desc="Description" unit="kWh/m2/a">
+
What is the relative energy consumption of different efficiency classes compared with Old? This table tells that with some background information about  heat (in kWh/m2/a), electricity, and water consumption.
Old|150||30|Pöyry 2011 s.28  
+
 
New|70|50|40|Pöyry 2011 s.32 (2010 SRMK)
+
<t2b name='Energy use by energy class of building' index="Efficiency" obs="Ratio" desc="Heat,User electricity,Water,Description" unit="ratio">
Low-energy|35|50|40|Personal communication  
+
Traditional|1.2-1.4|200|||Guesstimate
Passive|17.5 - 25|50|40|Pöyry 2011 s.33; Personal communication
+
Old|1|150||30|Pöyry 2011 s.28  
 +
New|0.4-0.5|70|50|40|Pöyry 2011 s.32 (2010 SRMK)
 +
Low-energy|0.2-0.25|35|50|40|Personal communication  
 +
Passive|0.1-0.16|17.5 - 25|50|40|Pöyry 2011 s.33; Personal communication
 
</t2b>
 
</t2b>
  
 +
<rcode name='efficiencyRatio' embed=1 label='Initiate efficiencyRatio (developers only)'>
 +
# This code is Op_en5488/efficiencyRatio on page [[Energy use of buildings]]
 +
library(OpasnetUtils)
  
<t2b name="Energy efficiency of new buildings in the future" index="Efficiency,Constructed" obs='Fraction' desc='Description' unit="%">
+
efficiencyRatio <- Ovariable(
 +
name = 'efficiencyRatio',
 +
ddata = 'Op_en5488',
 +
subset = 'Energy use by energy class of building'
 +
)
 +
 
 +
objects.store(efficiencyRatio)
 +
cat("Object efficiencyRatio initiated!\n")
 +
 
 +
</rcode>
 +
 
 +
<t2b name="Energy efficiency of buildings when they are built" index="Efficiency,Constructed" obs='Fraction' desc='Description' unit="%">
 +
Traditional|1800-1944|100|
 +
Old|1945-1994|100|
 +
New|1995-2019|100|
 
New|2020-2029|10-20|
 
New|2020-2029|10-20|
 
Low-energy|2020-2029||The rest of energy class
 
Low-energy|2020-2029||The rest of energy class
Line 26: Line 434:
 
Low-energy|2030-2039|20-50|
 
Low-energy|2030-2039|20-50|
 
Passive|2030-2039||The rest of energy class
 
Passive|2030-2039||The rest of energy class
New|2040-2049|0-5|
+
New|2040-2070|0-5|
Low-energy|2040-2049|10-30|
+
Low-energy|2040-2070|10-30|
Passive|2040-2049||The rest of energy class
+
Passive|2040-2070||The rest of energy class
 
</t2b>
 
</t2b>
  
Line 37: Line 445:
 
* Chinese green building system: [http://neec.no/uploads/Article,%20China%20green%20building%20standard.pdf] [http://cargocollective.com/chinabuildsgreen/1-10-12-China-s-3-Star-Rating-System]
 
* Chinese green building system: [http://neec.no/uploads/Article,%20China%20green%20building%20standard.pdf] [http://cargocollective.com/chinabuildsgreen/1-10-12-China-s-3-Star-Rating-System]
  
===Baseline energy consumption===
+
<rcode name="efficiencyShares" label="Initiate efficiencyshares (developers only)" embed=1>
 +
#This code is Op_en5488/efficiencyShares from page [[Energy use of buildings]].
 +
library(OpasnetUtils)
 +
 
 +
efficiencyShares <- Ovariable("efficiencyShares",
 +
dependencies = data.frame(
 +
Name = c("dummy")
 +
),
 +
formula = function(...) {
 +
es <- Ovariable(
 +
name = 'es',
 +
ddata = 'Op_en5488',
 +
subset = 'Energy efficiency of buildings when they are built'
 +
)
 +
es <- findrest(es, cols = "Efficiency", total = 100) / 100
 +
 
 +
constructed <- unique(es@data$Constructed)
 +
temp <- ((strsplit(as.character(constructed), split = "-")))
 +
 
 +
y <- data.frame()
 +
for(i in 1:length(constructed)) {
 +
y <- rbind(
 +
y,
 +
data.frame(
 +
Constructed = constructed[i],
 +
Time = seq(from = as.numeric(temp[[i]][1]), to = as.numeric(temp[[i]][2]), by = 5),
 +
Result = 1
 +
)
 +
)
 +
}
 +
y <- Ovariable(output = y, marginal = c(TRUE, TRUE, FALSE))
 +
 
 +
out <- unkeep(es * y, cols = "Constructed", prevresults = TRUE, sources = TRUE)
 +
 
 +
out@output$Efficiency <- factor(
 +
out@output$Efficiency,
 +
levels = c("Traditional", "Old", "New", "Low-energy", "Passive"),
 +
ordered = TRUE
 +
)
 +
return(out)
 +
}
 +
)
 +
 
 +
dummy <- 1
  
{{comment|# |Note that below numbers are very preliminary (esp. electricity)!|--[[User:Marjo|Marjo]] 16:49, 13 March 2013 (EET)}}
+
objects.store(efficiencyShares, dummy)
 +
cat("Objects efficiencyShares, dummy initiated!\n")
  
{{attack|# |There might be an error in the table: there is only district for non-residential buildings. Therefore they cancel out in the model. CHECK THIS BEFORE PUBLISHING RESULTS!|--[[User:Jouni|Jouni]] ([[User talk:Jouni|talk]]) 22:47, 17 February 2014 (EET)}}
+
</rcode>
  
<t2b name='Baseline energy consumption per area unit' index="Building,Heating,Energy use" unit="kWh/m2/a" locations="Heat,User electricity" desc="Total electricity,Year,Description" >
+
===Impact of renovations===
Detached houses|District|134.74|50|184.74|2010|Calculated from energy company´s data; Pöyry
+
 
Detached houses|Electricity|130|50|180|2010|Energiapolar; Pöyry
+
<t2b name="Energy saving potential of different renovations" index="Renovation" obs="Relative" desc="Absolute,Renovation details,Description" unit="ratio,kWh/m2/a">
Detached houses|Oil|134.74|50|50|2010|Pöyry. Efficiency 90-95% (energiatehokaskoti.fi).
+
Windows|0.85|25|New windows and doors|Pöyry 2011
Detached houses|Wood|134.74|50|50|2010|Assumption. Efficiency of good kettles 80%(energiatehokaskoti.fi).
+
Technical systems|0.50|75|New windows, sealing of building's sheath, improvement of building's technical systems|Pöyry 2011
Detached houses|Geothermal|40|50|90|2010|Assumption
+
Sheath reform|0.35|100|New windows, sealing of building's sheath, improvement of building's technical systems, significant reform of building's sheath|Pöyry 2011
Row houses|District|168.88|73.5|73.5|2010|Calculated from energy company´s data
+
General|0.85|-|General renovation|Pöyry 2011
Apartment houses|District|172.31|41.7|41.7|2010|Calculated from energy company´s data
+
None|1|0|Renovation not done|
Commercial|District|161.82|229.6|229.6|2010|Calculated from energy company´s data
 
Offices|District|161.07|93.1|93.1|2010|Calculated from energy company´s data
 
Health and social sector|District|214.97|122.81|122.81|2010|Calculated from energy company´s data
 
Public|District|165.47|110.4|110.4|2010|Calculated from energy company´s data
 
Sports|District|121.38|85.9|85.9|2010|Calculated from energy company´s data
 
Educational|District|170|116.4|116.4|2010|Calculated from energy company´s data
 
Industrial|District|168.44|212.4|212.4|2010|Calculated from energy company´s data
 
Leisure houses|Electricity|2.4|1|3.4|2010|Calculated from energy company´s data
 
Other|District|138.14|170.3|170.3|2010|Calculated from energy company´s data
 
Row houses|Electricity|150|50|||Guesstimate
 
Apartment houses|Oil|150|50|||Guesstimate
 
Offices|Oil|150|50|||Guesstimate
 
Educational|Oil|150|50|||Guesstimate
 
Industrial|Oil|150|50|||Guesstimate
 
Non-residential buildings||150|50|||Guesstimate for Basel
 
Special constructions||150|50|||Guesstimate for Basel
 
Single-family houses||150|50|||Guesstimate for Basel
 
Multiple-family houses||150|50|||Guesstimate for Basel
 
Residential buildings with subsidiary use||150|50|||Guesstimate for Basel
 
Buildings with partial residential use||150|50|||Guesstimate for Basel
 
 
</t2b>
 
</t2b>
  
 +
<rcode name='renovationRatio' embed=1 label='Initiate renovationRatio (developers only)'>
 +
# This code is Op_en5488/renovationRatio on page [[Energy use of buildings]]
 +
library(OpasnetUtils)
  
Pöyry 2011. <ref>Pöyry 2011: Kuopion kasvihuonekaasupäästöjen vähentämismahdollisuudet v 2020 mennessä. [http://en.opasnet.org/en-opwiki/extensions/mfiles/mf_getfile.php?anon=true&docid=3459&docver=1&fileid=3466&filever=1&filename=CO2%20tavoite_Raporttii_150911.pdf]</ref>
+
renovationRatio <- Ovariable(
 +
name = 'renovationRatio',
 +
ddata = 'Op_en5488',
 +
subset = 'Energy saving potential of different renovations'
 +
)
 +
renovationRatio@data$Renovation <- factor(
 +
renovationRatio@data$Renovation,
 +
levels = c("None", "General", "Windows", "Technical systems", "Sheath reform"),
 +
ordered = TRUE
 +
)
  
Energiapolar. <ref>Energiapolar/Arvioi sähkönkulutus[http://www.energiapolar.fi/fi/Kotitaloudet/Tarjouslaskuri/Arvioi-sahkonkulutus]</ref>
+
objects.store(renovationRatio)
 +
cat("Object renovationRatio initiated!\n")
  
Energiatehokaskoti.fi/Öljylämmitys <ref> Energiatehokaskoti.fi/Öljylämmitys[http://www.energiatehokaskoti.fi/suunnittelu/talotekniikan_suunnittelu/lammitys/oljylammitys]</ref>
+
</rcode>
 +
<noinclude>
  
 +
=== Data not used ===
 +
 +
:''This section contains data that are relevant for the topic but are not used in the actual method calculations.
  
 
{{comment|# |Note that below numbers are very preliminary (esp. electricity)!|--[[User:Marjo|Marjo]] 16:49, 13 March 2013 (EET)}}
 
{{comment|# |Note that below numbers are very preliminary (esp. electricity)!|--[[User:Marjo|Marjo]] 16:49, 13 March 2013 (EET)}}
Line 100: Line 549:
 
Leisure houses|Electricity|0.68|0.29|2010|From energy company
 
Leisure houses|Electricity|0.68|0.29|2010|From energy company
 
Other|District|29.88|36.83|2010|From energy company
 
Other|District|29.88|36.83|2010|From energy company
</t2b>
 
 
===Impact of renovations===
 
 
<t2b name='Energy saving potential of different renovations' index="Efficiency,Building2,Renovation,Observation" locations="Relative,Absolute" desc="Renovation details,Description" unit="%,kWh/m2/a">
 
Old|Residential|Windows|15|25|New windows and doors|Pöyry 2011
 
Old|Residential|Technical systems|50|75|New windows, sealing of building's sheath, improvement of building's technical systems|Pöyry 2011
 
Old|Residential|Sheath reform|65|100|New windows, sealing of building's sheath, improvement of building's technical systems, significant reform of building's sheath|Pöyry 2011
 
Old|Non-residential|General|15|-|General renovation|Pöyry 2011
 
Old||None|0|0|Renovation not done|
 
New||None|0|0|Renovation not done|
 
Low-energy||None|0|0|Renovation not done|
 
Passive||None|0|0|Renovation not done|
 
 
</t2b>
 
</t2b>
  
Line 133: Line 569:
 
</t2b>
 
</t2b>
  
===Calculations for ovariables===
+
==See also==
  
<rcode name='initiate' embed=1 label='Initiate objects'>
+
<gallery widths="250px">
 +
File:Capture2.PNG|Energy consumption rate shows that people are using more energy than years before or it is about the same in Finland.
 +
File:Capture3.PNG||Most of the electricity is consumed in service sectors and homes. Moreover, the electricity produced by heating is used mostly in stakeholders and a little amount in service sector.
 +
File:Capture1.PNG|Wood fuels are the biggest source of energy in Finland.
 +
</gallery>
  
library(OpasnetUtils)
+
* Juhani Heljo, Hannele Laine. Sähkölämmitys ja lämpöpumput sähkönkäyttäjinä ja päästöjen aiheuttajina Suomessa] TTY 2/2005. [http://webhotel2.tut.fi/ee/Materiaali/Ekorem/EKOREM_LP_ja_sahko_raportti_051128.pdf] {{defend|# |Contains emission factors etc. May also be used in [[Emission factors for burning processes]].|--[[User:Jouni|Jouni]] ([[User talk:Jouni|talk]]) 07:38, 18 June 2015 (UTC)}}
 
+
* Juhani Heljo, Eero Nippala, Harri Nuuttila. Rakennusten energiankulutus ja CO2-ekv päästöt Suomessa. TTY 4/2005. [http://webhotel2.tut.fi/ee/Materiaali/Ekorem/EKOREM_Loppuraportti_051214.pdf]
energyUse <- Ovariable(
 
name = 'energyUse',
 
ddata = 'Op_en5932',
 
subset = 'Baseline energy consumption per area unit'
 
)
 
 
 
heatingShares <- Ovariable(
 
name = 'heatingShares',
 
ddata = 'Op_en5932',
 
subset = 'Fractions of houses according heating type'
 
)
 
 
 
heatingSharesNew <- Ovariable(
 
name = 'heatingSharesNew',
 
ddata = 'Op_en5932',
 
subset = 'Future heating types'
 
)
 
 
 
energy.per.volume <- Ovariable(
 
name = 'energy.per.volume',
 
ddata = 'Op_en5932',
 
subset = 'Baseline energy consumption per volume unit'
 
)
 
 
 
efficienciesNew <- Ovariable(
 
name = 'efficienciesNew',
 
ddata = 'Op_en5932',
 
subset = 'Energy efficiency of new buildings in the future'
 
)
 
 
 
Maximum.allowed.energy.consumption.per.unit <- Ovariable(
 
name = 'Maximum.allowed.energy.consumption.per.unit',
 
ddata = 'Op_en5932',
 
subset = 'Maximum allowed energy consumption per unit (= E-value)'
 
)
 
 
 
savingPotential <- Ovariable(
 
name = 'savingPotential',
 
ddata = 'Op_en5932',
 
subset = 'Energy saving potential of different renovations'
 
)
 
levels(savingPotential@data$Building2)[levels(savingPotential@data$Building2) == ""] <- NA
 
 
 
renovationShares <- Ovariable(
 
name = 'renovationShares',
 
ddata = 'Op_en5932',
 
subset = 'Popularity of renovation types'
 
)
 
 
 
energy.classes.of.buildings <- Ovariable(
 
name = 'energy.classes.of.buildings',
 
ddata = 'Op_en5932',
 
subset = 'Energy use by energy class of building'
 
)
 
 
 
objects.store(
 
buildingStock,
 
energyUse,
 
energy.per.volume,
 
heatingShares,
 
heatingSharesNew,
 
renovation,
 
renovationShares,
 
construction,
 
constructionAreas,
 
efficienciesNew,
 
savingPotential,
 
energy.classes.of.buildings,
 
buildingTypes,
 
emissionLocations,
 
eventyear,
 
efficiencies
 
)
 
 
 
cat("Objects buildingStock,  
 
energyUse,
 
energy.per.volume,
 
heatingShares,
 
heatingSharesNew,
 
renovation,
 
renovationShares,
 
construction,
 
constructionAreas,
 
efficienciesNew,
 
savingPotential,
 
energy.classes.of.buildings,
 
buildingTypes,
 
emissionLocations,
 
eventyear,
 
efficiencies
 
initiated!\n")
 
 
 
</rcode>
 
 
 
==See also==
 
  
 
==Keywords==
 
==Keywords==
Line 242: Line 587:
  
 
==Related files==
 
==Related files==
 +
</noinclude>

Latest revision as of 05:21, 8 November 2015



Question

How to model the use of energy of buildings based on either annual consumption per floor area, or energy efficiency per floor area per indoor-outdoor temperature difference?

Answer

Error creating thumbnail: Unable to save thumbnail to destination
Example of consumer energy demand calculations: energy need in Helsinki from the assessment Helsinki energy decision 2015.

An example code for fetching and using the variables.

+ Show code

Rationale

Input

Variables needed to calculate the EnergyConsumerDemand. Note that there are several different methods available, and temperature data is not needed in an annual energy version.
Dependencies Measure Indices Missing data
buildings (from the model). Floor area of the building stock to be heated Typical indices: Building, Heating, Efficiency, Renovation You can use value 1 to calculate energy need per 1 m2 floor area.
temperene (fairly generic data for a given cultural and climatic area, e.g. from Energy use of buildings) Energy need per floor area and indoor-outdoor temperature difference (W /m2 /K) Required indices: Consumable, Fuel (Commodity). Typical indices: Building, Heating. if this data is missing, you can only calculate building stock but nothing further.
nontemperene (fairly generic data for a given cultural and climatic area, e.g. from Energy use of buildings) Energy need for hot water and other non-temperature-dependent activities Required indices: Consumable, Fuel (Commodity). Use 0 to calculate energy demand excluding non-heating energy use.
temperatures (location-specific data) Average outdoor temperatures for particular temperature bins. Reuired indices: Temperature. If missing, use the annual energy version.
temperdays (location-specific data) Number of days per year for particular temperature bins. Required indices: Temperature. If missing, use the annual energy version.
efficiencyRatio (fairly generic data for a cultural and climatic area, e.g. from Energy use of buildings) Relative energy consumption compared with the efficiency group Old. Required indices: Efficiency. Typical indices: Time, Building. If no data, use 1 as default.
renovationRatio (fairly generic data for a cultural and climatic area, e.g. from Energy use of buildings) Relative energy consumption compared with the Renovation location None. Required indices: Renovation. Typical indices: Building. If no data, use 1 as default.


Annual calculations

The code below assumes annual energy consumption factors per floor area (kWh /m2 /a). No temperature data is needed.

Failed to parse (Missing <code>texvc</code> executable. Please see math/README to configure.): Q_{e,r} = \sum_b B_{b,e,r} F_b E_e R_r,

where

  • Q = Energy used for heating and cooling (kWh /a)
  • B = floor area of a building stock indexed by renovation and efficiency (m2)
  • F = energy consumption factor (kWh / m2 /a)
  • E = relative efficiency of a building stock based on energy class when built (no unit)
  • R = relative efficiency of a building stock based on energy class after renovated (no unit)
  • indices used:
    • b = building type
    • e = efficiency class of building
    • r = renovation class of building

+ Show code


Temperature-dependent calculations

The code below assumes energy consumption factors relative to floor area (W /m2 /K). Local temperature data must be given in either individual or aggregated way. Individual way has temperature data for all timepoints (e.g. days or hours) of the given year, and heatingTime = 1. Aggregated way has a specific Temperature index (e.g. very cold, cold, cool etc) in both ovariables temperature and heatingTime. The ovariable temperature tells what is the actual temperature when it is "very cold", and heatingTime tells how many hours it is "very cold" during the year.

Failed to parse (Missing <code>texvc</code> executable. Please see math/README to configure.): Q_{e,r,t} = \sum_b (B_{b,e,r} U_b (17 - T_t) E_e R_r + W_b) t_t,

where

  • Q = Energy used for heating and cooling (kWh /a)
  • B = floor area of a building stock indexed by renovation and efficiency (m2)
  • U = energy consumption factor per floor area for a building type (W /m2 /K)
  • T = temperature outside (assumes that no heating is needed if outside temperature is 17 degrees Celsius)
  • E = relative efficiency of a building stock based on energy class when built (no unit)
  • R = relative efficiency of a building stock based on energy class after renovated (no unit)
  • W = heating need of hot water (W)
  • t = time spent in a particular outdoor temperature (h /a)
  • indices used:
    • b = building type
    • e = efficiency class of building
    • r = renovation class of building
    • t = ambient temperature class


+ Show code


+ Show code

Baseline energy consumption

Heat reflects the energy need for heating in situations where the outdoor temperature is below 17 °C. Cooling reflects the cooling need (measured as thermal energy, not electricity!) in situations where the outdoor temperature is above 24 °C. This is not a U value, because it is about energy use per floor area, not about heat loss through building structures per m2. For estimating temperene, we take the total energy consumption in Helsinki and divide that with the total floor area and average temperature difference, see Helsinki energy consumption#U values based on overall data.

Energy use per area and temperature difference(W /K /m2)
ObsConsumableFuelEnergy flowDescription
1HeatingHeat1.66See Helsinki energy consumption: 6921.65/24/365/38990000/(17-4.8)*1E+9
2District coolingCooling0.3Guesswork. This uses centralised system.
3Electric coolingElectricity0.3Guesswork. This uses apartment-specific appliances.

+ Show code

Temperature-independent energy consumption per floor area.

Temperature-independent energy use per area(W /m2)
ObsConsumableFuelEnergy intensityDescription
1Consumer electricityElectricity5Assumes 50 kWh /m2 /a (see below)
2Hot waterHeat4Assumes that hot water is ca. 20 % of energy need of heating: 6921.65/24/365/38990000*1E+9*0.2

+ Show code


Baseline energy consumption per area unit(kWh/m2/a)
ObsBuildingHeatingHeatUser electricityTotal electricityYearDescription
1Detached housesDistrict134.7450184.742010Calculated from energy company´s data; Pöyry
2Detached housesElectricity130501802010Energiapolar; Pöyry
3Detached housesOil134.7450502010Pöyry. Efficiency 90-95% (energiatehokaskoti.fi).
4Detached housesWood134.7450502010Assumption. Efficiency of good kettles 80%(energiatehokaskoti.fi).
5Detached housesGeothermal4050902010Assumption
6Row houses168.8873.573.52010Calculated from energy company´s data. Based on district
7Apartment houses172.3141.741.72010Calculated from energy company´s data. Based on district
8Commercial161.82229.6229.62010Calculated from energy company´s data. Based on district
9Offices161.0793.193.12010Calculated from energy company´s data. Based on district
10Health and social sector214.97122.81122.812010Calculated from energy company´s data. Based on district
11Public165.47110.4110.42010Calculated from energy company´s data. Based on district
12Sports121.3885.985.92010Calculated from energy company´s data. Based on district
13Educational170116.4116.42010Calculated from energy company´s data. Based on district
14Industrial168.44212.4212.42010Calculated from energy company´s data. Based on district
15Leisure houses2.413.42010Calculated from energy company´s data. Based on electricity
16Other138.14170.3170.32010Calculated from energy company´s data
17Non-residential buildingsNo energy source113Urgenche data for Basel
18Non-residential buildingsHeating oil113Urgenche data for Basel
19Non-residential buildingsCoal113Urgenche data for Basel
20Non-residential buildingsGas113Urgenche data for Basel
21Non-residential buildingsElectricity113Urgenche data for Basel
22Non-residential buildingsWood113Urgenche data for Basel
23Non-residential buildingsCentrifuge, hydro-extractor113Urgenche data for Basel
24Non-residential buildingsSolar heater/ collector113Urgenche data for Basel
25Non-residential buildingsLong-distance heating113Urgenche data for Basel
26Non-residential buildingsOther sources113Urgenche data for Basel
27Special constructions86-106Urgenche data for Basel (Mixed use)
28Single-family houses69Urgenche data for Basel
29Multiple-family houses54-106Urgenche data for Basel
30Residential buildings with subsidiary use86-106Urgenche data for Basel
31Buildings with partial residential use86-106Urgenche data for Basel


  • Pöyry 2011. [1]
  • Energiapolar. [2]
  • Energiatehokaskoti.fi/Öljylämmitys [3]

+ Show code


Energy efficiency in heating

What is the relative energy consumption of different efficiency classes compared with Old? This table tells that with some background information about heat (in kWh/m2/a), electricity, and water consumption.

Energy use by energy class of building(ratio)
ObsEfficiencyRatioHeatUser electricityWaterDescription
1Traditional1.2-1.4200Guesstimate
2Old115030Pöyry 2011 s.28
3New0.4-0.5705040Pöyry 2011 s.32 (2010 SRMK)
4Low-energy0.2-0.25355040Personal communication
5Passive0.1-0.1617.5 - 255040Pöyry 2011 s.33; Personal communication

+ Show code

Energy efficiency of buildings when they are built(%)
ObsEfficiencyConstructedFractionDescription
1Traditional1800-1944100
2Old1945-1994100
3New1995-2019100
4New2020-202910-20
5Low-energy2020-2029The rest of energy class
6Passive2020-202925-35
7New2030-20395-10
8Low-energy2030-203920-50
9Passive2030-2039The rest of energy class
10New2040-20700-5
11Low-energy2040-207010-30
12Passive2040-2070The rest of energy class
  • Old: old buildings to be renovated (or in need of renovation)
  • New: normal new buildings (no current need of renovation)
  • Low-energy: buildings consuming about half of the energy of a new building
  • Passive: buildings consuming a quarter or less of the energy of a new building
  • Chinese green building system: [3] [4]

+ Show code

Impact of renovations

Energy saving potential of different renovations(ratio,kWh/m2/a)
ObsRenovationRelativeAbsoluteRenovation detailsDescription
1Windows0.8525New windows and doorsPöyry 2011
2Technical systems0.5075New windows, sealing of building's sheath, improvement of building's technical systemsPöyry 2011
3Sheath reform0.35100New windows, sealing of building's sheath, improvement of building's technical systems, significant reform of building's sheathPöyry 2011
4General0.85-General renovationPöyry 2011
5None10Renovation not done

+ Show code


Data not used

This section contains data that are relevant for the topic but are not used in the actual method calculations.

--# : Note that below numbers are very preliminary (esp. electricity)! --Marjo 16:49, 13 March 2013 (EET)

Baseline energy consumption per volume unit(kWh/m3/a)
ObsBuildingHeatingHeatUser electricityYearDescription
1Detached housesDistrict42.1515.672010Calculated from energy company´s data; Energiapolar
2Detached housesElectricity40.6615.672010Energiapolar
3Detached housesOil42.1515.672010Energiapolar
4Detached housesWood42.1515.672010Assumption
5Detached housesGeothermal18.5615.672010Assumption
6Row housesDistrict53.2523.162010From energy company
7Apartment housesDistrict49.211.92010From energy company
8CommercialDistrict28.6540.642010From energy company
9OfficesDistrict36.3220.992010From energy company
10Health and social sectorDistrict55.231.532010From energy company
11PublicDistrict32.2121.492010From energy company
12SportsDistrict18.37132010From energy company; Electricity value comes from city´s renovation data
13EducationalDistrict40.2327.542010From energy company
14IndustrialDistrict30.5738.552010From energy company
15Leisure housesElectricity0.680.292010From energy company
16OtherDistrict29.8836.832010From energy company

Regulations regarding energy consumption of buildings

Maximum allowed energy consumption per unit (= E-value)(kWh/m2/a)
ObsBuildingYearE-valueDescription
1Detached houses2012 forward204Heated net area <120 m2; Finland´s Environmental Administration
2Row houses2012 forward150Finland´s Environmental Administration
3Apartment houses2012 forward130Finland´s Environmental Administration
4Shops and other commercial buildings2012 forward240Finland´s Environmental Administration
5Offices2012 forward170Finland´s Environmental Administration
6Health and social sector: Hospitals2012 forward450Finland´s Environmental Administration
7Health and social sector: Health care centers etc.2012 forward170Finland´s Environmental Administration
8Public2012 forward240Finland´s Environmental Administration
9Sports2012 forward170Does not apply to swimming- and ice halls; Finland´s Environmental Administration
10Educational2012 forward170Finland´s Environmental Administration
11Industrial2012 forward-E-value must be calculated but there´s no limit for it; Finland´s Environmental Administration
12Leisure buildings2012 forward-E-value must be calculated but there´s no limit for it; Finland´s Environmental Administration
13Other2012 forward-E-value must be calculated but there´s no limit for it; Finland´s Environmental Administration

See also

  • Juhani Heljo, Hannele Laine. Sähkölämmitys ja lämpöpumput sähkönkäyttäjinä ja päästöjen aiheuttajina Suomessa] TTY 2/2005. [5] # : Contains emission factors etc. May also be used in Emission factors for burning processes. --Jouni (talk) 07:38, 18 June 2015 (UTC)
  • Juhani Heljo, Eero Nippala, Harri Nuuttila. Rakennusten energiankulutus ja CO2-ekv päästöt Suomessa. TTY 4/2005. [6]

Keywords

References

  1. Pöyry 2011: Kuopion kasvihuonekaasupäästöjen vähentämismahdollisuudet v 2020 mennessä.
  2. Energiapolar/Arvioi sähkönkulutus[1]
  3. Energiatehokaskoti.fi/Öljylämmitys[2]

Related files