|
|
(4 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{variable|moderator = Virpi Kollanus}} | + | {{method|moderator = Virpi Kollanus}} |
− | | |
| [[Category: CLAIH]] | | [[Category: CLAIH]] |
| | | |
| ==Question== | | ==Question== |
| | | |
− | What is the exposure to fine particles (PM2.5) in the Finnish population? Only outdoor sources are considered here. Exposures are calculated for defined locations (listed in a table in Rationale).
| + | How to estimate exposure to fine particles (PM2.5) in the Finnish population? Only outdoor sources are considered here. |
− | : {{comment|# |This could be implemented (as a method) for any locations in Finland, but the calculations are so slow that it is better to calculate actual answers for specified locations (as a variable) before applying it in a model.|--[[User:Jouni|Jouni]] ([[User talk:Jouni|talk]]) 16:58, 5 March 2014 (EET)}}
| |
| | | |
| ==Answer== | | ==Answer== |
| | | |
− | [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=aXDIVDboftr1bTEd Example run]
| + | Use source-receptor matrix (e.g. the so-called PILTTI matrix) to estimate exposure levels and population sizes around a given source point. Georeference and source strength must be given. The concentrations per unit emission around the source and population density across Finland are already known in the system. |
| | | |
| == Rationale== | | == Rationale== |
Line 16: |
Line 14: |
| ===Dispersion modelling=== | | ===Dispersion modelling=== |
| | | |
− | <rcode name='disperse'> | + | <rcode name='disperse' label='Initiate ovariables (for developers onlly)'> |
| library(OpasnetUtils) | | library(OpasnetUtils) |
| library(OpasnetUtilsExt) | | library(OpasnetUtilsExt) |
Line 79: |
Line 77: |
| iF <- iF + iF.PM2.5 * 1E-6 # Scale iF.PM2.5 from ppm to fractions. | | iF <- iF + iF.PM2.5 * 1E-6 # Scale iF.PM2.5 from ppm to fractions. |
| | | |
− | emissionLocations <- Ovariable("emissionLocations", # [[Exposure to PM2.5 in Finland]]
| |
− | ddata = 'Op_en3435',
| |
− | subset = 'Emission locations'
| |
− | )
| |
− | emissionLocations@data$emissionLocationsResult <- 1
| |
| colnames(emissionLocations@data) <- gsub("[ \\.]", "_", colnames(emissionLocations@data)) | | colnames(emissionLocations@data) <- gsub("[ \\.]", "_", colnames(emissionLocations@data)) |
| | | |
− | objects.store(PILTTI.matrix, iF, emissionLocations) | + | objects.store(PILTTI.matrix, iF) |
| cat("Objects PILTTI.matrix, emissionLocations and iF saved.\n") | | cat("Objects PILTTI.matrix, emissionLocations and iF saved.\n") |
| </rcode> | | </rcode> |
Line 92: |
Line 85: |
| ===Data=== | | ===Data=== |
| | | |
− | '''Where and how do the emissions of heating take place?
| + | ;Based on [[Piltti source-receptor matrix]]. |
| | | |
| + | ==== Emission and city area locations ==== |
| | | |
− | <t2b name='Emission locations' index='Heating,Emission site,Emission height' obs='Dummy' unit='-'>
| + | :''A previous table about emission locations in Kuopio was moved to [[Kuopio energy production]] and that about Kuopio city district was moved to [[Building stock in Kuopio]]. |
− | 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>
| |
| | | |
− | ==== Kuopio city districts ==== | + | ==== Intake fractions of PM ==== |
| | | |
− | The exposures are calculated for the points listed below. The coordinates were visually checked from http://www.karttapaikka.fi
| + | :''A previous table by Humbert et al 2011 was moved to [[Intake fractions of PM]]. |
− | | |
− | <t2b name='Kuopio city districts' index="City area,Location" locations="N,E" desc="Notes" unit= "ETRS-TM35FIN">
| |
− | Itkonniemi|6974469|536853|
| |
− | Männistö|6974607|535746|
| |
− | Linnanpelto|6975014|535490|
| |
− | Itkonniemi-Männistö-Linnanpelto|6974697|536030|
| |
− | Niirala|6973403|532903|
| |
− | Puijonlaakso|6975016|532625|
| |
− | Rahusenkangas|6976558|534851|
| |
− | Rahusenkangas-Kuivinniemi|6976558|534851|
| |
− | Haapaniemi|6972486|534457|
| |
− | 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>
| |
| | | |
| ===Dependencies=== | | ===Dependencies=== |
Line 146: |
Line 102: |
| ==See also== | | ==See also== |
| | | |
− | * This data is used in [[Building stock in Kuopio]] | + | * Data on this page was used in [[Building stock in Kuopio]] |
| + | *[http://www.eea.europa.eu/themes/air/airbase European Environment Agency (EEA) AirBase] |
| | | |
| {{urgenche}} | | {{urgenche}} |
| | | |
| ==References== | | ==References== |
− |
| |
| | | |
| <references/> | | <references/> |
How to estimate exposure to fine particles (PM2.5) in the Finnish population? Only outdoor sources are considered here.
Use source-receptor matrix (e.g. the so-called PILTTI matrix) to estimate exposure levels and population sizes around a given source point. Georeference and source strength must be given. The concentrations per unit emission around the source and population density across Finland are already known in the system.
+ Show code- Hide code
library(OpasnetUtils)
library(OpasnetUtilsExt)
library(ggplot2)
library(rgdal)
library(maptools)
library(RColorBrewer)
library(classInt)
library(RgoogleMaps)
objects.latest("Op_en6007", code_name = "answer") # [[OpasnetUtils/Drafts]]
# GIS points for emissions.
districts <- tidy(opbase.data("Op_en3435.kuopio_city_districts"), widecol = "Location") # [[Exposure to PM2.5 in Finland]]
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 [[Intake fractions of PM]]
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.
colnames(emissionLocations@data) <- gsub("[ \\.]", "_", colnames(emissionLocations@data))
objects.store(PILTTI.matrix, iF)
cat("Objects PILTTI.matrix, emissionLocations and iF saved.\n")
| |