Ero sivun ”Pienhiukkaspäästöt Raumalla” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(→‎Laskenta: lisäsin laivapäästöt, ja malli meni rikki)
(→‎Laskenta: laivapäästöt sisältämä koodi toimii, tulokset entisensuuntaiset)
Rivi 33: Rivi 33:
'''HUOM! Tällä hetkellä malli laskee ainoastaan pienhiukkaspäästön leviämisen 10-15 km:n säteellä olevaan väestöön. Mallia päivitetään jatkuvasti.
'''HUOM! Tällä hetkellä malli laskee ainoastaan pienhiukkaspäästön leviämisen 10-15 km:n säteellä olevaan väestöön. Mallia päivitetään jatkuvasti.


Oletusajon koodi: Tam9fzxgrBQsyde2
Oletusajon koodi: BJ9p0oAwwPRGJ2sg (1000 iteraatiota 4 min 20 s)


<rcode  
<rcode  
Rivi 67: Rivi 67:


data <- tidy(op_baseGetData("opasnet_base", "Op_fi3190"), objname = "suorite")
data <- tidy(op_baseGetData("opasnet_base", "Op_fi3190"), objname = "suorite")
#print(xtable(data), type = 'html')
data <- data[data$Ajoneuvo != "Laiva", ] # Laivoista on suoraan PM-päästöt, joten ei lasketa suoritteesta.
data <- data[data$Ajoneuvo != "Laiva", ] # Laivoista on suoraan päästöt, joten ei lasketa suoritteesta.
#print(xtable(data), type = 'html')
data$suoriteResult <- data$suoriteLiikennemäärä * as.numeric(as.character(data$suoritePituus))
data$suoriteResult <- data$suoriteLiikennemäärä * as.numeric(as.character(data$suoritePituus))
#print(xtable(data), type = 'html')


suorite <- new("ovariable",
suorite <- new("ovariable",
Rivi 78: Rivi 75:
)
)


# print(xtable(suorite@data), type = 'html')
if(intermediates) {cat("Liikennesuorite.\n"); print(xtable(suorite@data), type = 'html')}


# Päästö
# Päästö
Rivi 89: Rivi 86:
ComputeDependencies(dependencies, ...)
ComputeDependencies(dependencies, ...)


out <- tieliikennepäästöt * 365E-6 # Muutetaan päiväpäästö vuosipäästöksi ja grammat tonneiksi
out <- tieliikennepäästöt * 365 * 1E-6 # Muutetaan päiväpäästö vuosipäästöksi ja grammat tonneiksi
print(xtable(out), type = 'html')
 
# out <- r
return(out)
return(out)
}
}
Rivi 102: Rivi 98:
erf <- 0.0097 # J. T. Tuomisto, A. Wilson, et al. Uncertainty in mortality response to airborne fine particulate matter... 2008
erf <- 0.0097 # J. T. Tuomisto, A. Wilson, et al. Uncertainty in mortality response to airborne fine particulate matter... 2008
# unit: m^3 /ug
# unit: m^3 /ug
#print(xtable(EvalOutput(Päästö, N = 1)), type = 'html')


# Ovariablet
# Ovariablet


## Pitoisuudet
## Pitoisuudet


