Difference between revisions of "Climate change policies in Helsinki"

From Testiwiki
Jump to: navigation, search
m (Calculations)
m
 
(26 intermediate revisions by 5 users not shown)
Line 5: Line 5:
 
[[Category:Heating]]
 
[[Category:Heating]]
 
[[Category:PM2.5]]
 
[[Category:PM2.5]]
{{assessment|moderator=Jouni|stub=Yes|status=Ongoing}}
+
{{assessment|moderator=Jouni}}
 
:''This assessment was used for training in [[Decision analysis and risk management 2015]] course. To see student contributions, see [http://en.opasnet.org/en-opwiki/index.php?title=Climate_change_policies_in_Helsinki&oldid=37124 a previous version].
 
:''This assessment was used for training in [[Decision analysis and risk management 2015]] course. To see student contributions, see [http://en.opasnet.org/en-opwiki/index.php?title=Climate_change_policies_in_Helsinki&oldid=37124 a previous version].
  
Line 21: Line 21:
  
 
* Jouni Tuomisto (THL), the coordinator of the assessment
 
* Jouni Tuomisto (THL), the coordinator of the assessment
* Tha perticipants of the [[Decision analysis and risk management 2015]] course.
+
* The participants of the [[Decision analysis and risk management 2015]] course.
 
* Helsinki Environment Centre
 
* Helsinki Environment Centre
 
* Siemens and the City Performance Tool experts
 
* Siemens and the City Performance Tool experts
Line 27: Line 27:
 
=== Boundaries ===
 
=== Boundaries ===
  
* Time: 2010-2040
+
* Time: 2010-2060
* Spatial: the city of Helainki
+
* Spatial: the city of Helsinki
  
 
=== Decisions and scenarios ===
 
=== Decisions and scenarios ===
  
* Renovate 1 or 2 % of buildings per year.
+
Energy saving policy: Relates to the shares of efficiency types when new buildings are built (ovariable efficiencyShares).
* Change the district heating fuel from 100 % fossil to 50 % fossil, 50 % wood-based fuel.
+
*BAU: Business as usual, no change to the energy efficiency of buildings.
 +
*Energy saving moderate: No change to the energy efficiency of buildings.
 +
*Energy saving total: Starting from the year 2020 buildings are built to be more energy efficient. 25 percentage points of production shifts from low-energy buildings to passive buildings. Starting from the year 2040 another 10 percentage points of production shifts from low-energy to passive.
 +
Fuel policy: Helen increases the share of wood-based biofuels used in Hanasaari and Salmisaari power plants to 40 % of fuels used. Both burn 40 % wood pellets and 60 % coal. (ovariable fuelShares)
 +
*BAU: Business and usual, both power plants continue burning only 5-10 % biofuel.
 +
*40 bio: Shift to biofuels, starting from the year 2020 the share of wood-based fuels increase by 24 percentage points and coal's share decrease by the same amount.
 +
Energy saving policy (ovariable renovationRate)
 +
*BAU: Business as usual, every year 1 % of all buildings over 30 years old are renovated to increase their energy efficiency.
 +
*Energy saving moderate: Increased energy renovation, every year 2 % of all buildings over 30 years old are renovated to increase their energy efficiency.
 +
*Energy saving total: Greatly increased energy renovation, every year 3 % of all buildings over 30 years old are renovated to increase their energy efficiency.
 +
 
  
 
See also decisions in [[Climate change policies and health in Kuopio]].
 
See also decisions in [[Climate change policies and health in Kuopio]].
Line 40: Line 50:
  
 
<t2b name="Decisions" index='Decision maker,Decision,Option,Variable,Cell,Change,Unit' obs='Amount' desc='Description' unit='-'>
 
<t2b name="Decisions" index='Decision maker,Decision,Option,Variable,Cell,Change,Unit' obs='Amount' desc='Description' unit='-'>
Builders|EfficiencyPolicy|BAU|efficiencyShares||Add||0|
+
Builders|EnergySavingPolicy|BAU|efficiencyShares||Add||0|
Builders|EfficiencyPolicy|Active efficiency|efficiencyShares|Efficiency:Passive;Time:2015,2020,2025,2030,2035|Add|fraction|0.25|All input must be given in units that are used in respective ovariables.
+
Builders|EnergySavingPolicy|Energy saving moderate|efficiencyShares||Add||0|
Builders|EfficiencyPolicy|Active efficiency|efficiencyShares|Efficiency:Passive;Time:2040,2045,2050|Add|fraction|0.1|
+
Builders|EnergySavingPolicy|Energy saving total|efficiencyShares|Efficiency:Passive;Time:2020,2030|Add|fraction|0.25|All input must be given in units that are used in respective ovariables.
Builders|EfficiencyPolicy|Active efficiency|efficiencyShares|Efficiency:Low-energy;Time:2015,2020,2025,2030,2035|Add|fraction|-0.25|
+
Builders|EnergySavingPolicy|Energy saving total|efficiencyShares|Efficiency:Passive;Time:2040,2050,2060|Add|fraction|0.1|
Builders|EfficiencyPolicy|Active efficiency|efficiencyShares|Efficiency:Low-energy;Time:2040,2024,2050|Add|fraction|-0.1|
+
Builders|EnergySavingPolicy|Energy saving total|efficiencyShares|Efficiency:Low-energy;Time:2020,2030|Add|fraction|-0.25|
Basel district heating|FuelPolicy|BAU|fuelShares||Add||0|
+
Builders|EnergySavingPolicy|Energy saving total|efficiencyShares|Efficiency:Low-energy;Time:2040,2050,2060|Add|fraction|-0.1|
Basel district heating|FuelPolicy|Biofuel increase|fuelShares|Burner:Large fluidized bed;Fuel:Wood;Time:2015,2020,2025,2030,2035,2040,2045,2050|Add|fraction|0.2|
+
Helen|FuelPolicy|BAU|fuelShares||Add||0|
Basel district heating|FuelPolicy|Biofuel increase|fuelShares|Burner:Large fluidized bed;Fuel:Gas;Time:2015,2020,2025,2030,2035,2040,2045,2050|Add|fraction|-0.2|
+
Helen|FuelPolicy|40 bio|fuelShares|Burner:Large fluidized bed;Fuel:Wood;Time:2020,2030,2040,2050,2060|Add|fraction|0.24|
Building owner|RenovationPolicy|BAU|renovationRate||Multiply|1 /a|1|Assumes BAU renovation rate = 1%/a for buildings >30 a old
+
Helen|FuelPolicy|40 bio|fuelShares|Burner:Large fluidized bed;Fuel:Coal;Time:2020,2030,2040,2050,2060|Add|fraction|-0.24|
Building owner|RenovationPolicy|Active renovation|renovationRate||Multiply|1 /a|2|
+
Building owner|EnergySavingPolicy|BAU|renovationRate||Multiply|1 /a|1|Assumes BAU renovation rate = 1%/a for buildings >30 a old
Building owner|RenovationPolicy|Total renovation|renovationRate||Multiply|1 /a|5|5%/a is 100 % in 20 a
+
Building owner|EnergySavingPolicy|Energy saving moderate|renovationRate||Multiply|1 /a|2|
 +
Building owner|EnergySavingPolicy|Energy saving total|renovationRate||Multiply|1 /a|3|3%/a is 100 % in 20 a
 
</t2b>
 
</t2b>
 
}}
 
}}
Line 85: Line 96:
 
