Unit heat consumption of buildings in Finland: Difference between revisions

From Opasnet
Jump to navigation Jump to search
mNo edit summary
 
(65 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{variable|moderator=Virpi Kollanus|stub=Yes}}
{{variable|moderator=Virpi Kollanus|stub=Yes}}
[[Category:Contains R code]]


== Question ==
== Question ==
Line 27: Line 28:
Roof|2000|W/(m2K)|0.16|
Roof|2000|W/(m2K)|0.16|
Roof|2010|W/(m2K)|0.09|
Roof|2010|W/(m2K)|0.09|
Floor|<1960|W/(m2K)|0.30|
Ground floor|<1960|W/(m2K)|0.30|
Floor|1960|W/(m2K)|0.30|
Ground floor|1960|W/(m2K)|0.30|
Floor|1970|W/(m2K)|0.30|
Ground floor|1970|W/(m2K)|0.30|
Floor|1980|W/(m2K)|0.30|
Ground floor|1980|W/(m2K)|0.30|
Floor|1990|W/(m2K)|0.30|
Ground floor|1990|W/(m2K)|0.30|
Floor|2000|W/(m2K)|0.25|
Ground floor|2000|W/(m2K)|0.25|
Floor|2010|W/(m2K)|0.25|
Ground floor|2010|W/(m2K)|0.16|
Window|<1960|W/(m2K)|2.1|
Window|<1960|W/(m2K)|2.1|
Window|1960|W/(m2K)|1.9|
Window|1960|W/(m2K)|1.9|
Line 66: Line 67:
Roof|2000|m2|176|
Roof|2000|m2|176|
Roof|2010|m2|176|
Roof|2010|m2|176|
Floor|<1960|m2|109|
Ground floor|<1960|m2|109|
Floor|1960|m2|124|
Ground floor|1960|m2|124|
Floor|1970|m2|144|
Ground floor|1970|m2|144|
Floor|1980|m2|158|
Ground floor|1980|m2|158|
Floor|1990|m2|166|
Ground floor|1990|m2|166|
Floor|2000|m2|176|
Ground floor|2000|m2|176|
Floor|2010|m2|176|
Ground floor|2010|m2|176|
Window|<1960|m2|10.9|
Window|<1960|m2|10.9|
Window|1960|m2|12.4|
Window|1960|m2|12.4|
Line 91: Line 92:




<t2b name="air.exchange" index="Parameter,Construction.year,Unit" desc="Kuvaus" unit="-">
<t2b name="ventilation.rate" index="Construction.year,Unit" desc="Kuvaus" unit="-">
Air exchange rate|<1960|dm3/s/m2|0.25|
<1960|dm3/s/m2|0.25|
Air exchange rate|1960|dm3/s/m2|0.25|
1960|dm3/s/m2|0.25|
Air exchange rate|1970|dm3/s/m2|0.25|
1970|dm3/s/m2|0.25|
Air exchange rate|1980|dm3/s/m2|0.35|
1980|dm3/s/m2|0.35|
Air exchange rate|1990|dm3/s/m2|0.35|
1990|dm3/s/m2|0.35|
Air exchange rate|2000|dm3/s/m2|0.35|
2000|dm3/s/m2|0.35|
Air exchange rate|2010|dm3/s/m2|0.35|
2010|dm3/s/m2|0.35|
Heat recovery efficiency|<1960||0|
</t2b>
Heat recovery efficiency|1960||0|
 
Heat recovery efficiency|1970||0|
<t2b name="ventilation.heat.recovery" index="Construction.year,Unit" desc="Kuvaus" unit="-">
Heat recovery efficiency|1980||0|
<1960||0|
Heat recovery efficiency|1990||0|
1960||0|
Heat recovery efficiency|2000||0|
1970||0|
Heat recovery efficiency|2010||0.45|
1980||0|
Air leak factor|<1960|/h|0.32|
1990||0|
Air leak factor|1960|/h|0.32|
2000||0|
Air leak factor|1970|/h|0.28|
2010||0.45|
Air leak factor|1980|/h|0.24|
</t2b>
Air leak factor|1990|/h|0.16|
 
Air leak factor|2000|/h|0.16|
<t2b name="air.leak.factor" index="Construction.year,Unit" desc="Kuvaus" unit="-">
Air leak factor|2010|/h|0.08|
<1960|/h|0.32|
1960|/h|0.32|
1970|/h|0.28|
1980|/h|0.24|
1990|/h|0.16|
2000|/h|0.16|
2010|/h|0.08|
</t2b>
</t2b>


Line 122: Line 129:
Hot water use|l/person/d|45|
Hot water use|l/person/d|45|
Water heating system heat loss|kWh/m2/month|1.5|
Water heating system heat loss|kWh/m2/month|1.5|
</t2b>
<t2b name="total.floor.area" index="Construction.year,Unit" desc="Kuvaus" unit="-">
<1960|m2|109|
1960|m2|124|
1970|m2|144|
1980|m2|158|
1990|m2|166|
2000|m2|176|
2010|m2|176|
</t2b>
</t2b>


Line 208: Line 225:




<t2b name="other.parameters" index="Parameter,Month,Unit" desc="Kuvaus" unit="-">
<t2b name="period.length" index="Month,Unit" desc="Kuvaus" unit="-">
Length of period|1|h|744|
1|h|744|
Length of period|2|h|672|
2|h|672|
Length of period|3|h|744|
3|h|744|
Length of period|4|h|720|
4|h|720|
Length of period|5|h|744|
5|h|744|
Length of period|6|h|720|
6|h|720|
Length of period|7|h|744|
7|h|744|
Length of period|8|h|744|
8|h|744|
Length of period|9|h|720|
9|h|720|
Length of period|10|h|744|
10|h|744|
Length of period|11|h|720|
11|h|720|
Length of period|12|h|744|
12|h|744|
Soil temperature difference|1|C|0|
</t2b>
Soil temperature difference|2|C|-1|
 
Soil temperature difference|3|C|-2|
<t2b name="soil.temperature.difference" index="Month,Unit" desc="Kuvaus" unit="-">
Soil temperature difference|4|C|-3|
1|C|0|
Soil temperature difference|5|C|-2|
2|C|-1|
Soil temperature difference|6|C|-2|
3|C|-2|
Soil temperature difference|7|C|0|
4|C|-3|
Soil temperature difference|8|C|1|
5|C|-2|
Soil temperature difference|9|C|2|
6|C|-2|
Soil temperature difference|10|C|3|
7|C|0|
Soil temperature difference|11|C|3|
8|C|1|
Soil temperature difference|12|C|2|
9|C|2|
Heating season|1||1|1=yes, 0=no
10|C|3|
Heating season|2||1|1=yes, 0=no
11|C|3|
Heating season|3||1|1=yes, 0=no
12|C|2|
Heating season|4||1|1=yes, 0=no
</t2b>
Heating season|5||1|1=yes, 0=no
 
Heating season|6||0|1=yes, 0=no
<t2b name="heating.season" index="Month,Unit" desc="Kuvaus" unit="-">
Heating season|7||0|1=yes, 0=no
1||1|1=yes, 0=no
Heating season|8||0|1=yes, 0=no
2||1|1=yes, 0=no
Heating season|9||1|1=yes, 0=no
3||1|1=yes, 0=no
Heating season|10||1|1=yes, 0=no
4||1|1=yes, 0=no
Heating season|11||1|1=yes, 0=no
5||1|1=yes, 0=no
Heating season|12||1|1=yes, 0=no
6||0|1=yes, 0=no
7||0|1=yes, 0=no
8||0|1=yes, 0=no
9||1|1=yes, 0=no
10||1|1=yes, 0=no
11||1|1=yes, 0=no
12||1|1=yes, 0=no
</t2b>
 