Pitoisuus <- new(
Pitoisuus <- new(
Rivi 162: Rivi 155:
temp <- Päästö.temp@output[Päästö.temp@output$Saaste == "PM", ] # Valitaan vain PM-rivit.
temp <- Päästö.temp@output[Päästö.temp@output$Saaste == "PM", ] # Valitaan vain PM-rivit.


if(intermediates) print(xtable(temp), type = 'html')
if(intermediates) {cat("Yksityiskohtaiset päästötiedot (ei laivoja).\n"); print(xtable(temp), type = 'html')}


temp <- as.data.frame(as.table(tapply(temp$PäästöResult, temp[c("LA", "LO", "Vaihtoehto", "Saaste", "PäästöSource")], sum)))
temp <- as.data.frame(as.table(tapply(temp$PäästöResult, temp[c("LA", "LO", "Vaihtoehto", "Saaste", "PäästöSource")], sum)))
Rivi 168: Rivi 161:
colnames(temp)[colnames(temp) == "Freq"] <- "PäästöResult"
colnames(temp)[colnames(temp) == "Freq"] <- "PäästöResult"


Päästö.temp@output <- temp
# Laivoista on suoraan PM-päästöt, joten ne otetaan tässä mukaan päästöihin.
 
laivat <- tidy(op_baseGetData("opasnet_base", "Op_fi3190"))
laivat <- laivat[laivat$Ajoneuvo == "Laiva", c("Vaihtoehto", "LA", "LO", "Liikennemäärä")]
 
colnames(laivat)[colnames(laivat) == "Liikennemäärä"] <- "PäästöResult"
laivat$Saaste <- "PM"
laivat$PäästöSource <- "Data"
 
if(intermediates) {cat("Laivojen päästöt.\n"); print(xtable(laivat), type = 'html')}
 
Päästö.temp@output <- rbind(temp, laivat)


cat("Kokonaispienhiukkaspäästöt eri pisteistä.\n")
print(xtable(Päästö.temp@output), type = 'html')
print(xtable(Päästö.temp@output), type = 'html')
Lopputulos <- data.frame() # Tähän taulukkoon kerätään data


for(i in 1:nrow(Päästö.temp@output)) {
for(i in 1:nrow(Päästö.temp@output)) {
Rivi 180: Rivi 187:
LO <- as.numeric(as.character(Päästö.temp@output$LO[i]))
LO <- as.numeric(as.character(Päästö.temp@output$LO[i]))


# EvalOutput käyttää tilapäisiä, rivikohtaisia tietoja.
# EvalOutput käyttää tilapäisiä, rivikohtaisia tietoja. Kunkin rivin tulos lisätään lopputulokseen.
 
temp <- EvalOutput(Terveysvaikutukset, N = N)@output$TerveysvaikutuksetResult
 
# Terveysvaikutus sijoitetaan Päästö-muuttujan sisään, koska se on oikean muotoinen.


Päästö.temp@output$TerveysvaikutuksetResult[i] <- temp
Lopputulos <- rbind(
Lopputulos,
merge(
Päästö.temp@output[i, ],
EvalOutput(Terveysvaikutukset, N = N)@output, by = NULL
)
)


# Nollataan Altistuminen ja Pitoisuus, jotta malli laskee ne uusiksi uudelle päästölle.
# Nollataan Altistuminen ja Pitoisuus, jotta malli laskee ne uusiksi uudelle päästölle.
Rivi 195: Rivi 204:
}
}


temp <- as.data.frame(as.table(tapply(Päästö.temp@output$TerveysvaikutuksetResult, Päästö.temp@output[c("Vaihtoehto")], sum)))
if(intermediates) {cat("Yksityiskohtainen lopputulos.\n"); print(xtable(Lopputulos[Lopputulos$Iter == 1, ]), type = 'html')}
print(xtable(temp), type = 'html')
 
temp <- as.data.frame(as.table(tapply(Lopputulos$TerveysvaikutuksetResult, Lopputulos[c("Vaihtoehto", "Iter")], sum)))
 
if(N > 10) {ggplot(temp, aes(x = Freq, fill = Vaihtoehto)) + geom_density(alpha = 0.2)}
 
cat("Pienhiukkasten aiheuttamia ylimääräisiä kuolemantapauksia vuodessa.\n")
 
print(xtable(as.data.frame(as.table(tapply(temp$Freq, temp[c("Vaihtoehto")], mean)))), type = 'html')


#################################
#################################


# Draw a concentration map.
# Draw a concentration map.
cat("Esimerkki yhden päästöpisteen aiheuttamasta pitoisuuskentästä.\n")


temp <- EvalOutput(Pitoisuus, N = 1)
temp <- EvalOutput(Pitoisuus, N = 1)
Rivi 269: Rivi 287:


</rcode>
</rcode>
{{vastusta_pätemätön|#: |Koodi toimii mutta Päästö on 10 kertaa liian iso verrattuna Tieliikennepäästöt-muuttujaan.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] 15. lokakuuta 2012 kello 22.11 (EEST)}}
: {{vastusta_pätemätön|#: |Koodi on korjattu käsin, mutta alkuperäisen virheen syy ei ole selvinnyt.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] 15. lokakuuta 2012 kello 22.54 (EEST)}}
::{{vastusta|#: |Koodissa ollut rivi: 'out <- tieliikennepäästöt * 365 * 10E-6'. AeB on lyhenne operaatiolle A * 10^B, ei potenssiin korotukselle A^B. 10E-6 on siis sama kuin 1E-5, yhtä kertaluokkaa liian suuri.|--[[Käyttäjä:Teemu R|Teemu R]] 17. lokakuuta 2012 kello 16.44 (EEST)}}
::: {{kommentti|#:|Kappas vaan, ilmeinen virhe kun sen ensin joku selittää. Joitakin kiroitusvihreitä ei millään meinaa houmata.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] 19. lokakuuta 2012 kello 16.10 (EEST)}}


Ovariablet:
Ovariablet:

Versio 24. lokakuuta 2012 kello 12.18


Edistymisluokitus
Opasnetissa lukuisat sivut ovat työn alla eri vaiheissa. Niiden tietosisältöön pitää siis suhtautua harkiten. Tämän sivun sisällön edistyminen on arvioitu:
Tämä sivu on täysluonnos
Sivu on kirjoitettu kertaalleen alusta loppuun eli kaikki olennaiset sisällöt ovat jo paikoillaan. Kuitenkaan sisältöjä ei ole vielä kunnolla tarkistettu, ja esimerkiksi tärkeitä viitteitä voi puuttua.


Kysymys

Kuinka suuret ovat pienhiukkaspäästöt Raumalla, ja mitä terveysvaikutuksia niillä on?

Erityisesti kiinnostavat satamatoiminnasta aiheutuvat päästöt.

Vastaus

Malliajo

Ylimääräisiä kuolemantapauksia vuodessa
Vaihtoehto Tulos
Rakennemalli 1 2.86
Rakennemalli 2 2.17
Rakennemalli 3 3.24

Yleiskaavan rakennemallien tarkemmat kuvaukset ovat sivulla Rauman sataman laajennuksen vaikutus terveyteen.

Perustelut

Laskenta

HUOM! Tällä hetkellä malli laskee ainoastaan pienhiukkaspäästön leviämisen 10-15 km:n säteellä olevaan väestöön. Mallia päivitetään jatkuvasti.

Oletusajon koodi: BJ9p0oAwwPRGJ2sg (1000 iteraatiota 4 min 20 s)

Iteraatioiden määrä:

Näytä välivaiheet?:

+ Näytä koodi

Ovariablet:

  • Terveysvaikutukset: syötteenä Altistuminen * erf * bg.mort
    • erf: vakio, annetaan koodissa
    • bg.mort: vakio, annetaan koodissa
    • Altistuminen: syötteenä Pitoisuus, LO, LA
      • Käytetään funktiota GIS.Exposure(Pitoisuus, LO, LA, ...)
      • LO ja LA: saadaan muuttujan Pitoisuus sarakkeista LO ja LA.
      • Pitoisuus: syötteenä Päästö, LO, LA.
        • LO ja LA: saadaan muuttujan Päästö sarakkeista LO ja LA.
        • Käytetään funktiota GIS.Concentration.matrix(Päästö, LO, LA, ...)
        • Päästö: syötteenä Tieliikennepäästöt (tässä kohdassa lähinnä yksikköskaalausta).

Data

Ero sivun ”Pienhiukkaspäästöt Raumalla” versioiden välillä(-)
ObsVaihtoehtoAjoneuvoAjotapaLALOUnitLiikennemääräPituusDescription
1Rakennemalli 1TäysperävaunuyhdistelmäMaantieajo 70 % kuormalla61.13163421.491318kpl-km /d26629.5Päästöpiste oletetaan lähelle Rauman keskustaa
2Rakennemalli 1Sähköjuna61.13163421.491318ton-km /d69539.5Päästöpiste oletetaan lähelle Rauman keskustaa
3Rakennemalli 1Dieseljuna61.13163421.491318ton-km /d69539.5Päästöpiste oletetaan lähelle Rauman keskustaa
4Rakennemalli 2TäysperävaunuyhdistelmäMaantieajo 70 % kuormalla61.13163421.491318kpl-km /d12469.5Päästöpiste oletetaan lähelle Rauman keskustaa
5Rakennemalli 2TäysperävaunuyhdistelmäMaantieajo 70 % kuormalla61.10669821.492348kpl-km /d165310.1Päästöpiste oletetaan valtatielle 8.
6Rakennemalli 2Sähköjuna61.09780221.492691ton-km /d277514.9Päästöpiste oletetaan eteläiselle ratalinjaukselle
7Rakennemalli 2Dieseljuna61.09780221.492691ton-km /d277514.9Päästöpiste oletetaan eteläiselle ratalinjaukselle
8Rakennemalli 2Sähköjuna61.13163421.491318ton-km /d32549.5Päästöpiste oletetaan lähelle Rauman keskustaa
9Rakennemalli 2Dieseljuna61.13163421.491318ton-km /d32549.5Päästöpiste oletetaan lähelle Rauman keskustaa
10Rakennemalli 3TäysperävaunuyhdistelmäMaantieajo 70 % kuormalla61.13163421.491318kpl-km /d26629.5Päästöpiste oletetaan lähelle Rauman keskustaa
11Rakennemalli 3Sähköjuna61.13163421.491318ton-km /d69539.5Päästöpiste oletetaan lähelle Rauman keskustaa
12Rakennemalli 3Dieseljuna61.13163421.491318ton-km /d69539.5Päästöpiste oletetaan lähelle Rauman keskustaa
13Rakennemalli 1Laiva61.12709521.407547ton /a5.7Päästöpiste oletetaan Ruuhiluotoon
14Rakennemalli 2Laiva61.12168821.444626ton /a5.7Päästöpiste oletetaan Järviluotoon
15Rakennemalli 3Laiva61.12709521.407547ton /a5.7Päästöpiste oletetaan Ruuhiluotoon
  • Taulukko sisältää sen liikenteen, joka muuttuu eri rakennemallivaihtoehdoissa eli satama-alueen ja Rauman sisällä keskustan tai ohiajotien alueella. Liikennemääristä oletettiin, että Rakennemallissa 1 ja 3 liikenne vastaa suunnitelmaa Satama-Ve2 (Ruuhiluoto) ja Rakennemallissa 2 suunnitelmaa Satama-Ve3 (Järviluoto). #: Tämä oletus pitää olla näyvissä myös sivulla Rauman sataman laajennuksen vaikutus terveyteen siinä kohdassa missä rakennevaihtoehtojen, sataman sijoitusvaihtoehtojen ja tielinjausvaihtoehtojen väliset yhteydet kuvataan. --Mikko Pohjola 16. lokakuuta 2012 kello 12.39 (EEST)
  • Reittien pituudet ja oletetut päästöpisteet (jotka on valittu siten, että ne edustaisivat tyypillistä etäisyyttä väestöstä) löytyvät Google-kartasta sivulta Rauman sataman laajennuksen vaikutus terveyteen.
  • Liikennemäärät on otettu Rauman sataman laajennoksen YVA-selostuksesta[1], josta määrät on laskettu päivää kohti.
    • Junien osalta oletetaan, että puolet on sähköjunia ja puolet dieseljunia.
Päästöt ilmaan eri satamavaihtoehdoissa [2]
Laivojen päästöt väylällä ja satamassa yhteensä (t/a)
Satama-VE CO NOx PM10 PM2.5 SO2 CO2
NYKYTILA 14.8 200.7 3.1 2.5 28.9 10193.0
0 17.4 235.6 3.7 2.9 33.9 11964.3
1 (Saukot) 22.6 305.9 4.8 3.8 44.0 15538.1
2 (Ruuhiluoto) 33.9 458.9 7.2 5.7 66.0 23307.2
3 (Järviluoto) 33.9 458.9 7.2 5.7 66.0 23307.2
4 (Hanskloppi) 31.6 428.3 6.7 5.4 61.6 21753.4
Raskaan liikenteen päästöt yhteensä (t/a)
Satama-VE CO HC NOx PM SO2 CO2
NYKYTILA 2.9 1.7 34.3 0.6 0.0 4868.7
0 3.3 1.9 40.1 0.7 0.1 5680.1
1 (Saukot) 4.9 2.8 58.3 1.0 0.1 8260.3
2 (Ruuhiluoto) 7.1 4.1 85.6 1.4 0.1 12135.2
3 (Järviluoto) 7.8 4.5 93.2 1.6 0.1 13215.6
4 (Hanskloppi) 7.4 4.3 89.2 1.5 0.1 12645.8

Katso myös

Viitteet

Aiheeseen liittyviä tiedostoja

<mfanonymousfilelist></mfanonymousfilelist>