* [[Exposure-response function]]
 
* [[Exposure-response function]]
 
* [[Burden of disease in Finland]]
 
* [[Burden of disease in Finland]]
 +
* [[Outdoor air temperature in Finland]]
 +
* [[Unit price of carbon emission permits]]
  
 
; Data files
 
; Data files
Line 121: Line 134:
 
=== Calculations ===
 
=== Calculations ===
  
[http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=PT1cPyazn2fQozfI Model run 10.6.2015]
+
*[http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=bGzkpGQwG2P0xTs5 Model run 15.6.2015]
 +
*[http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=iOrQttDzoCgmuKw2 Model run 24.6.2015] (new structure of building model)
  
 
<rcode graphics=1>
 
<rcode graphics=1>
Line 140: Line 154:
 
obstime <- data.frame(Startyear = c((198:206) * 10)) # Observation years must be defined for an assessment.
 
obstime <- data.frame(Startyear = c((198:206) * 10)) # Observation years must be defined for an assessment.
  
BS <- 24
+
BS <- 24 # base_size = font size in graphs
 
heating_before <- FALSE # Should heatingShares be calculated before renovate and timepoints (or after)?  
 
heating_before <- FALSE # Should heatingShares be calculated before renovate and timepoints (or after)?  
 
efficiency_before <- TRUE # Should efficiencyShares be calculated before renovate and timepoints (or after)?
 
efficiency_before <- TRUE # Should efficiencyShares be calculated before renovate and timepoints (or after)?
dummy <- 1
 
 
figstofile <- FALSE
 
figstofile <- FALSE
  
Line 150: Line 163:
 
############################ City-specific data
 
############################ City-specific data
  
####!------------------------------------------------
+
##########################!------------------------------------------------
 +
## Decisions
 +
decisions <- opbase.data("Op_en7063", subset = "Decisions") # [[Climate change policies in Helsinki]]
 +
 
 +
## Building stock
 
objects.latest("Op_en7115", code_name = "stockBuildings") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "stockBuildings") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "changeBuildings") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "changeBuildings") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "renovationRate") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "renovationRate") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "renovationShares") # [[Building stock in Helsinki]]
 
objects.latest("Op_en7115", code_name = "renovationShares") # [[Building stock in Helsinki]]
 +
objects.latest("Op_en5488", code_name = "efficiencyShares") # [[Energy use of buildings]]
 +
 +
objects.latest("Op_en6289", code_name = "buildings") # [[Building model]] # Generic building model.
 +
 +
## Energy use
 +
objects.latest("Op_en5488", code_name = "energyUseAnnual")        # [[Energy use of buildings]] annual version of energyUse
 +
#objects.latest("Op_en5488", code_name = "efficiencyRatio")  # [[Energy use of buildings]] DEFAULT USED
 +
# objects.latest("Op_en5488", code_name = "renovationRatio")  # [[Energy use of buildings]] DEFAULT USED
  
 +
## Energy and emissions
 