<t2b name="sun.radiation.vertical.surface" index="Month,Direction,Unit" desc="Kuvaus" unit="-">
1|North|kWh/m2|6.0|Default value for Jyväskylä
2|North|kWh/m2|16.4|Default value for Jyväskylä
3|North|kWh/m2|38.7|Default value for Jyväskylä
4|North|kWh/m2|46.1|Default value for Jyväskylä
5|North|kWh/m2|68.9|Default value for Jyväskylä
6|North|kWh/m2|72.7|Default value for Jyväskylä
7|North|kWh/m2|65.1|Default value for Jyväskylä
8|North|kWh/m2|48.0|Default value for Jyväskylä
9|North|kWh/m2|30.6|Default value for Jyväskylä
10|North|kWh/m2|15.3|Default value for Jyväskylä
11|North|kWh/m2|6.9|Default value for Jyväskylä
12|North|kWh/m2|3.3|Default value for Jyväskylä
1|North-East|kWh/m2|4.5|Default value for Jyväskylä
2|North-East|kWh/m2|12.8|Default value for Jyväskylä
3|North-East|kWh/m2|35.2|Default value for Jyväskylä
4|North-East|kWh/m2|54.5|Default value for Jyväskylä
5|North-East|kWh/m2|91.3|Default value for Jyväskylä
6|North-East|kWh/m2|87.1|Default value for Jyväskylä
7|North-East|kWh/m2|81.4|Default value for Jyväskylä
8|North-East|kWh/m2|57.0|Default value for Jyväskylä
9|North-East|kWh/m2|34.2|Default value for Jyväskylä
10|North-East|kWh/m2|13.6|Default value for Jyväskylä
11|North-East|kWh/m2|5.3|Default value for Jyväskylä
12|North-East|kWh/m2|2.5|Default value for Jyväskylä
1|East|kWh/m2|3.1|Default value for Jyväskylä
2|East|kWh/m2|15.6|Default value for Jyväskylä
3|East|kWh/m2|37.9|Default value for Jyväskylä
4|East|kWh/m2|73.5|Default value for Jyväskylä
5|East|kWh/m2|122.6|Default value for Jyväskylä
6|East|kWh/m2|105.4|Default value for Jyväskylä
7|East|kWh/m2|106.4|Default value for Jyväskylä
8|East|kWh/m2|74.5|Default value for Jyväskylä
9|East|kWh/m2|51.8|Default value for Jyväskylä
10|East|kWh/m2|18.5|Default value for Jyväskylä
11|East|kWh/m2|4.9|Default value for Jyväskylä
12|East|kWh/m2|1.6|Default value for Jyväskylä
1|South-East|kWh/m2|6.5|Default value for Jyväskylä
2|South-East|kWh/m2|34.4|Default value for Jyväskylä
3|South-East|kWh/m2|55.1|Default value for Jyväskylä
4|South-East|kWh/m2|93.6|Default value for Jyväskylä
5|South-East|kWh/m2|132.4|Default value for Jyväskylä
6|South-East|kWh/m2|108.0|Default value for Jyväskylä
7|South-East|kWh/m2|115.0|Default value for Jyväskylä
8|South-East|kWh/m2|91.7|Default value for Jyväskylä
9|South-East|kWh/m2|77.7|Default value for Jyväskylä
10|South-East|kWh/m2|33.1|Default value for Jyväskylä
11|South-East|kWh/m2|10.7|Default value for Jyväskylä
12|South-East|kWh/m2|3.3|Default value for Jyväskylä
1|South|kWh/m2|9.0|Default value for Jyväskylä
2|South|kWh/m2|46.3|Default value for Jyväskylä
3|South|kWh/m2|69.8|Default value for Jyväskylä
4|South|kWh/m2|99.1|Default value for Jyväskylä
5|South|kWh/m2|123.4|Default value for Jyväskylä
6|South|kWh/m2|103.3|Default value for Jyväskylä
7|South|kWh/m2|109.4|Default value for Jyväskylä
8|South|kWh/m2|98.3|Default value for Jyväskylä
9|South|kWh/m2|91.6|Default value for Jyväskylä
10|South|kWh/m2|42.5|Default value for Jyväskylä
11|South|kWh/m2|14.6|Default value for Jyväskylä
12|South|kWh/m2|4.4|Default value for Jyväskylä
1|South-West|kWh/m2|6.8|Default value for Jyväskylä
2|South-West|kWh/m2|33.5|Default value for Jyväskylä
3|South-West|kWh/m2|60.2|Default value for Jyväskylä
4|South-West|kWh/m2|89.5|Default value for Jyväskylä
5|South-West|kWh/m2|124.5|Default value for Jyväskylä
6|South-West|kWh/m2|107.5|Default value for Jyväskylä
7|South-West|kWh/m2|111.6|Default value for Jyväskylä
8|South-West|kWh/m2|94.5|Default value for Jyväskylä
9|South-West|kWh/m2|76.1|Default value for Jyväskylä
10|South-West|kWh/m2|32.1|Default value for Jyväskylä
11|South-West|kWh/m2|10.7|Default value for Jyväskylä
12|South-West|kWh/m2|3.2|Default value for Jyväskylä
1|West|kWh/m2|3.3|Default value for Jyväskylä
2|West|kWh/m2|15.1|Default value for Jyväskylä
3|West|kWh/m2|42.1|Default value for Jyväskylä
4|West|kWh/m2|70.0|Default value for Jyväskylä
5|West|kWh/m2|115.0|Default value for Jyväskylä
6|West|kWh/m2|103.6|Default value for Jyväskylä
7|West|kWh/m2|104.5|Default value for Jyväskylä
8|West|kWh/m2|77.3|Default value for Jyväskylä
9|West|kWh/m2|50.1|Default value for Jyväskylä
10|West|kWh/m2|17.6|Default value for Jyväskylä
11|West|kWh/m2|4.9|Default value for Jyväskylä
12|West|kWh/m2|1.6|Default value for Jyväskylä
1|North-West|kWh/m2|4.5|Default value for Jyväskylä
2|North-West|kWh/m2|12.8|Default value for Jyväskylä
3|North-West|kWh/m2|36.1|Default value for Jyväskylä
4|North-West|kWh/m2|53.6|Default value for Jyväskylä
5|North-West|kWh/m2|88.5|Default value for Jyväskylä
6|North-West|kWh/m2|85.0|Default value for Jyväskylä
7|North-West|kWh/m2|82.6|Default value for Jyväskylä
8|North-West|kWh/m2|58.1|Default value for Jyväskylä
9|North-West|kWh/m2|33.4|Default value for Jyväskylä
10|North-West|kWh/m2|13.3|Default value for Jyväskylä
11|North-West|kWh/m2|5.3|Default value for Jyväskylä
12|North-West|kWh/m2|2.5|Default value for Jyväskylä
</t2b>
 
<t2b name="window.direction" index="Direction,Unit" desc="Kuvaus" unit="-">
North|fraction|0.125|
North-East|fraction|0.125|
East|fraction|0.125|
South-East|fraction|0.125|
South|fraction|0.125|
South-West|fraction|0.125|
West|fraction|0.125|
North-East|fraction|0.125|
</t2b>
 
<t2b name="sun.heat.absorption.parameters" index="Parameter,Unit" desc="Kuvaus" unit="-">
Permeability factor|-|0.7|assumption: triple-glazed window ( 1 glass=0.85, double-glazed=0.75)
Frame factor|-|0.75|window glass surface area / window glass + frame surface area
Curtain factor|-|0.75|assumption: curtains (no curtains=1, white window blinds between glasses=0.3, white window blinds inside in front of window=0.6)
Shading factor|-|0.9|assumption: some shading (no shading=1)
</t2b>
 
<t2b name="internal.heat.source.parameters" index="Parameter,Unit" desc="Kuvaus" unit="-">
Electrical equipment heat|kWh/m2/a|32|heat gain from lights and other electrical equipment
Person heat radiance|W/person|85|Heat radiance power of one inhabitant
Time inside|-|0.6|Fraction of time an inhabitant spends inside the house
Internal heat capacity|Wh/(m2 K)|90|Internal heat capacity of the building, depends on building materials (light weight: 40, medium weight: 70-110, heavy weight: 200)
</t2b>
</t2b>




<t2b name="heat.production.efficiency" index="Heating system,Unit" desc="Kuvaus" unit="-">
Light oil boiler||0.81|
Wood pellet boiler||0.75|
District heating||0.94|
Electric, direct||1|
Ground source heat pump||2.5|
</t2b>
===Calculations===


<rcode graphics="1">
<rcode graphics="1">
Line 260: Line 416:
surface.area <- Ovariable(name= "surface.area", ddata = "Op_en5397", subset = "surface.area", getddata = FALSE)
surface.area <- Ovariable(name= "surface.area", ddata = "Op_en5397", subset = "surface.area", getddata = FALSE)


