Difference between revisions of "Building stock in Kuopio"

From Testiwiki
Jump to: navigation, search
(Baseline energy consumption)
(Calculations for ovariables)
 
(48 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
[[Category:Energy]]
 
[[Category:Energy]]
 
[[Category:Code under inspection]]
 
[[Category:Code under inspection]]
{{method|moderator=Marjo}}
+
{{variable|moderator=Marjo}}
  
 
== Question ==
 
== Question ==
  
How to model the building stock of a city?
+
What is the building stock volume in Kuopio (previous, now and in the future)? What are emissions, exposures, and health impacts of heating of buildings in Kuopio? What are the impacts of two key policies:
 +
# Changing fuel from peat to wood in the major CHP power pland Haapaniemi.
 +
# Changing renovation of buildings to either more energy efficient (for each renovated building) or more active (more buildings renovated).
  
 
== Answer ==
 
== Answer ==
  
<t2b name='Decisions' index='Decision maker,Decision,Option,Variable,Cell,Change,Unit' obs='Amount' desc='Description' unit='-'>
+
For building stock results, see [[Climate change policies and health in Kuopio]].
City|RenovationPolicy|Active renovation|renovation||Multiply||1.5|
 
City|RenovationPolicy|BAU|renovation||Multiply||1|
 
Builders|EfficiencyPolicy|BAU|efficienciesNew|Efficiency:Passive;Constructed:2020-2029|Add||0|
 
Builders|EfficiencyPolicy|Active efficiency|efficienciesNew|Efficiency:Passive;Constructed:2020-2029|Add||0.3|Given as fraction because that's how it is calculated in the model
 
Builders|EfficiencyPolicy|Active efficiency|efficienciesNew|Efficiency:Low-energy;Constructed:2020-2029|Add||-0.3|Given as fraction because that's how it is calculated in the model
 
Kuopion Energia|FuelPolicy|BAU|fuelTypes||Add||0|
 
Kuopion Energia|FuelPolicy|Buofuel increase|fuelTypes|Burner:Large fluidized bed;Fuel:Wood|Add||0.6|
 
Kuopion Energia|FuelPolicy|Buofuel increase|fuelTypes|Burner:Large fluidized bed;Fuel:Peat|Add||-0.6|
 
</t2b>
 
 
 
; Calculate building stock into the future
 
* The dynamics is calculated by adding building floor area at time points greater than construction year, and by subtracting when time point is greater than demolition year. This is done by building category, not individually.
 
* Also the renovation dynamics is built using event years: at an event, a certain amount of floor area is moved from one energy efficiency category to another.
 
* Full data are stored in the ovariables. Before evaluating, extra columns and rows are removed. The first part of the code is about this.
 
 
 
[http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=8yJfK6fziHcFWNrS Example model run]
 
 
 
<rcode graphics="1">
 
library(OpasnetUtils)
 
library(ggplot2)
 
library(rgdal)
 
library(maptools)
 
library(RColorBrewer)
 
library(classInt)
 
library(OpasnetUtilsExt)
 
library(RgoogleMaps)
 
 
 
objects.latest("Op_en6007", code_name = "answer") # [[OpasnetUtils/Drafts]] findrest
 
objects.latest("Op_en6289", code_name = "initiate") # [[Building model]] Generic building model.
 
objects.latest("Op_en5417", code_name = "initiate") # [[Population of Kuopio]]
 
objects.latest("Op_en5932", code_name = "initiate") # [[Baseline building stock]] Building ovariables
 
objects.latest("Op_en5932", code_name = "disperse") # [[Baseline building stock]] Summarised Piltti matrix
 
# Default run: http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=aO1R3Xdcg2rASbKH
 
colnames(iF@output)[colnames(iF@output) == "City.area"] <- "Emission.site"
 
colnames(iF@output)[colnames(iF@output) == "Emissionheight"] <- "Emission.height"
 
 
 
districts <- tidy(opbase.data("Op_en5484.kuopio_city_districts"), widecol = "Location")
 
districts <- Ovariable("districts", data = data.frame(districts, Result = 1))
 
 
 
decisions <- opbase.data('Op_en5932', subset = 'Decisions')
 
DecisionTableParser(decisions)
 
 
 
# Remove previous decisions, if any.
 
rm(
 
"buildings",
 
"buildingStock",
 
    "buildingTypes",
 
    "construction",
 
"efficiencies",
 
"efficienciesNew",
 
"energyUse",
 
"heatingShares",
 
    "heatingSharesNew",
 
"renovation",
 
"renovationShares",
 
"fuelTypes",
 
"year",
 
envir = openv
 
)
 
 
 
fuelTypes <- CheckDecisions(EvalOutput(fuelTypes))
 
 
 
#################### Manage the data before calculating
 
 
 
# The building stock is measured as m^2 floor area.
 
 
 
openv.setN(5) # Set the number of iterations to 1.
 
 
 
obsyear <- (192:205) * 10
 
 
 
####### Remove columns and rows that are not needed from data. These must be done before EvalOutput.
 
 
 
population <- EvalOutput(population)
 
temp <- oapply(population, cols = "City area", FUN = "sum") # Sum across city areas.
 
temp <- unkeep(temp * 1, prevresults = TRUE) # Remove populationResult column because it would cause trouble in merge.
 
population <- population / temp
 
 
 
buildingStock@data <- buildingStock@data[
 
buildingStock@data$Observation == "AreaHR" ,
 
colnames(buildingStock@data) != "Observation"
 
]
 
buildingStock <- buildingStock * population
 
 
 
construction@data <- construction@data[
 
construction@data$Observation == "Area" ,
 
colnames(construction@data) != "Observation"
 
]
 
construction <- construction * constructionAreas / 100 / 3 # Statistics are for three years (2010-2012)
 
 
 
energyUse@data <- energyUse@data[
 
energyUse@data[["Energy use"]] == "Heat" ,
 
colnames(energyUse@data) != "Energy use"
 
]
 
 
 
savingPotential@data <- savingPotential@data[
 
savingPotential@data$Observation == "Relative" ,
 
colnames(savingPotential@data) != "Observation"
 
]
 
savingPotential <- 1 - savingPotential / 100
 
# Note: If you add decisions to savingPotential, this formula must be updated.
 
 
 
# The data are not yet specific to construction year, so remove index:
 
heatingSharesNew@data <- heatingSharesNew@data[colnames(heatingSharesNew@data) != "Constructed"]
 
 
 
# Fill in Heating types and convert from % to fraction.
 
heatingSharesNew <- findrest(heatingSharesNew, cols = "Heating", total = 100)
 
result(heatingSharesNew) <- result(heatingSharesNew) / 100
 
 
 
heatingShares <- EvalOutput(heatingShares)
 
result(heatingShares) <- result(heatingShares) / 100 # From % to fraction
 
 
 
# Fill in the rest of the data (the last emission class was omitted because it is determined by the total).
 
efficienciesNew <- findrest(efficienciesNew, cols = "Efficiency", total = 100)
 
result(efficienciesNew) <- result(efficienciesNew) / 100
 
 
 
# When renovations are done, which type are they?
 
renovationShares <- findrest(renovationShares, cols = "Renovation", total = 100)
 
result(renovationShares) <- result(renovationShares) / 100
 
 
 
# What fraction of buildings is renovated per year?
 
renovation <- EvalOutput(renovation)
 
result(renovation) <- result(renovation) / 100 # From % to fraction
 
 
 
colnames(iF@output)[colnames(iF@output) == "City.area"] <- "Emission.site"
 
colnames(iF@output)[colnames(iF@output) == "Emissionheight"] <- "Emission.height"
 
 
 
###################### Actual model
 
 
 
buildings <- EvalOutput(buildings)
 
 
 
####### Sort factors
 
 
 
buildings@output <- buildings@output[
 
buildings@output$EfficiencyPolicy == "BAU" ,
 
colnames(buildings@output) != "EfficiencyPolicy"
 
]
 
 
 
buildings@output$Renovation <- factor(
 
buildings@output$Renovation,
 
levels = c("None", "General", "Windows", "Technical systems", "Sheath reform"),
 
ordered = TRUE
 
)
 
 
 
buildings@output$Efficiency <- factor(
 
buildings@output$Efficiency,
 
levels = c("Old", "New", "Low-energy", "Passive"),
 
ordered = TRUE
 
)
 
 
 
buildings@output$RenovationPolicy <- factor(
 
buildings@output$RenovationPolicy,
 
levels = c("BAU", "Active renovation"),
 
ordered = TRUE
 
)
 
 
 
heatingEnergy <- EvalOutput(heatingEnergy)
 
heatingEnergy <- unkeep(heatingEnergy, cols = "Building2", sources = TRUE, prevresults = TRUE)
 
 
 
temp <- buildings * districts
 
temp@output <- temp@output[temp@output$Year == 2040 , ]
 
temp <- unkeep(temp, sources = TRUE, prevresults = TRUE)
 
temp@output <- dropall(temp@output)
 
temp <- oapply(temp, cols = c("Building", "Heating", "Efficiency", "Renovation"), FUN = "sum", na.rm = TRUE)
 
 
 
MyRmap(
 
ova2spat(temp, coord = c("E", "N"), proj4string = "+init=epsg:3067"), # National Land Survey uses EPSG:3067 (ETRS-TM35FIN)
 
plotvar = "Result", legend_title = "Floor area", numbins = 8, pch = 19, cex = 2
 
)
 
 
 
####### Calculate emissions
 
 
 
emis <- heatingEnergy
 
emis@output <- emis@output[emis@output$Year >= 1980 , ]
 
emis <- oapply(emis, cols = c("Efficiency", "Renovation", "Building"), FUN = "sum")
 
emis@output$Year <- as.numeric(levels(emis@output$Year)[emis@output$Year])
 
 
 
emis <- emis * fuelTypes * emissionFactors * 3.6  * 1E-9 # convert from kWh /a to MJ /a and mg to ton
 
 
 
emis <- unkeep(emis, sources = TRUE, prevresults = TRUE)
 
 
 
emis <- emis * emissionLocations
 
colnames(emis@output)[colnames(emis@output) == "Emission site"] <- "Emission.site"
 
colnames(emis@output)[colnames(emis@output) == "Emission height"] <- "Emission.height"
 
emis@output$Emission.site <- ifelse(
 
emis@output$Emission.site == "At site of consumption",
 
levels(emis@output$City.area)[emis@output$City.area],
 
levels(emis@output$Emission.site)[emis@output$Emission.site]
 
)
 
 
 
###### Calculate health impacts
 
 
 
bg.mort <- 45182 / 5203826 # same values as used in PILTTI unit: deaths per person-year
 
 
 
erf <- Ovariable("erf", data = data.frame(Pollutant = "PM2.5", Result = 0.0097))
 
# J. T. Tuomisto, A. Wilson, et al. Uncertainty in mortality response to airborne fine particulate matter... 2008
 
# unit: m^3 /ug
 
 
 
health <- (emis * 1E+6 /365 / 24 / 3600) * iF / (20 / 24 / 3600) * (erf * 1E+6) * bg.mort
 
 
 
# emis is in ton /a
 
# iF = conc (g /m3) * pop (#) * BR (m3 /s) / emis (g /s) => conc = iF * emis / pop / BR
 
# HIA = conc * erf * pop * backgroundrisk = emis (g /s) * iF / BR (m3 /s) * erf (m3 /g) * backgroundrisk
 
 
 
############################# Plot graphs
 
 
 
######## Buildings in Kuopio on map
 
server <- TRUE
 
 
 
if(server) # The following code only works from Opasnet server.
 
{
 
shp <- readOGR('PG:host=localhost user=postgres dbname=spatial_db','kuopio_house')
 
proj4string(shp) <- ("+init=epsg:3067") # The map projection of NLS Finland.
 
 
 
epsg4326String <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
 
shp2 <- spTransform(shp,epsg4326String) # Convert to longitude-latitude projection.
 
 
 
MyRmap(shp2, plotvar = "ika", legend_title = "Age of building", numbins = 8, pch = 19, cex = 0.3) # Draw the map.
 
}
 
 
 
### Impact graphs
 
 
 
BS <- 24
 
 
 
ggplot(buildings@output) + geom_bar() + facet_grid(. ~ RenovationPolicy) + theme_gray(base_size = BS) +
 
aes(x = Year, weight = buildingsResult/1000000, fill = Renovation) + labs(y = "Floor area (M m2)", title = "Building impacts of renovation policy")
 
 
 
ggplot(heatingEnergy@output) + geom_bar() + facet_grid(. ~ RenovationPolicy) + theme_gray(base_size = BS) + labs(title = "Energy impacts of renovation policy") +
 
aes(x = Year, weight = heatingEnergyResult/1E+6, fill = Heating) + labs(y = "Heating energy need (GWh /a)")
 
 
 
emis@output <- emis@output[emis@output$Renovation == "BAU" , ]
 
 
 
ggplot(emis@output) + geom_bar() + facet_grid(Pollutant ~ FuelPolicy, scales = "free_y") + theme_gray(base_size = BS) + labs(title = "Emission impacts of biofuel policy") +
 
aes(x = Year, weight = Result, fill = Fuel) + labs(y = "Emissions to air (ton /a)")
 
 
 
ggplot(health@output) + geom_bar() + facet_grid(FuelPolicy ~ RenovationPolicy) + theme_gray(base_size = BS) + labs(title = "Health impacts of fuel and renovation policy") +
 
aes(x = Year, weight = Result, fill = Heating) + labs(y = "Premature deaths (# /a)")
 
 
 
</rcode>
 
 
 
; Plot results from this page
 
 
 
<rcode name='example' graphics="1" include="page:OpasnetUtils/Ograph|name:answer" variables="
 
name:observation|description:What output to show?|type:selection|options:'Heat';Heat;'Electricity for heating';Electricity for heating;'User electricity';User electricity;'Total electricity';Total electricity;'Oil';Oil;'Wood';Wood
 
">
 
library(OpasnetUtils)
 
 
 
library(ggplot2)      # A package with fancy graph formats
 
 
 
test <- Ovariable(
 
name = 'test',
 
dependencies = data.frame(
 
Name = c('building.stock', 'energyUse', 'heating.fraction'),
 
Ident = c('Op_en5932/initiate')
 
),
 
formula = function(...){
 
 
 
building.stock@output <- building.stock@output[building.stock@output$Observation == "AreaHR" , ]
 
 
 
colnames(building.stock@output)[colnames(building.stock@output) == "Observation"] <- "building.stockObservation"
 
 
 
 
 
energyUse@output <- energyUse@output[energyUse@output$Observation == observation , ]
 
colnames(energyUse@output)[colnames(energyUse@output) == paste("energyUse", observation, sep = "")] <- "energyUseResult"
 
 
heating.fraction@output <- heating.fraction@output[heating.fraction@output$Observation == 'CorrFraction',c('Type','Heating','heating.fractionResult','heating.fractionSource')]
 
oprint(heating.fraction)
 
out <- building.stock * heating.fraction / 100 * energyUse
 
return(out)
 
}
 
)
 
 
 
test <- EvalOutput(test,N=1)
 
 
 
oprint(test)
 
 
 
oprint(summary(test))
 
 
 
ograph(test, x = "Constructed", fill = "Type")
 
 
 
ograph(test, x = "Heating", fill = "Type")
 
 
 
ograph(test, x = "Constructed", fill = "Heating", type = geom_bar())
 
 
 
</rcode>
 
  
 
== Rationale ==
 
== Rationale ==
 
===Dispersion modelling===
 
 
<rcode name='disperse'>
 
library(OpasnetUtils)
 
library(OpasnetUtilsExt)
 
library(ggplot2)
 
library(rgdal)
 
library(maptools)
 
library(RColorBrewer)
 
library(classInt)
 
library(RgoogleMaps)
 
 
objects.latest("Op_en6007", code_name = "answer")
 
 
# GIS points for emissions.
 
 
districts <- tidy(opbase.data("Op_en5484.kuopio_city_districts"), widecol = "Location")
 
districts <- Ovariable("districts", data = data.frame(districts, Result = 1))
 
 
cat("PM2.5 intake fractions are being calculated for these locations.\n")
 
 
oprint(districts)
 
 
dis <- ova2spat(EvalOutput(districts), coord = c("E", "N"), proj4string = "+init=epsg:3067")
 
 
# Long-distance iF of PM2.5 for exposures beyond 10 km.
 
 
objects.latest("Op_en5813", code_name="initiate") # Long-distance iF for PM2.5
 
iF.PM2.5@data <- iF.PM2.5@data[iF.PM2.5@data$Subcategory == "Large power plants" , ]
 
iF.PM2.5@data <- iF.PM2.5@data[!colnames(iF.PM2.5@data) %in% c("Obs", "Geographical area", "Year", "PM type", "Source category", "Subcategory")]
 
 
# Calculate exposure concentration * population for a unit emission and all emission points.
 
 
out <- Ovariable()
 
for(i in 1:length(dis$City.area))
 
{
 
print(paste(i, "\n"))
 
temp <- GIS.Exposure(GIS.Concentration.matrix(
 
1,
 
LA = coordinates(dis)[i, 2],
 
LO = coordinates(dis)[i, 1],
 
N = 1
 
))
 
out@output <- rbind(out@output, data.frame(City.area = dis$City.area[i], temp@output))
 
}
 
 
out@output <- out@output[out@output$HAVAINTO == "VAESTO" , ]
 
out@marginal <- !grepl("Result$", colnames(out@output))
 
out <- unkeep(out, cols = c("KUNTA", "ID_NRO", "XKOORD", "YKOORD", "HAVAINTO", "dx", "dy"), sources = TRUE)
 
 
# Large matrix with detailed exposures in grids.
 
PILTTI.matrix <- out
 
 
# This produces an intake fraction if you give PM2.5 emissions as ton /a. GIS.Concentration.matrix takes ton /a and gives ug /m3.
 
# iF = intake (g /s) per emission (g /s) = concentration (ug /m3) * population (#) * breathing rate (m3 /s) / emission (g /s).
 
 
iF <- oapply(out, cols = c("LAbin", "LObin"), FUN = "sum", na.rm = TRUE)
 
iF <- iF * 20 / (24 * 3600) * 1E-6 # Divide by breathing rate 20 m3 /d and scale from ug to g to get intake fraction.
 
iF@output <- data.frame(Emissionheight = "Low", iF@output)
 
iF@output <- orbind(iF, data.frame(Emissionheight = "High", Result = 0))
 
iF@marginal <- c(TRUE, iF@marginal)
 
iF@output <- fillna(iF@output, marginals = colnames(iF@output)[iF@marginal])
 
 
iF <- iF + iF.PM2.5 * 1E-6 # Scale iF.PM2.5 from ppm to fractions.
 
 
objects.store(PILTTI.matrix, iF)
 
cat("Objects PILTTI.matrix and iF saved.\n")
 
</rcode>
 
 
'''Where and how do the emissions of heating take place?
 
 
 
<t2b name='Emission locations' index='Heating,Emission site,Emission height' obs='Dummy' unit='-'>
 
District|Haapaniemi|High|
 
Electricity|Haapaniemi|High|
 
Geothermal|Haapaniemi|High|
 
Oil|At site of consumption|Low|
 
Wood|At site of consumption|Low|
 
Gas|At site of consumption|Low|
 
</t2b>
 
  
 
===Building stock===
 
===Building stock===
Line 529: Line 166:
 
</t2b>
 
</t2b>
  
 +
=== Construction and demolition ===
  
'''New buildings per year
+
'''New buildings per year (current situation ca 2010 and onwards)
  
 
<t2b name='Floor area of new houses and additional construction per year' index="Building,Observation" locations="Number,Area,Volume" desc="Year,Description" unit= "#,m2,m3">
 
<t2b name='Floor area of new houses and additional construction per year' index="Building,Observation" locations="Number,Area,Volume" desc="Year,Description" unit= "#,m2,m3">
Line 574: Line 212:
 
</t2b>
 
</t2b>
  
'''Removed buildings per year
+
'''Historical construction and demolition
  
 
Number of removed buildings has been 15-25 per year during 2009-2012 according dismantling permissions of the city. The actual number may be somewhat larger.
 
Number of removed buildings has been 15-25 per year during 2009-2012 according dismantling permissions of the city. The actual number may be somewhat larger.
 +
 +
Historically, we assume that there was a wooden house stock of 0.6 M m^2 in the Central Kuopio in the beginning of 1900, but it was demolished during 1955-1975 to build newer buildings.
 +
 +
Note that this table also contains the switches from traditional fuel, typically wood, to new heating systems, typically district heating. The City area information is ''not'' accurate, as the current assessment version does not look at city areas. The numbers of heating switches are not based on data but on the current model and the general knowledge that wood heating almost disappeared in the central areas during 1970-1990.
 +
 +
<t2b name="Historical construction and demolition" index="Time,City area,Building,Heating,Efficiency" obs="Floor area" desc="Description" unit="m2">
 +
1880|City center|Detached houses|Wood|Traditional|600000|Wood-heated houses that exist no more
 +
1955|City center|Detached houses|Wood|Traditional|-200000|Demolition
 +
1965|City center|Detached houses|Wood|Traditional|-200000|Demolition
 +
1975|City center|Detached houses|Wood|Traditional|-200000|Demolition
 +
1965|City center|Health and social sector|Wood|Old|-62000|Change to district
 +
1965|City center|Health and social sector|District|Old|62000|Change to district
 +
1965|City center|Commercial|Wood|Traditional|-44000|Change to district
 +
1965|City center|Commercial|District|Traditional|44000|Change to district
 +
1965|City center|Offices|Wood|Traditional|-49000|Change to district
 +
1965|City center|Offices|District|Traditional|49000|Change to district
 +
1965|City center|Educational|Wood|Old|-37000|Change to district
 +
1965|City center|Educational|District|Old|37000|Change to district
 +
1965|City center|Educational|Wood|Traditional|-28000|Change to district
 +
1965|City center|Educational|District|Traditional|28000|Change to district
 +
1965|City center|Health and social sector|Wood|Traditional|-16000|Change to district
 +
1965|City center|Health and social sector|District|Traditional|16000|Change to district
 +
1965|City center|Sports|Wood|Traditional|-8000|Change to district
 +
1965|City center|Sports|District|Traditional|8000|Change to district
 +
1975|City center|Sports|Wood|Old|-22000|Change to district
 +
1975|City center|Sports|District|Old|22000|Change to district
 +
1975|City center|Detached houses|District|Old|-16000|Change to district
 +
1975|City center|Detached houses|District|Old|16000|Change to district
 +
1975|City center|Detached houses|Wood|Traditional|-50000|Change of heating. City area information is just a placeholder.
 +
1975|City center|Detached houses|District|Traditional|50000|Change to district
 +
1975|City center|Apartment houses|Wood|Traditional|-185000|Change of heating
 +
1975|City center|Apartment houses|District|Traditional|185000|Change to district
 +
1980|City center|Industrial|Wood|Old|-72000|Change to district
 +
1980|City center|Industrial|District|Old|72000|Change to district
 +
1980|City center|Other|Wood|Old|-39000|Change to district
 +
1980|City center|Other|District|Old|39000|Change to district
 +
1980|City center|Public|Wood|Old|-35000|Change to district
 +
1980|City center|Public|District|Old|35000|Change to district
 +
1980|City center|Apartment houses|Wood|Old|-550000|Change to district
 +
1980|City center|Apartment houses|District|Old|550000|Change to district
 +
1985|City center|Commercial|Wood|Old|-111000|Change of heating
 +
1985|City center|Commercial|District|Old|111000|Change to district
 +
1985|City center|Offices|Wood|Old|-103000|Change of heating
 +
1985|City center|Offices|District|Old|103000|Change to district
 +
1985|City center|Row houses|Wood|Old|-180000|Change of heating
 +
1985|City center|Row houses|District|Old|180000|Change to district
 +
1995|City center|Detached houses|Wood|Old|-200000|Change of heating
 +
1995|City center|Detached houses|District|Old|200000|Change to district
 +
</t2b>
 +
 +
===Renovations===
 +
 +
<t2b name='Fraction of houses renovated per year' index="Age" obs="Result" desc="Description" unit= "%">
 +
0|0|Assumption Pöyry 2011 s.27 says that on average, 3 % of buildings are renovated.
 +
20|0|Assumption Result applies to buildings older than the value in the Age column.
 +
25|3|Assumption
 +
30|3|Assumption
 +
50|3|Assumption
 +
100|3|Assumption
 +
1000|3|Assumption
 +
</t2b>
 +
 +
<t2b name='Popularity of renovation types' index='Renovation' obs='Fraction' desc='Description' unit='%'>
 +
None|0|
 +
Windows|10-20|
 +
Technical systems|20-25|
 +
Sheath reform|15-20|
 +
General||The rest of renovations
 +
</t2b>
  
 
===Heating types of buildings===
 
===Heating types of buildings===
 +
 +
This table of heating types reflects approximately the situation in 2010.
  
 
<t2b name='Fractions of houses according heating type' index="Building,Heating" unit= "%" obs="Fraction" desc="Old fraction,Description" >
 
<t2b name='Fractions of houses according heating type' index="Building,Heating" unit= "%" obs="Fraction" desc="Old fraction,Description" >
Line 606: Line 315:
 
Explanations:
 
Explanations:
 
*"Old fraction" is based on data according to which the number of detached houses residing in the central city area but NOT district-heated is 700 (Excel-file from city of Kuopio). However, more accurate number is assumed to be around 3000 (email from Arja A. 8.5.2013), which is reflected in the current "Fraction" column.
 
*"Old fraction" is based on data according to which the number of detached houses residing in the central city area but NOT district-heated is 700 (Excel-file from city of Kuopio). However, more accurate number is assumed to be around 3000 (email from Arja A. 8.5.2013), which is reflected in the current "Fraction" column.
 +
 +
Historical heating shares (based mostly on general knowledge and anecdotes about the history of Haapaniemi plant [http://www.kuopionenergia.fi/yritys/historia]. The year 2010 is based on the model [[Climate change policies and health in Kuopio]] which again is based on the other tables on this page.
 +
 +
<t2b name="Historical heating shares" index="Time,Heating" locations="District,Electricity,Oil,Wood,Geothermal" unit="fraction" desc="Description">
 +
1880|0|0|0|1|0|Early on, all energy is local
 +
1905|0|0|0|1|0|
 +
1915|0|0|0|1|0|
 +
1925|0|0|0|1|0|
 +
1930|0|0|0|1|0|
 +
1935|0|0|0|1|0|
 +
1940|0|0|0|1|0|
 +
1945|0|0|0|1|0|
 +
1950|0|0|0|1|0|
 +
1955|0|0|0.02|0.98|0|After the war, oil import became important
 +
1960|0|0.02|0.1|0.88|0|
 +
1965|0.01|0.05|0.2|0.74|0|The first (small) district heating facility opens 1963
 +
1970|0.01|0.1|0.25|0.64|0|
 +
1975|0.3|0.13|0.2|0.37|0|Haapaniemi 1 opens
 +
1980|0.4|0.13|0.2|0.27|0|The district heating network spreads gradually
 +
1985|0.6|0.13|0.15|0.12|0|Haapaniemi 2 opens. Oil crises make oil less popular
 +
1990|0.75|0.13|0.1|0.02|0|
 +
1995|0.8|0.11|0.08|0.01|0|
 +
2000|0.8|0.11|0.08|0.008|0.002|
 +
2005|0.8|0.11|0.08|0.008|0.002|
 +
2010|0.805|0.107|0.079|0.007|0.002|
 +
</t2b>
  
  
Line 624: Line 359:
 
</t2b>
 
</t2b>
  
<t2b name='Future heating types' index='Building2,Heating,Constructed' obs='Fraction' desc='Description' unit='%'>
+
<t2b name='Future heating types' index='Building2,Heating' obs='Fraction' desc='Description' unit='%'>
Residential|District|||Rest of heating
+
Residential|District||Rest of heating
Residential|Geothermal||5-10|
+
Residential|Geothermal|5-10|
Residential|Electricity||10-15|
+
Residential|Electricity|10-15|
Non-residential|District||100|
+
Non-residential|District|100|
 
</t2b>
 
</t2b>
  
===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">
 
Old|150||30|Pöyry 2011 s.28
 
New|70|50|40|Pöyry 2011 s.32 (2010 SRMK)
 
Low-energy|35|50|40|Personal communication
 
Passive|17.5 - 25|50|40|Pöyry 2011 s.33; Personal communication
 
</t2b>
 
  
 
+
'''Combining different building type categorisations.
<t2b name="Energy efficiency of new buildings in the future" index="Efficiency,Constructed" obs='Fraction' desc='Description' unit="%">
 
New|2020-2029|10-20|
 
Low-energy|2020-2029||The rest of energy class
 
Passive|2020-2029|25-35|
 
New|2030-2039|5-10|
 
Low-energy|2030-2039|20-50|
 
Passive|2030-2039||The rest of energy class
 
New|2040-2049|0-5|
 
Low-energy|2040-2049|10-30|
 
Passive|2040-2049||The rest of energy class
 
</t2b>
 
 
 
* 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: [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===
 
 
 
{{comment|# |Note that below numbers are very preliminary (esp. electricity)!|--[[User:Marjo|Marjo]] 16:49, 13 March 2013 (EET)}}
 
 
 
{{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)}}
 
 
 
<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|District|168.88|73.5|73.5|2010|Calculated from energy company´s data
 
Apartment houses|District|172.31|41.7|41.7|2010|Calculated from energy company´s data
 
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>
 
 
 
 
 
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>
 
 
 
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>
 
 
 
 
 
{{comment|# |Note that below numbers are very preliminary (esp. electricity)!|--[[User:Marjo|Marjo]] 16:49, 13 March 2013 (EET)}}
 
 
 
<t2b name='Baseline energy consumption per volume unit' index="Building,Heating,Observation" locations="Heat,User electricity" desc="Year,Description" unit="kWh/m3/a">
 
Detached houses|District|42.15|15.67|2010|Calculated from energy company´s data; Energiapolar
 
Detached houses|Electricity|40.66|15.67|2010|Energiapolar
 
Detached houses|Oil|42.15|15.67|2010|Energiapolar
 
Detached houses|Wood|42.15|15.67|2010|Assumption
 
Detached houses|Geothermal|18.56|15.67|2010|Assumption
 
Row houses|District|53.25|23.16|2010|From energy company
 
Apartment houses|District|49.2|11.9|2010|From energy company
 
Commercial|District|28.65|40.64|2010|From energy company
 
Offices|District|36.32|20.99|2010|From energy company
 
Health and social sector|District|55.2|31.53|2010|From energy company
 
Public|District|32.21|21.49|2010|From energy company
 
Sports|District|18.37|13|2010|From energy company; Electricity value comes from city´s renovation data
 
Educational|District|40.23|27.54|2010|From energy company
 
Industrial|District|30.57|38.55|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
 
</t2b>
 
 
 
===Renovations and their impact===
 
 
 
<t2b name='Fraction of houses renovated per year' index="Age" obs="Result" desc="Description" unit= "%">
 
0|0|Assumption Pöyry 2011 s.27 says that on average, 3 % of buildings are renovated.
 
20|1.5|Assumption Result applies to buildings older than the value in the Age column.
 
30|4|Assumption
 
50|1.5|Assumption
 
100|1|Assumption
 
1000|1|Assumption
 
</t2b>
 
 
 
 
 
<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 name='Popularity of renovation types' index='Renovation' obs='Fraction' desc='Description' unit='%'>
 
Windows|10-20|
 
Technical systems|20-25|
 
Sheath reform|15-20|
 
General||The rest of renovations
 
</t2b>
 
  
 
<t2b name='Building type comparisons' index='Building,Building2' obs='Dummy' unit='-'>
 
<t2b name='Building type comparisons' index='Building,Building2' obs='Dummy' unit='-'>
Line 769: Line 384:
 
</t2b>
 
</t2b>
  
===Indoor environment quality (IEQ) factors===
+
==== Kuopio city districts ====
 
 
<t2b name='IEQ factors' index="Building,Heating,Observation" unit= "h-1,%,%,%,-,%,%,%,Bq/m3" locations="Ventilation rate,Dampness%,Smoking%,Biomass burning%,Indoor background emissions,In noise areas%,Too hot in summer%,Too cold in winter%,Radon" desc="Description" >
 
Detached houses|District|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||15|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Detached houses|Electricity|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||15|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Detached houses|Oil|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||15|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Detached houses|Wood|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||15|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Detached houses|Geothermal|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||15|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Row houses|District|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||21|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Apartment houses|District|0.71 (0.3-1.12)|5-16.5|2.35 (1.4-3.4)|||30|||100 (95-105)|Gens, 2012; Turunen et al. 2010; Haverinen-Shaughnessy, 2012; Assumption based on city´s data; Kurttio 2006
 
Leisure houses|Electricity||||||||||
 
Offices|District|||0|||||||Assumption
 
Commercial|District|||0|||||||Assumption
 
Health and social sector|District|||0|||||||Assumption
 
Public|District|||0|||||||Assumption
 
Sports|District|||0|||||||Assumption
 
Educational|District||24|0|||||||Haverinen-Shaughnessy et al. 2012; Assumption
 
Industrial|District|||0|||||||Assumption
 
Other|District||||||||||
 
</t2b>
 
 
 
Gens 2012 <ref>Gens 2012 [http://elib.uni-stuttgart.de/opus/volltexte/2012/7858/pdf/Diss_LK_final_version.pdf]</ref>
 
 
 
Haverinen-Shaughnessy 2010 <ref>Haverinen-Shaughnessy 2010 [http://www.nature.com/jes/journal/v22/n5/full/jes201221a.html]</ref>
 
 
 
Haverinen-Shaughnessy et al. 2012 <ref>Haverinen-Shaughnessy et al. 2012 [http://onlinelibrary.wiley.com/doi/10.1111/j.1600-0668.2012.00780.x/abstract;jsessionid=B4B14073001B07861216D517A0FAED1E.d01t01]</ref>
 
 
 
Turunen et al. 2010 <ref>Turunen et al. 2010 [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2996365/]</ref>
 
 
 
===Regulations regarding energy consumption of buildings===
 
 
 
<t2b name='Maximum allowed energy consumption per unit (= E-value)' index="Building,Year" obs="E-value" desc="Description" unit="kWh/m2/a">
 
Detached houses|2012 forward|204|Heated net area <120 m2; Finland´s Environmental Administration
 
Row houses|2012 forward|150|Finland´s Environmental Administration
 
Apartment houses|2012 forward|130|Finland´s Environmental Administration
 
Shops and other commercial buildings|2012 forward|240|Finland´s Environmental Administration
 
Offices|2012 forward|170|Finland´s Environmental Administration
 
Health and social sector: Hospitals|2012 forward|450|Finland´s Environmental Administration
 
Health and social sector: Health care centers etc.|2012 forward|170|Finland´s Environmental Administration
 
Public|2012 forward|240|Finland´s Environmental Administration
 
Sports|2012 forward|170|Does not apply to swimming- and ice halls; Finland´s Environmental Administration
 
Educational|2012 forward|170|Finland´s Environmental Administration
 
Industrial|2012 forward|-|E-value must be calculated but there´s no limit for it; Finland´s Environmental Administration
 
Leisure buildings|2012 forward|-|E-value must be calculated but there´s no limit for it; Finland´s Environmental Administration
 
Other|2012 forward|-|E-value must be calculated but there´s no limit for it; Finland´s Environmental Administration
 
</t2b>
 
 
 
===Emission factors for heating===
 
 
 
<t2b name='Emission factors for wood heating' index="Type,Observation" locations="Activity in Finland,PM2.5 emission factor" desc="Description" unit="PJ /a; mg /MJ">
 
Residential buildings|34.2 (30.8-37.6)||Karvosenoja et al. 2008
 
Primary wood-heated residential buildings|20.2 (16.6-23.9)||Karvosenoja et al. 2008
 
Manual feed boilers with accumulator tank|5.42 (3.89-7.22)|80.0 (37.6-150)|Karvosenoja et al. 2008
 
Manual feed boilers without accumulator tank|2.67 (1.67-3.87)|700 (329-1310)|Karvosenoja et al. 2008
 
Automatic feed wood chip boilers|1.46 (1.01-2)|50.0 (23.5-93.9)|Karvosenoja et al. 2008
 
Automatic feed pellet boilers|0.102 (0.0693-0.142)|30.0 (14.1-56.3)|Karvosenoja et al. 2008
 
Iron stoves|0.142 (0.0976-0.196)|700 (329-1310)|Karvosenoja et al. 2008
 
Other stoves and ovens|10.2 (7.86-12.8)|140 (65.8-263)|Karvosenoja et al. 2008
 
Low-emission stoves|0|80 (37.6-150)|Karvosenoja et al. 2008
 
Open fireplaces|0.163 (0.111-0.224)|800 (376-1500)|Karvosenoja et al. 2008
 
Supplementary wood-heated residential buildings|14.0 (10.7-17.4)||Karvosenoja et al. 2008
 
Iron stoves|0.212 (0.135-0.316)|700 (329-1310)|Karvosenoja et al. 2008
 
Other stoves and ovens|13.6 (10.4-16.9)|140 (65.8-263)|Karvosenoja et al. 2008
 
Low-emission stoves|0|80 (37.6-150)|Karvosenoja et al. 2008
 
Open fireplaces|0.222 (0.14-0.332)|800 (376-1500)|Karvosenoja et al. 2008
 
Recreational buildings|5.00 (4.50-5.50)||Karvosenoja et al. 2008
 
Iron stoves|0.782 (0.372-1.37)|700 (329-1310)|Karvosenoja et al. 2008
 
Other stoves and ovens|3.96 (3.19-4.59)|140 (65.8-263)|Karvosenoja et al. 2008
 
Open fireplaces|0.262 (0.118-0.477)|800 (376-1500)|Karvosenoja et al. 2008
 
</t2b>
 
 
 
Karvosenoja et al. 2008 <ref>Karvosenoja et al. 2008 [http://www.researchgate.net/publication/235763046_Evaluation_of_the_emissions_and_uncertainties_of_PM2.5_originated_from_vehicular_traffic_and_domestic_wood_combustion_in_Finland]</ref>
 
 
 
The table below contains the current situation for Kuopio and Basel. Kuopio uses 'District', and Basel uses 'Long-distance heating'.
 
  
<t2b name='Fuel use in different heating types' index='Heating,Burner,Fuel' obs='Fraction' desc='Description' unit='-'>
+
The exposures are calculated for the points listed below. The coordinates were visually checked from http://www.karttapaikka.fi
Wood|Domestic|Wood|1|
 
Oil|Domestic|Light oil|1|
 
Gas|Domestic|Gas|1|
 
Heating oil|Domestic|Light oil|1|
 
Other sources|Domestic|Other sources|1|
 
No energy source|Domestic|Other sources|1|
 
Geothermal|Grid|Electricity|0.3|
 
Centrifuge, hydro-extractor|Grid|Electricity|0.3|Not quite clear what this is but presumably a heat pump.
 
Solar heater/ collector|Grid|Electricity|0.1|Use only; life-cycle impacts omitted.
 
Electricity|Grid|Electricity|1|
 
Long-distance heating|Large fluidized bed|Gas|1|
 
Coal|Large fluidized bed|Coal|1|
 
District|Large fluidized bed|Wood|0.1|
 
District|Large fluidized bed|Peat|0.85|
 
District|Large fluidized bed|Heavy oil|0.05|
 
</t2b>
 
  
<t2b name='Emission factors of energy production' index='Burner,Fuel,Pollutant' locations='PM2.5,CO2,CO2official' desc='Description' unit='mg /MJ'>
+
<t2b name='Kuopio city districts' index="City area,Location" locations="N,E" desc="Notes" unit= "ETRS-TM35FIN">
Domestic|Wood|80.0 (37.6-150)|74200|0|Manual feed boilers with accumulator tank (Karvosenoja et al. 2008)
+
Itkonniemi|6974469|536853|
Domestic|Light oil|0-10|74200|74200|Light oil <5 MW Emission factors for burning processes. Light oil 267 kg /MWh
+
Männistö|6974607|535746|
Domestic|Other sources|0-10|74200|74200|Same as oil.
+
Linnanpelto|6975014|535490|
Domestic|Gas|0-3|55650|55650|For PM2.5: one third of that of oil. For CO2: 3/4 of that of oil.
+
Itkonniemi-Männistö-Linnanpelto|6974697|536030|
Large fuildized bed|Gas|0-3|55650|55650|For PM2.5: one third of that of oil. For CO2: 3/4 of that of oil.
+
Niirala|6973403|532903|
Large fluidized bed|Coal|2-20|106000|106000|Same as peat.
+
Puijonlaakso|6975016|532625|
Large fluidized bed|Wood|2-20|74200|0|Leijupoltto 100-300 MW Emission factors for burning processes. Karvosenoja et al., 2008
+
Rahusenkangas|6976558|534851|
Large fluidized bed|Peat|2-20|106000|106000|Leijupoltto 100-300 MW Emission factors for burning processes. Peat 382 kg /MWh
+
Rahusenkangas-Kuivinniemi|6976558|534851|
Large fluidized bed|Heavy oil|8-22|106000|106000|Leijupoltto 100-300 MW Emission factors for burning processes. Peat 382 kg /MWh
+
Haapaniemi|6972486|534457|
Grid|Electricity|1-10|53000|212000|50 % of large-scale burning (because of nuclear and hydro). Heavy oil 279 kg /MWh. Officially, electricity is not CHP but requires a double amount of coal to produce it.
+
Levänen|6970609|532094|
 +
Saaristokaupunki|6968569|534906|
 +
Jynkkä|6969424|533150|
 +
Kettulanlahti|6977547|534958|
 +
Petonen|6967759|532822|
 +
Neulamäki|6973454|530655|
 +
Kelloniemi|6976486|535799|
 +
Särkiniemi|6971873|532398|
 +
Särkilahti|6971406|531919|
 +
Särkiniemi-Särkilahti|6971640|532159|
 +
Saarijärvi|6975883|535098|
 +
City center|6973853|535023|
 +
Inkilänmäki|6976028|534434|
 +
Inkilänmäki-Peipposenrinne|6975755|534453|
 +
Pitkälahti|6963542|531123|
 +
Julkula|6977523|532059|
 +
Peipposenrinne|6975481|534472|
 +
Päiväranta|6978479|533542|
 +
Länsi-Puijo|6976667|532399|
 
</t2b>
 
</t2b>
 
See [[Emission factors for burning processes]]
 
  
 
===Calculations for ovariables===
 
===Calculations for ovariables===
  
<rcode name='initiate' embed=1 label='Initiate objects'>
+
<rcode name='initiatetest' embed=1 label='Initiate objects (developers only)'>
 
+
### This is code Op_en5417/initiatetest on page [[Building stock in Kuopio]]
 
library(OpasnetUtils)
 
library(OpasnetUtils)
 +
objects.latest("Op_en6007", code_name = "answer")
  
buildingStock <- Ovariable(
+
## Building stock in Kuopio based on historical data.
name = 'buildingStock',
+
## Areal distribution is approximated based on population size.
ddata = 'Op_en5932',
 
subset = 'Building registry data'
 
)
 
  
energyUse <- Ovariable(
+
stockBuildings <- Ovariable("stockBuildings",
name = 'energyUse',
+
dependencies = data.frame(
ddata = 'Op_en5932',
+
Name = c("population", "year"),
subset = 'Baseline energy consumption per area unit'
+
ident = c("Op_en5417/initiate", "") # [[Population of Kuopio]]
)
+
),
 +
formula = function(...) {
 +
st <- Ovariable("st",
 +
ddata = 'Op_en5932', # [[Building stock in Kuopio]]
 +
subset = 'Building registry data'
 +
)
 +
st@data <- st@data[
 +
st@data$Observation == "AreaHR" ,
 +
colnames(st@data) != "Observation"
 +
]
  
heatingShares <- Ovariable(
+
areaweight <- oapply(population, cols = "City_area", FUN = sum) # Sum across city areas.
name = 'heatingShares',
+
areaweight <- population / (areaweight * Ovariable(data = data.frame(Result = 1))) # is needed to match the results correctly
ddata = 'Op_en5932',
 
subset = 'Fractions of houses according heating type'
 
)
 
  
heatingSharesNew <- Ovariable(
+
st <- unkeep(st * areaweight * year, cols = "Constructed", prevresults = TRUE, sources = TRUE)
name = 'heatingSharesNew',
 
ddata = 'Op_en5932',
 
subset = 'Future heating types'
 
)
 
  
energy.per.volume <- Ovariable(
+
return(st)
name = 'energy.per.volume',
+
}
ddata = 'Op_en5932',
 
subset = 'Baseline energy consumption per volume unit'
 
 
)
 
)
  
 
+
renovationRate <- Ovariable('renovationRate',
renovation <- Ovariable(
+
dependencies = data.frame(Name = "dummy"),
name = 'renovation',
+
formula = function(...) {
ddata = 'Op_en5932',
+
temp <- tidy(opbase.data('Op_en5932', subset = 'Fraction of houses renovated per year'))
subset = 'Fraction of houses renovated per year'
+
temp$Age <- round(as.numeric(as.character(temp$Age)))
 +
out <- as.data.frame(approx(
 +
temp$Age,
 +
temp$Result,
 +
n = (max(temp$Age) - min(temp$Age) + 1),
 +
method = "constant"
 +
))
 +
colnames(out) <- c("Age", "renovationRateResult")
 +
out$renovationRateResult <- out$renovationRateResult / 100
 +
out <- Ovariable("renovationRate", output = out, marginal = c(TRUE, FALSE))
 +
return(out)
 +
}
 
)
 
)
renovation@data$Age <- as.numeric(levels(renovation@data$Age)[renovation@data$Age])
 
  
 
construction <- Ovariable(
 
construction <- Ovariable(
Line 926: Line 476:
 
subset = 'Floor area of new houses and additional construction per year'
 
subset = 'Floor area of new houses and additional construction per year'
 
)
 
)
 +
construction@data <- construction@data[
 +
construction@data$Observation == "Area" ,
 +
colnames(construction@data) != "Observation"
 +
]
  
 
constructionAreas <- Ovariable(
 
constructionAreas <- Ovariable(
Line 932: Line 486:
 
subset = 'Construction areas'
 
subset = 'Construction areas'
 
)
 
)
 +
colnames(constructionAreas@data) <- gsub(" ", "_", colnames(constructionAreas@data))
 +
constructionAreas@data$constructionAreasResult <- constructionAreas@data$constructionAreasResult / 100
  
efficienciesNew <- Ovariable(
+
renovationShares <- Ovariable("renovationShares",
name = 'efficienciesNew',
+
dependencies = data.frame(Name = "dummy"),
ddata = 'Op_en5932',
+
formula = function(...) {
subset = 'Energy efficiency of new buildings in the future'
+
out <- Ovariable("raw", ddata = 'Op_en5932', subset = 'Popularity of renovation types')
)
+
out <- findrest((out), cols = "Renovation", total = 100) / 100
  
Maximum.allowed.energy.consumption.per.unit <- Ovariable(
+
renovationyear <- Ovariable("renovationyear", data = data.frame(
name = 'Maximum.allowed.energy.consumption.per.unit',
+
Obsyear = factor(seq(2015, 2050, 5)),
ddata = 'Op_en5932',
+
Result = 1
subset = 'Maximum allowed energy consumption per unit (= E-value)'
+
))
)
 
  
savingPotential <- Ovariable(
+
out <- out * renovationyear # renovation shares repeated for every potential renovation year.
name = 'savingPotential',
 
ddata = 'Op_en5932',
 
subset = 'Energy saving potential of different renovations'
 
)
 
levels(savingPotential@data$Building2)[levels(savingPotential@data$Building2) == ""] <- NA
 
  
renovationShares <- Ovariable(
+
out@output$Renovation <- factor(out@output$Renovation, levels = c(
name = 'renovationShares',
+
"None",
ddata = 'Op_en5932',
+
"General",
subset = 'Popularity of renovation types'
+
"Windows",  
)
+
"Technical systems",  
 +
"Sheath reform"
 +
), ordered = TRUE)
  
energy.classes.of.buildings <- Ovariable(
+
return(out)
name = 'energy.classes.of.buildings',
+
}
ddata = 'Op_en5932',
 
subset = 'Energy use by energy class of building'
 
 
)
 
)
  
Line 971: Line 521:
 
buildingTypes@data$buildingTypesResult <- 1
 
buildingTypes@data$buildingTypesResult <- 1
  
emissionFactors <- Ovariable(
+
### Change of building stock based on construction rate or other data.
name = 'emissionFactors',
+
 
ddata = 'Op_en5932',
+
changeBuildings <- Ovariable("changeBuildings",
subset = 'Emission factors of energy production'
+
dependencies = data.frame(Name = c(
 +
"construction",
 +
"constructionAreas",
 +
"heatingShares",
 +
"efficiencyShares"
 +
)),
 +
formula = function(...) {
 +
hb <- EvalOutput(Ovariable("historicalBuildings",
 +
ddata = "Op_en5932", subset = "Historical construction and demolition"))
 +
colnames(hb@output) <- gsub("[\\. ]", "_", colnames(hb@output)) # City.area to City_area
 +
 
 +
out <- heatingShares
 +
out@output <- out@output[as.numeric(as.character(out@output$Time)) > 2012 , ] # Only keep future construction.
 +
out <- construction * constructionAreas * out * efficiencyShares * 5 # For 5-year period
 +
# Statistics are for three years (2010-2012) BUT PER YEAR?!
 +
 
 +
out <- unkeep(combine(out, hb), prevresults = TRUE, sources = TRUE)
 +
 
 +
# Note that if historical buildings and construction have different marginals (typically policies),
 +
# there will be NA in these indices. This will be corrected below.
 +
for(i in colnames(out@output)[out@marginal]) {
 +
if(any(is.na(out@output[[i]]))) {
 +
out@output <- fillna(out@output, i)
 +
print(paste("Column", i, "treated with fillna (difference between historical buildings and construction)."))
 +
}
 +
}
 +
 
 +
return(out)
 +
}
 
)
 
)
  
fuelTypes <- opbase.data("Op_en5932.fuel_use_in_different_heating_types")
+
dummy <- 1
fuelTypes <- fuelTypes[colnames(fuelTypes) != "Obs"]
 
fuelTypes <- Ovariable("fuelTypes", data = fuelTypes)
 
  
 +
heatingShares <- Ovariable("heatingShares",
 +
dependencies = data.frame(Name = "buildingTypes"), # dummy is not needed but used to fill the table.
 +
formula = function(...) {
 +
# Historical heating shares
 +
hs1 <- opbase.data("Op_en5932", subset = "Historical heating shares")
  
emissionLocations <- Ovariable("emissionLocations",
+
# Current heating shares
ddata = 'Op_en5932',
+
hs2 <- opbase.data("Op_en5932", subset = "Fractions of houses according heating type")
subset = 'Emission locations'
+
hs2$Result <- hs2$Result / 100
)
+
hs2 <- merge(hs2, data.frame(Time = "2015"))
emissionLocations@data$emissionLocationsResult <- 1
 
  
## Additional index needed in followup: Year, Efficiency
+
# Future heating shares
 +
hs3 <- Ovariable(
 +
name = 'hs3',
 +
ddata = 'Op_en5932',
 +
subset = 'Future heating types'
 +
)
 +
hs3 <- findrest(hs3, cols = "Heating", total = 100) / 100
 +
hs3 <- unkeep(hs3 * buildingTypes, cols = "Building2", prevresults = TRUE, sources = TRUE)
 +
hs3 <- hs3 * Ovariable(
 +
output = data.frame(Time = as.factor(2020 + 0:6 * 5), Result = 1),
 +
marginal = c(TRUE, FALSE)
 +
)
  
eventyear <- Ovariable("eventyear", data = data.frame(
+
out <- orbind(orbind(hs1, hs2), hs3)
Constructed = factor(
+
out$Obs <- NULL
c("1799-1899", "1900-1909", "1910-1919", "1920-1929", "1930-1939", "1940-1949",
+
out <- out[out$Result != 0 , ]
"1950-1959", "1960-1969", "1970-1979", "1980-1989", "1990-1999",
+
out <- fillna(out, "Building")
"2000-2010", "2011-2019", "2020-2029", "2030-2039", "2040-2049"
+
out <- Ovariable(output = out, marginal = colnames(out) != "Result")
),
+
ordered = TRUE
+
return(out)
),
+
}
Eventyear = c(1880, 1905 + 0:14 * 10),
+
)
Result = 1
 
))
 
  
efficiencies <- Ovariable("efficiencies", data = data.frame(
+
emissionLocations <- Ovariable("emissionLocations", ddata = "Op_en7328", subset = "Emission locations")  
Constructed = factor(
+
# [[Kuopio energy production#Emission locations]]
c("1799-1899", "1900-1909", "1910-1919", "1920-1929", "1930-1939", "1940-1949",
+
colnames(emissionLocations@data) <- gsub("[ \\.]", "_", colnames(emissionLocations@data))
"1950-1959", "1960-1969", "1970-1979", "1980-1989", "1990-1999",
+
emissionLocations@data$emissionLocationsResult <- 1
"2000-2010", "2011-2019"
 
),
 
ordered = TRUE
 
),
 
Efficiency = factor(c(rep("Old", 11), rep("New", 2))),
 
Result = 1
 
))
 
  
 
objects.store(
 
objects.store(
buildingStock,
+
stockBuildings,  
energyUse,
 
energy.per.volume,
 
heatingShares,
 
heatingSharesNew,
 
renovation,
 
 
renovationShares,
 
renovationShares,
 +
renovationRate,
 
construction,
 
construction,
 
constructionAreas,
 
constructionAreas,
efficienciesNew,
 
savingPotential,
 
energy.classes.of.buildings,
 
 
buildingTypes,
 
buildingTypes,
emissionFactors,
+
heatingShares,
fuelTypes,
+
changeBuildings,
 +
heatingShares,
 
emissionLocations,
 
emissionLocations,
eventyear,
+
dummy
efficiencies
 
 
)
 
)
  
cat("Objects buildingStock,
+
cat("Objects  
energyUse,
+
stockBuildings,  
energy.per.volume,
 
heatingShares,
 
heatingSharesNew,
 
renovation,
 
 
renovationShares,
 
renovationShares,
 +
renovationRate,
 
construction,
 
construction,
 
constructionAreas,
 
constructionAreas,
efficienciesNew,
 
savingPotential,
 
energy.classes.of.buildings,
 
 
buildingTypes,
 
buildingTypes,
emissionFactors,
+
heatingShares,
fuelTypes,
+
changeBuildings,
 +
heatingShares,
 
emissionLocations,
 
emissionLocations,
eventyear,
+
dummy
efficiencies
 
 
initiated!\n")
 
initiated!\n")
  
 
</rcode>
 
</rcode>
 +
 +
===Dependencies===
 +
 +
* [[Building stock in Kuopio]]
 +
* [[Exposure to PM2.5 in Finland]]
 +
* [[OpasnetUtils/Drafts]]
 +
* [[Energy use of buildings]]
 +
* [[Emission factors for burning processes]]
 +
* [[Population of Kuopio]]
  
 
=== Other preliminary calculations ===
 
=== Other preliminary calculations ===

Latest revision as of 15:08, 25 July 2015



Question

What is the building stock volume in Kuopio (previous, now and in the future)? What are emissions, exposures, and health impacts of heating of buildings in Kuopio? What are the impacts of two key policies:

  1. Changing fuel from peat to wood in the major CHP power pland Haapaniemi.
  2. Changing renovation of buildings to either more energy efficient (for each renovated building) or more active (more buildings renovated).

Answer

For building stock results, see Climate change policies and health in Kuopio.

Rationale

Building stock

Building registry data(#,m2,m3,#)
ObsBuildingConstructedNumberAreaBRVolumeBRAreaHRVolumeHRPopulationDescription
1Detached houses2000-20107563860811633314101479.9324433.4From building registry, except AreaHR and VolumeHR from heat registry
2Detached houses1990-19992916923824416139061.7124881.1
3Detached houses1980-198913324364661578407178797.9571620.7
4Detached houses1970-197911535339142135897154770.3494803.8
5Detached houses1960-196971423947882591095842.12306409.3
6Detached houses1950-1959769129148400137103224.9330012.2
7Detached houses1940-19494445942019980659599.3190540.2
8Detached houses1930-19392312949211781731007.75991332.4
9Detached houses1920-19291825236220914224430.3478104.3
10Detached houses1910-191983171416328711141.3135619.0
11Detached houses1900-190936485832669748860.69156208.7
12Detached houses1799-189980214169007810738.6134331.57
13Row houses2000-20103548851477614073.8944638.6
14Row houses1990-19991314467315529152676.57167076
15Row houses1980-19892155323816737186453.91274208.7
16Row houses1970-197924811250438869899723.58316296.5
17Row houses1960-19691695935421850067956.79215540.8
18Row houses1950-19591495199218103959914.57190033
19Row houses1940-1949150242667965560316.88191308.4
20Row houses1930-193918210967697238.00222957.0
21Row houses1920-19295066941944720105.5663769.5
22Row houses1910-1919105649310954021.11212753.9
23Row houses1900-1909601617477024126.6776523.4
24Row houses1799-189963075129322412.6677652.3
25Apartment houses2000-20101011949464499167322.2585906.9
26Apartment houses1990-1999260119428487611430730.51508275
27Apartment houses1980-1989393136886479881651065.82279816
28Apartment houses1970-1979149127426429284246841.7864357.7
29Apartment houses1960-1969122114214393011202112707729.1
30Apartment houses1950-195915555041236701256781.7899164
31Apartment houses1940-1949731752152956120935.9423477.3
32Apartment houses1930-193946121224778876206.17266848.7
33Apartment houses1920-19295164681882984489.45295854
34Apartment houses1910-19191753611658028163.1598618
35Apartment houses1900-190977360018943127562.5446681.5
36Apartment houses1799-18991591903724524849.8487015.87
37Leisure houses2000-20101292762210603427622106034
38Leisure houses1990-1999628253150959798253150959798
39Leisure houses1980-1989312106254328436106254328436
40Leisure houses1970-19791517313616701731361670
41Leisure houses1960-1969234180014275641800142756
42Leisure houses1950-195919772724658772724658
43Leisure houses1940-194932658119417658119417
44Leisure houses1930-1939111671402816714028
45Leisure houses1920-1929349616724961672
46Leisure houses1910-19197834530030834530030
47Leisure houses1900-190925817731580817731580
48Leisure houses1799-189911518721517518721517
49Offices2000-201011834251324571.1108975.1
50Offices1990-19993054751651267012.09297204.7
51Offices1980-198915158566116833506.05148602.4
52Offices1970-1979581823514611168.6849534.1
53Offices1960-196914128964226731272.31138695.5
54Offices1950-19591141751489124571.1108975.1
55Offices1940-19492658131900258077.15257577.4
56Offices1930-1939672032563413402.4259441.0
57Offices1920-19296184477348413402.4259441.0
58Offices1910-191937007283936701.20929720.5
59Offices1900-1909111405665824571.1108975.1
60Offices1799-18991088852876622337.3699068.2
61Commercial2000-20103160897506014.09833975.3
62Commercial1990-1999902741281016180422.91019260
63Commercial1980-19895940501135660118277.3668181.6
64Commercial1970-19799179906624018042.29101926
65Commercial1960-1969676132544012028.267950.7
66Commercial1950-1959939921738718042.29101926
67Commercial1940-19494058241690180187.97453004.5
68Commercial1930-19391029621279520046.99113251.1
69Commercial1920-192948512277778018.79745300.5
70Commercial1910-19191704002004.69911325.1
71Commercial1900-1909372511941674173.87419029.2
72Commercial1799-1899852212777816037.5990600.9
73Health and social sector2000-2010130534225.816458.0
74Health and social sector1990-1999162652917406767612.8263327.8
75Health and social sector1980-19892193542718288741.7345617.7
76Health and social sector1970-19795976274321129.082289.9
77Health and social sector1960-1969323794312677.449374.0
78Health and social sector1950-19597793267729580.6115205.9
79Health and social sector1940-19495661169521129.082289.9
80Health and social sector1930-19392661478451.632916.0
81Health and social sector1920-192900000
82Health and social sector1910-191900000
83Health and social sector1900-190921494878451.632916.0
84Health and social sector1799-1899230708451.632916.0
85Public2000-201000000
86Public1990-199917100653086322048113251.8
87Public1980-19898948357110375.553295.0
88Public1970-197900000
89Public1960-19699161535808511672.559956.9
90Public1950-1959121716443215563.379942.5
91Public1940-1949111774484114266.473280.6
92Public1930-1939275213282593.913323.8
93Public1920-192965129136397781.739971.2
94Public1910-1919131781296.96661.9
95Public1900-1909537511036484.733309.4
96Public1799-189900000
97Sports2000-20103160148925231.234573.8
98Sports1990-199991330377715693.5103721.2
99Sports1980-19892339931172140105.7265065.4
100Sports1970-19791101029801743.711524.6
101Sports1960-196943269706974.946098.3
102Sports1950-1959556114218718.657622.9
103Sports1940-1949560624678718.657622.9
104Sports1930-19394922146974.946098.3
105Sports1920-192911283681743.711524.6
106Sports1910-191900000
107Sports1900-190900000
108Sports1799-189900000
109Educational2000-201010965329128041.9118506.4
110Educational1990-199935126906409298146.7414772.4
111Educational1980-1989502824283710140209.5592532
112Educational1970-197924244147793967300.6284415.3
113Educational1960-196922406475608.423701.28
114Educational1950-1959439921160211216.847402.6
115Educational1940-194912556202804.211850.6
116Educational1930-19395173051901402159253.2
117Educational1920-192911514002804.211850.6
118Educational1910-191900000
119Educational1900-190911829338430846.1130357
120Educational1799-189942129706311216.847402.6
121Industrial2000-2010121403498312303.767793.0
122Industrial1990-1999735982825925974847.7412407.7
123Industrial1980-198910061742213089102531.1564942
124Industrial1970-1979305353324586030759.3169482.6
125Industrial1960-196925217747859925632.8141235.5
126Industrial1950-1959335451317191633835.3186430.9
127Industrial1940-1949165991184321640590390.7
128Industrial1930-193953774169435126.628247.1
129Industrial1920-19294101224834101.222597.7
130Industrial1910-1919173638001025.35649.4
131Industrial1900-19098782108202.545195.4
132Industrial1799-18995169265305126.628247.1
133Other2000-20101757839469355419385457.8395141.1
134Other1990-1999848368865135308541245.4190711.2
135Other1980-1989867617201241334642169.5194984.3
136Other1970-1979395666755284744119212.288833.7
137Other1960-1969266408885157495912937.859822.2
138Other1950-1959310474438165693415077.969717.6
139Other1940-194924410229835255311867.854874.5
140Other1930-193975507591879193647.916867.2
141Other1920-192993721012789594523.420915.3
142Other1910-191933419161503941605.17421.5
143Other1900-1909116340611206955642.126087.9
144Other1799-189941336801378781994.29220.7

Construction and demolition

New buildings per year (current situation ca 2010 and onwards)

Floor area of new houses and additional construction per year(#,m2,m3)
ObsBuildingNumberAreaVolumeYearDescription
1Detached houses244-27135137-40041120728-1411082010-2012From city supervision of buildings
2Row houses26-3913120-1840844141-627212010-2012From city supervision of buildings
3Apartment houses21-3134815-55460128154-2093402010-2012From city supervision of buildings
4Commercial9-149742-8732349576-6512392010-2012From city supervision of buildings
5Offices3-6235-23891993-1065902010-2012From city supervision of buildings
6Industrial14-232948-1163813555-789062010-2012From city supervision of buildings
7Public2-5313-2819905-174702010-2012From city supervision of buildings
8Educational4-6220-147301745-747182010-2012From city supervision of buildings
9Health and social sector2-817-28843280-1750642010-2012From city supervision of buildings
10Sports02010-2012From city supervision of buildings? Empty row
11Leisure houses47-692859-36609909 126932010-2012From city supervision of buildings
12Other317-42119849-3619480607-1230132010-2012From city supervision of buildings

Construction areas

Where are new buildings built in Kuopio in the future? The numbers are fractions (in %) of total floor area built in Kuopio.

Construction areas(%)
ObsCity areaFraction of floor areaDescription
1City center5All numbers are guesstimates and not based on data.
2Petonen10
3Puijonlaakso2
4Saaristokaupunki17
5Neulamäki1
6Itkonniemi-Männistö-Linnanpelto1
7Haapaniemi1
8Särkiniemi-Särkilahti2
9Niirala1
10Saarijärvi1
11Jynkkä2
12Julkula2
13Inkilänmäki-Peipposenrinne1
14Päiväranta1
15Länsi-Puijo1
16Kelloniemi1
17Levänen2
18Kettulanlahti1
19Rahusenkangas-Kuivinniemi1
20Pitkälahti47

Historical construction and demolition

Number of removed buildings has been 15-25 per year during 2009-2012 according dismantling permissions of the city. The actual number may be somewhat larger.

Historically, we assume that there was a wooden house stock of 0.6 M m^2 in the Central Kuopio in the beginning of 1900, but it was demolished during 1955-1975 to build newer buildings.

Note that this table also contains the switches from traditional fuel, typically wood, to new heating systems, typically district heating. The City area information is not accurate, as the current assessment version does not look at city areas. The numbers of heating switches are not based on data but on the current model and the general knowledge that wood heating almost disappeared in the central areas during 1970-1990.

Historical construction and demolition(m2)
ObsTimeCity areaBuildingHeatingEfficiencyFloor areaDescription
11880City centerDetached housesWoodTraditional600000Wood-heated houses that exist no more
21955City centerDetached housesWoodTraditional-200000Demolition
31965City centerDetached housesWoodTraditional-200000Demolition
41975City centerDetached housesWoodTraditional-200000Demolition
51965City centerHealth and social sectorWoodOld-62000Change to district
61965City centerHealth and social sectorDistrictOld62000Change to district
71965City centerCommercialWoodTraditional-44000Change to district
81965City centerCommercialDistrictTraditional44000Change to district
91965City centerOfficesWoodTraditional-49000Change to district
101965City centerOfficesDistrictTraditional49000Change to district
111965City centerEducationalWoodOld-37000Change to district
121965City centerEducationalDistrictOld37000Change to district
131965City centerEducationalWoodTraditional-28000Change to district
141965City centerEducationalDistrictTraditional28000Change to district
151965City centerHealth and social sectorWoodTraditional-16000Change to district
161965City centerHealth and social sectorDistrictTraditional16000Change to district
171965City centerSportsWoodTraditional-8000Change to district
181965City centerSportsDistrictTraditional8000Change to district
191975City centerSportsWoodOld-22000Change to district
201975City centerSportsDistrictOld22000Change to district
211975City centerDetached housesDistrictOld-16000Change to district
221975City centerDetached housesDistrictOld16000Change to district
231975City centerDetached housesWoodTraditional-50000Change of heating. City area information is just a placeholder.
241975City centerDetached housesDistrictTraditional50000Change to district
251975City centerApartment housesWoodTraditional-185000Change of heating
261975City centerApartment housesDistrictTraditional185000Change to district
271980City centerIndustrialWoodOld-72000Change to district
281980City centerIndustrialDistrictOld72000Change to district
291980City centerOtherWoodOld-39000Change to district
301980City centerOtherDistrictOld39000Change to district
311980City centerPublicWoodOld-35000Change to district
321980City centerPublicDistrictOld35000Change to district
331980City centerApartment housesWoodOld-550000Change to district
341980City centerApartment housesDistrictOld550000Change to district
351985City centerCommercialWoodOld-111000Change of heating
361985City centerCommercialDistrictOld111000Change to district
371985City centerOfficesWoodOld-103000Change of heating
381985City centerOfficesDistrictOld103000Change to district
391985City centerRow housesWoodOld-180000Change of heating
401985City centerRow housesDistrictOld180000Change to district
411995City centerDetached housesWoodOld-200000Change of heating
421995City centerDetached housesDistrictOld200000Change to district

Renovations

Fraction of houses renovated per year(%)
ObsAgeResultDescription
100Assumption Pöyry 2011 s.27 says that on average, 3 % of buildings are renovated.
2200Assumption Result applies to buildings older than the value in the Age column.
3253Assumption
4303Assumption
5503Assumption
61003Assumption
710003Assumption
Popularity of renovation types(%)
ObsRenovationFractionDescription
1None0
2Windows10-20
3Technical systems20-25
4Sheath reform15-20
5GeneralThe rest of renovations

Heating types of buildings

This table of heating types reflects approximately the situation in 2010.

Fractions of houses according heating type(%)
ObsBuildingHeatingFractionOld fractionDescription
1Detached housesDistrict68.3682.5City of Kuopio
2Detached housesElectricity16.098.93
3Detached housesOil8.504.66
4Detached housesWood5.242.86
5Detached housesGeothermal1.811.04
6Row housesDistrict83.1100See table below
7Row housesElectricity16.9100Subtraction
8Apartment housesDistrict91.3100See table below
9Apartment housesOil8.7100Subtraction
10Leisure housesElectricity100100Assumption
11OfficesDistrict89.3100See table below
12OfficesOil10.7100Subtraction
13CommercialDistrict100100Assumption
14Health and social sectorDistrict100100Assumption
15PublicDistrict100100Assumption
16SportsDistrict100100Assumption
17EducationalDistrict85100See table below
18EducationalOil15100Subtraction
19IndustrialDistrict57100See table below
20IndustrialOil43100Subtraction
21OtherDistrict100100Assumption

Explanations:

  • "Old fraction" is based on data according to which the number of detached houses residing in the central city area but NOT district-heated is 700 (Excel-file from city of Kuopio). However, more accurate number is assumed to be around 3000 (email from Arja A. 8.5.2013), which is reflected in the current "Fraction" column.

Historical heating shares (based mostly on general knowledge and anecdotes about the history of Haapaniemi plant [1]. The year 2010 is based on the model Climate change policies and health in Kuopio which again is based on the other tables on this page.

Historical heating shares(fraction)
ObsTimeDistrictElectricityOilWoodGeothermalDescription
1188000010Early on, all energy is local
2190500010
3191500010
4192500010
5193000010
6193500010
7194000010
8194500010
9195000010
101955000.020.980After the war, oil import became important
11196000.020.10.880
1219650.010.050.20.740The first (small) district heating facility opens 1963
1319700.010.10.250.640
1419750.30.130.20.370Haapaniemi 1 opens
1519800.40.130.20.270The district heating network spreads gradually
1619850.60.130.150.120Haapaniemi 2 opens. Oil crises make oil less popular
1719900.750.130.10.020
1819950.80.110.080.010
1920000.80.110.080.0080.002
2020050.80.110.080.0080.002
2120100.8050.1070.0790.0070.002


Proportion of buildings in district heat in main urban area (Pitkälahti-Sorsalo) area of Kuopio. Data from N:\YMAL\Projects\Urgenche\WP10 Kuopio\Scenarios_data_ver6.xlsx

District heat fraction(#,m2)
ObsBuildingContractsFraction of contractsFloor areaFraction of floor areaDescription
1Apartment houses9580.64624170610.913
2Detached houses32410.525871910.476
3Row houses3930.3134990200.831
4Industry and warehouses1290.2863546660.57
5Office buildings900.6253305930.893
6Schools and research buildings610.5924122160.85
7Public services16705455070
8Other buildings3001234910
9Total50690.45452697450.706
10Total residential45920.51235032720.782
Future heating types(%)
ObsBuilding2HeatingFractionDescription
1ResidentialDistrictRest of heating
2ResidentialGeothermal5-10
3ResidentialElectricity10-15
4Non-residentialDistrict100


Combining different building type categorisations.

Building type comparisons(-)
ObsBuildingBuilding2Dummy
1Detached housesResidential
2Row housesResidential
3Apartment housesResidential
4CommercialNon-residential
5OfficesNon-residential
6IndustrialNon-residential
7PublicNon-residential
8EducationalNon-residential
9Health and social sectorNon-residential
10SportsNon-residential
11Leisure housesNon-residential
12OtherNon-residential

Kuopio city districts

The exposures are calculated for the points listed below. The coordinates were visually checked from http://www.karttapaikka.fi

Kuopio city districts(ETRS-TM35FIN)
ObsCity areaNENotes
1Itkonniemi6974469536853
2Männistö6974607535746
3Linnanpelto6975014535490
4Itkonniemi-Männistö-Linnanpelto6974697536030
5Niirala6973403532903
6Puijonlaakso6975016532625
7Rahusenkangas6976558534851
8Rahusenkangas-Kuivinniemi6976558534851
9Haapaniemi6972486534457
10Levänen6970609532094
11Saaristokaupunki6968569534906
12Jynkkä6969424533150
13Kettulanlahti6977547534958
14Petonen6967759532822
15Neulamäki6973454530655
16Kelloniemi6976486535799
17Särkiniemi6971873532398
18Särkilahti6971406531919
19Särkiniemi-Särkilahti6971640532159
20Saarijärvi6975883535098
21City center6973853535023
22Inkilänmäki6976028534434
23Inkilänmäki-Peipposenrinne6975755534453
24Pitkälahti6963542531123
25Julkula6977523532059
26Peipposenrinne6975481534472
27Päiväranta6978479533542
28Länsi-Puijo6976667532399

Calculations for ovariables

+ Show code

Dependencies

Other preliminary calculations

Which data do you want to use?:

Password (only needed with secret data):

+ Show code

See also

Urgenche research project 2011 - 2014: city-level climate change mitigation
Urgenche pages

Urgenche main page · Category:Urgenche · Urgenche project page (password-protected)

Relevant data
Building stock data in Urgenche‎ · Building regulations in Finland · Concentration-response to PM2.5 · Emission factors for burning processes · ERF of indoor dampness on respiratory health effects · ERF of several environmental pollutions · General criteria for land use · Indoor environment quality (IEQ) factors · Intake fractions of PM · Land use in Urgenche · Land use and boundary in Urgenche · Energy use of buildings

Relevant methods
Building model · Energy balance · Health impact assessment · Opasnet map · Help:Drawing graphs · OpasnetUtils‎ · Recommended R functions‎ · Using summary tables‎

City Kuopio
Climate change policies and health in Kuopio (assessment) · Climate change policies in Kuopio (plausible city-level climate policies) · Health impacts of energy consumption in Kuopio · Building stock in Kuopio · Cost curves for energy (prioritization of options) · Energy balance in Kuopio (energy data) · Energy consumption and GHG emissions in Kuopio by sector · Energy consumption classes (categorisation) · Energy consumption of heating of buildings in Kuopio · Energy transformations (energy production and use processes) · Fuels used by Haapaniemi energy plant · Greenhouse gas emissions in Kuopio · Haapaniemi energy plant in Kuopio · Land use in Kuopio · Building data availability in Kuopio · Password-protected pages: File:Heat use in Kuopio.csv · Kuopio housing

City Basel
Buildings in Basel (password-protected)

Energy balances
Energy balance in Basel · Energy balance in Kuopio · Energy balance in Stuttgart · Energy balance in Suzhou


Keywords

References


Related files

<mfanonymousfilelist></mfanonymousfilelist>