objects.latest("Op_en7311", code_name = "emissionLocations") # [[Helsinki energy production]] also heatingShares
 
objects.latest("Op_en7311", code_name = "emissionLocations") # [[Helsinki energy production]] also heatingShares
 +
objects.latest("Op_en2791", code_name = "emissionFactors") # [[Emission factors for burning processes]]
 +
objects.latest("Op_en2791", code_name = "emissions") # [[Emission factors for burning processes]]
 +
objects.latest("Op_en7311", code_name = "fuelShares") # [[Helsinki energy production]]
 +
 +
## Exposure
 +
 +
objects.latest("Op_en5813", code_name = "exposure") # [[Intake fractions of PM]] uses Humbert iF as default.
 +
 +
## Health assessment
 +
 +
objects.latest('Op_en2261', code_name = 'totcases') # [[Health impact assessment]] totcases and dependencies.
 +
objects.latest('Op_en5461', code_name = 'DALYs') # [[Climate change policies and health in Kuopio]] DALYs, DW, L
 +
 +
population <- 623732 # Contains only the Helsinki city, i.e. assumes no exposure outside city. (Wikipedia)
 +
# Note: the population size does NOT affect the health impact if the exposure-response function in linear.
 +
# However, it DOES affect exposure estimates.
  
###################### Decisions
+
#########################i--------------------------------------------------
#
+
 
decisions <- opbase.data("Op_en7063", subset = "Decisions") # [[Climate change policies in Helsinki]]
+
 
 +
################# Actual model and some intermediate processing.
  
 
DecisionTableParser(decisions)
 
DecisionTableParser(decisions)
Line 177: Line 220:
 
renovationRate <- EvalOutput(renovationRate) * 10 # Rates for 10-year periods
 
renovationRate <- EvalOutput(renovationRate) * 10 # Rates for 10-year periods
  
#################### Energy use (needed for buildings submodel)
+
buildings <- EvalOutput(buildings)
  
####!------------------------------------------------
+
buildings@output$EnergySavingPolicy <- factor(
objects.latest("Op_en5488", code_name = "initiate") # [[Energy use of buildings]]
+
buildings@output$EnergySavingPolicy,
####i------------------------------------------------
+
levels = c("BAU", "Energy saving moderate", "Energy saving total"),
 +
ordered = TRUE
 +
)
  
###################### Actual building model
+
exposure <- EvalOutput(exposure)
# The building stock is measured as m^2 floor area.
 
  
####!------------------------------------------------
+
exposure@output <- exposure@output[exposure@output$Area == "Average" , ] # Helsinki is an average area,
objects.latest("Op_en6289", code_name = "initiate") # [[Building model]] # Generic building model.
+
# rather than rural or urban.
####i------------------------------------------------
 
  
buildings <- EvalOutput(buildings)
+
totcases <- EvalOutput(totcases)
 +
totcases@output$Time <- as.numeric(as.character(totcases@output$Time))
 +
totcases <- oapply(totcases, cols = c("Age", "Sex"), FUN = sum)
 +
 
 +
totcases <- truncateIndex(totcases, cols = "Heating", bins = 5)
  
buildings@output$RenovationPolicy <- factor(
+
DALYs <- EvalOutput(DALYs)
buildings@output$RenovationPolicy,
 
levels = c("BAU", "Active renovation", "Total renovation"),
 
ordered = TRUE
 
)
 
  
buildings@output$EfficiencyPolicy <- factor(
+
####################### Post-processing and graphs
buildings@output$EfficiencyPolicy,
 
levels = c("BAU", "Active efficiency"),
 
ordered = TRUE
 
)
 
  
 
bui <- oapply(buildings * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum)
 
bui <- oapply(buildings * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum)
Line 208: Line 247:
 
#levels(bui$Heating)[levels(bui$Heating) == "Long-distance heating"] <- "District heating"
 
#levels(bui$Heating)[levels(bui$Heating) == "Long-distance heating"] <- "District heating"
  
ggplot(subset(bui, EfficiencyPolicy == "BAU" & RenovationPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Heating)) + geom_bar(binwidth = 5) +  
+
ggplot(subset(bui, EnergySavingPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Heating)) + geom_bar(binwidth = 5) +  
 
theme_gray(base_size = BS) +
 
theme_gray(base_size = BS) +
 