air.exchange <- Ovariable(name= "air.exchange", ddata = "Op_en5397", subset = "air.exchange", getddata = FALSE)
ventilation.rate <- Ovariable(name= "ventilation.rate", ddata = "Op_en5397", subset = "ventilation.rate", getddata = FALSE)
 
ventilation.heat.recovery <- Ovariable(name= "ventilation.heat.recovery", ddata = "Op_en5397", subset = "ventilation.heat.recovery", getddata = FALSE)
 
air.leak.factor <- Ovariable(name= "air.leak.factor", ddata = "Op_en5397", subset = "air.leak.factor", getddata = FALSE)


building.characteristics <- Ovariable(name= "building.characteristics", ddata = "Op_en5397", subset = "building.characteristics", getddata = FALSE)
building.characteristics <- Ovariable(name= "building.characteristics", ddata = "Op_en5397", subset = "building.characteristics", getddata = FALSE)
total.floor.area <- Ovariable(name= "total.floor.area", ddata = "Op_en5397", subset = "total.floor.area", getddata = FALSE)


outdoor.temperature <- Ovariable(name= "outdoor.temperature", ddata = "Op_en5397", subset = "outdoor.temperature", getddata = FALSE)
outdoor.temperature <- Ovariable(name= "outdoor.temperature", ddata = "Op_en5397", subset = "outdoor.temperature", getddata = FALSE)
Line 268: Line 430:
residential.building.location <- Ovariable(name= "residential.building.location", ddata = "Op_en5397", subset = "residential.building.location", getddata = FALSE)
residential.building.location <- Ovariable(name= "residential.building.location", ddata = "Op_en5397", subset = "residential.building.location", getddata = FALSE)


other.parameters <- Ovariable(name= "other.parameters", ddata = "Op_en5397", subset = "other.parameters", getddata = FALSE)
period.length <- Ovariable(name= "period.length", ddata = "Op_en5397", subset = "period.length", getddata = FALSE)
 
soil.temperature.difference <- Ovariable(name= "soil.temperature.difference", ddata = "Op_en5397", subset = "soil.temperature.difference", getddata = FALSE)
 
heating.season <- Ovariable(name= "heating.season", ddata = "Op_en5397", subset = "heating.season", getddata = FALSE)
 
sun.radiation.vertical.surface <- Ovariable(name= "sun.radiation.vertical.surface", ddata = "Op_en5397", subset = "sun.radiation.vertical.surface", getddata = FALSE)
 
window.direction <- Ovariable(name= "window.direction", ddata = "Op_en5397", subset = "window.direction", getddata = FALSE)
 
sun.heat.absorption.parameters <- Ovariable(name= "sun.heat.absorption.parameters", ddata = "Op_en5397", subset = "sun.heat.absorption.parameters", getddata = FALSE)
 
heat.production.efficiency <- Ovariable(name= "heat.production.efficiency", ddata = "Op_en5397", subset = "heat.production.efficiency", getddata = FALSE)
 




objects.store(u.factor, surface.area, air.exchange, building.characteristics, outdoor.temperature, residential.building.location, other.parameters)
objects.store(u.factor, surface.area, ventilation.rate, ventilation.heat.recovery, air.leak.factor, building.characteristics, total.floor.area, outdoor.temperature, residential.building.location, period.length, soil.temperature.difference, heating.season, sun.radiation.vertical.surface, window.direction, sun.heat.absorption.parameters, heat.production.efficiency)


cat("Ovariablet tallennettu.\n")
cat("Ovariablet tallennettu.\n")
Line 281: Line 456:
#oprint(outdoor.temperature)
#oprint(outdoor.temperature)
#oprint(residential.building.location)
#oprint(residential.building.location)
#oprint(other.parameters)
#oprint(ventilation.rate)
 
 
#Average monthly outdoor temperature for a residential building in Finland. Calculated based on monthly average temperatures and location of residential buildings in different parts of Finland
 
