Climate change policies in Basel: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(30 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{assessment|moderator=heta}} | ||
[[Category:Urgenche]] | [[Category:Urgenche]] | ||
[[Category:Climate change]] | [[Category:Climate change]] | ||
Line 5: | Line 5: | ||
==Question== | ==Question== | ||
What are plausible policies to the city of Basel to mitigate and adapt to climate change? | What are plausible policies to the city of Basel to mitigate and adapt to climate change? What are their climate and health impacts? | ||
==Answer== | ==Answer== | ||
<t2b index= | * [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=SY3LZ4RuO5f5Tq29 Full model run 23 Feb 2015] | ||
2| | ==Rationale== | ||
=== Dependencies === | |||
* [[Buildings in Basel]] | |||
* [[Exposure to PM2.5 in Finland]] | |||
* [[OpasnetUtils/Drafts]] | |||
* [[Energy use of buildings]] | |||
* [[Emission factors for burning processes]] | |||
* [[Building model]] | |||
* [[Health impact assessment]] | |||
* [[Disease risk]] | |||
* [[ERFs of environmental pollutants]] | |||
* [[Burden of disease in Finland]] | |||
* [[Climate change policies and health in Kuopio]] DALY weights etc | |||
===Decisions=== | |||
See also decisions in [[Climate change policies and health in Kuopio]]. | |||
<t2b index='Decision maker,Decision,Option,Variable,Cell,Change,Unit' obs='Amount' desc='Description' unit='-'> | |||
Builders|EfficiencyPolicy|BAU|efficiencyShares||Add||0| | |||
Builders|EfficiencyPolicy|Active efficiency|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:Passive;Time:2040,2050|Add|fraction|0.1| | |||
Builders|EfficiencyPolicy|Active efficiency|efficiencyShares|Efficiency:Low-energy;Time:2020,2030|Add|fraction|-0.25| | |||
Builders|EfficiencyPolicy|Active efficiency|efficiencyShares|Efficiency:Low-energy;Time:2040,2050|Add|fraction|-0.1| | |||
Basel district heating|FuelPolicy|BAU|fuelShares||Add||0| | |||
Basel district heating|FuelPolicy|Biofuel increase|fuelShares|Burner:Large fluidized bed;Fuel:Wood;Time:2020,2030,2040,2050|Add|fraction|0.2| | |||
Basel district heating|FuelPolicy|Biofuel increase|fuelShares|Burner:Large fluidized bed;Fuel:Gas;Time:2020,2030,2040,2050|Add|fraction|-0.2| | |||
Building owner|RenovationPolicy|BAU|renovationRate||Multiply|1 /a|1|Assumes BAU renovation rate = 1%/a for buildings >30 a old | |||
Building owner|RenovationPolicy|Active renovation|renovationRate||Multiply|1 /a|2| | |||
Building owner|RenovationPolicy|Total renovation|renovationRate||Multiply|1 /a|10|10%/a is 100 % in 10 a | |||
</t2b> | </t2b> | ||
A previous version of a decision table is here: | |||
{| {{prettytable}} | |||
! Policy | |||
! Target year | |||
! Comparison year | |||
! Sector | |||
! Target | |||
! Action | |||
! Description | |||
|---- | |||
| Renewable energy | |||
| | |||
| | |||
| Waterworks | |||
| 0.5 | |||
| Increase in use of renewable energy sources | |||
| 50% of the energy requirements for hot water must come from renewable sources in case of new buildings or renovations of heating systems. | |||
|---- | |||
| Renewable energy | |||
| | |||
| | |||
| Waterworks | |||
| 0 | |||
| BAU | |||
| The use of renewable energy sources doesn't change. | |||
|---- | |||
| Energy efficiency | |||
| | |||
| | |||
| Building | |||
| | |||
| New buildings are made energy efficient | |||
| Insulations of new buildings follow the requirements of whole Switzerland and new buildings must have a sunblind and thermal insulation for summer season. | |||
|---- | |||
| Energy efficiency | |||
| | |||
| | |||
| Building | |||
| | |||
| BAU | |||
| The energy efficiency of new buildings is not improved. | |||
|---- | |||
| Incentive levy | |||
| | |||
| | |||
| | |||
| 0.05 | |||
| 5% levy on electricity bills. | |||
| 5% Levy on each electricity bill for support (royalty) of modernising insulation of buildings (energy efficiency), renewable energy and pilot & demonstration buildings. | |||
|---- | |||
| Incentive levy | |||
| | |||
| | |||
| | |||
| 0 | |||
| BAU | |||
| There is no extra money for developing energy production and need. | |||
|---- | |||
| Steering tax | |||
| | |||
| | |||
| Taxation | |||
| | |||
| BAU | |||
| Mid 1990s the steering tax was introduced to the same amount as energy-prices reduction to avoid people wasting electricity. | |||
|---- | |||
| Solar power advancement | |||
| | |||
| | |||
| Energy production | |||
| | |||
| The increase of solar power in energy poduction. | |||
| Requires the regional energy supplier to accept an additional 2000 kWp of solar electricity annually at cost-covering prices and to feed this into its grid. | |||
|---- | |||
| Solar power advancement | |||
| | |||
| | |||
| Energy production | |||
| | |||
| BAU | |||
| No more solar power is used in energy production. | |||
|---- | |||
|} | |||
The strategy of Basel’s climate policy for GHG-reduction is predominantly an energy policy: | The strategy of Basel’s climate policy for GHG-reduction is predominantly an energy policy: | ||
Line 24: | Line 137: | ||
'''3.Save energy. Sufficiency.''' | '''3.Save energy. Sufficiency.''' | ||
=== Model === | |||
==== Model version 2 ==== | |||
:'' This model version was developed for the updated manuscript in July 2015. | |||
* [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=si4rRn4JngIgFXhH Model run 23.7.2015] corrected model seems to work. | |||
* [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=HmuC0taf9PfB18t4 Archived model version 23.7.2015.] Objects saved with objects.put. | |||
* [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=AOqn0FIvJu1Wxidg Archived model run 24.7.2015] This version was used for the manuscript. | |||
<rcode graphics=1 store=1> | |||
library(OpasnetUtils) | |||
library(ggplot2) | |||
library(maptools) | |||
library(RColorBrewer) | |||
library(classInt) | |||
#library(OpasnetUtilsExt) | |||
library(RgoogleMaps) | |||
### THIS CODE IS FROM PAGE [[Climate change policies in Basel]] (Op_en5480, code_name = "") | |||
########### TECHNICAL PARAMETERS | |||
openv.setN(0) # use medians instead of whole sampled distributions | |||
objects.latest("Op_en6007", code_name = "answer") # [[OpasnetUtils/Drafts]] findrest | |||
obstime <- Ovariable("obstime", data = data.frame(Obsyear = factor(seq(2010, 2050, 10), ordered = TRUE), Result = 1)) | |||
BS <- 24 # base_size for graph font | |||
figstofile <- FALSE | |||
saveobjects <- TRUE | |||
finnish <- FALSE | |||
suomenna <- function(ova) { | |||
if(class(ova) == "ovariable") out <- ova@output else out <- ova | |||
if("Heating" %in% colnames(out)) { | |||
out$Heating <- as.factor(out$Heating) | |||
levels(out$Heating)[levels(out$Heating) == "Long-distance heating"] <- "District" | |||
} | |||
if("Response" %in% colnames(out)) { | |||
out$Response <- as.factor(out$Response) | |||
levels(out$Response)[levels(out$Response) == "Cardiopulmonary mortality"] <- "Cardiopulmonary" | |||
} | |||
out$Time <- as.numeric(as.character(out$Time)) | |||
return(out) | |||
} | |||
###################### Decisions | |||
decisions <- opbase.data('Op_en5480') # [[Climate change policies in Basel]] | |||
DecisionTableParser(decisions) | |||
# Remove previous decisions, if any. | |||
forgetDecisions <- function() { | |||
for(i in ls(envir = openv)) { | |||
if("dec_check" %in% names(openv[[i]])) openv[[i]]$dec_check <- FALSE | |||
} | |||
return(cat("Decisions were forgotten.\n")) | |||
} | |||
forgetDecisions() | |||
############################ Submodels and data | |||
objects.latest("Op_en7044", code_name = "initiate") # [[Buildings in Basel]] | |||
# Contains stockBuildings, changeBuildings, emissionLocations, heatingShares, renovationRate, renovationShares | |||
objects.latest("Op_en6289", code_name = "buildingstest") # [[Building model]] # Generic building model. | |||
### Energy and emissions | |||
objects.latest("Op_en5488", code_name = "energyUseAnnual") # [[Energy use of buildings]] energyUse | |||
objects.latest("Op_en5488", code_name = "efficiencyShares") # [[Energy use of buildings]] | |||
objects.latest("Op_en2791", code_name = "emissionstest") # [[Emission factors for burning processes]] emissions | |||
objects.latest("Op_en2791", code_name = "emissionFactors") # [[Emission factors for burning processes]] | |||
objects.latest("Op_en7044", code_name = "fuelShares") # [[Buildings in Basel]] | |||
objects.latest("Op_en5141", code_name = "fuelUse") # [[Energy balance]] | |||
## Exposure and health assessment | |||
objects.latest("Op_en5813", code_name = "exposure") # [[Intake fractions of PM]] uses Humbert iF as default. | |||
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 <- 192000 # Contains only the Basel city, i.e. assumes no exposure outside city. | |||
# population <- 700000 # Contains the Basel metropolitan area, as that is exposed to PM2.5. | |||
# Note: the population size does NOT affect the health impact as it cancels out. However, it DOES affect | |||
# exposure estimates. | |||
######################## MODEL CALCULATIONS | |||
renovationRate <- EvalOutput(renovationRate) * 10 # Rates for 10-year periods | |||
renovationShares <- EvalOutput(renovationShares) | |||
stockBuildings <- EvalOutput(stockBuildings) | |||
changeBuildings <- EvalOutput(changeBuildings) | |||
buildings <- EvalOutput(buildings) | |||
buildings@output$RenovationPolicy <- factor( | |||
buildings@output$RenovationPolicy, | |||
levels = c("BAU", "Active renovation", "Total renovation"), | |||
ordered = TRUE | |||
) | |||
buildings@output$EfficiencyPolicy <- factor( | |||
buildings@output$EfficiencyPolicy, | |||
levels = c("BAU", "Active efficiency"), | |||
ordered = TRUE | |||
) | |||
energyUse <- EvalOutput(energyUse) | |||
fuelUse <- EvalOutput(fuelUse) | |||
fuelUse <- fuelUse * 1E-3 *3600 # kWh -> MJ | |||
emissions <- EvalOutput(emissions) | |||
emissions@output$Time <- as.numeric(as.character(emissions@output$Time)) | |||
exposure <- EvalOutput(exposure) | |||
exposure@output <- exposure@output[exposure@output$Area == "Urban" , ] # Basel is an urban area, | |||
# rather than rural or average. | |||
totcases <- EvalOutput(totcases) | |||
totcases@output$Time <- as.numeric(as.character(totcases@output$Time)) | |||
totcases <- oapply(totcases, cols = c("Age", "Sex"), FUN = sum) | |||
DALYs <- EvalOutput(DALYs) | |||
############## OUTPUT GRAPHS AND TABLES | |||
bui <- oapply(buildings * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum) | |||
bui <- suomenna(truncateIndex(bui, cols = "Heating", bins = 3)) | |||
ggplot(subset(bui, EfficiencyPolicy == "BAU" & RenovationPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Heating)) + geom_bar(binwidth = 5) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel by heating", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
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) + | |||
facet_grid(. ~ RenovationPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel by renovation policy", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
ggplot(subset(bui, RenovationPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Efficiency)) + geom_bar(binwidth = 5) + | |||
facet_grid(. ~ EfficiencyPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel by efficiency policy", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
ggplot(subset(bui, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Heating)) + geom_bar(binwidth = 5) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
ggplot(subset(bui, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Building)) + geom_bar(binwidth = 5) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
# Plot energy need and emissions | |||
hea <- oapply(energyUse * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum) | |||
hea <- suomenna(truncateIndex(hea, cols = "Heating", bins = 3)) | |||
ggplot(hea, aes(x = Time, weight = energyUseResult, fill = Heating)) + geom_bar(binwidth = 5) + | |||
facet_wrap( ~ RenovationPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Energy used in heating in Basel", | |||
x = "Time", | |||
y = "Heating energy (GWh /a)" | |||
) | |||
emis <- suomenna(truncateIndex(emissions, cols = "Emission_site", bins = 5)) | |||
ggplot(subset(emis, EfficiencyPolicy == "BAU" & 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) + | |||
labs( | |||
title = "Emissions from heating in Basel", | |||
x = "Time", | |||
y = "Emissions (ton /a)" | |||
) | |||
ggplot(subset(emis, EfficiencyPolicy == "BAU" & RenovationPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Fuel)) + geom_bar(binwidth = 5) + | |||
facet_grid(Pollutant ~ FuelPolicy, scale = "free_y") + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Emissions from heating in Basel", | |||
x = "Time", | |||
y = "Emissions (ton /a)" | |||
) | |||
ggplot(subset(emis, EfficiencyPolicy == "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) + | |||
labs( | |||
title = "Emissions from heating in Basel", | |||
x = "Time", | |||
y = "Emissions (ton /a)" | |||
) | |||
expo <- suomenna(exposure) | |||
ggplot(subset(expo, 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( | |||
title = "Exposure to PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Average PM2.5 (µg/m3)" | |||
) | |||
ggplot(subset(expo, EfficiencyPolicy == "BAU"), aes(x = Time, weight = exposureResult, fill = Heating)) + geom_bar(binwidth = 5) + facet_grid(FuelPolicy ~ RenovationPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Exposure to PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Average PM2.5 (µg/m3)" | |||
) | |||
cases <- suomenna(truncateIndex(totcases, cols = "Heating", bins = 3)) | |||
ggplot(subset(cases, EfficiencyPolicy == "BAU" & FuelPolicy == "BAU"), aes(x = Time, weight = totcasesResult, fill = Heating))+geom_bar(binwidth = 5) + | |||
facet_grid(Response ~ RenovationPolicy) + | |||
scale_x_continuous(breaks = c(2010, 2030, 2050)) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Health effects of PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Health effects (deaths /a)" | |||
) | |||
if(figstofile) ggsave("Figure8.eps", width = 11, height = 7) | |||
cat("Total DALYs/a by different combinations of policy options.\n") | |||
dal <- suomenna(DALYs) | |||
dal <- subset(dal, Response == "Total mortality") | |||
oprint(aggregate(dal["DALYsResult"], by = dal[c("Time", "EfficiencyPolicy", "RenovationPolicy", "FuelPolicy")], FUN = sum)) | |||
ggplot(subset(dal, FuelPolicy == "BAU"), aes(x = Time, weight = DALYsResult, fill = Heating))+geom_bar(binwidth = 5) + | |||
facet_grid(EfficiencyPolicy ~ RenovationPolicy) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Health effects in DALYs of PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Health effects (DALY /a)" | |||
) | |||
ggplot(subset(dal, Time == 2030), aes(x = FuelPolicy, weight = DALYsResult, fill = Heating))+geom_bar() + | |||
facet_grid(EfficiencyPolicy ~ RenovationPolicy) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Health effects in DALYs of PM2.5 from heating in Basel 2030", | |||
x = "Biofuel policy in district heating", | |||
y = "Health effects (DALY /a)" | |||
) | |||
if(TRUE) { | |||
koord <- tidy(opbase.data("Op_en7044", subset = "Locations of postal codes")) | |||
colnames(koord) <- c("Emission_site", "X", "Y") | |||
koord$Result <- 1 | |||
koord <- Ovariable("koord", output = koord, marginal = c(TRUE, TRUE, TRUE, FALSE)) | |||
emis <- emissions * koord | |||
emis@output <- subset(emis@output, | |||
RenovationPolicy == "BAU" & | |||
EfficiencyPolicy == "BAU" & | |||
FuelPolicy == "BAU" & | |||
Pollutant == "PM2.5" & | |||
Time == "2020" | |||
) | |||
emis <- oapply(emis, INDEX = c("Emission_site", "X", "Y"), FUN = sum) | |||
MyRmap( | |||
ova2spat( | |||
emis, | |||
coord = c("X", "Y"), | |||
proj4string = "+init=epsg:21781" | |||
), # Swiss Land Survey uses CH1903 | |||
# http://spatialreference.org/ref/epsg/21782/ | |||
# http://en.wikipedia.org/wiki/Swiss_coordinate_system | |||
plotvar = "Result", | |||
legend_title = "PM2.5 emissions (ton/a)", | |||
numbins = 4, | |||
pch = 19, | |||
cex = sqrt(result(emis)) * 3 | |||
) | |||
# Map saved manually to .eps with width = 1280, height = 960 px. | |||
} | |||
if(saveobjects) { | |||
objects.put(list = ls()) | |||
cat(c("All objects archived. Write down the key of the run to retrieve them with objects.get. Objects: ", | |||
ls(), "\n")) | |||
} | |||
</rcode> | |||
==== Model version 1 ==== | |||
:''This model version was used for the original manuscript in spring 2015. | |||
* [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=Ds8RSEA1u5NfBNSc Corrected run 10th March 2015] | |||
<rcode graphics=1 store=0> | |||
library(OpasnetUtils) | |||
library(ggplot2) | |||
library(maptools) | |||
library(RColorBrewer) | |||
library(classInt) | |||
#library(OpasnetUtilsExt) | |||
library(RgoogleMaps) | |||
### THIS CODE IS FROM PAGE [[Climate change policies in Basel]] (Op_en5480, code_name = "") | |||
openv.setN(0) # use medians instead of whole sampled distributions | |||
#####!--------------------------------------------- | |||
objects.latest("Op_en6007", code_name = "answer") # [[OpasnetUtils/Drafts]] findrest | |||
#####i--------------------------------------------- | |||
obstime <- data.frame(Startyear = c(2010, 2030)) # Observation years must be defined for an assessment. | |||
BS <- 24 | |||
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)? | |||
dummy <- 1 | |||
figstofile <- FALSE | |||
###################### Decisions | |||
decisions <- opbase.data('Op_en5480') # [[Climate change policies in Basel]] | |||
DecisionTableParser(decisions) | |||
# Remove previous decisions, if any. | |||
rm( | |||
"buildings", | |||
"stockBuildings", | |||
"changeBuildings", | |||
"efficiencyShares", | |||
"energyUse", | |||
"heatingShares", | |||
"renovationShares", | |||
"renovationRate", | |||
"fuelShares", | |||
envir = openv | |||
) | |||
############################ City-specific data | |||
####!------------------------------------------------ | |||
objects.latest("Op_en7044", code_name = "initiate") # [[Buildings in Basel]] | |||
####i------------------------------------------------ | |||
renovationRate <- EvalOutput(renovationRate) * 20 # Rates for 20-year periods | |||
#################### Energy use (needed for buildings submodel) | |||
####!------------------------------------------------ | |||
objects.latest("Op_en5488", code_name = "initiate") # [[Energy use of buildings]] | |||
####i------------------------------------------------ | |||
###################### Actual building model | |||
# The building stock is measured as m^2 floor area. | |||
####!------------------------------------------------ | |||
objects.latest("Op_en6289", code_name = "initiate") # [[Building model]] # Generic building model. | |||
####i------------------------------------------------ | |||
buildings <- EvalOutput(buildings) | |||
buildings@output$RenovationPolicy <- factor( | |||
buildings@output$RenovationPolicy, | |||
levels = c("BAU", "Active renovation", "Total renovation"), | |||
ordered = TRUE | |||
) | |||
buildings@output$EfficiencyPolicy <- factor( | |||
buildings@output$EfficiencyPolicy, | |||
levels = c("BAU", "Active efficiency"), | |||
ordered = TRUE | |||
) | |||
bui <- oapply(buildings * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum) | |||
bui <- truncateIndex(bui, cols = "Heating", bins = 4)@output | |||
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) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel by heating", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
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) + | |||
facet_grid(. ~ RenovationPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel by renovation policy", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
ggplot(subset(bui, RenovationPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Efficiency)) + geom_bar(binwidth = 5) + | |||
facet_grid(. ~ EfficiencyPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel by efficiency policy", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
ggplot(subset(bui, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Heating)) + geom_bar(binwidth = 5) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
ggplot(subset(bui, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU"), aes(x = Time, weight = buildingsResult, fill = Building)) + geom_bar(binwidth = 5) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Building stock in Basel", | |||
x = "Time", | |||
y = "Floor area (M m2)" | |||
) | |||
###################### Energy and emissions | |||
####!------------------------------------------------ | |||
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 | |||
emissions <- EvalOutput(emissions) | |||
emissions@output$Time <- as.numeric(as.character(emissions@output$Time)) | |||
# Plot energy need and emissions | |||
hea <- oapply(heatingEnergy * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum) | |||
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 * 1E-6, fill = Heating)) + geom_bar(binwidth = 5) + | |||
facet_wrap( ~ RenovationPolicy) + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Energy used in heating in Basel", | |||
x = "Time", | |||
y = "Heating energy (GWh /a)" | |||
) | |||
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) + | |||
facet_grid(Pollutant ~ RenovationPolicy, scale = "free_y") + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Emissions from heating in Basel", | |||
x = "Time", | |||
y = "Emissions (ton /a)" | |||
) | |||
ggplot(subset(emis, EfficiencyPolicy == "BAU" & RenovationPolicy == "BAU"), aes(x = Time, weight = emissionsResult, fill = Fuel)) + geom_bar(binwidth = 5) + | |||
facet_grid(Pollutant ~ FuelPolicy, scale = "free_y") + theme_gray(base_size = BS) + | |||
labs( | |||
title = "Emissions from heating in Basel", | |||
x = "Time", | |||
y = "Emissions (ton /a)" | |||
) | |||
ggplot(subset(emis, EfficiencyPolicy == "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) + | |||
labs( | |||
title = "Emissions from heating in Basel", | |||
x = "Time", | |||
y = "Emissions (ton /a)" | |||
) | |||
###################### Health assessment | |||
####!------------------------------------------------ | |||
objects.latest('Op_en2261', code_name = 'initiate') # [[Health impact assessment]] dose, RR, totcases. | |||
objects.latest('Op_en5917', code_name = 'initiate') # [[Disease risk]] disincidence | |||
objects.latest('Op_en5827', code_name = 'initiate') # [[ERFs of environmental pollutants]] ERF, threshold | |||
#objects.latest('Op_en5453', code_name = 'initiate') # [[Burden of disease in Finland]] BoD | |||
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 <- 192000 # Contains only the Basel city, i.e. assumes no exposure outside city. | |||
# population <- 700000 # Contains the Basel metropolitan area, as that is exposed to PM2.5. | |||
# 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( | |||
title = "Exposure to PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Average PM2.5 (µg/m3)" | |||
) | |||
exposure@output <- exposure@output[exposure@output$Area == "Urban" , ] # Basel is an urban area, | |||
# rather than rural or urban. | |||
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( | |||
title = "Exposure to PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Average PM2.5 (µg/m3)" | |||
) | |||
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) | |||
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) + | |||
labs( | |||
title = "Health effects of PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Health effects (deaths /a)" | |||
) | |||
if(figstofile) ggsave("Figure8.eps", width = 11, height = 7) | |||
DW <- Ovariable("DW", data = data.frame(directs["Trait"], Result = directs$DW)) | |||
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@output <- subset( | |||
temp@output, | |||
as.character(Time) %in% c("2010", "2030") & Trait == "Total mortality" | |||
) | |||
oprint(oapply(temp, INDEX = c("Time", "EfficiencyPolicy", "RenovationPolicy", "FuelPolicy"), FUN = sum)) | |||
ggplot(subset(DALYs@output, FuelPolicy == "BAU" & Trait == "Total mortality"), aes(x = Time, weight = Result, fill = Heating))+geom_bar(binwidth = 5) + | |||
facet_grid(EfficiencyPolicy ~ RenovationPolicy) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Health effects in DALYs of PM2.5 from heating in Basel", | |||
x = "Time", | |||
y = "Health effects (DALY /a)" | |||
) | |||
ggplot(subset(DALYs@output, Time == 2030 & Trait == "Total mortality"), aes(x = FuelPolicy, weight = Result, fill = Heating))+geom_bar() + | |||
facet_grid(EfficiencyPolicy ~ RenovationPolicy) + | |||
theme_gray(base_size = BS) + | |||
labs( | |||
title = "Health effects in DALYs of PM2.5 from heating in Basel 2030", | |||
x = "Biofuel policy in district heating", | |||
y = "Health effects (DALY /a)" | |||
) | |||
koord <- tidy(opbase.data("Op_en7044", subset = "Locations of postal codes")) | |||
colnames(koord) <- c("Emission_site", "X", "Y") | |||
koord$Result <- 1 | |||
koord <- Ovariable("koord", output = koord, marginal = c(TRUE, TRUE, TRUE, FALSE)) | |||
emis <- emissions * koord | |||
emis@output <- subset(emis@output, RenovationPolicy == "BAU" & EfficiencyPolicy == "BAU" & FuelPolicy == "BAU" & Pollutant == "PM2.5") | |||
emis <- oapply(emis, INDEX = c("Emission_site", "X", "Y"), FUN = sum) | |||
MyRmap( | |||
ova2spat( | |||
emis, | |||
coord = c("X", "Y"), | |||
proj4string = "+init=epsg:21781" | |||
), # Swiss Land Survey uses CH1903 | |||
# http://spatialreference.org/ref/epsg/21782/ | |||
# http://en.wikipedia.org/wiki/Swiss_coordinate_system | |||
plotvar = "Result", | |||
legend_title = "PM2.5 emissions (ton/a)", | |||
numbins = 4, | |||
pch = 19, | |||
cex = sqrt(result(emis)) * 3 | |||
) | |||
# Map saved manually to .eps with width = 1280, height = 960 px. | |||
</rcode> | |||
===5 pillars of Basel-City’s energy policy=== | ===5 pillars of Basel-City’s energy policy=== | ||
'''1. Conventional law | |||
*Buildings: | *Buildings: | ||
**Most stringent requirements in whole Switzerland regarding the insulation of new building (wall, roof, windows). | **Most stringent requirements in whole Switzerland regarding the insulation of new building (wall, roof, windows). | ||
Line 36: | Line 763: | ||
**etc. | **etc. | ||
'''2. An incentive levy | |||
*5% Levy on each electricity bill for support (royalty) of: | *5% Levy on each electricity bill for support (royalty) of: | ||
**Modernising insulation of buildings (energy efficiency) | **Modernising insulation of buildings (energy efficiency) | ||
Line 42: | Line 770: | ||
**Pilot & Demonstration Buildings | **Pilot & Demonstration Buildings | ||
''' 3. A steering tax on electricity | |||
*Mid 1990s the steering tax was introduced to the same amount as energy-prices reduction to avoid people wasting electricity | *Mid 1990s the steering tax was introduced to the same amount as energy-prices reduction to avoid people wasting electricity | ||
*The revenue is paid back; household-bonus & company-bonus | *The revenue is paid back; household-bonus & company-bonus | ||
''' 4.Advancement in solar power | |||
*Requires the regional energy supplier to accept an additional 2000 kWp of solar electricity annually at cost-covering prices and to feed this into its grid. | *Requires the regional energy supplier to accept an additional 2000 kWp of solar electricity annually at cost-covering prices and to feed this into its grid. | ||
''' 5. 2000-Watt-Society and Partnerships | |||
*A Project by the Canton of Basel-City and Novatlantis | *A Project by the Canton of Basel-City and Novatlantis | ||
*Main focus of the 2000-watt-society: | *Main focus of the 2000-watt-society: | ||
Line 71: | Line 802: | ||
***Minergy Standard (shell) for renovation-buildings | ***Minergy Standard (shell) for renovation-buildings | ||
===Air pollution control with influence on GHG-reduction | === Other policies === | ||
'''Air pollution control with influence on GHG-reduction | |||
Most important political instrument: | Most important political instrument: | ||
*Clean air regulation of Switzerland | *Clean air regulation of Switzerland | ||
*Clean air plan of Basel-City and Country | *Clean air plan of Basel-City and Country | ||
'''Clean air plan of Basel-city and country | |||
Expamples with influence on GHG-reduction in target traffic: | Expamples with influence on GHG-reduction in target traffic: | ||
*Ecological motor vehicle tax | *Ecological motor vehicle tax | ||
Line 84: | Line 819: | ||
*Regulations and limitations in prestressed air polluted city quarters | *Regulations and limitations in prestressed air polluted city quarters | ||
'''Infrastructure enhancing climate policy of Basel | |||
*Waste incinerator | *Waste incinerator | ||
**Integrated into the district heating. Function as a thermic power plant: 200,000 tons of waste supply our city with the power the equivalent of about 50,000 tons of oil. | **Integrated into the district heating. Function as a thermic power plant: 200,000 tons of waste supply our city with the power the equivalent of about 50,000 tons of oil. | ||
Line 101: | Line 837: | ||
**Basel is not allowed to consume nuclear power because due to law | **Basel is not allowed to consume nuclear power because due to law | ||
'''Most important shifts of climate change which are expected in Switzerland till 2050 | |||
*In winter, fall and springtime temperature will increase around 2°C in summer around 3°C | *In winter, fall and springtime temperature will increase around 2°C in summer around 3°C | ||
*Decrease of Rainfall in summer of 20% and increase of 10% in winter | *Decrease of Rainfall in summer of 20% and increase of 10% in winter | ||
*Generally more heatwaves, dry periods, strong rainfalls and floods | *Generally more heatwaves, dry periods, strong rainfalls and floods | ||
'''The Canton Basel-Stadt is most affected by: | |||
*Heat wave hot-spot-effects in the City (“heat-island”) | *Heat wave hot-spot-effects in the City (“heat-island”) | ||
*Rising ground-water temperatures, which decreases the possibility to use ground-water only for cooling-process. | *Rising ground-water temperatures, which decreases the possibility to use ground-water only for cooling-process. | ||
Line 114: | Line 852: | ||
{{Urgenche}} | {{Urgenche}} | ||
* [http://www.plumbingconnection.com.au/article/basel-hot-city Basel's district heating system] | |||
** [http://www.endswasteandbioenergy.com/article/1326042/iwb-plans-second-basel-biomass-fired-chp-facility A 2014 plan to build a new biomass-based CHP plant in Basel] | |||
==Key words== | ==Key words== |
Latest revision as of 16:52, 11 January 2016
Moderator:heta (see all) |
|
Upload data
|
Question
What are plausible policies to the city of Basel to mitigate and adapt to climate change? What are their climate and health impacts?
Answer
Rationale
Dependencies
- Buildings in Basel
- Exposure to PM2.5 in Finland
- OpasnetUtils/Drafts
- Energy use of buildings
- Emission factors for burning processes
- Building model
- Health impact assessment
- Disease risk
- ERFs of environmental pollutants
- Burden of disease in Finland
- Climate change policies and health in Kuopio DALY weights etc
Decisions
See also decisions in Climate change policies and health in Kuopio.
Obs | Decision maker | Decision | Option | Variable | Cell | Change | Unit | Amount | Description |
---|---|---|---|---|---|---|---|---|---|
1 | Builders | EfficiencyPolicy | BAU | efficiencyShares | Add | 0 | |||
2 | Builders | EfficiencyPolicy | Active efficiency | efficiencyShares | Efficiency:Passive;Time:2020,2030 | Add | fraction | 0.25 | All input must be given in units that are used in respective ovariables. |
3 | Builders | EfficiencyPolicy | Active efficiency | efficiencyShares | Efficiency:Passive;Time:2040,2050 | Add | fraction | 0.1 | |
4 | Builders | EfficiencyPolicy | Active efficiency | efficiencyShares | Efficiency:Low-energy;Time:2020,2030 | Add | fraction | -0.25 | |
5 | Builders | EfficiencyPolicy | Active efficiency | efficiencyShares | Efficiency:Low-energy;Time:2040,2050 | Add | fraction | -0.1 | |
6 | Basel district heating | FuelPolicy | BAU | fuelShares | Add | 0 | |||
7 | Basel district heating | FuelPolicy | Biofuel increase | fuelShares | Burner:Large fluidized bed;Fuel:Wood;Time:2020,2030,2040,2050 | Add | fraction | 0.2 | |
8 | Basel district heating | FuelPolicy | Biofuel increase | fuelShares | Burner:Large fluidized bed;Fuel:Gas;Time:2020,2030,2040,2050 | Add | fraction | -0.2 | |
9 | Building owner | RenovationPolicy | BAU | renovationRate | Multiply | 1 /a | 1 | Assumes BAU renovation rate = 1%/a for buildings >30 a old | |
10 | Building owner | RenovationPolicy | Active renovation | renovationRate | Multiply | 1 /a | 2 | ||
11 | Building owner | RenovationPolicy | Total renovation | renovationRate | Multiply | 1 /a | 10 | 10%/a is 100 % in 10 a |
A previous version of a decision table is here:
Policy | Target year | Comparison year | Sector | Target | Action | Description |
---|---|---|---|---|---|---|
Renewable energy | Waterworks | 0.5 | Increase in use of renewable energy sources | 50% of the energy requirements for hot water must come from renewable sources in case of new buildings or renovations of heating systems. | ||
Renewable energy | Waterworks | 0 | BAU | The use of renewable energy sources doesn't change. | ||
Energy efficiency | Building | New buildings are made energy efficient | Insulations of new buildings follow the requirements of whole Switzerland and new buildings must have a sunblind and thermal insulation for summer season. | |||
Energy efficiency | Building | BAU | The energy efficiency of new buildings is not improved. | |||
Incentive levy | 0.05 | 5% levy on electricity bills. | 5% Levy on each electricity bill for support (royalty) of modernising insulation of buildings (energy efficiency), renewable energy and pilot & demonstration buildings. | |||
Incentive levy | 0 | BAU | There is no extra money for developing energy production and need. | |||
Steering tax | Taxation | BAU | Mid 1990s the steering tax was introduced to the same amount as energy-prices reduction to avoid people wasting electricity. | |||
Solar power advancement | Energy production | The increase of solar power in energy poduction. | Requires the regional energy supplier to accept an additional 2000 kWp of solar electricity annually at cost-covering prices and to feed this into its grid. | |||
Solar power advancement | Energy production | BAU | No more solar power is used in energy production. |
The strategy of Basel’s climate policy for GHG-reduction is predominantly an energy policy:
1.Use energy efficiently.
2.Advocate renewable energy.
3.Save energy. Sufficiency.
Model
Model version 2
- This model version was developed for the updated manuscript in July 2015.
- Model run 23.7.2015 corrected model seems to work.
- Archived model version 23.7.2015. Objects saved with objects.put.
- Archived model run 24.7.2015 This version was used for the manuscript.
Model version 1
- This model version was used for the original manuscript in spring 2015.
5 pillars of Basel-City’s energy policy
1. Conventional law
- Buildings:
- Most stringent requirements in whole Switzerland regarding the insulation of new building (wall, roof, windows).
- 50% of the energy requirements for hot water must come from renewable sources in case of new buildings or renovations of heating systems
- New buildings must have a sunblind and thermal insulation for summer season
- Industry:
- Large-scale electricity consumer in industry can be ask to do a safe-energy-analyse and do some ameliorations.
- etc.
2. An incentive levy
- 5% Levy on each electricity bill for support (royalty) of:
- Modernising insulation of buildings (energy efficiency)
- Renewable energy
- Pilot & Demonstration Buildings
3. A steering tax on electricity
- Mid 1990s the steering tax was introduced to the same amount as energy-prices reduction to avoid people wasting electricity
- The revenue is paid back; household-bonus & company-bonus
4.Advancement in solar power
- Requires the regional energy supplier to accept an additional 2000 kWp of solar electricity annually at cost-covering prices and to feed this into its grid.
5. 2000-Watt-Society and Partnerships
- A Project by the Canton of Basel-City and Novatlantis
- Main focus of the 2000-watt-society:
- buildings
- mobility
- “Near Zero Emission Vehicle"
- “Clean Engine Vehicle“
- Hydrogen-Driven Municipal Vehicle (hy.muve); a oxygen road sweeping vehicle
- 100 ecological biogas taxis
- e-mobility
- Testing e-mobility
- event packet for companies
- carefree packet for companies and administration
- e-sharing for private persons
- Development strategy for e-bikes
- Energy-tours www.energy-tours.bs.ch
- urban development
- carbon neutral administration
- Effect as a prototype (paradigm)
- Minergy P-Standard (shell and technical facilities) for new construction-buildings
- Minergy Standard (shell) for renovation-buildings
Other policies
Air pollution control with influence on GHG-reduction
Most important political instrument:
- Clean air regulation of Switzerland
- Clean air plan of Basel-City and Country
Clean air plan of Basel-city and country
Expamples with influence on GHG-reduction in target traffic:
- Ecological motor vehicle tax
- Tightening commercial control over parking space
- Mobility management and agglomeration program (urban planning)
- Public intensive infrastructures are obligated to decrease their traffic intensity
- Regulations and limitations in prestressed air polluted city quarters
Infrastructure enhancing climate policy of Basel
- Waste incinerator
- Integrated into the district heating. Function as a thermic power plant: 200,000 tons of waste supply our city with the power the equivalent of about 50,000 tons of oil.
- Equipped with the most effective smoke exhaust filter systems
- Wood-fire power station
- Integrated into the district heating. Function as a thermic power plant.
- Substitutes about 11‘000 tons of oil
- Aquifere of the community Riehen*
- A geothermal power station with deepgroundwater of 66 °C connected together with the block heat and power plant into the community heating of Riehen.
- Deep heat mining project
- This project had to be stopped unfortunately because the drillings have caused an earthquake on 2006.
- Electricity by the IWB
- Electricity in Basel is 100% renewable.
- 99 % is hydraulic energy.
- The rest is solar energy or wind power.
- Basel is not allowed to consume nuclear power because due to law
Most important shifts of climate change which are expected in Switzerland till 2050
- In winter, fall and springtime temperature will increase around 2°C in summer around 3°C
- Decrease of Rainfall in summer of 20% and increase of 10% in winter
- Generally more heatwaves, dry periods, strong rainfalls and floods
The Canton Basel-Stadt is most affected by:
- Heat wave hot-spot-effects in the City (“heat-island”)
- Rising ground-water temperatures, which decreases the possibility to use ground-water only for cooling-process.
- Rising temperatures of the river Rhein during heat-waves, which results that industry is not possible to cool their production-process with Rhein water (fish kill).
See also
Key words
The climate change, Politics, Basel, Urgenche