Building model: Difference between revisions

From Opasnet
Jump to navigation Jump to search
Line 31: Line 31:
"renovationShares", # Fraction of renovation type when renovation is done.
"renovationShares", # Fraction of renovation type when renovation is done.
"renovation", # Percentage of renovations per year
"renovation", # Percentage of renovations per year
"year" # A dummy variable to combine time periods to numerical time axis.
"eventyear" # A dummy variable to combine time periods to numerical time axis.
)),
)),
formula = function(...) {
formula = function(...) {
# Current building stock
# Current building stock
Now <- buildingStock * heatingShares * efficiencies * year
Now <- buildingStock * heatingShares * efficiencies * eventyear
# Construction in ten years multiplied by fraction of energy classes and heating types.
# Construction in ten years multiplied by fraction of energy classes and heating types.
New <- construction * 10 * efficienciesNew * buildingTypes * heatingSharesNew * year
New <- construction * 10 * efficienciesNew * buildingTypes * heatingSharesNew * eventyear
out <- EvalOutput(Ovariable("out", data = orbind(Now, New)))
out <- EvalOutput(Ovariable("out", data = orbind(Now, New)))
out <- unkeep(out, cols = "Building2", sources = TRUE, prevresults = TRUE)
out <- unkeep(out, cols = "Building2", sources = TRUE, prevresults = TRUE)
# All source indices can be unkept, because each has only one location.
# All source indices can be unkept, because each has only one location.
buildings <- oapply(buildings, cols = c("Constructed", "Renovationyear", "Age"), FUN = "sum", na.rm = TRUE)
buildings@output$Year <- as.numeric(levels(buildings@output$Year)[buildings@output$Year])
# tapply (and therefore oapply) changes continuous indices to factors! Must change back by hand.
buildings@output <- buildings@output[!is.na(result(buildings)) , ]
colnames(buildings@output)[colnames(buildings@output) == "City area"] <- "City.area"


renovationyear <- Ovariable("renovationyear", data = data.frame(
renovationyear <- Ovariable("renovationyear", data = data.frame(
Renovationyear = (201:205) * 10,
Renovationyear = c(2010, 2020, 2030, 2040, 2050),
Age = NA,
Age = NA,
Result = 1
Result = 1
Line 57: Line 51:
temp <- out * renovationyear # temp is the building stock repeated for every potential renovation decade.
temp <- out * renovationyear # temp is the building stock repeated for every potential renovation decade.
temp@output$Age <- temp@output$Renovationyear - temp@output$Year
temp@output$Age <- temp@output$Renovationyear - temp@output$Eventyear


# Floor area of renovations in ten years. Combine with continuous index Age.
# Floor area of renovations in ten years. Combine with continuous index Age.
renovations <- continuousOps(temp, renovation, '*') * renovationShares * 10  
renovations <- continuousOps(temp, renovation, '*') * renovationShares * 10  
 
marginals <- colnames(renovations@output)[renovations@marginal]
out <- orbind(out, renovations * -1) # Equal amount stops being non-renovated.
out <- orbind(out * 1, renovations * -1) # Equal amount stops being non-renovated.
out$Renovation <- "None"
out$Renovation <- "None"
out <- orbind(out, renovations)
out <- orbind(out, renovations)
out$Renovation <- as.factor(out$Renovation)
out$Renovation <- as.factor(out$Renovation)
out <- as.data.frame(as.table(tapply( # Remove indices that are no longer needed
out$Result,
INDEX = out[marginals[!marginals %in% c("Constructed", "Renovationyear", "Age")]],
FUN = "sum",
na.rm = TRUE
)))
out$Eventyear <- as.numeric(levels(out$Eventyear)[out$Eventyear])
# tapply (and therefore oapply) changes continuous indices to factors! Must change back by hand.
colnames(out)[colnames(out) == "City area"] <- "City.area"
colnames(out)[colnames(out) == "Freq"] <- "Result"
out <- out[!is.na(out$Result) , ]


return(out)
return(out)

Revision as of 04:37, 12 February 2014



Question

How to estimate the size of the building stock of a city, including heating properties, renovations etc? The situation is followed over time, and different policies can be implemented.

Answer

For an example, see Baseline building stock.

Rationale

Calculations

+ 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


References