average.outdoor.temperature.month <- Ovariable(
name="average.outdoor.temperature.month",
dependencies = data.frame(
Name=c("outdoor.temperature", "residential.building.location"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
out <- outdoor.temperature * residential.building.location
 
out <- out@output[ , c("Location", "Month", "Construction.year", "Result")]
out <- aggregate(out[,colnames(out)=='Result'],by=list(out$Month, out$Construction.year),FUN="sum", na.rm="TRUE")
names(out) <- c("Month","Construction.year", "Result")
return(out)
}
)
 
 
#oprint(average.outdoor.temperature.month)
 


#Average annual outdoor temperature for a residential building in Finland. Calculated based on monthly average temperatures.


average.outdoor.temperature <- Ovariable(
average.outdoor.temperature.year <- Ovariable(
name="average.outdoor temperature",
name="average.outdoor.temperature.year",
dependencies = data.frame(
dependencies = data.frame(
Name=c("outdoor.temperature", "residential.building.location"),
Name=c("outdoor.temperature", "residential.building.location"),
Line 297: Line 499:
out <- outdoor.temperature * residential.building.location
out <- outdoor.temperature * residential.building.location


out@output <- out@output[ , c("Location", "Month", "Construction.year", "Result")]
#out@output <- out@output[ , c("Location", "Month", "Construction.year", "Result")]
out@output <- aggregate(out@output[,4],by=list(out@output$Month, out@output$Construction.year),FUN="sum", na.rm="TRUE")
#out@output <- aggregate(out@output[,4],by=list(out@output$Month, out@output$Construction.year),FUN="sum", na.rm="TRUE")
names(out@output) <- c("Month","Construction.year", "average.outdoor.temperatureResult")
#names(out@output) <- c("Month","Construction.year", "average.outdoor.temperatureResult")
 
 
out <- out@output[ , c("Location", "Month", "Construction.year", "Result")]
out <- aggregate(out[,colnames(out)=='Result'],by=list(out$Month, out$Construction.year),FUN="sum", na.rm="TRUE")
names(out) <- c("Month","Construction.year", "Result")
out <- aggregate(out[,colnames(out)=='Result'],by=list(out$Construction.year),FUN="mean",na.rm="TRUE")
names(out) <- c("Construction.year", "Result")


return(out)
return(out)
}
}
)
)


objects.store(average.outdoor.temperature)


#oprint(average.outdoor.temperature.year)
cat("Total heat loss via heat conduction through outside walls, roof, ground floor, windows, and doors, kWh/month.\n")


conduction.heat.loss <- Ovariable(
conduction.heat.loss <- Ovariable(
Line 313: Line 524:
name="conduction.heat.loss",
name="conduction.heat.loss",
dependencies = data.frame(
dependencies = data.frame(
Name=c("u.factor", "surface.area", "average.outdoor.temperature", "other.parameters"),
Name=c("u.factor", "surface.area", "average.outdoor.temperature.month", "average.outdoor.temperature.year", "period.length", "soil.temperature.difference"),
Ident= c("Op_en5397")
Ident= c("Op_en5397")
),
),
formula = function(dependencies, ...) {
formula = function(dependencies, ...) {


#cat("Heat loss via heat conduction through outside walls, roof, ground floor, windows, and doors \n")
building.characteristics <- opbase.data("Op_en5397.building_characteristics")
 
indoor.temperature <- Ovariable(name = "indoor.temperature")
indoor.temperature@output <- tidy(subset(building.characteristics, Parameter=="Indoor air temperature"), direction="long", objname="indoor.temperature")
indoor.temperature@output$Parameter <- NULL
 
#Conduction heat loss for outside walls, roof, windows, and outer doors:
 
temp1 <- u.factor * surface.area * (indoor.temperature - average.outdoor.temperature.month) * period.length / 1000
 
temp1 <- subset(temp1@output, Surface=="Outside wall" | Surface=="Roof" | Surface=="Window" | Surface=="Outer door")
temp1 <- aggregate(temp1[,colnames(temp1)=='Result'],by=list(temp1$Construction.year, temp1$Surface, temp1$Month),FUN="sum",na.rm="TRUE")
names(temp1) <- c("Construction.year", "Surface", "Month", "Result")
 
#Conduction heat loss for ground floor:
 
temp2 <- u.factor * surface.area * (indoor.temperature - (average.outdoor.temperature.year + 5 + soil.temperature.difference)) * period.length / 1000
 
temp2 <- subset(temp2@output, Surface=="Ground floor")
temp2 <- aggregate(temp2[,colnames(temp2)=='Result'],by=list(temp2$Construction.year, temp2$Surface, temp2$Month),FUN="sum",na.rm="TRUE")
names(temp2) <- c("Construction.year", "Surface", "Month", "Result")  


indoor.temperature <- 23
#Combination of all heat conduction routes into a single value (kWh/month):


period.length <- subset(other.parameters@output, Parameter=="Length of period")
out <- rbind(temp1, temp2)
out <- aggregate(out[,colnames(temp2)=='Result'],by=list(out$Construction.year, out$Month),FUN="sum",na.rm="TRUE")
names(out) <- c("Construction.year", "Month", "Result")  


out <- u.factor * surface.area
return(out)
}
)


out@output <- aggregate(out@output[,4],by=list(out@output$Construction.year),FUN="sum", na.rm="TRUE")
 
 
oprint(conduction.heat.loss)
 
 
cat("Total heat loss via active air ventilation, kWh/month. \n")
 
ventilation.heat.loss <- Ovariable(
name="ventilation.heat.loss",
dependencies = data.frame(
Name=c("ventilation.rate", "ventilation.heat.recovery", "total.floor.area", "average.outdoor.temperature.month", "period.length"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
building.characteristics <- opbase.data("Op_en5397.building_characteristics")
 
indoor.temperature <- Ovariable(name = "indoor.temperature")
indoor.temperature@output <- tidy(subset(building.characteristics, Parameter=="Indoor air temperature"), direction="long", objname="indoor.temperature")
indoor.temperature@output$Parameter <- NULL
 
#Building air removal rate (m3/s):
 
temp1 <- ventilation.rate * total.floor.area / 1000
 
#ventilation unit heat loss (W/K):
 
temp2 <- 1.2 * 1000 * temp1 * (1 - ventilation.heat.recovery)
 
#total heat loss (kWh/month):
 
out <- temp2 * (indoor.temperature - average.outdoor.temperature.month) * period.length / 1000
vars <- names(out@output) %in% c("Month", "Construction.year", "Result", "Source")
out <- out@output[vars]
names(out@output) <- c("Construction.year", "conduction.heat.lossResult")
return(out)
}
)
 
oprint(ventilation.heat.loss)
 
 
 
cat("Total heat loss via involuntary air leak, kWh/month.\n")
 
air.leak.heat.loss <- Ovariable(
name="air.leak.heat.loss",
dependencies = data.frame(
Name=c("air.leak.factor", "total.floor.area", "building.characteristics", "average.outdoor.temperature.month", "period.length"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {


testi <- (indoor.temperature - average.outdoor.temperature)
building.characteristics@output <- subset(building.characteristics@output, Parameter=="Room height")
room.height <- building.characteristics


building.characteristics <- opbase.data("Op_en5397.building_characteristics")


#out@output <- out@output[ , c("Altiste", "Ikä", "Altistumislähde", "Reitti", "Altistumistaso", "Result")]
indoor.temperature <- Ovariable(name = "indoor.temperature")
indoor.temperature@output <- tidy(subset(building.characteristics, Parameter=="Indoor air temperature"), direction="long", objname="indoor.temperature")
indoor.temperature@output$Parameter <- NULL
 
#Building air leak rate (m3/s):
 
temp1 <- air.leak.factor * total.floor.area * room.height / 3600
 
#air leak unit heat loss (W/K):
 
temp2 <- 1.2 * 1000 * temp1
 
#total heat loss (kWh/month):
 
out <- temp2 * (indoor.temperature - average.outdoor.temperature.month) * period.length / 1000
vars <- names(out@output) %in% c("Month", "Construction.year", "Result", "Source")
out <- out@output[vars]
return(testi)
return(out)
}
}
)
)


oprint(EvalOutput(conduction.heat.loss))
oprint(EvalOutput(air.leak.heat.loss))






cat("Total heat loss due to household water heating, kWh/month.\n")


household.water.heating <- Ovariable(
name="household.water.heating",
dependencies = data.frame(
Name=c("period.length"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {


building.characteristics <- opbase.data("Op_en5397.building_characteristics")


#objects.latest('Op_fi2808','alustus')
inhabitants <- Ovariable(name = "inhabitants")
inhabitants@output <- tidy(subset(building.characteristics, Parameter=="Inhabitants"), direction="long", objname="inhabitants")
inhabitants@output$Parameter <- NULL
hot.water.use <- Ovariable(name = "hot.water.use")
hot.water.use@output <- tidy(subset(building.characteristics, Parameter=="Hot water use"), direction="long", objname="hot.water.use")
hot.water.use@output$Parameter <- NULL
#Hot water use (m3/a/building):
temp1 <- hot.water.use * period.length / 24 * inhabitants / 1000
#total heat consumption (kWh/month):


out <- 1000 * 4.2 * temp1 * 50 / 3600


#altistuminen <- EvalOutput(altistuminen)
vars <- names(out@output) %in% c("Month", "Result", "Source")
out <- out@output[vars]
return(out)
}
)
 
oprint(household.water.heating)




#altistuminen@output$altistuminenSource <- NULL
cat("Internal heat sources - total heat gain due to sun heat absorption through windows, kWh/month.\n")


#altistuminen@output <- reshape(
sun.heat.absorption <- Ovariable(
# altistuminen@output,  
# timevar = "Ikä",  
name="sun.heat.absorption",
# idvar = c("Altiste", "Altistumistaso", "Altistumislähde"),  
dependencies = data.frame(
# direction = "wide"
Name=c("sun.radiation.vertical.surface", "window.direction", "surface.area"),
#)
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
sun.heat.absorption.parameters <- opbase.data("Op_en5397.sun_heat_absorption_parameters")
permeability.factor <- Ovariable(name = "permeability.factor")
permeability.factor@output <- tidy(subset(sun.heat.absorption.parameters, Parameter=="Permeability factor"), direction="long", objname="permeability.factor")
permeability.factor@output$Parameter <- NULL
 
frame.factor <- Ovariable(name="frame.factor")
frame.factor@output <- tidy(subset(sun.heat.absorption.parameters, Parameter=="Frame factor"), direction="long", objname="frame.factor")
frame.factor@output$Parameter <- NULL
curtain.factor <- Ovariable(name="curtain.factor")
curtain.factor@output <- tidy(subset(sun.heat.absorption.parameters, Parameter=="Curtain factor"), direction="long", objname="curtain.factor")
curtain.factor@output$Parameter <- NULL
 
shading.factor <- Ovariable(name="shading.factor")
shading.factor@output <- tidy(subset(sun.heat.absorption.parameters, Parameter=="Shading factor"), direction="long", objname="shading.factor")
shading.factor@output$Parameter <- NULL
 
surface.area@output <- subset(surface.area@output, Surface=="Window")
 
#Sun radiation on windows (kWh/m2 per month):
 
temp1 <- surface.area * window.direction * sun.radiation.vertical.surface
 
#Sun heat absorption (kWh/month):
 
out <- temp1 * frame.factor * curtain.factor * shading.factor * 0.9 * permeability.factor
 
out <- aggregate(out@output[,colnames(out@output)=='Result'],by=list(out@output$Construction.year, out@output$Month),FUN="sum",na.rm="TRUE")
names(out) <- c("Construction.year", "Month", "Result")
return(out)
}
)
 
oprint(sun.heat.absorption)
 
 
 
cat("Internal heat sources - total heat gain due to heat radiance from inhabitants, kWh/month.\n")
 
inhabitant.heat.radiance <- Ovariable(
name="inhabitant.heat.radiance",
dependencies = data.frame(
Name=c("building.characteristics", "period.length"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
building.characteristics <- opbase.data("Op_en5397.building_characteristics")
internal.heat.source.parameters <- opbase.data("Op_en5397.internal_heat_source_parameters")
 
inhabitants <- Ovariable(name = "inhabitants")
inhabitants@output <- tidy(subset(building.characteristics, Parameter=="Inhabitants"), direction="long", objname="inhabitants")
inhabitants@output$Parameter <- NULL
person.heat.radiance <- Ovariable(name = "person.heat.radiance")
person.heat.radiance@output <- tidy(subset(internal.heat.source.parameters, Parameter=="Person heat radiance"), direction="long", objname="person.heat.radiance")
person.heat.radiance@output$Parameter <- NULL
 
time.inside <- Ovariable(name = "time.inside")
time.inside@output <- tidy(subset(internal.heat.source.parameters, Parameter=="Time inside"), direction="long", objname="time.inside")
time.inside@output$Parameter <- NULL
#total heat gain from inhabitants (kWh/month):
out <- inhabitants * person.heat.radiance * time.inside * period.length / 1000
 
vars <- names(out@output) %in% c("Month", "Result", "Source")
out <- out@output[vars]
return(out)
}
)
 
oprint(inhabitant.heat.radiance)
 
 
 
cat("Internal heat sources - total heat gain due to heat radiance from electric equipment, kWh/month.\n")
 
electric.eqp.heat.radiance <- Ovariable(
name="electric.eqp.heat.radiance",
dependencies = data.frame(
Name=c("total.floor.area"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
internal.heat.source.parameters <- opbase.data("Op_en5397.internal_heat_source_parameters")
electrical.eqp.heat.release <- Ovariable(name = "electrical.eqp.heat.release")
electrical.eqp.heat.release@output <- tidy(subset(internal.heat.source.parameters, Parameter=="Electrical equipment heat"), direction="long", objname="electrical.eqp.heat.release")
electrical.eqp.heat.release@output$Parameter <- NULL
 
#total heat gain from electrical equipment (kWh/month):
out <- electrical.eqp.heat.release * total.floor.area / 12
 
vars <- names(out@output) %in% c("Construction.year", "Result", "Source")
out <- out@output[vars]
return(out)
}
)
 
oprint(electric.eqp.heat.radiance)
 
 
 
cat("Annual net heat consumption (kWh/a) in a single-family detached house. Includes heat loss via conduction, ventilation, air leak, and household water heating, and heat gain from internal heat sources (sun heat absorption through windows, heat radiance from inhabitants and electrical equipment. Excludes heat losses from the heat distribution (water radiators). However, heat loss from the heat distribution is largely utilised as an internal heat source and, hence, does not contribute significantly to the overall net heat consumption\n")
 
net.heat.consumption <- Ovariable(
name="net.heat.consumption",
dependencies = data.frame(
Name=c("conduction.heat.loss", "ventilation.heat.loss", "air.leak.heat.loss", "household.water.heating", "sun.heat.absorption", "inhabitant.heat.radiance", "electric.eqp.heat.radiance", "average.outdoor.temperature.month", "period.length", "heating.season"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
internal.heat.source.parameters <- opbase.data("Op_en5397.internal_heat_source_parameters")
building.characteristics <- opbase.data("Op_en5397.building_characteristics")
internal.heat.capacity <- Ovariable(name = "internal.heat.capacity")
internal.heat.capacity@output <- tidy(subset(internal.heat.source.parameters, Parameter=="Internal heat capacity"), direction="long", objname="internal.heat.capacity")
internal.heat.capacity@output$Parameter <- NULL
 
indoor.temperature <- Ovariable(name = "indoor.temperature")
indoor.temperature@output <- tidy(subset(building.characteristics, Parameter=="Indoor air temperature"), direction="long", objname="indoor.temperature")
indoor.temperature@output$Parameter <- NULL
heat.loss <- conduction.heat.loss + ventilation.heat.loss + air.leak.heat.loss
internal.heat.gain <- sun.heat.absorption + inhabitant.heat.radiance + electric.eqp.heat.radiance
 
 
#Utilisation of heat from internal heat sources:
temp1 <- internal.heat.capacity / (heat.loss / (indoor.temperature - average.outdoor.temperature.month) * period.length * 1000)
temp2 <- (1 - (internal.heat.gain / heat.loss)^(1 + temp1 / 15)) / (1 - (internal.heat.gain / heat.loss)^((1 + temp1 / 15) + 1))
temp3 <- temp2 * heating.season
 
#Building net heat consumption (kWh/month):
 
out <- heat.loss + household.water.heating - internal.heat.gain * temp3
 
out <- aggregate(out@output[,colnames(out@output)=='Result'],by=list(out@output$Construction.year),FUN="sum",na.rm="TRUE")
names(out) <- c("Construction.year", "Result")
 
return(out)
}
)
 
oprint(net.heat.consumption)
 
 
 
cat("Contribution of different sources of heat loss and internal heat gain on net heat consumption (Kwh/a)\n")
 
 
net.heat.consumption.balance <- Ovariable(
name="net.heat.consumption.balance",
dependencies = data.frame(
Name=c("conduction.heat.loss", "ventilation.heat.loss", "air.leak.heat.loss", "household.water.heating", "sun.heat.absorption", "inhabitant.heat.radiance", "electric.eqp.heat.radiance", "average.outdoor.temperature.month", "period.length", "heating.season"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
internal.heat.source.parameters <- opbase.data("Op_en5397.internal_heat_source_parameters")
building.characteristics <- opbase.data("Op_en5397.building_characteristics")
internal.heat.capacity <- Ovariable(name = "internal.heat.capacity")
internal.heat.capacity@output <- tidy(subset(internal.heat.source.parameters, Parameter=="Internal heat capacity"), direction="long", objname="internal.heat.capacity")
internal.heat.capacity@output$Parameter <- NULL
 
indoor.temperature <- Ovariable(name = "indoor.temperature")
indoor.temperature@output <- tidy(subset(building.characteristics, Parameter=="Indoor air temperature"), direction="long", objname="indoor.temperature")
indoor.temperature@output$Parameter <- NULL
heat.loss <- conduction.heat.loss + ventilation.heat.loss + air.leak.heat.loss
internal.heat.gain <- sun.heat.absorption + inhabitant.heat.radiance + electric.eqp.heat.radiance
 
 
#Utilisation of heat from internal heat sources:
temp1 <- internal.heat.capacity / (heat.loss / (indoor.temperature - average.outdoor.temperature.month) * period.length * 1000)
temp2 <- (1 - (internal.heat.gain / heat.loss)^(1 + temp1 / 15)) / (1 - (internal.heat.gain / heat.loss)^((1 + temp1 / 15) + 1))
temp3 <- temp2 * heating.season
 
#Building net heat consumption (kWh/month):
 
#out <- heat.loss + household.water.heating - internal.heat.gain * temp3
#out <- aggregate(out@output[,colnames(out@output)=='Result'],by=list(out@output$Construction.year),FUN="sum",na.rm="TRUE")
#names(out) <- c("Construction.year", "Result")
 
conduction.heat.loss <- aggregate(conduction.heat.loss@output[,colnames(conduction.heat.loss@output)=='conduction.heat.lossResult'],by=list(conduction.heat.loss@output$Construction.year),FUN="sum",na.rm="TRUE")
names(conduction.heat.loss) <- c("Construction.year", "Result")
conduction.heat.loss$Contributor <- "Heat conduction"
conduction.heat.loss$Effect <- "Heat loss"
 
ventilation.heat.loss <- aggregate(ventilation.heat.loss@output[,colnames(ventilation.heat.loss@output)=='ventilation.heat.lossResult'],by=list(ventilation.heat.loss@output$Construction.year),FUN="sum",na.rm="TRUE")
names(ventilation.heat.loss) <- c("Construction.year", "Result")
ventilation.heat.loss$Contributor <- "Air ventilation"
ventilation.heat.loss$Effect <- "Heat loss"
 
air.leak.heat.loss <- aggregate(air.leak.heat.loss@output[,colnames(air.leak.heat.loss@output)=='air.leak.heat.lossResult'],by=list(air.leak.heat.loss@output$Construction.year),FUN="sum",na.rm="TRUE")
names(air.leak.heat.loss) <- c("Construction.year", "Result")
air.leak.heat.loss$Contributor <- "Air leak"
air.leak.heat.loss$Effect <- "Heat loss"
 
household.water.heating <- sum(household.water.heating@output$household.water.heatingResult)
temp5 <- ventilation.heat.loss
vars <- names(temp5) %in% c("Construction.year")
temp5 <- temp5[vars]
temp5$Result <- household.water.heating
temp5$Contributor <- "Household water heating"
temp5$Effect <- "Heat loss"
household.water.heating <- temp5
 
sun.heat.absorption <- sun.heat.absorption * temp3
sun.heat.absorption <- aggregate(sun.heat.absorption@output[,colnames(sun.heat.absorption@output)=='Result'],by=list(sun.heat.absorption@output$Construction.year),FUN="sum",na.rm="TRUE")
names(sun.heat.absorption) <- c("Construction.year", "Result")
sun.heat.absorption$Contributor <- "Sun heat absorption"
sun.heat.absorption$Effect <- "Heat gain"
 
electric.eqp.heat.radiance <- electric.eqp.heat.radiance * temp3
electric.eqp.heat.radiance <- aggregate(electric.eqp.heat.radiance@output[,colnames(electric.eqp.heat.radiance@output)=='Result'],by=list(electric.eqp.heat.radiance@output$Construction.year),FUN="sum",na.rm="TRUE")
names(electric.eqp.heat.radiance) <- c("Construction.year", "Result")
electric.eqp.heat.radiance$Contributor <- "Electric equipment heat radiance"
electric.eqp.heat.radiance$Effect <- "Heat gain"
 
inhabitant.heat.radiance <- sum(inhabitant.heat.radiance@output$inhabitant.heat.radianceResult)
temp6 <- ventilation.heat.loss
vars <- names(temp6) %in% c("Construction.year")
temp6 <- temp6[vars]
temp6$Result <- inhabitant.heat.radiance
temp6$Contributor <- "inhabitant heat radiance"
temp6$Effect <- "Heat gain"
inhabitant.heat.radiance <- temp6
 
out <- rbind(conduction.heat.loss, ventilation.heat.loss, air.leak.heat.loss, household.water.heating, sun.heat.absorption, inhabitant.heat.radiance, electric.eqp.heat.radiance)
out$Result2 <- out$Result
out$Result <- NULL
library(reshape)
out <- rename(out, c(Result2="Result"))
return(out)
}
)
 
oprint(net.heat.consumption.balance)
 
 
 
 
cat("Annual total energy purchase for heating in a single-family detached house(kWh/a). Takes into account the heat production efficiency of the heat production device\n")
 
heating.energy.purchase <- Ovariable(
name="heating.energy.purchase",
dependencies = data.frame(
Name=c("net.heat.consumption", "heat.production.efficiency"),
Ident= c("Op_en5397")
),
formula = function(dependencies, ...) {
 
#Building net heat consumption (kWh/month):
 
out <- net.heat.consumption / heat.production.efficiency
 
vars <- names(out@output) %in% c("Construction.year", "Heating system", "Result", "Source")
out <- out@output[vars]
 
return(out)
}
)


#colnames(altistuminen@output) <- gsub("altistuminenResult.", "", colnames(altistuminen@output))
oprint(heating.energy.purchase)


#cat("Keskimääräinen päivittäinen haitta-aineen saanti paikallisista lähteistä (µg/kg/d) sekä kokonaissaanti (paikalliset lähteet ja #taustasaanti ravinnosta, µg/kg/vrk).\n")
#oprint(altistuminen@output[altistuminen@output$Altiste == altiste, ],digits=5)


</rcode>
</rcode>

Latest revision as of 10:18, 26 August 2013

Question

What is the average unit heat consumption (energy purchase, kWh/m2/year) of different types of residential buildings in Finland?

Characterisation of buildings:

  • Building type (detached house, row house, apartment building)
  • Construction decade
  • Primary heat source (light oil, pellet, district heat, electricity, geothermal)

Answer

u.factor(-)
ObsSurfaceConstruction.yearUnitResultKuvaus
1Outside wall<1960W/(m2K)0.48
2Outside wall1960W/(m2K)0.40
3Outside wall1970W/(m2K)0.30
4Outside wall1980W/(m2K)0.28
5Outside wall1990W/(m2K)0.28
6Outside wall2000W/(m2K)0.25
7Outside wall2010W/(m2K)0.17
8Roof<1960W/(m2K)0.30
9Roof1960W/(m2K)0.28
10Roof1970W/(m2K)0.25
11Roof1980W/(m2K)0.25
12Roof1990W/(m2K)0.16
13Roof2000W/(m2K)0.16
14Roof2010W/(m2K)0.09
15Ground floor<1960W/(m2K)0.30
16Ground floor1960W/(m2K)0.30
17Ground floor1970W/(m2K)0.30
18Ground floor1980W/(m2K)0.30
19Ground floor1990W/(m2K)0.30
20Ground floor2000W/(m2K)0.25
21Ground floor2010W/(m2K)0.16
22Window<1960W/(m2K)2.1
23Window1960W/(m2K)1.9
24Window1970W/(m2K)1.6
25Window1980W/(m2K)1.4
26Window1990W/(m2K)1.4
27Window2000W/(m2K)1.4
28Window2010W/(m2K)1
29Outer door<1960W/(m2K)1.4
30Outer door1960W/(m2K)1.4
31Outer door1970W/(m2K)1.4
32Outer door1980W/(m2K)1.4
33Outer door1990W/(m2K)1.4
34Outer door2000W/(m2K)1.4
35Outer door2010W/(m2K)1


surface.area(-)
ObsSurfaceConstruction.yearUnitResultKuvaus
1Outside wall<1960m292
2Outside wall1960m298
3Outside wall1970m2105
4Outside wall1980m2109
5Outside wall1990m2112
6Outside wall2000m2114
7Outside wall2010m2114
8Roof<1960m2109
9Roof1960m2124
10Roof1970m2144
11Roof1980m2158
12Roof1990m2166
13Roof2000m2176
14Roof2010m2176
15Ground floor<1960m2109
16Ground floor1960m2124
17Ground floor1970m2144
18Ground floor1980m2158
19Ground floor1990m2166
20Ground floor2000m2176
21Ground floor2010m2176
22Window<1960m210.9
23Window1960m212.4
24Window1970m214.4
25Window1980m215.8
26Window1990m216.6
27Window2000m217.6
28Window2010m217.6
29Outer door<1960m23.4
30Outer door1960m23.4
31Outer door1970m23.4
32Outer door1980m23.4
33Outer door1990m23.4
34Outer door2000m23.4
35Outer door2010m23.4


ventilation.rate(-)
ObsConstruction.yearUnitResultKuvaus
1<1960dm3/s/m20.25
21960dm3/s/m20.25
31970dm3/s/m20.25
41980dm3/s/m20.35
51990dm3/s/m20.35
62000dm3/s/m20.35
72010dm3/s/m20.35
ventilation.heat.recovery(-)
ObsConstruction.yearUnitResultKuvaus
1<19600
219600
319700
419800
519900
620000
720100.45
air.leak.factor(-)
ObsConstruction.yearUnitResultKuvaus
1<1960/h0.32
21960/h0.32
31970/h0.28
41980/h0.24
51990/h0.16
62000/h0.16
72010/h0.08
building.characteristics(-)
ObsParameterUnitResultKuvaus
1Number of floorsm1
2Room heightm2.5
3Indoor air temperatureC21
4Inhabitantsno of persons2.4
5Hot water usel/person/d45
6Water heating system heat losskWh/m2/month1.5
total.floor.area(-)
ObsConstruction.yearUnitResultKuvaus
1<1960m2109
21960m2124
31970m2144
41980m2158
51990m2166
62000m2176
72010m2176
outdoor.temperature(-)
ObsLocationMonthUnitResultKuvaus
1South1C-6.2
2South2C-6.7
3South3C-2.6
4South4C2.9
5South5C9.9
6South6C14.6
7South7C16.9
8South8C15
9South9C9.8
10South10C4.8
11South11C-0.3
12South12C-4
13West1C-7.4
14West2C-7.7
15West3C-3.3
16West4C2.2
17West5C9
18West6C14.1
19West7C16
20West8C14
21West9C8.8
22West10C3.9
23West11C-1.5
24West12C-5.4
25East1C-10.2
26East2C-9.9
27East3C-4.6
28East4C1
29East5C8.1
30East6C13.6
31East7C15.9
32East8C13.3
33East9C8
34East10C2.7
35East11C-3.2
36East12C-7.8
37North1C-11.7
38North2C-11
39North3C-6.1
40North4C-1
41North5C5.8
42North6C12.2
43North7C14.9
44North8C12.1
45North9C6.6
46North10C0.2
47North11C-6.1
48North12C-10


residential.building.location(-)
ObsLocationConstruction.yearUnitResultKuvaus
1South<1960fraction of all0.42
2South1960fraction of all)0.39
3South1970fraction of all)0.37
4South1980fraction of all0.38
5South1990fraction of all0.43
6South2000fraction of all0.47
7South2010fraction of all0.42
8West<1960fraction of all0.32
9West1960fraction of all)0.3
10West1970fraction of all)0.31
11West1980fraction of all0.28
12West1990fraction of all0.27
13West2000fraction of all0.27
14West2010fraction of all0.29
15East<1960fraction of all0.15
16East1960fraction of all)0.15
17East1970fraction of all)0.15
18East1980fraction of all0.16
19East1990fraction of all0.14
20East2000fraction of all0.11
21East2010fraction of all0.13
22North<1960fraction of all0.1
23North1960fraction of all)0.16
24North1970fraction of all)0.17
25North1980fraction of all0.18
26North1990fraction of all0.16
27North2000fraction of all0.15
28North2010fraction of all0.16


period.length(-)
ObsMonthUnitResultKuvaus
11h744
22h672
33h744
44h720
55h744
66h720
77h744
88h744
99h720
1010h744
1111h720
1212h744
soil.temperature.difference(-)
ObsMonthUnitResultKuvaus
11C0
22C-1
33C-2
44C-3
55C-2
66C-2
77C0
88C1
99C2
1010C3
1111C3
1212C2
heating.season(-)
ObsMonthUnitResultKuvaus
1111=yes, 0=no
2211=yes, 0=no
3311=yes, 0=no
4411=yes, 0=no
5511=yes, 0=no
6601=yes, 0=no
7701=yes, 0=no
8801=yes, 0=no
9911=yes, 0=no
101011=yes, 0=no
111111=yes, 0=no
121211=yes, 0=no
sun.radiation.vertical.surface(-)
ObsMonthDirectionUnitResultKuvaus
11NorthkWh/m26.0Default value for Jyväskylä
22NorthkWh/m216.4Default value for Jyväskylä
33NorthkWh/m238.7Default value for Jyväskylä
44NorthkWh/m246.1Default value for Jyväskylä
55NorthkWh/m268.9Default value for Jyväskylä
66NorthkWh/m272.7Default value for Jyväskylä
77NorthkWh/m265.1Default value for Jyväskylä
88NorthkWh/m248.0Default value for Jyväskylä
99NorthkWh/m230.6Default value for Jyväskylä
1010NorthkWh/m215.3Default value for Jyväskylä
1111NorthkWh/m26.9Default value for Jyväskylä
1212NorthkWh/m23.3Default value for Jyväskylä
131North-EastkWh/m24.5Default value for Jyväskylä
142North-EastkWh/m212.8Default value for Jyväskylä
153North-EastkWh/m235.2Default value for Jyväskylä
164North-EastkWh/m254.5Default value for Jyväskylä
175North-EastkWh/m291.3Default value for Jyväskylä
186North-EastkWh/m287.1Default value for Jyväskylä
197North-EastkWh/m281.4Default value for Jyväskylä
208North-EastkWh/m257.0Default value for Jyväskylä
219North-EastkWh/m234.2Default value for Jyväskylä
2210North-EastkWh/m213.6Default value for Jyväskylä
2311North-EastkWh/m25.3Default value for Jyväskylä
2412North-EastkWh/m22.5Default value for Jyväskylä
251EastkWh/m23.1Default value for Jyväskylä
262EastkWh/m215.6Default value for Jyväskylä
273EastkWh/m237.9Default value for Jyväskylä
284EastkWh/m273.5Default value for Jyväskylä
295EastkWh/m2122.6Default value for Jyväskylä
306EastkWh/m2105.4Default value for Jyväskylä
317EastkWh/m2106.4Default value for Jyväskylä
328EastkWh/m274.5Default value for Jyväskylä
339EastkWh/m251.8Default value for Jyväskylä
3410EastkWh/m218.5Default value for Jyväskylä
3511EastkWh/m24.9Default value for Jyväskylä
3612EastkWh/m21.6Default value for Jyväskylä
371South-EastkWh/m26.5Default value for Jyväskylä
382South-EastkWh/m234.4Default value for Jyväskylä
393South-EastkWh/m255.1Default value for Jyväskylä
404South-EastkWh/m293.6Default value for Jyväskylä
415South-EastkWh/m2132.4Default value for Jyväskylä
426South-EastkWh/m2108.0Default value for Jyväskylä
437South-EastkWh/m2115.0Default value for Jyväskylä
448South-EastkWh/m291.7Default value for Jyväskylä
459South-EastkWh/m277.7Default value for Jyväskylä
4610South-EastkWh/m233.1Default value for Jyväskylä
4711South-EastkWh/m210.7Default value for Jyväskylä
4812South-EastkWh/m23.3Default value for Jyväskylä
491SouthkWh/m29.0Default value for Jyväskylä
502SouthkWh/m246.3Default value for Jyväskylä
513SouthkWh/m269.8Default value for Jyväskylä
524SouthkWh/m299.1Default value for Jyväskylä
535SouthkWh/m2123.4Default value for Jyväskylä
546SouthkWh/m2103.3Default value for Jyväskylä
557SouthkWh/m2109.4Default value for Jyväskylä
568SouthkWh/m298.3Default value for Jyväskylä
579SouthkWh/m291.6Default value for Jyväskylä
5810SouthkWh/m242.5Default value for Jyväskylä
5911SouthkWh/m214.6Default value for Jyväskylä
6012SouthkWh/m24.4Default value for Jyväskylä
611South-WestkWh/m26.8Default value for Jyväskylä
622South-WestkWh/m233.5Default value for Jyväskylä
633South-WestkWh/m260.2Default value for Jyväskylä
644South-WestkWh/m289.5Default value for Jyväskylä
655South-WestkWh/m2124.5Default value for Jyväskylä
666South-WestkWh/m2107.5Default value for Jyväskylä
677South-WestkWh/m2111.6Default value for Jyväskylä
688South-WestkWh/m294.5Default value for Jyväskylä
699South-WestkWh/m276.1Default value for Jyväskylä
7010South-WestkWh/m232.1Default value for Jyväskylä
7111South-WestkWh/m210.7Default value for Jyväskylä
7212South-WestkWh/m23.2Default value for Jyväskylä
731WestkWh/m23.3Default value for Jyväskylä
742WestkWh/m215.1Default value for Jyväskylä
753WestkWh/m242.1Default value for Jyväskylä
764WestkWh/m270.0Default value for Jyväskylä
775WestkWh/m2115.0Default value for Jyväskylä
786WestkWh/m2103.6Default value for Jyväskylä
797WestkWh/m2104.5Default value for Jyväskylä
808WestkWh/m277.3Default value for Jyväskylä
819WestkWh/m250.1Default value for Jyväskylä
8210WestkWh/m217.6Default value for Jyväskylä
8311WestkWh/m24.9Default value for Jyväskylä
8412WestkWh/m21.6Default value for Jyväskylä
851North-WestkWh/m24.5Default value for Jyväskylä
862North-WestkWh/m212.8Default value for Jyväskylä
873North-WestkWh/m236.1Default value for Jyväskylä
884North-WestkWh/m253.6Default value for Jyväskylä
895North-WestkWh/m288.5Default value for Jyväskylä
906North-WestkWh/m285.0Default value for Jyväskylä
917North-WestkWh/m282.6Default value for Jyväskylä
928North-WestkWh/m258.1Default value for Jyväskylä
939North-WestkWh/m233.4Default value for Jyväskylä
9410North-WestkWh/m213.3Default value for Jyväskylä
9511North-WestkWh/m25.3Default value for Jyväskylä
9612North-WestkWh/m22.5Default value for Jyväskylä
window.direction(-)
ObsDirectionUnitResultKuvaus
1Northfraction0.125
2North-Eastfraction0.125
3Eastfraction0.125
4South-Eastfraction0.125
5Southfraction0.125
6South-Westfraction0.125
7Westfraction0.125
8North-Eastfraction0.125
sun.heat.absorption.parameters(-)
ObsParameterUnitResultKuvaus
1Permeability factor-0.7assumption: triple-glazed window ( 1 glass=0.85, double-glazed=0.75)
2Frame factor-0.75window glass surface area / window glass + frame surface area
3Curtain factor-0.75assumption: curtains (no curtains=1, white window blinds between glasses=0.3, white window blinds inside in front of window=0.6)
4Shading factor-0.9assumption: some shading (no shading=1)
internal.heat.source.parameters(-)
ObsParameterUnitResultKuvaus
1Electrical equipment heatkWh/m2/a32heat gain from lights and other electrical equipment
2Person heat radianceW/person85Heat radiance power of one inhabitant
3Time inside-0.6Fraction of time an inhabitant spends inside the house
4Internal heat capacityWh/(m2 K)90Internal heat capacity of the building, depends on building materials (light weight: 40, medium weight: 70-110, heavy weight: 200)


heat.production.efficiency(-)
ObsHeating systemUnitResultKuvaus
1Light oil boiler0.81
2Wood pellet boiler0.75
3District heating0.94
4Electric, direct1
5Ground source heat pump2.5

Calculations

+ Show code

Rationale

Heat consumption of a building depends on the outdoor air temperature, preferred indoor air temperature, insulation, air tightness and surface area of the building envelope (walls, roof, floor, windows, doors), ventilation rate and heat recovery from the ventilated air, heating system (efficiency of heat production and recovery of lost heat), hot water demand, internal heat gains from people and electrical equipment, and external heat gains from the sun.

Models for calculating building heat consumption

Outdoor temperature in Finland

  • Finnish Meteorological Institute temperature statistics[3]:
    • Monthly temperatures (Celsius) in different observation points in Finland in 1971-2000
    • Areas (Southern Finland, Western Finland, Eastern Finland, Northern Finland) are defined based on Statistics Finland major regions classification[4]
    • The average monthly temperature in each area has been calculated as the mean of all the observation points (cities) within that area.
Area/City January February March April May June July August September October November December Average for September-May
Southern Finland
Kaarina (Yltöinen) -4.6 -5.5 -1.9 3.1 9.6 14.4 16.9 15.3 10.4 5.7 1 -2.8 1.7
Helsinki-Vantaa (airport) -5.2 -5.7 -2.2 3.3 10 14.6 16.9 15.3 10.1 5.2 0.1 -3.2 1.4
Lahti (Laune) -6.8 -7.3 -2.9 2.8 9.9 14.6 16.6 14.6 9.1 4.2 -0.8 -4,8 0.4
Lappeenranta (airport) -8 -8.1 -3.2 2.5 9.9 14.7 17.2 14.9 9.4 3.9 -1.4 -5.2 0
Average -6.2 -6.7 -2.6 2.9 9.9 14.6 16.9 15.0 9.8 4.8 -0.3 -4.0 0.9
Western Finland
Tampere-Pirkkala (airport) -6.7 -7 -2.8 3 9.5 14.4 16.6 14.6 9.4 4.7 -1 -4.6 0.5
Jyväskylä (airport) -8.5 -8.7 -4 1.4 8.7 14 16 13.7 8.2 3.2 -2.2 -6.4 -0.9
Seinäjoki (Pelmaa) -7.1 -7.3 -3.2 2.2 8.8 13.9 15.4 13.8 8.7 3.9 -1.4 -5.3 -0.1
Average -7.4 -7.7 -3.3 2.2 9.0 14.1 16.0 14.0 8.8 3.9 -1.5 -5.4 -0.2
Eastern Finland
Tohmajärvi (Kemie) -10 -9.8 -4.4 1.3 8.6 14 16.1 13.5 8.2 3 -2.9 -7.3 -1.5
Valtimo (Kk) -11.1 -10.8 -5 0.6 8 13.7 16 13.3 7.8 2.3 -3.7 -8.7 -2.3
Siikajoki -9.4 -9 -4.4 1 7.6 13.1 15.5 13 7.9 2.8 -3.1 -7.3 -1.5
Average -10.2 -9.9 -4.6 1.0 8.1 13.6 15.9 13.3 8.0 2.7 -3.2 -7.8 -1.8
Northern Finland
Rovaniemi (airport) -11.7 -11.0 -6.1 -1.0 5.8 12.2 14.9 12.1 6.6 0.2 -6.1 -10.0 -3.7
  • Jylhä et al. 2009[5]
    • Estimates for climate change in Finland by the Finnish Meteorologigal Institute.
    • Projected change in seasonal and annual mean temperature (Celsius) in 2010-2039 relative to 1971-2000 as averaged over the territory of Finland. In addition to the best estimate (50%), six other percentiles of the probability distribution are given. The projection is based on the simulations performed with 19 global climate models, with IPCC greenhouse gas emission scenarios A1B, A2 and B1 considered equally likely.
Probability distribution percentile: 5 % 10 % 25 % 50 % 75 % 90 % 95 %
Winter 1.1 1.4 1.8 2.2 2.7 3.1 3.3
Spring 0.4 0.6 1 1.4 1.9 2.3 2.5
Summer 0 0.3 0.6 1.1 1.5 1.9 2.1
Autumn 0.6 0.8 1.1 1.4 1.7 2 2.2
Annual 0.7 0.9 1.2 1.5 1.9 2.2 2.3

Indoor air temperature

  • Finnish health based guideline values (Celsius degrees) for indoor air temperature in residential buildings[6]:
    • Good level: 21 C
    • Lowest acceptable level: 18 C
    • Highest acceptable level: 26 C
    • Highest recommended level during heating period: 23-24 C

Building characteristics

  • Building structure U-values (heat transfer coefficient, W / m2 K) given in Finnish building regulations:
1978-1985 1985-2002 2003-2006 2007-2010 2010-
Building structure Mass less than 100 kg / m2 Mass over 100 kg / m2 Warm area > 17 °C Half warm area > 5 °C Warm area > 17 °C Half warm area > 5 °C Warm area 17 °C Half warm area > 5 °C Warm area 17 °C Half warm area > 5 °C
Wall 0,29 0,35 0,28 0,45 0,25 0,45 0,24 0,38 0,17 0,26
Roof 0,23 0,29 0,22 0,45 0,16 0,45 0,15 0,28 0,09 0,14
Floor 0,23 0,29 0,22 0,45 0,16 0,45 0,15 0,28 0,09 0,26
Floor structure directly against ground 0,4 0,4 0,36 0,45 0,25 0,45 0,24 0,34 0,16 0,24
Window 2,1 3,1 1,4 2,1 1,4 1,8 1 1,4
Door 0,7 2,9 1,4 2,1 1,4 1,8 1 1,4
  • Development of building characteristics in Finland[7]
50's 60's 70's 80's New (2009), standard New (2009), tight
Roof, U-value 0.3 0.28 0.25 0.25 0.16 0.16
Floor, U-value 0.3 0.3 0.3 0.3 0.2 0.2
Wall, U-value 0.48 0.4 0.3 0.28 0.25 0.25
Window, U-value 2.1 2.1 1.6 1.4 1.4 1.4
n50 (air leakage) 12 10 7 7 4 1
Air exchange technique Gravitational Gravitational Mechanical Mechanical Mechanical with heat recovery Mechanical with heat recovery
  • Window surface area in the 2010 Finnish building regulations[8]
    • The guideline value (vertailuarvo) for the total surface area of windows is 15% from the total surface area of floors completely or partly above the ground level.
    • The maximum value for the total surface area of windows is 50% from the total surface area of the outside walls.

Warm water consumption

Dependencies

  • Outdoor air temperature
  • Indoor air temperature
  • Building envelope (walls, roof, floor, windows, doors)
    • Insulation (heat conductance)
    • Air tightness (involuntary air leakage)
  • Air ventilation (rate, heat recovery)
  • Heating system (heat production efficiency and heat loss from distribution within a building)
  • Internal heat gains (electrical equipment, people, recovery of heat loss from heat distribution within a building)
  • External heat gains (sun)
  • Hot water demand

Formula

See also

Keywords

Building, heat consumption

References

Related files

<mfanonymousfilelist></mfanonymousfilelist>

Unit heat consumption of buildings in Finland. Opasnet . [1]. Accessed 21 Dec 2024.