labs(
 
labs(
Line 218: Line 257:
 
if(figstofile) ggsave("Figure6.eps", width = 8, height = 7)
 
if(figstofile) ggsave("Figure6.eps", width = 8, height = 7)
  
ggplot(subset(bui, EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Renovation)) + geom_bar(binwidth = 5) +  
+
#ggplot(renovationRate@output, aes(x = Time, weight = renovationRateResult)) + geom_bar(binwidth = 5) +  
facet_grid(. ~ RenovationPolicy) + theme_gray(base_size = BS) +
+
# facet_grid(. ~ EnergySavingPolicy) + theme_gray(base_size = BS) +
labs(
+
# labs(
title = "Building stock in Helsinki by renovation policy",
+
# title = "Renovation rate by energy saving policy",
x = "Time",
+
# x = "Time",
y = "Floor area (M m2)"
+
# y = "Floor area (M m2)"
)
+
# )
  
ggplot(subset(bui, RenovationPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Efficiency)) + geom_bar(binwidth = 5) +  
+
ggplot(bui, aes(x = Time, weight = buildingsResult, fill = Efficiency)) + geom_bar(binwidth = 5) +  
facet_grid(. ~ EfficiencyPolicy) + theme_gray(base_size = BS) +
+
facet_grid(. ~ EnergySavingPolicy) + theme_gray(base_size = BS) +
 
labs(
 
labs(
 
title = "Building stock in Helsinki by efficiency policy",
 
title = "Building stock in Helsinki by efficiency policy",
Line 234: Line 273:
 
)
 
)
  
ggplot(subset(bui, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Heating)) + geom_bar(binwidth = 5) +  
+
ggplot(bui, aes(x = Time, weight = buildingsResult, fill = Renovation)) + geom_bar(binwidth = 5) +  
theme_gray(base_size = BS) +
+
theme_gray(base_size = BS) + facet_grid(. ~ EnergySavingPolicy) +
 
labs(
 
labs(
 
title = "Building stock in Helsinki",
 
title = "Building stock in Helsinki",
Line 242: Line 281:
 
)
 
)
  
ggplot(subset(bui, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Building)) + geom_bar(binwidth = 5) +  
+
ggplot(subset(bui, EnergySavingPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Building)) + geom_bar(binwidth = 5) +  
 
theme_gray(base_size = BS) +
 
theme_gray(base_size = BS) +
 
labs(
 
labs(
Line 250: Line 289:
 
)
 
)
  
###################### Energy and emissions
 
 
#############################
 
# Toinen korjaus
 
#############################
 
energyUse <- EvalOutput(energyUse)
 
levels(energyUse@output$Building)[levels(energyUse@output$Building) == "Detached houses"] <- "Residential"
 
temp <- energyUse@output[energyUse@output$Heating == "Oil",]
 
temp$Heating <- "Other"
 
energyUse@output <- rbind(energyUse@output, temp)
 
#############################
 
 
####!------------------------------------------------
 
objects.latest("Op_en2791", code_name = "initiate") # [[Emission factors for burning processes]]
 
####i------------------------------------------------
 
 
heatingEnergy <- EvalOutput(heatingEnergy)
 
 
################ Transport and fate
 
 
####!------------------------------------------------
 
iF <- Ovariable("iF", ddata = "Op_en3435", subset = "Intake fractions of PM")
 
# [[Exposure to PM2.5 in Finland]] Humbert et al 2011 data
 
####i------------------------------------------------
 
 
colnames(iF@data) <- gsub("[ \\.]", "_", colnames(iF@data))
 
iF@data$iFResult <- iF@data$iFResult * 1E-6
 
 
#################################
 
# Kolmas korjaus
 
# fuelShares:sta puuttuu Heating-Other lokaatio
 
# emissionLocations:sta puuttuu Heating-Oil,Other lokaatiot (myös "District heating")
 
# heatingEnergy:n Heating-District vastaa fuelShares:ssa jotain turvepohjaista tuotantoa
 
# emissions@formula:ssa yksi rivi bugaa
 
#################################
 
temp <- as.character(heatingEnergy@output$Heating)
 
temp[temp == "District"]  <- "District heating"
 
heatingEnergy@output$Heating <- temp
 
 
emissionLocations <- EvalOutput(emissionLocations)
 
#levels(emissionLocations@output$Building)[levels(emissionLocations@output$Building) == "Detached houses"] <- "Residential"
 
temp <- emissionLocations@output[emissionLocations@output$Heating == "District",]
 
temp$Heating <- "District heating"
 
emissionLocations@output <- rbind(emissionLocations@output, temp)
 
temp <- emissionLocations@output[emissionLocations@output$Heating == "Heating oil",]
 
temp$Heating <- "Oil"
 
emissionLocations@output <- rbind(emissionLocations@output, temp)
 
temp <- emissionLocations@output[emissionLocations@output$Heating == "Other sources",]
 
temp$Heating <- "Other"
 
emissionLocations@output <- rbind(emissionLocations@output, temp)
 
 
temp <- fuelShares@data[1,]
 
temp$Heating <- "Other"
 
temp$Burner <- "*"
 
temp$Fuel <- "*"
 
temp$Time <- "*"
 
temp$fuelSharesResult <- 0
 
fuelShares@data <- rbind(fuelShares@data, temp)
 
 
temp <- function(...){
 
out <- oapply(heatingEnergy, cols = c("Building", "Efficiency"), FUN = sum)
 
out <- out * fuelShares * emissionFactors * 3.6 * 1e-09
 
out <- unkeep(out * emissionLocations, sources = TRUE, prevresults = TRUE)
 
out@output$Emission_site <- as.factor(
 
ifelse(
 
out@output$Emission_site == "At site of consumption",
 
as.character(out@output$City_area),
 
as.character(out@output$Emission_site)
 
)
 
)
 
out <- oapply(out, cols = c("Burner", "City_area"), FUN = sum)
 
return(out)
 
}
 
#################################
 
 
emissions <- EvalOutput(emissions)
 
 
emissions@output$Time <- as.numeric(as.character(emissions@output$Time))
 
emissions@output$Time <- as.numeric(as.character(emissions@output$Time))
  
 
# Plot energy need and emissions
 
# Plot energy need and emissions
  
hea <- oapply(heatingEnergy * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum)
+
hea <- oapply(energyUse * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum)
 
hea <- truncateIndex(hea, cols = "Heating", bins = 4)@output
 
hea <- truncateIndex(hea, cols = "Heating", bins = 4)@output
#levels(hea$Heating)[levels(hea$Heating) == "Long-distance heating"] <- "District heating"
 
  
ggplot(hea, aes(x = Time, weight = heatingEnergyResult, fill = Heating)) + geom_bar(binwidth = 5) + # Tuplamuunnos *1e-6 pois
+
ggplot(hea, aes(x = Time, weight = energyUseResult, fill = Heating)) + geom_bar(binwidth = 5) + # Tuplamuunnos *1e-6 pois
facet_wrap( ~ RenovationPolicy) + theme_gray(base_size = BS) +
+
facet_wrap( ~ EnergySavingPolicy) + theme_gray(base_size = BS) +
 
labs(
 
labs(
 
title = "Energy used in heating in Helsinki",
 
title = "Energy used in heating in Helsinki",
Line 342: Line 304:
 
)
 
)
  
emis <- truncateIndex(emissions, cols = "Emission_site", bins = 5)@output
+
emis <- truncateIndex(emissions, cols = "Emission_site", bins = 5)@output
  
ggplot(subset(emis, EfficiencyPolicy == "BAU" & FuelPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Emission_site)) + geom_bar(binwidth = 5) +
+
ggplot(subset(emis, FuelPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Emission_site)) + geom_bar(binwidth = 5) +
facet_grid(Pollutant ~ RenovationPolicy, scale = "free_y") + theme_gray(base_size = BS) +
+
facet_grid(Pollutant ~ EnergySavingPolicy, scale = "free_y") + theme_gray(base_size = BS) +
labs(
+
labs(
title = "Emissions from heating in Helsinki",
+
title = "Emissions from heating in Helsinki",
x = "Time",
+
x = "Time",
y = "Emissions (ton /a)"
+
y = "Emissions (ton /a)"
)
+
)
  
ggplot(subset(emis, EfficiencyPolicy == "BAU" & RenovationPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Fuel)) + geom_bar(binwidth = 5) +
+
ggplot(subset(emissions@output, EnergySavingPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Fuel)) + geom_bar(binwidth = 5) +
 
facet_grid(Pollutant ~ FuelPolicy, scale = "free_y") + theme_gray(base_size = BS) +
 
facet_grid(Pollutant ~ FuelPolicy, scale = "free_y") + theme_gray(base_size = BS) +
 
labs(
 
labs(
Line 360: Line 322:
 
)
 
)
  
ggplot(subset(emis, EfficiencyPolicy == "BAU" & FuelPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Fuel)) + geom_bar(binwidth = 5) +
+
#ggplot(subset(emissions@output, EnergySavingPolicy == "BAU" & FuelPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Fuel)) + geom_bar(binwidth = 5) +
facet_grid(Pollutant ~ RenovationPolicy, scale = "free_y") + theme_gray(base_size = BS) +
+
# facet_grid(Pollutant ~ . , scale = "free_y") + theme_gray(base_size = BS) +
labs(
+
# labs(
title = "Emissions from heating in Helsinki",
+
# title = "Emissions from heating in Helsinki",
x = "Time",
+
# x = "Time",
y = "Emissions (ton /a)"
+
# y = "Emissions (ton /a)"
)
+
# )
 
 
###################### Health assessment
 
  
####!------------------------------------------------
+
ggplot(exposure@output, aes(x = Time, weight = exposureResult, fill = Heating)) + geom_bar(binwidth = 5) +
objects.latest('Op_en2261', code_name = 'initiate') # [[Health impact assessment]] dose, RR, totcases.
+
facet_grid(EnergySavingPolicy ~ FuelPolicy) + theme_gray(base_size = BS) +
objects.latest('Op_en5917', code_name = 'initiate') # [[Disease risk]] disincidence
 
directs <- tidy(opbase.data("Op_en5461", subset = "Direct inputs"), direction = "wide") # [[Climate change policies and health in Kuopio]]
 
####i------------------------------------------------
 
 
 
colnames(directs) <- gsub(" ", "_", colnames(directs))
 
 
 
### Use these population and iF values in health impact assessment. Why?
 
 
 
frexposed <- 1 # fraction of population that is exposed
 
bgexposure <- 0 # Background exposure to an agent (a level below which you cannot get in practice)
 
BW <- 70 # Body weight (is needed for RR calculations although it is irrelevant for PM2.5)
 
 
 
population <- 623732 # Contains only the Helsinki city, i.e. assumes no exposure outside city. (Wikipedia)
 
# Note: the population size does NOT affect the health impact as it cancels out. However, it DOES affect
 
# exposure estimates.
 
 
 
exposure <- EvalOutput(exposure)
 
 
 
ggplot(subset(exposure@output, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU" & FuelPolicy == "BAU"), aes(x = Time, weight = exposureResult, fill = Heating)) + geom_bar(binwidth = 5) + facet_grid(Area ~ Emission_height) + theme_gray(base_size = BS) +
 
 
labs(
 
labs(
 
title = "Exposure to PM2.5 from heating in Helsinki",
 
title = "Exposure to PM2.5 from heating in Helsinki",
Line 397: Line 338:
 
)
 
)
  
exposure@output <- exposure@output[exposure@output$Area == "Urban" , ] # Helsinki is an urban area,
+
ggplot(exposure@output, aes(x = Time, weight = exposureResult, fill = Fuel)) + geom_bar(binwidth = 5) +
# rather than rural or urban.
+
facet_grid(EnergySavingPolicy ~ FuelPolicy) + theme_gray(base_size = BS) +
 
 
ggplot(subset(exposure@output, EfficiencyPolicy == "BAU"), aes(x = Time, weight = exposureResult, fill = Heating)) + geom_bar(binwidth = 5) + facet_grid(FuelPolicy ~ RenovationPolicy) + theme_gray(base_size = BS) +
 
 
labs(
 
labs(
 
title = "Exposure to PM2.5 from heating in Helsinki",
 
title = "Exposure to PM2.5 from heating in Helsinki",
Line 407: Line 346:
 
)
 
)
  
totcases <- EvalOutput(totcases)
+
ggplot(subset(totcases@output, FuelPolicy == "BAU"), aes(x = Time, weight = totcasesResult, fill = Heating))+geom_bar(binwidth = 5) +  
#totcases@output$Time <- as.numeric(as.character(totcases@output$Time))
+
facet_grid(Response ~ EnergySavingPolicy) +
totcases <- oapply(totcases, cols = c("Age", "Sex"), FUN = sum)
 
 
 
totcases <- truncateIndex(totcases, cols = "Heating", bins = 5)
 
levels(totcases@output$Heating)[levels(totcases@output$Heating) == "Long-distance heating"] <- "District heating"
 
 
 
ggplot(subset(totcases@output, EfficiencyPolicy == "BAU" & FuelPolicy == "BAU"), aes(x = Time, weight = totcasesResult, fill = Heating))+geom_bar(binwidth = 5) +  
 
facet_grid(Trait ~ RenovationPolicy) +
 
 
theme_gray(base_size = BS) +
 
theme_gray(base_size = BS) +
 
labs(
 
labs(
Line 425: Line 357:
 
if(figstofile) ggsave("Figure8.eps", width = 11, height = 7)
 
if(figstofile) ggsave("Figure8.eps", width = 11, height = 7)
  
DW <- Ovariable("DW", data = data.frame(directs["Trait"], Result = directs$DW))
+
cat("Total DALYs/a by different combinations of policy options.\n")
L <- Ovariable("L", data = data.frame(directs["Trait"], Result = directs$L))
 
 
 
DALYs <- totcases * DW * L
 
 
 
#cat("Total DALYs/a by different combinations of policy options.\n")
 
  
 
temp <- DALYs
 
temp <- DALYs
 
temp@output <- subset(
 
temp@output <- subset(
 
temp@output,
 
temp@output,
as.character(Time) %in% c("2010", "2030") & Trait == "Total mortality"
+
as.character(Time) %in% c("2010", "2030") & Response == "Total mortality"
 
)
 
)
  
 
oprint(
 
oprint(
oapply(temp, INDEX = c("Time", "EfficiencyPolicy", "RenovationPolicy", "FuelPolicy"), FUN = sum),
+
oapply(temp, INDEX = c("Time", "EnergySavingPolicy", "FuelPolicy"), FUN = sum),
caption = "Table 1: Total DALYs/a by different combinations of policy options.",
+
caption = "Table 1: Total DALYs/a by different combinations of policy options.",
caption.placement = "top",
+
caption.placement = "top",
include.rownames = FALSE
+
include.rownames = FALSE
 
)
 
)
  
ggplot(subset(DALYs@output, FuelPolicy == "BAU" & Trait == "Total mortality"), aes(x = Time, weight = Result, fill = Heating))+geom_bar(binwidth = 5) +  
+
ggplot(subset(DALYs@output, Response == "Total mortality"), aes(x = Time, weight = DALYsResult, fill = Heating))+geom_bar(binwidth = 5) +  
facet_grid(EfficiencyPolicy ~ RenovationPolicy) +
+
facet_grid(EnergySavingPolicy ~ FuelPolicy) +
 
theme_gray(base_size = BS) +
 
theme_gray(base_size = BS) +
 
labs(
 
labs(
Line 454: Line 381:
 
)
 
)
  
ggplot(subset(DALYs@output, Time == 2030 & Trait == "Total mortality"), aes(x = FuelPolicy, weight = Result, fill = Heating))+geom_bar() +  
+
ggplot(subset(DALYs@output, Time == 2030), aes(x = FuelPolicy, weight = DALYsResult, fill = Heating))+geom_bar() +  
facet_grid(EfficiencyPolicy ~ RenovationPolicy) +
+
facet_grid(EnergySavingPolicy ~ Response) +
 
theme_gray(base_size = BS) +
 
theme_gray(base_size = BS) +
 
labs(
 
labs(
Line 463: Line 390:
 
)
 
)
  
koord <- tidy(opbase.data("Op_en7115", subset = "Locations of postal codes"))
+
koord <- opbase.data("Op_en7115", subset = "Locations of city areas")
colnames(koord) <- c("Emission_site", "X", "Y")
+
koord <- tidy(koord, widecol = "Location")
 +
colnames(koord)[colnames(koord) == "City_area"] <- "Emission_site"
 +
#colnames(koord)[colnames(koord) == "N"] <- "X"
 +
#colnames(koord)[colnames(koord) == "E"] <- "Y"
 
koord$Result <- 1
 
koord$Result <- 1
koord <- Ovariable("koord", output = koord, marginal = c(TRUE, TRUE, TRUE, FALSE))
+
koord <- Ovariable("koord", output = koord, marginal = colnames(koord) != "Result")
  
 
emis <- emissions * koord
 
emis <- emissions * koord
  
emis@output <- subset(emis@output, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU" & FuelPolicy == "BAU" & Pollutant == "PM2.5")
+
emis@output <- subset(emis@output, EnergySavingPolicy == "BAU" &  
emis <- oapply(emis, INDEX = c("Emission_site", "X", "Y"), FUN = sum)
+
FuelPolicy == "BAU" & Pollutant == "PM2.5")
 +
emis <- oapply(emis, INDEX = c("Emission_site", "N", "E"), FUN = sum)
  
 
MyRmap(
 
MyRmap(
ova2spat(
+
ova2spat(
emis,  
+
emis,  
coord = c("X", "Y"),  
+
coord = c("E", "N"),  
proj4string = "+init=epsg:21781"
+
proj4string = "+init=epsg:3067"
), # Swiss Land Survey uses CH1903
+
), # National Land Survey Finland uses ETRS89 / ETRS-TM35FIN
# http://spatialreference.org/ref/epsg/21782/
+
#http://spatialreference.org/ref/epsg/etrs89-etrs-tm35fin/
# http://en.wikipedia.org/wiki/Swiss_coordinate_system
+
plotvar = "Result",  
plotvar = "Result",  
+
legend_title = "PM2.5 emissions (ton/a)",  
legend_title = "PM2.5 emissions (ton/a)",  
+
numbins = 4,  
numbins = 4,  
+
pch = 19,  
pch = 19,  
+
cex = sqrt(result(emis)) * 3
cex = sqrt(result(emis)) * 3
 
 
)
 
)
 +
 
# Map saved manually to .eps with width = 1280, height = 960 px.
 
# Map saved manually to .eps with width = 1280, height = 960 px.
 
</rcode>
 
</rcode>
Line 492: Line 423:
  
 
{{attack|# |In the results the graph "Energy used in heating in Helsinki" shows a twice or thrice bigger energy use for Oil and Other than the table "Total energy consumption in Helsinki in 2013 (GWh)" on [[Helsinki energy consumption]] would suggest.|--[[User:Heta|Heta]] ([[User talk:Heta|talk]]) 08:18, 11 June 2015 (UTC)}}
 
{{attack|# |In the results the graph "Energy used in heating in Helsinki" shows a twice or thrice bigger energy use for Oil and Other than the table "Total energy consumption in Helsinki in 2013 (GWh)" on [[Helsinki energy consumption]] would suggest.|--[[User:Heta|Heta]] ([[User talk:Heta|talk]]) 08:18, 11 June 2015 (UTC)}}
 +
 +
{{attack|# |Effective floor area of buildings by building type -table on page [[Building stock in Helsinki]] has the current building stock at 7 million m2 more than the graphs in the result, and the future estimates are even more higher than the code result estimates|--[[User:Heta|Heta]] ([[User talk:Heta|talk]]) 10:49, 11 June 2015 (UTC)}}
  
 
== See also ==
 
== See also ==
Line 503: Line 436:
 
* [[Climate change policies in Kuopio]]
 
* [[Climate change policies in Kuopio]]
 
* [http://www.hri.fi/fi/dataset?sort=metadata_created+desc&q= Helsinki Region Infoshare]
 
* [http://www.hri.fi/fi/dataset?sort=metadata_created+desc&q= Helsinki Region Infoshare]
 +
  
 
=== Other variables and pages to look at ===
 
=== Other variables and pages to look at ===
Line 517: Line 451:
 
* {{#l:Housing stock in Helsinki metropolitan area.xls}}
 
* {{#l:Housing stock in Helsinki metropolitan area.xls}}
 
* {{#l:Parameters, gabi-model.xls}}
 
* {{#l:Parameters, gabi-model.xls}}
 
 
* [[Gabi 4.3 - life cycle assessment software]]
 
* [[Gabi 4.3 - life cycle assessment software]]
 +
* [http://energiaremontti2015.fi/mika-energiaremontti/ Energiaremontti]
 +
* [http://urn.fi/URN:NBN:fi:jyu-201402281297 Halme et al. 2014 Kasvua ja työllisyyttä uudella energiapolitiikalla]
 +
* [https://www.facebook.com/energiaremontti2015.fi?ref=br_rs Energiaremontti 2015] -Facebook-ryhmä
 +
* [https://www.facebook.com/groups/740342559331216/ Uusi energiapolitiikka] -Facebook-sivu
 +
* Helsingin Sanomat: [http://www.hs.fi/kaupunki/a1434082462141 Energiavallankumous horjuttaa Helsingin jättivoimala­hanketta – miljardin euron päätöstä saatetaan lykätä jälleen]
  
 
;Possibly useful variables
 
;Possibly useful variables

Latest revision as of 16:53, 11 January 2016



This assessment was used for training in Decision analysis and risk management 2015 course. To see student contributions, see a previous version.

Scope

Question

What is the energy need of buildings in Helsinki and the related greenhouse gas emissions and health impacts? How can these be affected by renovation of buildings and fuel changes in district heating?

Intended use and users

A problem in the climate policy practices in the City of Helsinki is that there is not enough information about different costs and impacts of different climate change mitigation measures, especially in the long term. This is slowing down the decision-making process. The results of this course will be used at the City of Helsinki Environment Centre to assess the outcomes of different ways to reduce GHG emissions. The results will help in identifying the most favourable ways to cut GHG emissions.

Participants

Boundaries

  • Time: 2010-2060
  • Spatial: the city of Helsinki

Decisions and scenarios

Energy saving policy: Relates to the shares of efficiency types when new buildings are built (ovariable efficiencyShares).

  • BAU: Business as usual, no change to the energy efficiency of buildings.
  • Energy saving moderate: No change to the energy efficiency of buildings.
  • Energy saving total: Starting from the year 2020 buildings are built to be more energy efficient. 25 percentage points of production shifts from low-energy buildings to passive buildings. Starting from the year 2040 another 10 percentage points of production shifts from low-energy to passive.

Fuel policy: Helen increases the share of wood-based biofuels used in Hanasaari and Salmisaari power plants to 40 % of fuels used. Both burn 40 % wood pellets and 60 % coal. (ovariable fuelShares)

  • BAU: Business and usual, both power plants continue burning only 5-10 % biofuel.
  • 40 bio: Shift to biofuels, starting from the year 2020 the share of wood-based fuels increase by 24 percentage points and coal's share decrease by the same amount.

Energy saving policy (ovariable renovationRate)

  • BAU: Business as usual, every year 1 % of all buildings over 30 years old are renovated to increase their energy efficiency.
  • Energy saving moderate: Increased energy renovation, every year 2 % of all buildings over 30 years old are renovated to increase their energy efficiency.
  • Energy saving total: Greatly increased energy renovation, every year 3 % of all buildings over 30 years old are renovated to increase their energy efficiency.


See also decisions in Climate change policies and health in Kuopio.



Timing

The data will be collected before the end of the Decision analysis and risk management 2015 course (12th May, 2015). The model runs will be finalised soon after that. Results will be available before September 2015.

Answer

Results

Conclusions

Rationale

Error creating thumbnail: Unable to save thumbnail to destination
Causal diagram of climate change policies in Helsinki. This assessment only relates to the building stock part of the diagram.

Stakeholders

  • City of Helsinki

Dependencies

Data files

Discussions

These are some resolutions of discussions within the assessment.

  • City level climate change mitigation is not useless although international treaties are important for success.D↷
  • Climate change adaptation is not more important than mitigation on city level.R↻
  • Citizens may have a key role in implementing city climate policies.D↷
  • Food issues are underrepresented in climate discussions although food is a major emission source.R↻
  • The role of district heating by nuclear energy in Helsinki is unclear.D↷
  • There may be large uncertainty in CO2 emission factors of biofuels.D↷

Analyses

Indices

The data will be classified according to these indices:

  • Building: Residential, Public, Industrial, Other. For separating different use purposes of buildings.
  • Constructed: Years of construction of the buildings in the format 1990-1999, 2000-2009, 2010-2013.
  • Heating: District, Electricity, Geothermal, Oil, Wood,

The results of each ovariable will be measuring these things:

  • buildings: total floor area in m2.

Calculations

+ Show code


# : In the results the graph "Energy used in heating in Helsinki" shows a twice or thrice bigger energy use for Oil and Other than the table "Total energy consumption in Helsinki in 2013 (GWh)" on Helsinki energy consumption would suggest. --Heta (talk) 08:18, 11 June 2015 (UTC)

# : Effective floor area of buildings by building type -table on page Building stock in Helsinki has the current building stock at 7 million m2 more than the graphs in the result, and the future estimates are even more higher than the code result estimates --Heta (talk) 10:49, 11 June 2015 (UTC)

See also

Other related assessments
Helsinki energy decision 2015
In English
Assessment Main page | Helsinki energy decision options 2015
Helsinki data Building stock in Helsinki | Helsinki energy production | Helsinki energy consumption | Energy use of buildings | Emission factors for burning processes | Prices of fuels in heat production | External cost
Models Building model | Energy balance | Health impact assessment | Economic impacts
Related assessments Climate change policies in Helsinki | Climate change policies and health in Kuopio | Climate change policies in Basel
In Finnish
Yhteenveto Helsingin energiapäätös 2015 | Helsingin energiapäätöksen vaihtoehdot 2015 | Helsingin energiapäätökseen liittyviä arvoja | Helsingin energiapäätös 2015.pptx


Other variables and pages to look at

Possibly useful variables
Almost empty pages that should be removed

Keywords

Helsinki, energy, building stock, heating, renovation.

References


Related files