Ero sivun ”Hiilineutraali Helsinki 2035” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(→‎Data: täydennetty lyhenteet)
(→‎Katso myös: maankäyttö ja ilmasto)
 
(46 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
[[Luokka:Ilmastonmuutos]]
[[Luokka:Ilmastonmuutos]]
[[Luokka:Helsinki]]
[[Luokka:Helsinki]]
{{muuttuja|moderaattori=Jouni|stub=Yes|edistyminen=}}
[[Luokka:Indikaattori]]
'''Hiilineutraali Helsinki 2035''' on toimenpideohjelma, jolla Helsingin kaupunki pyrkii vähentämään oman kaupunkiorganisaationsa sekä Helsingin alueella tapahtuvien ilmastopäästöjen määrää niin, että ne alittaisivat hiilinielujen määrän eli kaupunki olisi hiilineutraali vuoteen 2035 mennessä.
{{muuttuja|moderaattori=Jouni|edistyminen=}}
'''[https://hnh.hel.ninja Hiilineutraali Helsinki 2035]''' (HNH2035)<ref name="hnh2035">Hiilineutraali Helsinki 2035 -toimenpideohjelma. Helsinki, 2018. [http://www.stadinilmasto.fi/2018/06/19/hiilineutraali-helsinki-2035-toimenpideohjelma/]</ref> on toimenpideohjelma, jolla Helsingin kaupunki pyrkii vähentämään oman kaupunkiorganisaationsa sekä Helsingin alueella tapahtuvien ilmastopäästöjen määrää niin, että ne alittaisivat hiilinielujen määrän eli kaupunki olisi hiilineutraali vuoteen 2035 mennessä. Toimenpideohjelmalla on oma [https://hnh.hel.ninja seurantatyökalu], jossa on myös kuvattuna kymmeniä ilmastonmuutoksen torjuntaan liittyviä [https://hnh.hel.ninja/indicators mittareita].
 
Tämän sivun tiedot auttavat toimenpideohjelman toteutuksessa [[avoin päätöksentekokäytäntö|avoimen päätöksentekokäytännön]] mukaisesti.


== Kysymys ==
== Kysymys ==


Mitä toimenpiteitä pitäisi tehdä, jotta Helsinki olisi hiilineutraali vuoteen 2035 mennessä? Hiilipäästöihin ei tässä yhteydessä lasketa epäsuoria hiilipäästöjä, jotka syntyvät jossain muualla asukkaiden kuluttamisesta johtuen.
# Mitä toimenpiteitä (mukaan lukien mutta ei rajoittuen HNH2035:een) pitäisi tehdä, jotta Helsinki olisi hiilineutraali vuoteen 2035 mennessä? Hiilipäästöihin ei tässä yhteydessä lasketa epäsuoria hiilipäästöjä, jotka syntyvät jossain muualla asukkaiden kuluttamisesta johtuen.
# Miten toimenpiteitä tulisi seurata, jotta kaikilla olisi käytössään ajantasainen tieto siitä, a) miten toimenpiteet ovat edenneet ja b) mitä ilmasto-, talous- ja muita vaikutuksia niillä on ollut?


== Vastaus ==
== Vastaus ==


[[File:HNH2035-toimenpideohjelman seurantajärjestelmä.svg|thumb|Hiilineutraali Helsinki -toimenpideohjelman seurantajärjestelmä eli seurannan "palikoiden suhteet". Järjestelmän eri osien avulla on tarkoitus kerätä tietoa toimenpiteiden etenemisestä ja välittömistä vaikutuksista (esimerkiksi toiminnasta aiheutuneista kustannuksista) ja näiden avulla arvioida myös välillisiä tai pitkän aikavälin vaikutuksia (esimerkiksi ilmastopäästöjen vähenemistä). Lisäksi seurantajärjestelmällä mahdollistetaan kansalaisten osallistuminen ja kritiikki sekä tietojen leviäminen vapaasti yli organisaatiorajojen.]]
Jokaisella kaupungin toimintalohkolla on toimenpiteitä, jotka voivat lisätä tai vähentää ilmastopäästöjä. Siksi tehokkaan ilmastotoimintaohjelman rakentaminen on vaikeaa. Pitää pystyä arvioimaan hyvin monenlaisten toimenpiteiden vaikuttavuutta ja tehokkuutta. Lisäksi jokaisen toimintalohkon avainihmisiä pitäisi pystyä tiedottamaan oikeaan aikaan, kun on valmisteilla jokin ilmastoon vaikuttava päätös tai toimenpide. Toimenpideohjelman toteuttaminen on siis kaksinkertaisesti haasteellista.
Jokaisella kaupungin toimintalohkolla on toimenpiteitä, jotka voivat lisätä tai vähentää ilmastopäästöjä. Siksi tehokkaan ilmastotoimintaohjelman rakentaminen on vaikeaa. Pitää pystyä arvioimaan hyvin monenlaisten toimenpiteiden vaikuttavuutta ja tehokkuutta. Lisäksi jokaisen toimintalohkon avainihmisiä pitäisi pystyä tiedottamaan oikeaan aikaan, kun on valmisteilla jokin ilmastoon vaikuttava päätös tai toimenpide. Toimenpideohjelman toteuttaminen on siis kaksinkertaisesti haasteellista.


Rivi 16: Rivi 21:
Seuraavassa vaiheessa on käytävä läpi ehdotuksia ja asiantuntijoiden avustuksella pyrittävä arvioimaan toimenpiteiden vaikuttavuutta (ilmastovaikutus hiilidioksiditonneina laskettuna ''tätä menoa'' -vaihtoehtoon [business as usual] verrattuna) ja tehokkuutta (toimenpiteen lisäkustannus vähennettyä hiilidioksiditonnia kohti).
Seuraavassa vaiheessa on käytävä läpi ehdotuksia ja asiantuntijoiden avustuksella pyrittävä arvioimaan toimenpiteiden vaikuttavuutta (ilmastovaikutus hiilidioksiditonneina laskettuna ''tätä menoa'' -vaihtoehtoon [business as usual] verrattuna) ja tehokkuutta (toimenpiteen lisäkustannus vähennettyä hiilidioksiditonnia kohti).


Kolmannessa vaiheessa tunnistetaan eri toimenpiteiden kytkennät meneillään olevaan tai tulevaan päätöksentekoon. Toimenpideohjelman hyötyhän tulee tietenkin siitä, että sen avulla pystytään tekemään parempia päätöksiä ja välttämään huonoja ratkaisuja. Kytkentöjä pitää pystyä tunnistamaan sekä toimenpideohjelmasta käsin (osallistujat vinkkaavat päätöksentekijöitä) että päätöksenteosta käsin (päättäjät etsivät tietoa siitä, mitkä toimenpide-ehdotukset kuuluvat heidän päätösvaltaansa.)
Kolmannessa vaiheessa tunnistetaan eri toimenpiteiden kytkennät meneillään olevaan tai tulevaan päätöksentekoon. Toimenpideohjelman hyötyhän tulee siitä, että sen avulla pystytään tekemään parempia päätöksiä ja välttämään huonoja ratkaisuja. Kytkentöjä pitää pystyä tunnistamaan sekä toimenpideohjelmasta käsin (osallistujat vinkkaavat päätöksentekijöitä) että päätöksenteosta käsin (päättäjät etsivät tietoa siitä, mitkä toimenpide-ehdotukset kuuluvat heidän päätösvaltaansa.)


Toimenpideohjelman toteutukseen esitetään olemassaolevien ja uusien järjestelmien yhteentoimivuuden rakentamista. Tällaisella ratkaisulla saataisiin yllä kuvattu prosessi toteutettua skaalautuvasti eli siten, että se palvelisi koko Helsingin kaupunkiorganisaatiota ja muita Helsingin toimijoita (mahdollisesti myöhemmin laajentuen muihin kaupunkeihin).
Toimenpideohjelman toteutukseen esitetään olemassaolevien ja uusien järjestelmien yhteentoimivuuden rakentamista. Tällaisella ratkaisulla saataisiin yllä kuvattu prosessi toteutettua skaalautuvasti eli siten, että se palvelisi koko Helsingin kaupunkiorganisaatiota ja muita Helsingin toimijoita (mahdollisesti myöhemmin laajentuen muihin kaupunkeihin).
# Järjestelmän ytimessä on Wikibase-tietokanta, johon voidaan kuvata kaikkien erilaisten tietojen, raporttien, toimenpiteiden ja vaikutusten metatiedot eli mitä asioista tiedetään ja miten ne linkkautuvat toisiinsa. Tätä tietokantaa ei ole vielä olemassa, mutta THL:n on tarkoitus ottaa sellainen käyttöön joulukuun aikana tutkiakseen tällaisen toimintamallin soveltuvuutta. Työnimeksi tälle tietokannalle on annettu '''Opasdata'''.
# Järjestelmän ytimessä on Stadinilmasto-nettisivusto, joka tähänkin asti on toiminut keskeisenä ilmastotiedon jakelukanavana. Nyt siihen on tarkoitus lisätä uusia toiminnallisuuksia. Kaikkiin alla esitellyt osiot joko näkyvät suoraan Stadinilmaston sivuina tai sieltä on linkit niille sivuille, jotka ovat Stadinilmaston ulkopuolella. Stadinilmasto on siis se keskeinen käyttäjärajanpinta, josta pääsee käsiksi kaikkiin tietoihin.
# Helsinki on julkaissut ahkerasti tietoa ja toimintaehdotuksia ilmastonmuutoksen torjumiseksi raporttien, artikkelien ja toimintaohjelmien muodossa erilaisissa '''julkaisutietokannoissa'''. Tiedot julkaisujen olemassaolosta ja aihepiiristä kuvataan Opasdataan. Toimintamalli mahdollistaa sen, että alkuvaiheessa kuvataan nopeasti vain julkaisun olemassaolo ja pääasiallinen aihe mutta jatkossa sen sisällöstä voidaan nostaa vaiheittain yhä yksityiskohtaisempaa tietoa tietorakenteeseen. Ajatuksena on, että alkuvaiheessa saadaan vähällä vaivalla paljon aikaan ja työläitä työvaiheita toteutetaan vain tarpeen mukaan.
# Seurantatiedon keruu alkaa yleiskäyttöisistä taulukoista, joita jokainen toimenpiteestä vastaava organisaatio tai henkilö täyttää. Jotta tiedonkeruu olisi mahdollisimman yksinkertaista ja avointa, tähän käytetään toimenpidekohtaisia Google Sheetejä, joista tieto kerätään koneellisesti yhteen seurantatiedon laskentaa varten. Esimerkkinä [https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1110582574 energiarenessanssin toimenpiteitä].
# Asiantuntijatietoa voidaan tiivistää ''tietokiteiksi'', joissa täsmälliseen tutkimuskysymykseen (kuten tietyn toiminnan ilmastopäästöihin) etsitään tutkimustiedon perusteella paras vastaus. Tietokiteitä voidaan sitten käyttää arvioitaessa toimenpide-ehdotusten vaikuttavuutta, tehokkuutta ja muita vaikutuksia. Tähän työhön on käytettävissä THL:n ylläpitämä '''Opasnet-verkkotyötila'''.
# Tieto kerätään käyttämällä avoimen R-ohjelman toiminnallisuuksia. Esimerkkilaskentaa on myöhemmin tällä sivulla.
# Helsingin päätöksenteko on jo nyt kuvattu '''Ahjo-järjestelmässä''', jossa jokainen virallinen päätöksentekijä, asia ja päätös löytyvät avoimena datana. Opasdataa käytetään tässä suunnitelmassa yhdistämään toimenpide-ehdotukset erilaisista raporteista, tutkimustieto niiden vaikutuksista ja päätöksentekoon tulevat päätökset. Linkkaaminen tehdään joukkoistetusti, joten kansalaiset voivat nostaa päättäjän tietoisuuteen asioita, joihin tulevalla päätöksellä olisi vaikutusta. Suunnittelevat virkamiehet pystyvät myös paremmin näkemään, mihin päätösputkiin tietyt toimenpide-ehdotukset pitää aikatauluttaa, jotta niistä tehtäisiin asianmukaiset päätökset ja ne menisivät toteutukseen.
# Toimenpiteillä on omat sivunsa Stadinilmastossa, jossa on ajantasainen tieto kunkin toimenpiteen etenemisestä ja vaikutuksista siltä osin kuin ne ovat kohdennettavissa yksittäiseen toimenpiteeseen.
# Toimenpidesivuun liittyy myös mahdollisuus keskustella toimenpiteestä eri näkökulmista. Varsinaisen ohjelman toimenpiteet on jo päätetty toteuttaa, joten pääpaino on mahdollisimman tehokkaassa toteutuksessa eikä siinä, pitäisikö toimenpidettä lainkaan toteuttaa. Toisaalta keskustelun avulla voi nostaa harkittavaksi kokonaan uusia toimenpiteitä. Keskustelua voi käydä usealla eri tavalla.
#* Kerrokantasi.fi on Helsingin kehittämä keskustelualue.
#* Helsinki app on kännykkäsovellus, jonka kautta voi osallistua Kerrokantasi-keskusteluihin.
#* Decidim on Barcelonan kaupungin kehittämä osallistumistyökalu, jonka käyttöä testataan myös sen joustavien toiminnallisuuksien takia.
# Vaikutusarviointiosiossa asiantuntijatietoa voidaan tiivistää ''tietokiteiksi'', joissa täsmälliseen tutkimuskysymykseen (kuten tietyn toiminnan ilmastopäästöihin) etsitään tutkimustiedon perusteella paras vastaus. Tietokiteitä voidaan sitten käyttää arvioitaessa toimenpide-ehdotusten vaikuttavuutta, tehokkuutta ja muita vaikutuksia. Tähän työhön on käytettävissä THL:n ylläpitämä '''Opasnet-verkkotyötila'''. Lisäksi Sykellä on useita kehittyneitä ilmastolaskureita, joissa tosin tietojen koneellinen syöttäminen ja lukeminen vaatii kehittämistä. Tätä varten on alkamassa selvityshanke.
# Helsingin päätöksenteko on jo nyt kuvattu '''Ahjo-järjestelmässä''', jossa jokainen virallinen päätöksentekijä, asia ja päätös löytyvät avoimena datana. Päätösdata yhdistetään muuhun ilmasto-ohjelmaan käyttämällä Ahjon pysyviä tunnisteita eli URLeja.
# Tästä järjestelmäkokonaisuudesta puuttuu vielä järjestelmä, joka pystyisi keräämään ja kuvaamaan kansalaisten ja päättäjien arvoja ja tavoitteita. Tällaista toiminnallisuutta on kuitenkin mietitty ja suunniteltu, esimerkiksi toukokuussa 2017 Demokratiahack-tapahtumassa kolmannen palkinnon sai '''Arvoprofiili'''-niminen idea. Idean jatkokehittely on parhaillaan käynnissä, ja erilaisia kokeiluja toivotaan Helsingin kaupunkiorganisaation kanssa käynnistettävän.
# Tästä järjestelmäkokonaisuudesta puuttuu vielä järjestelmä, joka pystyisi keräämään ja kuvaamaan kansalaisten ja päättäjien arvoja ja tavoitteita. Tällaista toiminnallisuutta on kuitenkin mietitty ja suunniteltu, esimerkiksi toukokuussa 2017 Demokratiahack-tapahtumassa kolmannen palkinnon sai '''Arvoprofiili'''-niminen idea. Idean jatkokehittely on parhaillaan käynnissä, ja erilaisia kokeiluja toivotaan Helsingin kaupunkiorganisaation kanssa käynnistettävän.


Perusteluissa on yksityiskohtaisesti käyty läpi yhtä aineistoa, nimittäin ympäristöpalvelujen toteuttamissa työpajoissa esiin nousseita toimenpide-ehdotuksia liittyen liikenteen ilmastopäästöjen vähentämiseen. Tarkoituksena on havainnollistaa sitä, miten tehokkaalla työskentelyllä voidaan erilaisia tietoaineistoja jalostaa Opasdatan avulla käyttökelpoiseksi osaksi monimutkaisen ilmastopäätöksenteon tietopohjaa.
Perusteluissa on yksityiskohtaisesti käyty läpi toimenpideohjelman sisältöä, joka on tuotettu ympäristöpalvelujen toteuttamissa työpajoissa esiin nousseita toimenpide-ehdotuksista.


== Perustelut ==
{{argument|relat1=comment|id=arg4297|type=|content=Huom! Tilannekatsaus on demo eikä perustu oikeaan dataan.|sign=--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 7. joulukuuta 2018 kello 06.24 (UTC)}}


Tällä sivulla on erityisesti tarkoitus esitellä mahdollisia tiedon jäsennysmenetelmiä, eivätkä sivulla esitetyt tiedot välttämättä ole ajan tasalla. Toimenpideohjelmaa kuvataan [http://www.stadinilmasto.fi/ilmastoverkoston-materiaalit/ Ilmastoverkoston sivulla] ja työstetään [https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit Google Drivessa], joten ajankohtainen tieto löytyy noilta sivuilta.
<rcode label="Näkemysverkko (ajettava omalla koneella)">
# This is code Op_fi5767/ on page [[Hiilineutraali Helsinki 2035]]
library(OpasnetUtils)


[[File:HNH2035 syykaavio.svg|thumb|400px|Hiilineutraali Helsinki 2035 -ohjelman toimenpiteet ja toimijat.]]
objects.latest("Op_fi5767",code_name="hnhverkko") # [[Hiilineutraali Helsinki 2035]]


=== Laskenta ===
hnhverkko <- EvalOutput(hnhverkko)
gr <- makeGraph(hnhverkko)
render_graph(transform_to_subgraph_ws(gr))
</rcode>


<rcode label="Ajettava omalla koneella">
<rcode label="Näytä HNH2035-ohjelman tilanne toimenpiteittäin" graphics=1 embed=1>
# Tämä on koodi Op_fi5810/ sivulla [[Ympäristöterveysindikaattori]]
# This is code Op_fi5767/ on page [[Hiilineutraali Helisnki 2035]]
library(OpasnetUtils)
library(OpasnetUtils)
library(gsheet)
library(ggplot2)


objects.latest("Op_en3861",code_name="ecd_create")
toim <- Ovariable(
 
  data=data.frame(
#sotkanet <- "http://www.sotkanet.fi/sotkanet/fi/metadata/indicators/"
    Action_id = 1:148,
#kouluterveyskysely <- "https://sampo.thl.fi/pivot/prod/fi/ktk/ktk1/summary_perustulokset?alue_0=87869&mittarit_0=200138&mittarit_1=187196&mittarit_2=199373&vuosi_2017_0=v2017"
    Action = paste("Action text", 1:148),
#kouluterveyskysely <- "https://sampo.thl.fi/pivot/prod/fi/ktk/ktk1/fact_ktk_ktk1?row=measure-200346.199405.199681.199445.199678.199701.199935.200120.199469.199308.199973.200279.200316.199604.&column=time-199465&column=stage_of_stady-161293.161123.161219.#" # Keskeiset ympäristöterveyden oire- ja olosuhdeindikaattorit eri kouluasteilla
    Group = c(
#tietoikkuna <- "https://proto.thl.fi/tietoikkuna/#/chart?indicatorId="
      rep("Kestävien kulkumuotojen käyttö",9),
# Sotkanet.ID = tietoikkuna.indicatorID
      rep("Liikenteen hinnoittelu", 4),
 
      rep("Täydentyvä kaupunkirakenne",3),
coln <- c(
      rep("Ajoneuvoteknologian muutokset",7),
  "Teema",
      rep("Sataman päästöjen vähentäminen",2),
  "Nro",
      rep("Uudet liikkumispalvelut ja liikkumisen ohjaus",5),
  "Toimenpide",
      rep("Kaupungin omistamat asuin- ja palvelurakennukset",24),
  "Ohjelma",
      rep("Energiatehokas maankäyttö ja kuapunkirakenne",12),
  "Vastuu",
      rep("Energiarenessanssi",4),
  "Aikajänne",
      rep("Uudet energiaratkaisut",12),
  "Vaativuus",
      rep("Rahoitus ja kannustimet",5),
  "Kustannukset",
      rep("Rakentamisen hiilijalanjäljen pienentäminen",2),
  "Kust.kaupungille",
      rep("Kuluttaminen ja hankinnat",33),
  "Hyödyt.kaupungille",
      rep("Smart & Clean kasvu",7),
  "Kust.muille",
      rep("Hiilinielut ja kompensointi",7),
  "Hyödyt.muille",
      rep("Sopeutuminen",1),
  "Päästövähenemä",
      rep("Viestintä ja osallistuminen",3),
  "Muut.vaikutukset",
      rep("Koordinointi, seuranta ja arviointi",8)
  "Seurantaindikaattori",
    ),
  "Esimerkki",
    Result=1
   "Lisätietoa"
   )
)
)


####### HNH2035-toimenpiteet
plan <- Ovariable(
 
  data = data.frame(
d2 <- gsheet2tbl("https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=885669064")
    Time = 2018:2028,
d2 <- d2[5:nrow(d2),1:9] # Many columns are empty at the moment
    Result = (0:10)*0.1
colnames(d2) <- coln[1:9]
  )
) * Ovariable(data=data.frame(
  Action_id = 1:148,
  Result=1
))


repl <- array(c(
actions <- Ovariable(
   "S&C säätiö","Smart&Clean",
   "actions",
   "yhteistyössä","",
   data = data.frame(
  "yhteistyö","",
    Time = sample(2018:2035, 1000, replace = TRUE),
  "Yhteistyö:","",
     Action_id = sample(1:148,1000, replace=TRUE),
  "ja","",
     Result=0.2
  "HSY Ilmastoinfo","HSY/Ilmastoinfo",
  "HSY:n Ilmastoinfo","HSY/Ilmastoinfo",
  "Kanslia ELO/Hanki","Kanslia/ELO",
  "GEO","Geo",
  "kasko","Kasko",
  "sote","Sote",
  "palvelukeskus","Palvelukeskus",
  "ympa","Ympa",
  "RYA","Rya",
  "PALU","Palu",
  "YMPA","Ympa",
  "MAKA","Maka",
  "KYMP","Kymp",
  "Smart&Clean -säätiö","Smart&Clean",
  "Smart & Clean -säätiö","Smart&Clean",
  "virium","Virium",
  "nuorisopalvelur","Nuorisopalvelut",
  "kanslia","Kanslia",
  "Kaupunginkanslia","Kanslia",
  "kaupunginkanslia","Kanslia",
  "(HSL), (HSY)",",",
  "ympa","Ympa",
  "Palu/Ympa","Ympa"
  ),
  dim=c(2,28)
)
for(i in 1:ncol(repl)) {
  d2$Vastuu <- gsub(repl[1,i],repl[2,i],d2$Vastuu)
}
 
d2 <- ecd_build(
  df = d2,
  oldid = "HNH2035",
  fills="Teema",
  spliz="Vastuu",
  split=",",
  removes=list(Nro=NA)
)
# d2 <- splizzeria(d2, cols="Kustannukset", split="/") # Not used because doubles relations
colnames(d2)[colnames(d2)=="Toimenpide"] <- "Item"
d2 <- orbind(
  cbind(
    type="HNH2035-toimenpide",
     label=substr(d2$Item,1,25),
    d2,
    Relation="teema",
     Object=d2$Teema
  ),
  data.frame(
    Item=d2$Item,
    Relation="vastuullisena",
    Object=d2$Vastuu
   )
   )
)
)


# Toimijalistaus
progress <- Ovariable(
 
  "progress",
d3 <- html_table(read_html("http://fi.opasnet.org/fi/Hiilineutraali_Helsinki_2035"))[[2]]
  dependencies=data.frame(Name=c("actions","plan","toim")),
d3$type <- gsub("Toimija","toimija",d3$type)
   formula = function(...) {
 
     out <- actions*toim
d3 <- ecd_build(
     return(out)
   df = data.frame(
   }
    type=as.character(d3$type),
     label=as.character(d3$Nimi),
     Item=as.character(d3$Nimi)
   ),
  oldid = "HNHtoimija"
)
)
progress <- EvalOutput(progress)


d3 <- orbind(d2, d3)
toim$idgroup <- unlist(lapply(unique(toim$Group), FUN=function(x) {
d3$Description <- paste(d3$Aikajänne, d3$Vaativuus, d3$Kustannukset, sep=". ")
  rank(toim$Action_id[toim$Group==x], ties.method = "first")-1
for(i in 1:ncol(d3)) d3[[i]] <- as.character(d3[[i]])
}))
tmp <- toim*0+1
tmp <- tmp*oapply(tmp, INDEX="Group", FUN=sum)
tmp$edge <- ceiling(sqrt(tmp$Result))
tmp$x <- tmp$idgroup %/% tmp$edge
tmp$y <- tmp$idgroup %% tmp$edge
pro <- c("aloittamatta","ajallaan", "myöhässä","pahasti myöhässä")
tmp$ajantasa <- sample(pro,nrow(tmp@output),replace=TRUE)
tmp$ajantasa <- factor(tmp$ajantasa, levels=pro)
tmp$eteneminen <- sample(c(0.2, 0.3, 0.4, 0.75, 1), nrow(tmp@output), replace=TRUE)
tmp$eteneminen[tmp$ajantasa=="aloittamatta"] <- 0.2
ggplot(tmp@output, aes(x=x, y=y, colour=ajantasa, size=eteneminen))+geom_point()+
  facet_wrap(~ Group)+theme_gray(base_size=24)+
  scale_colour_manual(values=c("gray","green","yellow","red"))+
  coord_cartesian(xlim=c(-0.5,max(tmp$edge)-0.5),ylim=c(-0.5,max(tmp$edge)-0.5))+
  theme(axis.text.x=element_blank(), axis.text.y=element_blank())+
  labs(x="", y="")
</rcode>


gr <- ecd_create(d3)
== Perustelut ==
export_graph(gr, "test7.pdf")
render_graph(gr)


gr <- select_nodes_in_neighborhood(
Tällä sivulla on erityisesti tarkoitus esitellä mahdollisia tiedon jäsennysmenetelmiä, eivätkä sivulla esitetyt tiedot välttämättä ole ajan tasalla. Toimenpideohjelmaa kuvataan [http://www.stadinilmasto.fi/ilmastoverkoston-materiaalit/ Ilmastoverkoston sivulla] ja työstetään [https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit Google Drivessa], joten ajankohtainen tieto löytyy noilta sivuilta.
  gr,
  node=gr$nodes_df$id[gr$nodes_df$label=="koulutervhuolto"][1],
  distance=2
)
get_selection(gr)


render_graph(transform_to_subgraph_ws(gr))
[[File:HNH2035 syykaavio.svg|thumb|400px|Hiilineutraali Helsinki 2035 -ohjelman toimenpiteet ja toimijat.]]
</rcode>
[[File:HNH2035 lämmitys- ja sähköratkaisut.svg|thumb|400px|Hiilineutraali Helsinki 2035 -ohjelman osio liittyen lämmitys- ja sähköratkaisuihin.]]


=== Data ===
=== Data ===


<t2b name="toimijat" index="Luokka,Asia,Lyhenne,Relaatio,Kohde,Kuvaus" obs="URL" unit="-">
{{piilotettu|
toimija|(HSY) Sote|HSY||||
Nykyinen toimijalistaus. {{attack|# |Huomaa, että pienten kirjoituserojen takia tulee turhaa epäselvyyttä. Nämä pitäisi korjata.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 17. heinäkuuta 2018 kello 05.43 (UTC)}}
toimija|(Rake)|Rake||||
 
toimija|/Ilmastoinfo|Ilmastoinfo||||
<t2b name="Helsingin toimijat" index="Luokka,Asia,Lyhenne,Relaatio,Kohde,Kuvaus" obs="URL" unit="-">
toimija|Helsingin seudun ympäristöpalvelut|HSY||||
toimija|Rakennuttaminen|Rake|on osana|Rya||
toimija|Alueidenkäyttö|Alueidenkäyttö||||
toimija|Alueidenkäyttö|Alueidenkäyttö||||
toimija|Aska|Aska||||
toimija|Aska|Aska||||
toimija|Att|Att||||
toimija|Asuntotuotanto|ATT|on osana|Heka||
toimija|ATT|Att||||
toimija|Att ym.|Att||||
toimija|Auroranlinna|Auroranlinna||||
toimija|Auroranlinna|Auroranlinna||||
toimija|elintarviketarkastat (Ympa)|Ympa||||
toimija|Ympäristöpalvelut|Ympa|on osana|Palu||
toimija|Energiatehokkuustyöryhmä|Energiatehokkuustyöryhmä||||
toimija|Energiatehokkuustyöryhmä|Energiatehokkuustyöryhmä||||
toimija|Forum Virium|Forum Virium||||
toimija|Forum Virium|Forum Virium||||
toimija|FVH|Forum Virium||||
toimija|Hanki|Hanki||||
toimija|Hanki|Hanki||||
toimija|HANKI + Ympa|Hanki||||
toimija|Hankintojen ohjausryhmä|Hankintojen ohry||||
toimija|HANKI + Ympa (fasilitoiva asiantuntirooli)|Hanki||||
toimija|Hankintojen ohusryhmä|Hankintojen ohry||||
toimija|Hankintojen ympäristöryhmä|Hankintojen ympr||||
toimija|Hankintojen ympäristöryhmä|Hankintojen ympr||||
toimija|hankintojen ympäristöverkosto|Hankintojen ympr||||
toimija|Hankintojen ympäristöverkosto|Hankintojen ympv||||
toimija|Haso|Haso||||
toimija|Haso|Haso||||
toimija|HATU/Hankinnat|Hatu||||
toimija|Hallinto- ja tukipalavelut|Hatu|on osana|Palu||
toimija|Hatu/lakiyksikkö|Hatu||||
toimija|Hankinnat|Hankinnat|on osana|Hatu||
toimija|Lakiyksikkö|Lakiyksikkö|on osana|Hatu||
toimija|HBH|Hbh||||
toimija|HBH|Hbh||||
toimija|Heka|Heka||||
toimija|Helsingin kaupungin asunnot OY|Heka||||
toimija|Heka/ATT|Heka||||
toimija|Helen Sähköverkot|Helen||||
toimija|Helen|Helen||||
toimija|Helen  Helen Sähköverkot|Helen||||
toimija|Helsingin kaupungin asunnot Oy|Heka||||
toimija|Helsingin Satama Oy|Helsingin Satama||||
toimija|Helsingin Satama Oy|Helsingin Satama||||
toimija|Helsinki marketing|Helsinki marketing||||
toimija|Helsinki marketing|Helsinki marketing||||
toimija|Helsinki Marketing|Helsinki marketing||||
toimija|Helsingin seudun liikenne|HSL||||
toimija|HKL|HKL||||
toimija|Ilmastoinfo|Ilmastoinfo|on osana|HSY||
toimija|HKL (HSL)|HKL||||
toimija|HSL|HSL||||
toimija|HSL (avoin joukkoliikenteen lippujen myyntirapinta|HSL||||
toimija|HSY|HSY||||
toimija|Hsy/Ilmastoinfo|Ilmastoinfo||||
toimija|HSY/Ilmastoinfo|Ilmastoinfo||||
toimija|Ilmastoinfo|Ilmastoinfo||||
toimija|Infra|Infra||||
toimija|Infra|Infra||||
toimija|kaikki toimialat|Kaikki toimialat||||
toimija|Kaikki toimialat|Kaikki toimialat||||
toimija|kaikki toimialat  liikelaitokset|Kaikki toimialat||||
toimija|Kaikki liikelaitokset|Kaikki liikelaitokset||||
toimija|Kanslia|Kanslia||||
toimija|Kaupungin kanslia|Kanslia||||
toimija|Kanslia/3D|Kanslia||||
toimija|3D-kaupunkitietomalli|3D|on osana|Kanslia||
toimija|Kanslia/aluerakentaminen|Kanslia||||
toimija|HANK|HANK|on osana|Kanslia||
toimija|Kanslia/Aluerakentaminen|Kanslia||||
toimija|Aluerakentaminen|Aluerakentaminen|on osana|Kanslia||
toimija|Kanslia/elinkeino-osasto|Kanslia||||
toimija|Elinkeino-osasto|ELO|on osana|Kanslia||
toimija|Kanslia/Elo|Kanslia||||
toimija|Kilpailukykytiimi|Kilpailukykytiimi|on osana|Kanslia||
toimija|Kanslia/ELO|Kanslia||||
toimija|Konsernihallinnon ohjaus|Konsernihallinto|on osana|Kanslia||
toimija|Kanslia/ELO  Helsingin Satama Oy|Kanslia||||
toimija|Talous- ja suunnitteluosasto|Taso|on osana|Kanslia||
toimija|Kanslia/HANK|Kanslia||||
toimija|Kasvatuksen ja koulutuksen toimiala|Kasko||||
toimija|Kanslia/kilpailukykytiimi|Kanslia||||
toimija|Kaupunginmuseo|Kaupunginmuseo||||
toimija|Kanslia/konsernihallinnon ohus|Kanslia||||
toimija|Kirjastot|Kirjastot||||
toimija|Kanslia/talous- suunnitteluosasto|Kanslia||||
toimija|Kanslia/taso|Kanslia||||
toimija|Kanslia/Taso|Kanslia||||
toimija|Kasko|Kasko||||
toimija|KASKO|Kasko||||
toimija|kaupunginKanslia|Kanslia||||
toimija|KaupunginKanslia|Kanslia||||
toimija|kaupunginmuseo|Kaupunginmuseo||||
toimija|kirstot|Kirjastot||||
toimija|Korkeasaari|Korkeasaari||||
toimija|Korkeasaari|Korkeasaari||||
toimija|Kuntayhtymät tytäryhteisöt|Kuntayhtymät||||
toimija|Kuntayhtymät ja tytäryhteisöt|Kuntayhtymät||||
toimija|Kuva|Kuva||||
toimija|Kulttuurin ja vapaa-ajan toimiala|Kuva||||
toimija|KUVA|Kuva||||
toimija|Kaupunkiympäristön toimiala|Kymp||||
toimija|Kymp|Kymp||||
toimija|Kymp viestintä|Kymp viestintä|on osana|Kymp||
toimija|Kymp + muut toimialat|Kymp||||
toimija|Hallinto- ja tukipalvelut|Hatu|on osana|Kymp||
toimija|Kymp Hatu|Kymp||||
toimija|Kepa ry|Kepa|on osana|Kymp||
toimija|Kymp viestintä|Kymp||||
toimija|Liikkumispalvelupilotit|Liikkumispalvelut||||
toimija|Kymp/hankinnat|Kymp||||
toimija|Maankäyttö ja kaupunkirakenne –palvelukokonaisuus|Maka||||
toimija|Kymp/Kepa|Kymp||||
toimija|Asemakaavoitus|Aska|on osana|Maka||
toimija|liikkumispalvelupilotit)|Liikkumispalvelut||||
toimija|Geo|Geo|on osana|Maka||
toimija|Maka|Maka||||
toimija|Kaupunkitila- ja maisemasuunnittelu|KAMU|on osana|Maka||
toimija|Maka/Aska|Maka||||
toimija|Liikenne- ja katusuunnittelu|Lika|on osana|Maka||
toimija|Maka/Geo|Maka||||
toimija|Maaomaisuuden kehittäminen ja tontit|Make|on osana|Maka||
toimija|Maka/Kamu|Maka||||
toimija|Maankäytön yleissuunnittelu|Myle|on osana|Maka||
toimija|Maka/liikennesuunnittelu|Maka||||
toimija|Muut kunnat|Muut kunnat||||
toimija|Maka/Like|Maka||||
toimija|Maka/Like  Kanslia|Maka||||
toimija|Maka/Make|Maka||||
toimija|Maka/Myle|Maka||||
toimija|muut kunnat|Muut kunnat||||
toimija|Myle|Maka||||
toimija|Myle/Tek|Maka||||
toimija|nuorisopalvelut|Nuorisopalvelut||||
toimija|Nuorisopalvelut|Nuorisopalvelut||||
toimija|Nuorisopalvelut|Nuorisopalvelut||||
toimija|Palmia|Palmia||||
toimija|Palmia oy|Palmia||||
toimija|Palu|Palu||||
toimija|Palvelut ja luvat -palvelukokonaisuus|Palu||||
toimija|Palu/Hatu/Ympa|Palu||||
toimija|Rakennusvalvonta palvelut|Rava|on osana|Palu||
toimija|Palu/Rava|Palu||||
toimija|Palvelukeskus|Palvelukeskus|on osana|Palu||
toimija|Palvelukeskus|Palu||||
toimija|Pääkaupunkiseudun kierrätyskeskus Oy|Kierrätyskeskus||||
toimija|Pääkaupunkiseudun kierrätyskeskus Oy|Kierrätyskeskus||||
toimija|Rake|Rake||||
toimija|Rakennetun omaisuuden hallinta|Roha|on osana|Rya||
toimija|Roha|Roha||||
toimija|Ruokapalvelu|Ruokapalvelu||||
toimija|ruokapalvelu tilaavat|Ruokapalvelu||||
toimija|Rakennukset ja yleiset alueet –palvelukokonaisuus|Rya||||
toimija|Rya|Rya||||
toimija|Ylläpito|Ylpi|on osana|Rya||
toimija|Rya Roha|Rya||||
toimija|Tilapalvelut|Tila|on osana|Rya||
toimija|Rya/Rake|Rya||||
toimija|Yleiset alueet|Yleiset alueet|on osana|Rya||
toimija|Rya/Roha|Rya||||
toimija|Rya/Roha (massakoordinaattori)/Rake|Rya||||
toimija|Rya/Roha/Rake/Ylpi|Rya||||
toimija|Rya/Tila|Rya||||
toimija|Rya/Yleiset alueet|Rya||||
toimija|Rya/Ylpi|Rya||||
toimija|Rya/Ylpi/Roha|Rya||||
toimija|Smart&Clean|Smart&Clean||||
toimija|Smart&Clean|Smart&Clean||||
toimija|Sote|Sote||||
toimija|Sosiaali- ja terveydenhuolto|Sote||||
toimija|Sote/Pakila/Uusix|Sote||||
toimija|Pakilan työkeskus|Pakila|on osana|Sote||
toimija|Helen|Helen||||
toimija|Terveyden ja hyvinvoinnin laitos|THL||||
toimija|THL|THL||||
toimija|Stara|Stara||||
toimija|Stara logistiikka|Stara||||
toimija|Stara logistiikka|Stara||||
toimija|suomen- ja ruotsinkielinen työväenopisto|Työväenopistot||||
toimija|Suomen- ja ruotsinkieliset työväenopistot|Työväenopistot||||
toimija|Sähkön tilaayksiköt|Sähköntilaajayksiköt||||
toimija|Sähkön tilaajayksiköt|Sähköntilaajayksiköt||||
toimija|Tek/Myle/Maka|Maka||||
toimija|Toimialojen hankintaryhmät|Hankintaryhmät||||
toimija|Tila|Tila||||
toimija|tkuvaa|Tkuvaa||||
toimija|toimialat|Toimialat||||
toimija|Toimialat|Toimialat||||
toimija|toimialojen hankintaryhmät|Hankintaryhmät||||
toimija|Tukkutori|Tukkutori||||
toimija|Tukkutori|Tukkutori||||
toimija|tutkimuslaitokset|Tutkimuslaitokset||||
toimija|Tutkimuslaitokset|Tutkimuslaitokset||||
toimija|tytäryhteisö|tytäryhteisöt||||
toimija|Yhteinen pöytä -toimi|Yhteinen pöytä||||
toimija|Yhteinen pöytä -toimi|Yhteinen pöytä||||
toimija|Ylpi|Rya||||
toimija|Harakka|Harakka|on osana|Ympa||
toimija|Ympa|Ympa||||
toimija|Yritysneuvot|Yritysneuvot|on osana|Kanslia||
toimija|Ympa/Harakka|Ympa||||
toimija|Yritysneuvot (Kanslia)|Kanslia||||
</t2b>
</t2b>


=== Datan jalostaminen ===
Tiedot toimenpiteistä. {{argument|relat1=comment|id=arg3629|type=|content=Tämän tiedon voisi siirtää ghseetiin samaan taulukkoon kuin muut toimenpiteiden tiedot.|sign=--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 10. elokuuta 2018 kello 13.20 (UTC)}}


Tarkoitus on hyödyntää datan lähtökohtana esim. google sheetiä siten, että tiedot haetaan ja jalostetaan dynaamisesti eli alkuperäisen tiedoston muokkaamista voi jatkaa ilman, että datavirta katkeaa.
<t2b name="Toimenpiteiden linkit" index="Oldid,Nimi" obs="Seurantasivu" unit="-">
HNH2035.1|Liikenteen solmukohtien palvelutarjontaa ja vaihtojen sujuvuutta parannetaan|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=0
HNH2035.2|Pyöräliikenteen kantakaupungin tavoiteverkko valmistuu 2025 mennessä|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=254270846
HNH2035.66|Energiarenessanssi-ohjelma|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1110582574
HNH2035.67|selvitys öljylämmityksen poistamiseksi|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=284082830
HNH2035.68|3D-mallin kehitys|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1388815213
HNH2035.69|parannetaan taloyhtiöpäättäjien osaamista|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1531611149
</t2b>


==== A) Alkuperäinen muotoilu Gsheetistä ====
Tässä taulukossa on lueteltu niiden olioiden Oldid, joiden URLeista halutaan kerätä seurantadataa.


Linkistä on se muotoilu, joka on käytössä yhteenvetona Google Sheetissä. Kun tietoa aletaan rikastaa, sille annetaan aivan ensimmäisenä uniikki linkki, tässä tapauksessa esim. [https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=635849490]. Sen avulla tietoon voi viitata pysyvästi. Huomaa, että itse tietosisältö voi muuttua, mutta aihe säilyy ja linkki vie aina sivulle, jossa kuvataan Hiilineutraali Helsinki 2035 -toimenpideohjelman liikennetavoitteita.  
<t2b name="Seurantadata" index="Oldid,Nimi,URL" obs="Firstrow" unit="-">
HNH2035.1|Liikenteen solmukohtien palvelutarjontaa ja vaihtojen sujuvuutta parannetaan|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=0|3
HNH2035.2|Pyöräliikenteen kantakaupungin tavoiteverkko valmistuu 2025 mennessä|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=254270846|3
HNH2035.18|Sähköautojen latausinfran rakentaminen|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=2099090707|3
HNH2035.66|Energiarenessanssi-ohjelma|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1110582574|3
HNH2035.67|selvitys öljylämmityksen poistamiseksi|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=284082830|3
HNH2035.68|3D-mallin kehitys|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1388815213|3
HNH2035.69|parannetaan taloyhtiöpäättäjien osaamista|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1531611149|3
Ilmasto.58|lämmön kokonaiskulutus|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1394410144|3
Ilmasto.59|kulutussähkön määrä|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1071803243|3
Ilmasto.60|paikallisesti tuotettu sähkö|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=415041273|3
Ilmasto.61|hukkalämmön määrä|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1011858407|3
Ilmasto.62|paikallisesti tuotettu lämpö|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1756607272|3
Ilmasto.63|sähkön kysyntäjousto|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1126594145|3
Ilmasto.64|lämmön kysyntäjousto|https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=717853677|3
</t2b>
}}


==== B) Metatietojen lisääminen ====
=== Datan jalostaminen ===
 
Seuraavaksi tietoa rikastetaan lisäämällä siihen metatietoa helpottamaan tietojen linkkaamista ja lukemista. Taulukkoa kuitenkin käsitellään yhtenä blokkina, vaikka osa metatiedoissa mainituista kytkennöistä koskee vain tiettyä riviä.
 
{| {{prettytable}}
|+'''HNH2035-toimenpideohjelman liikenteen metatiedot
|----
! Nimi|| Hiilineutraali Helsinki 2035 -toimenpideohjelman liikennettä koskevat tavoitteet
|----
|| Tyyppi|| Arvoväite
|----
|| Alkio luokassa|| Tavoite
|----
|| Luenta|| Taulukon jokaisella rivillä on kuvattuna oma, itsenäinen tavoitteensa, jonka toteutumista toimenpideohjelmalla tavoitellaan. Yksi tavoite voi liittyä useaan toimenpiteeseen.
|----
|| Instanssi luokassa|| Yleiset liikennetavoitteet
|----
|| Instanssi luokassa|| Kävelyn ja pyöräilyn tavoitteet
|----
|| Instanssi luokassa|| Joukkoliikenteen ja julkisen liikenteen tavoitteet
|----
|| Instanssi luokassa|| Vähäpäästöisen autoilun tavoitteet
|----
|| Instanssi luokassa|| Työkoneiden tavoitteet
|----
|| Instanssi luokassa|| Sataman ja laivaliikenteen tavoitteet
|----
|| Kiinnostaa tahoa|| Koko Helsinki
|----
|| Kiinnostaa tahoa|| Helsingin kaupunkiorganisaatio
|----
|| Kiinnostaa tahoa|| HSL
|----
|| Kiinnostaa tahoa|| Bussifirmat
|----
|| Kiinnostaa tahoa|| Taksit
|----
|| Kiinnostaa tahoa|| Satamaorganisaatio
|----
|| Osa ohjelmaa|| Sustainable urban mobility plan (SUMP) [http://www.bsr-sump.eu/good-example/helsinki-region-transport-system-plan-hlj-2015]
|----
|| Osa ohjelmaa|| HSL:n kalustoskenaario [https://dev.hel.fi/paatokset/asia/hel-2016-009808/hkljk-2016-15/]
|----
|| Osa ohjelmaa|| Kaupunkistrategia 2017-2021 [https://www.hel.fi/helsinki/fi/kaupunki-ja-hallinto/strategia-ja-talous/kaupunkistrategia/strategia-ehdotus/]
|----
|| Osa ohjelmaa|| Sähköisen liikenteen kehittämisohjelma[https://dev.hel.fi/paatokset/media/att/6f/6fce79144ea6a782b29778bfa4c6b1f02e9e8149.pdf]
|----
|| Osa ohjelmaa|| Polttomoottorivapaa Helsinki 2030 ja päästötön liikenne
|----
|| Osa ohjelmaa|| Hiilineutraali Helsinki 2035 -toimenpideohjelma
|----
|| Tägi|| Helsinki
|----
|| Tägi|| Ilmastonmuutoksen torjunta
|----
|| Tägi|| Toimenpideohjelma
|----
|| Tägi|| Helsingin ympäristöpalvelut
|}
 
==== C) Tiedon muuttaminen rakenteelliseksi ====
 
Seuraavaksi tieto muutetaan automaattisesti rakenteelliseksi siten, että alkuperäisen taulukon rivejä kuvataan erillinä tavoitteina, jolloin niitä tulee viittauskelpoisia. Osa rivin sisällöstä sijoitetaan muodostettavaan olioon itseensä, osa taas muutetaan linkeiksi toisiin tieto-olioihin kuten organisaatiotietoihin. Näin esimerkiksi voidaan tunnistaa kaikki tiettyyn toimenpiteeseen liittyvät toimijat ja tehdä listaus kaikista jonkin toimijan vastuulla olevista asioista. Google sheetissä tämä olisi työlästä ja jäisi tekemättä.
 
Rakenteistaminen onnistuu automaattisesti, jos tiedot on alunperin kirjoitettu yhdenmukaisesti näitä ohjeita noudattaen google sheetille. Silloin se voidaan myös päivittää tietojen muuttuessa.


Tässä esimerkissä kuvataan vain osa tavoitteista tilan säästämiseksi. Tässä kuvaus on toteutettu wikissä, mutta varsinainen toteutus on ajateltu tehtäväksi sopivalla RDF-tietokannalla kuten Wikibasella tai mahdollisesti OpenAhjon laajennuksena. Tässä esimerkissä kunkin tavoitteen pysyvä linkki on merkitty pienellä kolmiolla otsikkoriville ja on esimerkiksi ensimmäisessä tavoitteessa [[Hiilineutraali Helsinki 2035#Jae 1]].
Tarkoitus on hyödyntää datan lähtökohtana esim. google sheetiä siten, että tiedot haetaan ja jalostetaan dynaamisesti eli alkuperäisen tiedoston muokkaamista voi jatkaa ilman, että datavirta katkeaa. Linkin avulla tietoon voi viitata pysyvästi. Huomaa, että itse tietosisältö voi muuttua, mutta aihe säilyy ja linkki vie aina sivulle, jossa kuvataan Hiilineutraali Helsinki 2035 -toimenpideohjelman liikennetavoitteita.  


{| {{prettytable}}
Tietoa rikastetaan liittämällä siihen lisätietoa, kuten linkkejä ([http://www.bsr-sump.eu/good-example/helsinki-region-transport-system-plan-hlj-2015 Sustainable urban mobility plan (SUMP)], [https://dev.hel.fi/paatokset/asia/hel-2016-009808/hkljk-2016-15/ HSL:n kalustoskenaario], [https://www.hel.fi/helsinki/fi/kaupunki-ja-hallinto/strategia-ja-talous/kaupunkistrategia/strategia-ehdotus/ Kaupunkistrategia 2017-2021], [https://dev.hel.fi/paatokset/media/att/6f/6fce79144ea6a782b29778bfa4c6b1f02e9e8149.pdf Sähköisen liikenteen kehittämisohjelma], [https://dev.hel.fi/paatokset/paattaja/11010vh1/2017/72/ Kaupunginjohtajan päätös lausunnosta koskien liikennepalvelulain esitystä]).
|+'''Liikenteen ilmastopäästöjen vähentäminen 60 % vuosina 2015-2035 {{jae|1}}
|----
! Ominaisuus|| Sisältö
|----
|| Nimi|| On tärkeää, että liikenteen ilmastopäästöt vähenevät 60 prosenttia nykyisestä vuoden 2015 tasosta (2030 tavoite 55%)
|----
|| Tyyppi|| Arvoväite
|----
|| Alkio luokassa|| Tavoite
|----
|| Instanssi luokassa|| Yleiset liikennetavoitteet
|----
|| Kiinnostaa tahoa|| Koko Helsinki
|----
|| Osa ohjelmaa|| Sustainable urban mobility plan (SUMP) [http://www.bsr-sump.eu/good-example/helsinki-region-transport-system-plan-hlj-2015]
|----
|| Osa ohjelmaa|| Hiilineutraali Helsinki 2035 -toimenpideohjelma
|----
|| Tägi|| Helsinki
|----
|| Tägi|| Ilmastonmuutoksen torjunta
|----
|| Tägi|| Toimenpideohjelma
|----
|| Tägi|| Helsingin ympäristöpalvelut
|}


{| {{prettytable}}
Seuraavaksi tieto muutetaan automaattisesti rakenteelliseksi siten, että alkuperäisen taulukon riveistä muodostetaan erillisiä, viittauskelpoisia tieto-olioita. Osa rivin sisällöstä sijoitetaan muodostettavaan olioon itseensä, osa taas muutetaan relaatioiksi toisiin tieto-olioihin kuten organisaatiotietoihin. Näin esimerkiksi voidaan tunnistaa kaikki tiettyyn toimenpiteeseen liittyvät toimijat ja tehdä listaus kaikista jonkin toimijan vastuulla olevista asioista. Google sheetissä tämä olisi työlästä ja jäisi tekemättä.
|+'''Liikenne palveluna -konseptin läpimurto {{jae|3}}
|----
! Ominaisuus|| Sisältö
|----
|| Nimi|| On tärkeää, että liikenne Helsingissä muuttuu voimakkaasti palveluksi (MaaS), jolloin ajoneuvotarve vähenee.
|----
|| Tyyppi|| Arvoväite
|----
|| Alkio luokassa|| Tavoite
|----
|| Instanssi luokassa|| Yleiset liikennetavoitteet
|----
|| Kiinnostaa tahoa|| Koko Helsinki
|----
|| Tavoitetta edistävä toimi|| Kaupunginjohtajan päätös lausunnosta koskien liikennepalvelulain esitystä [https://dev.hel.fi/paatokset/paattaja/11010vh1/2017/72/]
|----
|| Osa ohjelmaa|| Sustainable urban mobility plan (SUMP) [http://www.bsr-sump.eu/good-example/helsinki-region-transport-system-plan-hlj-2015]
|----
|| Osa ohjelmaa|| Hiilineutraali Helsinki 2035 -toimenpideohjelma
|----
|| Tägi|| Helsinki
|----
|| Tägi|| Ilmastonmuutoksen torjunta
|----
|| Tägi|| Toimenpideohjelma
|----
|| Tägi|| Helsingin ympäristöpalvelut
|}


:Vertailun vuoksi: Ahjossa on jokaisella päättäjällä, asialla ja päätöksellä oma tunniste, esim
Vertailun vuoksi: Ahjossa on jokaisella päättäjällä, asialla ja päätöksellä oma tunniste, ja näihin on syytä linkata mahdollisuuksien mukaan.
:Kaupunginjohtaja https://dev.hel.fi/paatokset/paattaja/11010vh1/
:Kaupunginjohtaja https://dev.hel.fi/paatokset/paattaja/11010vh1/
:Lausunto liikennepalvelulain esityksestä https://dev.hel.fi/paatokset/asia/hel-2017-005140/
:Lausunto liikennepalvelulain esityksestä https://dev.hel.fi/paatokset/asia/hel-2017-005140/
:Kaupunginjohtajan päätös kyseistä lausunnosta https://dev.hel.fi/paatokset/paattaja/11010vh1/2017/72/
:Kaupunginjohtajan päätös kyseistä lausunnosta https://dev.hel.fi/paatokset/paattaja/11010vh1/2017/72/
:Taulukoissa mainitut relaatiot voi kytkeä Ahjon tunnisteisiin silloin, kun sellainen on olemassa.
{| {{prettytable}}
|+'''Pyöräilyn osuus sisältäen sähköpyöräilyn nousee X %:iin {{jae|2}}
|----
! Ominaisuus|| Sisältö
|----
|| Nimi|| On tärkeää, että pyöräilyn osuus matkoista, sisältäen sähköpyöräilyn, nousee X prosenttiin vuoteen 2035 mennessä
|----
|| Sisältö||'''Kommentit ja perustelut
Kaupungin roolissa mm. talvikunnossapito ja fasiliteetit kuntoon, voisiko Baanan konseptoida palvelukokonaisuudeksi?
SUMP:ssa on tavoite, mutta onko se riittävä?. Pyöräilyn tavoiteohjelmassa on lueteltu toimia, mutta mille vuodelle saakka?
|----
|| Tyyppi|| Arvoväite
|----
|| Alkio luokassa|| Tavoite
|----
|| Instanssi luokassa|| Kävelyn ja pyöräilyn tavoitteet
|----
|| Kiinnostaa tahoa|| Koko Helsinki
|----
|| Osa ohjelmaa|| Hiilineutraali Helsinki 2035 -toimenpideohjelma
|----
|| Tägi|| Helsinki
|----
|| Tägi|| Ilmastonmuutoksen torjunta
|----
|| Tägi|| Toimenpideohjelma
|----
|| Tägi|| Helsingin ympäristöpalvelut
|}


=== Riippuvuudet ===
Rakenteistaminen onnistuu automaattisesti, kun tiedot alunperin kirjoitaan yhdenmukaisesti. Silloin se voidaan myös päivittää tietojen muuttuessa. Tällainen rakenteistamiskoodi löytyy sivulta [[Ympäristöterveysindikaattori#Laskenta]].


Toiminnassa pyritään siihen, että tiedot ovat selkeitä, johdonmukaisia ja yhdenmukaisia. Tätä varten vakioidaan se, mitä tietoja kustakin tavoitteesta tai toimenpiteestä kerätään. Tässä on kuvattu lähtötietojen sarakkeet ja niiden sisällöt (ehdotus). Tarkempi kuvaus löytyy [https://docs.google.com/spreadsheets/d/1IBwM_JqQ-XKBj7twzLokr2E3p7FpfYc4kJh5448JAsQ/edit#gid=0 täältä]. Tietoja kerätään [https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=1954105730 google sheetille]. Taulukossa mainitut relaatiot tarkoittavat tietoa siitä, että kaksi asiaa (esimerkiksi toimenpide ja tavoite) liittyvät toisiinsa tietyllä tavalla.
Toiminnassa pyritään siihen, että tiedot ovat selkeitä, johdonmukaisia ja yhdenmukaisia. Tätä varten vakioidaan se, mitä tietoja kustakin tavoitteesta tai toimenpiteestä kerätään. Tässä on kuvattu lähtötietojen sarakkeet ja niiden sisällöt (ehdotus). Tarkempi kuvaus löytyy [https://docs.google.com/spreadsheets/d/1IBwM_JqQ-XKBj7twzLokr2E3p7FpfYc4kJh5448JAsQ/edit#gid=0 täältä]. Tietoja kerätään [https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=1954105730 google sheetille]. Taulukossa mainitut relaatiot tarkoittavat tietoa siitä, että kaksi asiaa (esimerkiksi toimenpide ja tavoite) liittyvät toisiinsa tietyllä tavalla.
{| {{prettytable}}
|+'''Tavoitteista ja toimenpiteistä kerättävät tiedot Hiilineutraali Helsinki 2035 -ohjelmassa.
|----
! Sarake
! Kuvaus
! Sarakkeen alkuperäinen nimi tai nimet
! Kuvataan relaatiolla (jos ei ole relaatiota, ajatellaan osaksi ydinsisältöä)
|----
!colspan="4"| Toimenpide
|----
| Nimi
| Lyhyt, ytimekäs ja muutumaton yksilöllinen tunniste. Miellään kuvaileva muttei tarvitse olla kattava.
|
|
|----
| Teema
| Millaiseen yleiseen teemaan toimenpide kuuluu?
| TEEMA
| on instanssi luokassa [jokin Teema-luokan asia]
|----
| Toimenpideluokka
| Katso listaus toimenpideluokista taulukon alta
| Toimenpideluokka (soveltuvin osin GAIA:n laskennan mukainen)
| on instanssi luokassa [jokin Toimenpideluokka-luokan asia]
|----
| Toimenpide
| Toimenpiteen yleiskuvaus, joka on riittävän kattava antamaan hyvän yleiskuvan asiasta.
|
|
|----
| Osallistuja
| Listataan kaupungin organisaatioyksiköitä jotka ovat vastuussa toimenpiteestä tai yhteistyössä. Ensimmäisenä mainittu on päävastuussa.
| Vastuu ja yhteistyötahot
| Ensimmäisenä listatun eli vastuutahon osalta relaatio: omistajana on. Muiden osallistujien osalta käytetään relaatiota: osallistujana on.
|----
| Päästökoodi
| {{comment|#|Onko tämä päästökerroin per suorite vai mikä?|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 7. helmikuuta 2018 kello 14.19 (UTC)}}
| Päästökoodi (CO2_vaikutusarviot...)
|
|----
| Perustelut
| Perusteluja, kommentteja ja muuta tarpeellista tietoa
| KOMMENTIT; Kommentit; Muut kommentit; Perustelut ja kommentit; Aineistoa; AIEMPI TEEMA
|
|----
| Ohjelmapäätös
| Merkitään Kyllä, jos HNH2035-ohjelman hyväksyminen tarkoittaa myös tämän toimenpiteen hyväksymistä
| Tästä päätetään ohjelman hyväksynnän yhteydessä
|
|----
| Kustannukset
| Toimenpiteen toteuttamisen kustannukset {{comment|#|(per suorite vai kokonaiskustannus?)|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 7. helmikuuta 2018 kello 14.19 (UTC)}}
| Kustannukset
| aiheuttaa kustannuksen
|----
| Päästövaikutus
| {{comment|#|Onko tämä kokonaisvaikutus vai mikä?|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 7. helmikuuta 2018 kello 14.19 (UTC)}}
| Päästövaikutus
| aiheuttaa päästövaikutuksen
|----
| Aikataulu
| Toimenpiteen toteutusaikataulu
| Aikataulu: 1, 2, 3
|
|----
| Esimerkki
| Esimerkkejä vastaavanlaisista toimenpiteistä, joista on käytännön kokemusta.
| Esimerkki muualta
| tekee relevantiksi
|----
!colspan="4"| Tavoite
|----
| Nimi
| Lyhyt, ytimekäs ja muutumaton yksilöllinen tunniste. Miellään kuvaileva muttei tarvitse olla kattava.
|
|
|----
| Tavoite
| Tavoitteen yleiskuvaus, joka on riittävän kattava antamaan hyvän yleiskuvan asiasta.
| Tavoite
|
|----
| Osallistuja
| Kuka on ensisijaisesti vastuussa tavoitteen toteutumisesta? Entä toissijaisesti?
| Omistus; Ketä tavoite koskee; Kaupunki/Koko Hki?
| omistajana on. Toissijaisten omistajien osalta käytetään relaatiota: osallistujana on.
|----
| Perustelut
| Perusteluja, kommentteja ja muuta tarpeellista tietoa
| KOMMENTIT; Kommentit; Muut kommentit; Perustelut ja kommentit; Aineistoa; AIEMPI TEEMA
|
|----
| Ohjelmatavoite
| Onko tämä tavoite jo mainittu jossain muussa ohjelmassa? Tähän ohjelman nimi, tai jätetään tyhjäksi jos sellaista ei ole.
| Tavoite on jo muussa ohjelmassa
| on aiheena julkaisussa
|----
| Vaikutus
| {{comment|#|Sarakkeen sisältö epäselvä, koska sitä ei ole käytetty.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 7. helmikuuta 2018 kello 14.19 (UTC)}}
|
|
|----
| Mittari
| Miten tavoitteen toteutumista mitataan? {{comment|#|(Saraketta ei ole käytetty.)|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 7. helmikuuta 2018 kello 14.19 (UTC)}}
| Mittari; Seurantaindikaattorit
|
|----
|}


'''Sisältövaihtoehdot sarakkeissa, joissa on etukäteen määrätyt vaihtoehdot.
'''Sisältövaihtoehdot sarakkeissa, joissa on etukäteen määrätyt vaihtoehdot.
Rivi 595: Rivi 285:
; Aikataulu: 1=tämä valtuusto (2018-2019), 2=seuraava valtuusto (2019-2023), 3=myöhemmin (2013- )
; Aikataulu: 1=tämä valtuusto (2018-2019), 2=seuraava valtuusto (2019-2023), 3=myöhemmin (2013- )


===Data===
===Laskenta===
 
==== Kerää ja varastoi masterdata ====
 
Tämän koodin keräämiä datoja voit tarkastella [http://fi.opasnet.org/fi/Special:Opasnet_Base?id=op_fi5767.masterdata täältä].
 
<rcode name="master" label="Kerää seurannan masterdata" embed=1>
# This is code Op_fi5767/master on page [[Hiilineutraali Helsinki 2035]]
 
library(OpasnetUtils)
 
objects.latest("Op_en3861",code_name="scrape.functions")
# objects.latest("Op_fi5849",code_name="preprocess") # In case we want to extract URLs from insight network
meta <- opbase.data("Op_fi5767", subset="Seurantadata")
for(i in colnames(meta)) {meta[[i]] <- as.character(meta[[i]])}
meta$Result <- as.numeric(meta$Result)
 
coln <- c("Kohde", "Mittari", "Aika", "Skenaario", "Tulos", "Yksikkö", "Kuvaus", "Perustelu", "Leima")
 
# meta$URL2 <- gr$nodes_df$URL[match(meta$Oldid, gr$nodes_df$Oldid)]
# print(meta)


Tiedot toimenpiteistä.
out <- data.frame()
for(i in 1:nrow(meta)) {
  print(meta$Nimi[i])
  tmp <- scrape.gssheet(meta$URL[i], meta$Result[i])
  #  tmp <- tryCatch(scrape.gssheet(gr$nodes_df$URL[match(meta$Oldid[i], gr$nodes_df$Oldid)], meta$Result[i]))
  if(nrow(tmp)>0) {
    colnames(tmp) <- coln
    tmp <- data.frame(Oldid=meta$Oldid[i],Konteksti=meta$Nimi[i],tmp)
    if(nrow(out)>0) out <- orbind(out, tmp) else out <- tmp}
}
out[is.na(colnames(out))] <- NULL # Remove unnamed columns if any


<t2b name="Toimenpiteet" index="Numero,Nimi,Osivu,Koodi,Seurantasivu" obs="Dummy" unit="-">
opbase.upload(
4.1.1.001|Liikenteen solmukohtien palvelutarjontaa ja vaihtojen sujuvuutta parannetaan|Op_fi5767|alusta4.1.1|https://docs.google.com/document/d/1RyHSBaIjBvEz-5fxS4TCXQfx5ARG_Ws34x6lV1bB7GU/edit#|1
  out,
4.1.1.002|Pyöräliikenteen kantakaupungin tavoiteverkko valmistuu 2025 mennessä|Op_fi5767|alusta4.1.1|https://docs.google.com/document/d/1XBDOvh_rIgY8hF7VBITtLeImb9rPnXx4F-4d5u0LJCw/edit#heading=h.t4rc3yfldav6|1
  "Op_fi5767",
</t2b>
  name="Hiilineutraali Helsinki 2035",
  subset="Masterdata",
  language="fin",
  rescol="Tulos",
  who=wiki_username
)
cat("Masterdata onnistuneesti tallennettu.\n")
</rcode>
 
==== Jalosta masterdataa malleja varten ====
 
<rcode name="tpv" label="Alusta data.frame tpv (vain kehittäjille)" embed=1>
# This is code Op_fi5767/tpv on page [[Hiilineutraali Helsinki 2035]]
library(OpasnetUtils)
 
tpv <- opbase.data("Op_fi5767", subset="Masterdata")
tpv$Skenaario[tpv$Skenaario %in% c("NA","toteuma")] <- NA
tpv <- tpv[!(tpv$Skenaario=="varaus" & tpv$Kuvaus=="Perustaso" & !is.na(tpv$Kuvaus)),] # What is this?
tpv <- tpv[!colnames(tpv) %in% c("Leima","Perustelu","Kuvaus")]
tpv$Aika <- as.numeric(as.character(tpv$Aika))
levels(tpv$Skenaario)[levels(tpv$Skenaario) %in% c("toteuma","varaus")] <- "tätä menoa"
tpv <- fillna(tpv, "Skenaario")
 
#> colnames(tpv)
#[1] "Oldid"    "Konteksti" "Kohde"    "Mittari"  "Aika"      "Skenaario"
#[7] "Yksikkö"  "Result" 
 
colnames(tpv) <- c("Oldid","Context","Target","Metric","Year",
                  "Scenario","Unit","Result")
 
objects.store(tpv)
cat("Data.frame tpv tallennettu.\n")
</rcode>
 
==== Kerää toimenpide- ja vaikutustiedot ====
 
Tämä koodi kerää seurantatiedot avoimista nettitaulukoista ja tallentaa ne yhteen paikkaan jatkotyöstettäväksi. Toistaiseksi tämä on ajettava omalla koneella eikä Opasnetissä, mutta tähän tullee parannus lähiaikoina.
 
{{#l:HNH2035toimenpideseuranta.csv}} Toimenpiteiden toteuma sekä ennakoidut ja toteutuneet vaikutukset.
 
<rcode name="followup" label="Luo toimenpidetiedosto (ajettava omalla koneella)">
# This is code Op_fi5767/followup on page [[Hiilineutraali Helsinki 2035]]
 
library(gsheet)
objects.latest("Op_fi5810", code_name="graphs") # [[Ympäristöterveysindikaattori]] graafilista
 
# Some preliminary tests to read google docs. Not very successful yet, so we use google sheets for now.
 
if(FALSE) {
  library(rvest)
  wdat <- read_html("https://docs.google.com/document/d/1XBDOvh_rIgY8hF7VBITtLeImb9rPnXx4F-4d5u0LJCw/edit")
 
  html_table(wdat) # Does NOT read Google documents properly.
  html_text(html_nodes(wdat, css="dt")) # Does NOT read Google document properly
  html_text(wdat)
  write(html_text(wdat), "googlthtml.txt") # Does NOT read Google document properly
 
  # library(RGoogleDocs) # Active in 2012; not found from Cran any more.
  library(googledrive)
  # library(plusser) # An interface for Google+. Is this useful?
 
  files <- drive_get("~/VAIKUTUSARVIOINTITYÖKALU")
  files$drive_resource
 
  drive_download("~/VAIKUTUSARVIOINTITYÖKALU/HNH2035tp001", type="txt", overwrite=TRUE) # Works but formatting is oversimplistic
  drive_download("~/VAIKUTUSARVIOINTITYÖKALU/HNH2035tp001", type="odt", overwrite=TRUE) # seems to work well. But how to operate with odt?
 
  odat <- read_html(unz("HNH2035tp001.odt","content.xml")) # Converts odt to xml. It uses untypical tags, though.
  html_text(xml_nodes(odat, css="p"))
  html_text(xml_nodes(odat, css="table"))
  html_table(odat, fill=TRUE) # Does NOT work
 
}
 
tpv <- data.frame()
for(i in 1:2) {
  tmp2 <- gsheet2tbl(graafilista[[1]]$URL[match(paste0("HNH2035tp.",i),graafilista[[1]]$Oldid)])
  id <- colnames(tmp2)[2] # This should be taken from metatable rather then gsheet.
  colnames(tmp2) <- tmp2[1,]
  tmp2 <- as.data.frame(tmp2[-1,1:8]) # Columns sliced because it is very easy to add text to other columns in gsheets. As.data.frame is used to get rid of tibble.
  tmp2$Toimenpide <- id
  colnames(tmp2)[colnames(tmp2)=="Yksikkö"] <- "Unit"
  colnames(tmp2)[colnames(tmp2)=="Tulos"] <- "Result"
  tpv <- rbind(tpv, tmp2)
}
 
write.csv(tpv, "HNH2035toimenpideseuranta.csv", quote=TRUE, row.names=FALSE, fileEncoding="UTF-8")
</rcode>
 
==== Piirrä näkemysverkko ====
 
hnhverkko on uudempi versio häkemysverkosta ja toimii uusilla tammikuun 2019 määrittelyillä.


<rcode name="hnh2035" label="Alusta ovariable costs (vain kehittäjille)">
<rcode name="hnhverkko" label="Alusta ovariable hnhverkko (vain kehittäjille)" embed=1>
# Tämä on koodi Op_fi5767/hnh2035 sivulla [[Hiilineutraali Helsinki 2035]]


# This is code Op_fi5767/nakemysverkko on page [[Hiilineutraali Helsinki 2035]]
library(OpasnetUtils)
library(OpasnetUtils)
# library(DiagrammeRsvg)´# This is needed if the graph is saved as svg with export_graph()


costs <- Ovariable(
hnhverkko <- Ovariable(
   "costs",
   "hnhverkko",
   dependencies=data.frame(
   dependencies = data.frame( # From [[Insight network]]
     Name=c("tp001","tp002"),
     Name=c("scrape.gssheet","makeGraph"),
     Ident=c("Op_fi5767/alusta4.1.1","Op_fi5767/alusta4.1.1")
     Ident=c("Op_en3861/scrape.functions","Op_en3861/makeGraph")
   ),
   ),
   formula=function(...) {
   formula = function(...) {
     out <- tp001 + tp002
 
     out <- scrape.gssheet(
      page="https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1376210298",
      firstrow=5
    )
    out <- out[c(1,3,7,4,5,6,1,1,1,1)]
    colnames(out) <- c(
      "Context",
      "Item",
      "type",
      "label",
      "rel",
      "Object",
      "Description",
      "Reldescription",
      "URL",
      "Result"
    )
    out$Context <- "HNH"
    out[c("Description","Reldescription","URL")] <- ""
    out$Result <- 0
    out <- out[!(is.na(out$Item) & is.na(out$label)) , ]
     return(out)
     return(out)
   }
   }
)
hnhverkko@meta$insightnetwork <- list(
  addnodes = "",
  addnodesByid = c(159,160),
  removenodes = "",
  formatting = "",
  ignoreobj = "",
  steps = 2
)
)


objects.store(costs)
objects.store(hnhverkko)
cat("Ovariable costs stored.\")
cat("Ovariable hnhverkko tallennettu.\n")
</rcode>
</rcode>


<rcode name="alusta4.1.1" label="Alusta kestävien kulkumuotojen muuttujat (vain kehittäjille)">
<rcode label="Piirrä näkemysverkko (ajettava omalla koneella)">
# Tämä on koodi Op_fi5767/alusta4.1.1 sivulla [[Hiilineutraali Helsinki 2035]]
# This is code Op_fi5767/nakemysverkko on page [[Hiilineutraali Helsinki 2035]]
 
#################### First part: heating and electricity consumption


library(OpasnetUtils)
library(OpasnetUtils)


tp001 <- Ovariable(
objects.latest("Op_en3861",code_name="scrape.functions") # [[Insight network]]
   "tp001",
objects.latest("Op_en3861",code_name="makeGraph") # [[Insight network]]
   data <- bringpage(n="4.1.1.001")
 
dat <- scrape.gssheet(
  "https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=145667980",
  3)[-c(6,7)]
colnames(dat) <- c("type","Item","label","rel","Object")
gr <- makeGraph(dat)
 
render_graph(gr)
export_graph(gr, "HNH2035 lämmitys- ja sähköratkaisut.svg")
 
####################### Second part: action plan? MAY NEED UPDATING
 
library(OpasnetUtils)
# library(DiagrammeRsvg)´# This is needed if the graph is saved as svg with export_graph()
 
objects.latest("Op_en3861", code_name="insightNetwork") # [[Insight network]] insightNetwork.  Contains list of objects needed
#objects.latest("Op_en3861",code_name="ui") # [[Insight network]] ui # These are listed in insightNetwork
#objects.latest("Op_en3861",code_name="server") # [[Insight network]] server, chooseGr
 
# If you want to use alternative objects, fetch them here.
 
meta <- Ovariable(
   "meta",
   data = data.frame(
    Name = "HNH2035",
    Description = "Hiilineutraali Helsinki 2035",
    Id = "HNH",
    Type = "keskustelu",
    Table = "",
    Firstrow = 5,
    URL = "https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1376210298",
    Numbering = 1,
    PRLtrunk = ""
  )
)
)
cat("The network data comes from these sources:\n")
oprint(meta@data)
insightNetwork <- EvalOutput(insightNetwork,verbose=TRUE)
cat("This code uses the following objects:\n")
oprint(insightNetwork@dependencies)
ls()


tp002 <- Ovariable(
insightTables <- makeInsightTables(meta) # Fetches the data from their original sources. You can update (part of) insightTables by rerunning with (partial) meta.
  "tp002",
 
  data <- bringpage(n="4.1.1.002")
graphTable <- makeGraphTable(verbose=FALSE) # Produces a table in standard format for insight networks
 
graphTable <- graphTable[!(is.na(graphTable$Item) & is.na(graphTable$label)),]
#graphTable$Oldid <- paste0("HNH.",1:nrow(graphTable))
graphTable$Oldid <- graphTable$type
graphTable$type <- c(rep("action",147),rep("substance",nrow(graphTable)-147))
graphTable$type[graphTable$label %in% c("khk-päästö","ilmansaastepäästö")] <- "objective"
 
gr <- makeInsightGraph(graphTable) # Creates a DiagrammeR graph object
 
seeds <- Ovariable(data=data.frame(Node=0,Topic=0))
input <- list(
  topic="",
  addnodes = "",
  addnodesByOldid=c("HNH.159","HNH.161"),
  removenodes="",
  formatting="",
  ignoreobj="",
  steps=4
)
)


objects.store(tp001,tp002)
gr2 <- chooseGr(gr, input, seeds)
cat("Ovariables tp001, tp002 stored.\n")
gr2$nodes_df$label <- gsub("(.{1,18})(\\s|$)", "\\1\n", gr2$nodes_df$label) # Cut labels to max 18 characters long on one line (except if a word is longer)
# Alternative possibility is to use strwrap function from {base} or stri_wrap from stringi.
if("Hide node labels" %in% input$formatting) gr2$nodes_df$label <- ""
if("Hide edge labels" %in% input$formatting) gr2$edges_df$label <- " "
gr2 <- transform_to_subgraph_ws(gr2)
 
# Choose one or more output formats
render_graph(gr2)
# objects.store(gr2)
# cat(Rendered graph object gr2 stored.\n")
# export_graph(gr2, "HNH2035_syykaavio.svg")
# shinyApp(ui, server, enableBookmarking = "url")
</rcode>
</rcode>


===Laskenta===
==== Tarkastele vaikutuksia ====


==== Visualisointi gsheetistä ====
Tämä koodi ottaa kootut seurantatiedot ja laskee niistä erilaisia tunnuslukuja ja seurantakaavioita. Malliajolinkeistä pääsee suoraan valmiiksi laskettuihin tuloksiin.


Visualisointi toimenpidedatasta, jota kerätään gheetiin.
* Malliajo 11.8.2018 [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=NTiREkZphYxJHiQ4]
* Malliajo 17.9.2018 [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=yoRxyt4WWO8sF7Pf]


<rcode graphics=1>
<rcode graphics=1>
# This code is Op_fi5767/ on page [[Hiilineutraali Helsinki 2025]]
# This is code Op_fi5767/ on page [[Hiilineutraali Helsinki 2035]]
library(OpasnetUtils)
library(ggplot2)
 
BS <- 24
 
if(!exists("tpv")) {
  tpv <- opasnet.csv("2/2a/HNH2035toimenpideseuranta.csv", wiki="opasnet_fi",
                    sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
  )
}
 
tpv <- fillna(tpv, "Skenaario")
tpv <- tpv[!(tpv$Skenaario=="varaus" & tpv$Kuvaus=="Perustaso" & !is.na(tpv$Kuvaus)),]
tpv$Aika <- as.numeric(tpv$Aika)
tpv$Skenaario <- as.factor(tpv$Skenaario)
oprint(tpv)
# levels(tpv$Skenaario)
# [1] "BAU"    "HNH2035" "toteuma" "varaus"
levels(tpv$Skenaario) <- c("BAU", "HNH2035","Tätä menoa","Tätä menoa")
 
colnames(tpv)[colnames(tpv)=="Vaikutus"] <- "Mittari" # Needed until code updated
 
kustannukset <- Ovariable(
  "kustannukset",
  data = tpv[tpv$Mittari=="kustannukset",-(7:8)] # Remove Kuvaus and Perustelut
)
 
kustannukset <- EvalOutput(kustannukset)
 
# Not very clever graph because sums up all time points.
ggplot(kustannukset@output, aes(x=kustannuksetResult, colour=Skenaario))+stat_ecdf()+facet_wrap(~Aika)+
  theme_gray(base_size=BS)+
  labs(title="HNH2035-ohjelman kustannukset epävarmuuksineen vuosittain",x="Kumulatiiviset kustannukset (k€)",y="Kumulatiivinen todennäköisyys")
 
kust <- kustannukset
kust <- oapply(oapply(kust, cols="Iter", FUN=mean), cols="Toimenpide",FUN=sum)
 
ggplot(kust@output, aes(x=Aika, y=kustannuksetResult, colour=Skenaario, group=Skenaario))+geom_line()+
  theme_gray(base_size=BS)+
  labs(title="HNH2035-ohjelman kustannukset",y="Kumulatiiviset kustannukset (k€)")
 
objects.latest("Op_fi5767", code_name="ilmpaasto") # [[Hiilineutraali Helsinki 2035]] ilmpaasto
 
ilmpaasto <- EvalOutput(ilmpaasto)
ilmpaasto <- oapply(oapply(ilmpaasto, cols="Iter", FUN=mean), cols=c("Toimenpide","Kohde","Mittari"),FUN=sum)
 
ggplot(ilmpaasto@output, aes(x=Aika, y=ilmpaastoResult, colour=Skenaario, group=Skenaario))+geom_line()+
  theme_gray(base_size=BS)+
  facet_wrap(~ Pollutant, scales="free_y")+
  labs(title="Ilmasto- ja pienhiukkaspäästöt",y="Kumulatiiviset ilmastopäästöt (kton CO2ekv)")
 
pyorkm <- Ovariable(
  "pyorkm",
  data = tpv[grepl("ilym", tpv$Mittari),-(7:8)] # Remove Kuvaus
)
 
pyorkm <- EvalOutput(pyorkm)
pyorkm <- oapply(oapply(pyorkm, cols="Iter", FUN=mean), cols="Toimenpide",FUN=sum)
 
ggplot(pyorkm@output, aes(x=Aika, y=pyorkmResult, colour=Skenaario, group=Skenaario))+geom_line()+
  theme_gray(base_size=BS)+
  labs(title="Pyöräilykilometrit",y="Pyöräilykilometrit (km/hlö/a)")
</rcode>
 
Tämä koodi tuottaa osamallin ilmastopäästöjen laskemiseksi pyöräilykilometreille ja muille vaikutuksille.
 
<rcode name="ilmpaasto" label="Alusta ovariable ilmpaasto" embed=1>
# This is code Op_fi5767/ilmpaasto on page [[Hiilineutraali Helsinki 2035]]
library(OpasnetUtils)
 
ilmpaasto <- Ovariable(
  "ilmpaasto",
  dependencies = data.frame(
    Name=c("tpv","emfactor"),
    Ident=c(NA,"Op_en2989/emfactor")
  ),
  formula=function(...) {
    muuvaik <- EvalOutput(Ovariable(
      "muuvaik",
      data = tpv[grepl("ilmastop",tpv$Mittari),-(7:8)] # Remove Kuvaus and Perustelut
    ))
    muuvaik$Pollutant <- "CO2"
   
    pyorkm <- EvalOutput(Ovariable(
      "pyorkm",
      data = tpv[grepl("ilym",tpv$Mittari),-(7:8)]
    ))
    pyorkm$Vehicle <- "Bike"
   
    pyorem <- pyorkm * emfactor / 1000 # g/person -> kton/1M people
    out <- combine(pyorem,muuvaik)
    out <- oapply(out, cols=c("Vehicle","pyorkmSource","emfactorSource","Source","ilmpaastoSource"),FUN=sum)
    return(out)
  }
)
 
objects.store(ilmpaasto)
cat("Ovariable ilmpaasto stored.\n")
</rcode>
 
==== Mittarit Helsingin energiapäätöksestä 2015 ====
 
Tämä koodi on muokattu mallista [[:op_en:Helsinki energy decision 2015#Preference_order]] siten, että sillä on tuotettu HNH2035-ohjelmaan seuraavat mittarit:
* Helsingin rakennusala [https://hnh.hel.ninja/indicator/68/]
* Rakenusala rakennustyypeittäin [https://hnh.hel.ninja/indicator/12/]
* Rakennusala lämmitysmuodoittain [https://hnh.hel.ninja/indicator/13/]
* Helsingin energiantuotantokapasiteetti [https://hnh.hel.ninja/indicator/70/]
* Kaupungin omistamien kiinteistöjen ominaislämmönkulutus [https://hnh.hel.ninja/indicator/4/]
* Ominaislämmönkulutuksen väheneminen peruskorjauksessa [https://hnh.hel.ninja/indicator/36/]
* Uusien rakennusten ominsialämmönkulutus [https://hnh.hel.ninja/indicator/51/]
* Kiinteistöjen ominaislämmönkulutus [https://hnh.hel.ninja/indicator/72/]
* Helsingin energiatase [https://hnh.hel.ninja/indicator/71/]
* Rakennuskannan lämmönkulutus [https://hnh.hel.ninja/indicator/69/]
* Kaukolämmöntuotannon kasvihuonekaasupäästöt [https://hnh.hel.ninja/indicator/31/]
* Helsingin kaupungin ilmansaastepäästöt [https://hnh.hel.ninja/indicator/8/]
* Altistuminen ilmansaasteille [https://hnh.hel.ninja/indicator/73/]
* Ympäristöterveyden tautitaakka [https://hnh.hel.ninja/indicator/74/]
 
<rcode name="energybalance">
# This code is Op_fi5767/energybalance on page [[Hiilineutraali Helsinki 2035]]
# This code is a fork of Op_en7237/finalresults on page [[Helsinki energy decision 215]]


#library(googlesheets)
library(OpasnetUtils)
library(gsheet)
library(ggplot2)
d <- gsheet2tbl("https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=407229177")
library(plotly)
tra <- gsheet2tbl("https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=635849490")
library(thlVerse)
colnames(tra) <- c("Teema",
 
   "Toimenpideluokka",
# Get pushIndicatorGraph from https://github.com/jtuomist/CNH-energy (file pushAplans.R)
   "Toimenpide",
 
   "Osallistuja",
objects.latest("Op_en6007", code_name="hnh2035") # [[OpasnetUtils/Drafts]] combineLines
   "Aikataulu",
objects.latest("Op_en6007", code_name = "miscellaneous") # [[OpasnetUtils/Drafts]] truncateIndex
   "Vaativuus",
 
   "Seurantaindikaattorit",
openv.setN(0) # use medians instead of whole sampled distributions
   "Perustelut"
 
noshutdown <- c(
  'Biofuel heat plants',
  'Household air conditioning',
  'Katri Vala cooling',
  'Katri Vala heat',
  'Kellosaari back-up plant',
  'Salmisaari A&B',
  'Small fuel oil heat plants',
  'Small gas heat plants',
  'Small-scale wood burning',
  'Suvilahti power storage',
  'Suvilahti solar',
  'Vanhakaupunki museum',
  'Vuosaari A',
  'Vuosaari B',
  'Vuosaari C biofuel'
)
 
renovation <- NULL
 
# Download all pre-calculated inputs, e.g. building stock.
objects.latest("Op_en7237", code_name = "intermediates") # [[Helsinki energy decision 2015]]
objects.latest("Op_en7392", code_name = "translate") # [[OpasnetUtils/Translate]] translate
objects.latest("Op_en7392", code_name = "dictionary") # [[OpasnetUtils/Translate]] dictionary
BSbase <- 24 # base_size for graph fonts. Use 12 if you use savefig to sav svg fils.
BS <- BSbase
saveobjects <- FALSE
savefigs <- FALSE
language <- "Finnish"
fi <- language == "Finnish"
 
savefig <- function(
  fil,
  path = "N:/YMAL/Publications/2015/Helsingin energiapäätös/Kuvat/",
  sav = if(exists("savefigs")) savefigs else FALSE,
  type = "svg",
  height = 18,
  width = 24,
  units = "cm"
) {
  if(sav) {
    ggsave(paste(path, fil, ".", type, sep = ""), height = height, width = width, units = units)
  }
}
 
allplants <- c(
  'Biofuel heat plants',
  'CHP diesel generators',
  'Data center heat',
  'Deep-drill heat',
  'Hanasaari',
  'Household air conditioning',
  'Household air heat pumps',
  'Household geothermal heat',
  'Household solar',
  'Katri Vala cooling',
  'Katri Vala heat',
  'Kellosaari back-up plant',
  'Loviisa nuclear heat',
  'Neste oil refinery heat',
  'Salmisaari A&B',
  'Salmisaari biofuel renovation',
  'Sea heat pump',
  'Sea heat pump for cooling',
  'Small fuel oil heat plants',
  'Small gas heat plants',
  'Small-scale wood burning',
  'Suvilahti power storage',
  'Suvilahti solar',
  'Vanhakaupunki museum',
  'Vuosaari A',
  'Vuosaari B',
  'Vuosaari C biofuel',
  'Wind mills'
)
shutdown <- allplants[!allplants %in% noshutdown]
shutdown <- c(shutdown, "None")
 
customdecisions <- data.frame(
  Obs = NA,
  Decision_maker = "Helen",
  Decision = "PlantPolicy",
  Option = "Custom",
  Variable = c("plantParameters", "energyProcess"),
  Cell = c(
    paste("Plant:", paste(shutdown, collapse = ","), ";Parameter:Max,Min,Investment cost;Time:>2015", sep = ""),
    ""
   ),
  Change = c("Replace", "Identity"),
  Unit = NA,
  Result = 0
)
 
decisions <- rbind(decisions, customdecisions)
 
if ("Hanasaari" %in% renovation) {
   customdecisions <- data.frame(
    Obs = NA,
    Decision_maker = "Helen",
    Decision = "PlantPolicy",  
    Option = "Custom",
    Variable = rep(c("plantParameters", "energyProcess"), each = 2),
    Cell = c(
      "Plant:Hanasaari;Time:>=2018;Time:<=2060;Parameter:Max",
      "Plant:Hanasaari;Time:>=2018;Parameter:Investment cost",
      "Plant:Hanasaari;Fuel:Biofuel;Time:>=2018",
      "Plant:Hanasaari;Fuel:Coal;Time:>=2018"
    ),
    Change = rep(c("Replace", "Add"), each = 2),
    Unit = NA,
    Result = c(640, 100, -0.40, 0.40)
  )
  decisions <- rbind(decisions, customdecisions)
}
 
DecisionTableParser(decisions)
 
oprint(data.frame(
   Running = c(
    "These plants will be running in the custom plant policy:",
    paste(allplants[!allplants %in% shutdown], collapse = ", ")
   ),
  Shutdown = c(
    "Plants that will be shut down in the custom plant policy:",
    paste(shutdown, collapse = ", ")
   )
))
 
EnergyNetworkDemand <- EvalOutput(EnergyNetworkDemand)
 
EnergyNetworkDemand@output <- rbind(
  EnergyNetworkDemand@output,
  data.frame(
    Time = rep(c(2025, 2035, 2045, 2055, 2065), each = 4),
    EnergySavingPolicy = rep(c("BAU", "Energy saving moderate", "Energy saving total", "WWF energy saving"), times = 5),
    Temperature = "(-18,-15]",
    EnergyConsumerDemandSource = "Formula",
    EnergyConsumerDemandTotalSource = "Formula",
    Fuel = "Cooling",
    fuelSharesSource = "Formula",
    EnergyNetworkDemandResult = 0,
    EnergyNetworkDemandSource = "Formula"
   )
)
 
#cat("All energy taxes are assumed zero.\n")
#objects.latest("Op_en4151", code_name = "fuelTax")
#fuelTax <- EvalOutput(fuelTax)
#result(fuelTax) <- 0
 
fuelUse <- EvalOutput(fuelUse)
 
fuelUse$Fuel <- factor(
   fuelUse$Fuel, levels = c(
    "Biofuel",
    "Coal",
    "Fuel oil",
    "Gas",
    "Light oil",
    "Wood",
    "Electricity",
    "Electricity_taxed",
    "Heat",
    "Cooling"
  ), ordered = TRUE
)
)
tra <- tra[4:72,] # Pois turhat rivit
 
tra$Seurantaindikaattorit <- NULL # Tyhjä sarake pois
DALY <- EvalOutput(DALYs)
for(i in 2:nrow(tra)) {
DALYs <- unkeep(DALY, cols = c("Age", "Sex", "Population"))
  if(is.na(tra$Toimenpideluokka[i])) tra$Toimenpideluokka[i] <- tra$Toimenpideluokka[i-1]
DALYs <- oapply(DALYs, cols = c("Emission_site", "Emission_height", "Area"), FUN = sum)
DALYs <- DALYs[DALYs$Response == "Total mortality" , ]
 
EnergyNetworkCost <- EvalOutput(EnergyNetworkCost)
 
EnergyNetworkCost$Time <- as.numeric(as.character(EnergyNetworkCost$Time))
 
totalCost <- EvalOutput(totalCost)
totalCost@output$Time <- as.numeric(as.character(totalCost@output$Time))
totalCost <- unkeep(totalCost[totalCost$Time >= 2015 & totalCost$Time <=2065 , ], sources = TRUE)
 
# Net present value and effective annual cost
 
discount <- 0.03
times <- c(2015, 2065)
EAC <- EvalOutput(EAC)
 
if(saveobjects) {
  objects.store(list = ls())
  cat("All objects stored for later use:\n", paste(ls(), collapse = ", "), "\n")
}
}


# Develop a function for reading google docs. These are for sheets
############## POST_PROCESSING AND GRAPHS, VERSION FROM PERFERENCE ANALYSIS
# d2 <- gsheet2("https://docs.google.com/document/d/1oaXEVG87edQFInUxwVNsHQP-rwgUSDFcwLF2tzKZWKw/edit#")
 
##### Plotly graphs for HNH2035.
 
BAU <- Ovariable(
  "BAU",
  data = data.frame(
    EnergySavingPolicy = "BAU",
    PlantPolicy = "BAU",
    Result = 1
  )
)
 
#### 68 Helsingin rakennusala
 
tmp <- oapply(buildings * BAU, c("Time","Heating"),sum)
 
pushIndicatorGraph(
  plot_ly(tmp@output, x = ~Time, y = ~Result, color = ~Heating, type = "bar") %>%
    layout(
      barmode = "stack",
      title = "Rakennusala lämmitysmuodoittain",
      xaxis = list(title="Vuosi"),
      yaxis = list(title="Rakennusala (m^2)")),
  68
)
 
# Why is this installation here?
devtools::install_github('fbc-studies/fbcutils')
library(fbcutils)
 
ggplot((tmp*10^-6)@output, aes(x=Time, weight=Result, fill=Heating))+geom_bar(position="stack")+
  labs(
    title = "Rakennusala lämmitysmuodoittain",
    x = "Vuosi",
    y = "Rakennusala (M m^2)"
  )+
  theme_thl()
scale_fill_thl(palette = "Blues")
 
#### 12 Rakennusala rakennustyypeittäin
 
tmp <- truncateIndex(buildings,"Building",6)
colnames(tmp@output)[colnames(tmp@output)=="EnergySavingPolicy"] <- "Scenario"
 
#> unique(tmp$Scenario)
#[1] BAU                    Energy saving moderate Energy saving total 
#[4] WWF energy saving   
levels(tmp$Scenario) <- c("BAU","NA","tavoite","NA")
tmp <- tmp[tmp$Scenario!="NA",]
 
pushIndicatorGraph(
  plot_ly(
    oapply(tmp[tmp$Scenario=="BAU",], c("Building","Time"),sum)@output,
    x = ~Time, y = ~buildingsResult, color = ~Building,
    type = 'scatter', mode = 'lines') %>%
    layout(
      title="Rakennusala talotyypeittäin",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Rakennusala (m2)")
    ),
  12
)
 
#### 13 Rakennusala lämmitysmuodoittain
 
pushIndicatorGraph(
  plot_ly(
    oapply(tmp[tmp$Scenario=="BAU",], c("Heating","Time"),sum)@output,
    x = ~Time, y = ~buildingsResult, color = ~Heating,
    type = 'scatter', mode = 'lines') %>%
    layout(
      title="Rakennusala lämmitysmuodoittain",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Rakennusala (m2)")
    ),
  13
)
 
#### 70 Helsingin energiantuotantokapasiteetti
 
tmp <- oapply(plantParameters[
  plantParameters$Parameter=="Max" &
    plantParameters$PlantPolicy %in% c("BAU","Helen proposition") &
    plantParameters$Time > 1986 & plantParameters$Time < 2061,],
  c("Time","PlantPolicy"), sum
)@output
tmp$PlantPolicy <- ifelse(tmp$PlantPolicy=="Helen proposition","Hanasaari kiinni 2020","BAU")
### SMALL FUEL OIL HEAT PLANTS DIFFER IN HISTORY IN BAU AND HELEN PROPOSITION. FIX IT!
 
pushIndicatorGraph(
  plot_ly(
    tmp,
    x = ~Time, y = ~plantParametersResult, color = ~PlantPolicy,
    type = 'scatter', mode = 'lines') %>%
    layout(
      title="Helsingin energiantuotantokapasiteetti",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Maksimikapasiteetti (GW)")
    ),
  70
)
 
#### 4 Kaupungin omistamien kiinteistöjen ominaislämmönkulutus
 
# Tämä tulee datasta ja Juhan tekemästä tietokiteestä.
 
#### 36 Ominaislämmönkulutuksen väheneminen peruskorjauksessa
 
pushIndicatorGraph(
  plot_ly(
    renovationRatio@output,
    x = ~Renovation, y = ~renovationRatioResult*100, color = ~Renovation,
    type = 'bar') %>%
    layout(
      title="Suhteellinen ominaislämmönkulutus remontin jälkeen",
      xaxis=list(title="Remonttityyppi"),
      yaxis=list(title="Ominaislämmönkulutus (%)")
    ),
  36
)
 
#### 51 Uusien rakennusten ominaislämmönkulutus
 
tmp <- temperene[temperene$Consumable=="Heating",] * efficiencyRatio
 
pushIndicatorGraph(
  plot_ly(
    tmp@output,
    x = ~Efficiency, y = ~Result, color = ~Efficiency,
    type = 'bar') %>%
    layout(
      title="Ominaislämmönkulutus uusissa rakennuksissa",
      xaxis=list(title="Energialuokka"),
      yaxis=list(title="Ominaislämmönkulutus (W/m^2/K)")
    ),
  51
)
 
#### 37 Taloyhtiöiden omistamien kiinteistöjen ominaislämmönkulutus
 
# Helsinki energy decision 2015 ei tarkastellut omistuksen mukaan joten tätä ei nyt työstetä.
 
#### 72 Kiinteistöjen ominaislämmönkulutus
 
tmp <- temperene[temperene$Consumable=="Heating",] * efficiencyRatio * renovationRatio
 
pushIndicatorGraph(
  plot_ly(
    tmp@output,
    x = ~Efficiency, y = ~Result, color = ~Renovation,
    type = 'bar') %>%
    layout(
      title="Ominaislämmönkulutus olemassaolevissa rakennuksissa",
      xaxis=list(title="Energialuokka"),
      yaxis=list(title="Ominaislämmönkulutus (W/m^2/K)")
    ),
  72
)
 
#### 71 Helsingin energiatase
 
tmp <- truncateIndex(
  oapply(
    fuelUse[
      fuelUse$PlantPolicy %in% c("BAU","Helen proposition") &
        fuelUse$EnergySavingPolicy=="BAU" &
        fuelUse$Fuel=="Heat",],
    c("Time","PlantPolicy","Fuel","Plant"),sum),
  "Plant", 7
) / -3.6E+6 # From MJ/a -> GWh/a
result(tmp) <- pmax(0,result(tmp))
 
pushIndicatorGraph(
  plot_ly(
    tmp@output[tmp$PlantPolicy=="BAU",],
    x = ~Time, y = ~fuelUseResult, color = ~Plant,
    type = 'bar') %>%
    layout(
      barmode = "stack",
      title="Voimaloiden käyttö optimaalisella tuotantojoustolla",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Tuotanto (GWh/a)")
    ),
  71
)
 
#### 69 Rakennuskannan lämmönkulutus
 
tmp <- EnergyConsumerDemandTotal[
  EnergyConsumerDemandTotal$EnergySavingPolicy=="BAU" &
    EnergyConsumerDemandTotal$Consumable=="Heat",]
tmp <- tmp * temperdays * 24 * 1E-3 # MW -> GWh
tmp <- oapply(tmp, c("Heating","Consumable","Time"),sum)@output
 
pushIndicatorGraph(
  plot_ly(
    tmp,
    x = ~Time, y = ~Result, color = ~Heating,
    type = 'bar') %>%
    layout(
      barmode = "stack",
      title="Lämmönkulutus lämmitysmuodoittain",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Kulutus (GWh/a)")
    ),
  69
)
 
#### 9 Kaukolämmöntuotannon päästökerroin


# Juhalla on tästä historiallinen kuva, mutta tietokide on Emission factors for burning processes.
#### 38 Taloyhtiöiden omistamien kiinteistöjen lämmönkulutus
# Helsinki energy decision 2015 ei tarkastellut omistuksen mukaan joten tätä ei nyt työstetä.
#### 10 Kaupungin omistamien kiinteistöjen lämmityksen khk-päästöt
# Juhalla tästä historiallinen kuva
#### 31 Kaukolämmöntuotannon kasvihuonekaasupäästöt
tmp <- oapply(emissions[
  #  emissions$Fuel=="Fuel oil" &
  emissions$Time!=2065 &
    emissions$Pollutant=="CO2eq",] * BAU, c("Fuel","Time"),sum)@output
pushIndicatorGraph(
  plot_ly(
    tmp,
    x = ~Time, y = ~Result, color = ~Fuel,
    type = 'bar') %>%
    layout(
      barmode = "stack",
      title="Energiantuotannon kasvihuonekaasupäästöt polttoaineittain",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="CO2eq-päästö (ton/a)")
    ),
  31
)
#### 25 Lämmöntuotannon kasvihuonekaasupäästöt
# Tästä on Jounin historiallinen HSY-kuva mutta ei kuvausta eikä tietokidettä
#### 30 Sähköntuotannon kasvihuonekaasupäästöt
# Tästä on Jounin historiallinen kuva mutta ei kuvausta eikä tietokidettä
#### 8 Helsingin kaupungin ilmansaastepäästöt
tmp <- oapply(emissions[!grepl("CO2", emissions$Pollutant),] * BAU, c("Pollutant","Time"),sum)@output
pushIndicatorGraph(
  plot_ly(
    tmp,
    x = ~Time, y = ~Result, color = ~Pollutant,
    type = 'scatter', mode='lines') %>%
    layout(
      title="Helsingin kaupungin ilmansaastepäästöt (PM2.5)",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Päästö (ton/a)")
    ),
  8
)
#### 73 Altistuminen ilmansaasteille
tmp <- oapply(exposure[!grepl("CO2", exposure$Pollutant),] * BAU, c("Exposure_agent","Fuel","Time"),sum)@output
pushIndicatorGraph(
  plot_ly(
    tmp,
    x = ~Time, y = ~Result, color = ~Fuel,
    type = 'bar') %>%
    layout(
      barmode = 'stack',
      title="Helsingin kaupungin ilmansaastepäästöt (PM2.5)",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Päästö (ton/a)")
    ),
  73
)
#### 74 Ympäristöterveyden tautitaakka
tmp <- oapply(DALY * BAU, c("Response","Pollutant","Time"),sum)@output
pushIndicatorGraph(
  plot_ly(
    tmp,
    x = ~Time, y = ~Result, color = ~Pollutant,
    type = 'bar') %>%
    layout(
      barmode = "stack",
      title="Ympäristöterveyden tautitaakka",
      xaxis=list(title="Vuosi"),
      yaxis=list(title="Haittapainotetut elinvuodet (DALY/a)")
    ),
  74
)
cat(translate("NOTE! In all graphs and tables, the Total energy saving policy is assumed unless otherwise noted\n"))
cat(translate("Total DALYs/a by different combinations of policy options.\n"))
temp <- DALYs[as.character(DALYs$Time) %in% c("2015", "2035") & DALYs$Response == "Total mortality" , ]
oprint(
  translate(oapply(temp, INDEX = c("Time", "EnergySavingPolicy", "PlantPolicy"), FUN = sum)),
  caption = translate("Table 1: Total DALYs/a by different combinations of policy options."),
  caption.placement = "top",
  include.rownames = FALSE
)
bui <- oapply(buildings * 1E-6, cols = c("City_area", "buildingsSource"), FUN = sum)
bui <- truncateIndex(bui, cols = "Heating", bins = 4)
oggplot(bui[bui$EnergySavingPolicy == "BAU" , ], x = "Time", fill = "Heating", binwidth = 5) +
  labs(
    title = translate("Building stock in Helsinki by heating"),
    y = translate("Floor area (M m2)")
  )
savefig("Rakennuskannan koko Helsingissä")
oggplot(bui, x = "Time", fill = "Efficiency", binwidth = 5) +
{if(fi) facet_wrap(~ Energiansäästöpolitiikka) else facet_wrap(~ EnergySavingPolicy)} +
  labs(
    title = translate("Building stock in Helsinki by efficiency policy"),
    y = translate("Floor area (M m2)")
  )
oggplot(bui, x = "Time", fill = "Renovation", binwidth = 5) +
{if(fi) facet_wrap(~ Energiansäästöpolitiikka) else facet_wrap(~ EnergySavingPolicy)} +
  labs(
    title = translate("Building stock in Helsinki by renovation policy"),
    y = translate("Floor area (M m2)")
  )
oggplot(bui[bui$EnergySavingPolicy == "BAU" , ], x = "Time", fill = "Building", binwidth = 5) +
  labs(
    title = translate("Building stock in Helsinki"),
    y = translate("Floor area (M m2)")
  )
oggplot(buildings, x = "Time", fill = "Efficiency", binwidth = 5)+
{if(fi) facet_grid(Energiansäästöpolitiikka ~ Korjaukset) else facet_grid(EnergySavingPolicy ~ Renovation)} +
  labs(
    title = translate("Renovation of buildings by policy and efficiency"),
    y = translate("Floor area (M m2)")
  )
# Contains also other buildings than district heating and other energy than heating
hea <- EnergyConsumerDemandTotal * temperdays * 24 * 1E-3 # MW -> GWh
hea$Time <- as.numeric(as.character(hea$Time))
temp <- hea[hea$EnergySavingPolicy == "Energy saving total" & !hea$Consumable %in% c("District cooling", "Electric cooling") , ]
oggplot(truncateIndex(temp, cols = "Temperature", bins = 7), x = "Time", fill = "Temperature", binwidth = 5) +
{if(fi) facet_wrap(~ Hyödyke) else facet_wrap(~ Consumable)} +
  labs(
    title = translate("Energy consumption in all buildings"),
    y = translate("Total energy (GWh /a)")
  )
temp <- hea[!hea$Consumable %in% c("District cooling", "Electric cooling") , ]
oggplot(temp, x = "Time", fill = "Consumable", binwidth = 5) +
{if(fi) facet_wrap(~ Energiansäästöpolitiikka) else facet_wrap(~ EnergySavingPolicy)} +
  labs(
    title = translate("Energy consumption in all buildings"),
    y = translate("Total energy (GWh /a)")
  )
savefig("Helsingin vuotuinen energiantarve")
oggplot(hea, x = "Time", fill = "Consumable", binwidth = 5) +
{if(fi) facet_wrap(~ Energiansäästöpolitiikka) else facet_wrap(~ EnergySavingPolicy)} +
  labs(
    title = translate("Energy consumption in all buildings"),
    y = translate("Total energy (GWh /a)")
  )
hea2 <- EnergyNetworkDemand * temperdays * 24 / 1000 # MW -> GWh
hea2$Time <- as.numeric(as.character(hea2$Time))
oggplot(hea2, x = "Time", fill = "Fuel", binwidth = 5) +
{if(fi) facet_wrap(~ Energiansäästöpolitiikka) else facet_wrap(~ EnergySavingPolicy)} +
  labs(
    title = translate("Energy demand in the network"),
    fill = translate("Consumable"),
    y = translate("Total energy (GWh /a)")
  )
savefig("Energiankulutus verkossa Helsingissä")
eb <-EnergyNetworkOptim[EnergyNetworkOptim$Process_variable_type == "Activity",]
eb <- eb[eb$EnergySavingPolicy == "Energy saving total" , ]
colnames(eb@output)[colnames(eb@output) == "Process_variable_name"] <- "Plant"
eb$Process_variable_type <- NULL
ebtemp <- eb[eb$Time %in% c("2035") & eb$PlantPolicy == "BAU" & eb$Temperature != "(-18,-15]" , ]
ebtemp <- truncateIndex(ebtemp, cols = "Plant", bins = 7)
oggplot(ebtemp, x = "Temperature", fill = "Plant", turnx = TRUE) +
  labs(
    title = translate("Power plant activity by temperature daily optim \nPlant policy = BAU, Year = 2035"),
    x = translate("Temperature of the day"),
    y = translate("Average daily activity (MW)")
  )
ebtemp <- eb[eb$Time %in% c("2035") & eb$Temperature != "(-18,-15]" , ]
ebtemp <- truncateIndex(ebtemp, cols = "Plant", bins = 10)
oggplot(ebtemp, x = "Temperature", fill = "Plant", turnx = TRUE) +
{if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap(~ PlantPolicy)} +
  labs(
    title = translate("Power plant activity by temperature daily optim in 2035"),
    x = translate("Temperature of the day"),
    y = translate("Average daily activity (MW)")
  )
savefig("Helsingin päivittäinen kaukolämpötase")
ebtemp <- eb[eb$Time %in% c("2005") & eb$PlantPolicy == "BAU" & eb$Temperature == "(0,3]" , ]
ebtemp <- truncateIndex(ebtemp, cols = "Plant", bins = 10)
oggplot(ebtemp, x = "Plant", fill = "Plant", turnx = TRUE) +
{if(fi) facet_wrap(~ Lämpötila) else facet_wrap( ~ Temperature)} +
  theme(axis.text.x = element_blank()) + # Turn text and adjust to right
  labs(
    title = translate("Power plant activity by temperature daily optim \nPlant policy = BAU, Year = 2005"),
    y = translate("Average daily activity (MW)")
  )
fu <- fuelUse / 3.6E+6 # From MJ/a -> GWh/a
fu <- fu[fu$EnergySavingPolicy == "Energy saving total" , ]
fu$Burner <- NULL
fu$Time <- as.numeric(as.character(fu$Time))
futemp <- fu[fu$Time %in% c("2015", "2035", "2065") & fu$PlantPolicy == "BAU" , ]
futemp <- truncateIndex(futemp, cols = "Plant", bins = 7) * -1
oggplot(futemp, x = "Fuel", fill = "Plant", turnx = TRUE) +
{if(fi) facet_grid(Aika ~ Energiansäästöpolitiikka) else facet_grid(Time ~ EnergySavingPolicy)} +
  labs(
    title = translate("Energy commodity flows \n Plant policy = BAU"),
    y = translate("Total annual energy (GWh/a)")
  )
futemp <- fu[fu$Time %in% c("2005") & fu$PlantPolicy == "BAU" , ]
futemp <- truncateIndex(futemp, cols = "Plant", bins = 7) * -1
oggplot(futemp, x = "Fuel", fill = "Plant", turnx = TRUE) +
  labs(
    title = translate("Energy commodity flows in 2005 \n Plant policy = BAU"),
    y = translate("Total annual energy (GWh/a)")
  )
futemp <- fu[fu$Fuel %in% c("Heat") , ]
futemp <- truncateIndex(futemp, cols = "Plant", bins = 10) * -1
oggplot(futemp,
        x = "Time", fill = "Plant", binwidth = 5) +
        {if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap(~ PlantPolicy)} +
  labs(
    title = translate("District heat flow"),
    y = translate("Total annual energy (GWh/a)")
  )
savefig("Helsingin vuotuinen kaukolämpötase")
futemp <- fu[fu$Fuel %in% c("Electricity") & fu$Plant != "Kymijoki River's plants", ]
futemp <- truncateIndex(futemp, cols = "Plant", bins = 7) * -1
# Does not contain plants outside Helsinki: Kymijoki River's plants, a share of Olkiluoto nuclear plant.
oggplot(futemp, x = "Time", fill = "Plant", binwidth = 5) +
{if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap(~ PlantPolicy)} +
  labs(
    title = translate("Electricity flow"),
    y = translate("Total annual energy (GWh/a)")
  )
savefig("Helsingin vuotuinen sähkötase")
emis <- truncateIndex(emissions, cols = "Emission_site", bins = 5)
emis <- emis[emis$EnergySavingPolicy == "Energy saving total" & emis$Fuel != "Electricity" , ]
levels(emis$Fuel)[levels(emis$Fuel) == "Electricity_taxed"] <- "Electricity bought"
emis$Time <- as.numeric(as.character(emis$Time))
oggplot(emis, x = "Time", fill = "Fuel", binwidth = 5) +
{if(fi) facet_grid(Saaste ~ Voimalapolitiikka, scale = "free_y") else facet_grid(Pollutant ~ PlantPolicy, scale = "free_y")} +
  labs(
    title = translate("Emissions from heating in Helsinki"),
    y = translate("Emissions (ton /a)")
  ) +
  scale_x_continuous(breaks = c(2000, 2050))
savefig("Helsingin energiantuotannon päästöt")
da <- DALYs[DALYs$EnergySavingPolicy == "Energy saving total" & DALYs$Fuel != "Electricity" , ]
levels(da$Fuel)[levels(da$Fuel) == "Electricity_taxed"] <- "Electricity bought"
da$Time <- as.numeric(as.character(da$Time))
oggplot(da, x = "Time", fill = "Fuel", binwidth = 5) +
{if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap(~ PlantPolicy)} +
  labs(
    title = translate("Health effects of PM2.5 from heating in Helsinki"),
    y = translate("Health effects (DALY /a)")
  )
savefig("Helsingin energiantuotannon terveysvaikutukset")
fp <- fuelPrice[fuelPrice$Fuel %in% c(
  "Biofuel",
  "Coal",
  "Electricity_taxed",
  "Fuel oil",
  "Heat",
  "Light oil",
  "Natural gas",
  "Peat"
) , ]
fp$Time <- as.numeric(as.character(fp$Time))
levels(fp$Fuel)[levels(fp$Fuel) == "Electricity_taxed"] <- "Electricity"
ggplot(translate(fp@output), if(fi) {
  aes(x = Aika, y = fuelPriceResult, colour = Polttoaine, group = Polttoaine)
} else {
  aes(x = Time, y = fuelPriceResult, colour = Fuel, group = Fuel)
}) +
  geom_line(size = 2)+theme_gray(base_size = BS) +
  labs(
    title = translate("Fuel prices (with tax)"),
    y = translate("Price (Eur/MWh)")
  )
savefig("Polttoaineiden verolliset hinnat")
tc <- truncateIndex(totalCost, cols = "Plant", bins = 11) / 10 * -1 # Yearly benefits (costs are negative)
tc <- tc[tc$EnergySavingPolicy == "Energy saving total" , ]
oggplot(tc, x = "Time", fill = "Cost", binwidth = 10) +
{if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap( ~ PlantPolicy)} +
  labs(
    y = translate("Yearly cash flow (Meur)"),
    title = translate("Total benefits and costs of energy production")
  )+
  scale_x_continuous(breaks = c(2000, 2020, 2040, 2060))
savefig("Energiantuotannon kokonaiskustannus Helsingissä kustannuksittain")
oggplot(tc, x = "Time", fill = "Plant", binwidth = 10) +
{if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap(~ PlantPolicy)} +
  labs(
    y = translate("Yearly cash flow (Meur)"),
    title = translate("Total benefits and costs of energy production")
  )+
  scale_x_continuous(breaks = c(2000, 2020, 2040, 2060))
savefig("Energiantuotannon kokonaiskustannus Helsingissä voimaloittain")
eac <- EAC[EAC$EnergySavingPolicy == "Energy saving total" , ] * -1
BS <- BSbase * 0.7 # Plot the next two graphs with smaller font because they are busy graphs.
eac2 <- eac[!eac$Plant %in% c(
  'Household air conditioning',
  'Household solar',
  'Katri Vala cooling',
  'Kellosaari back-up plant',
  'Sea heat pump for cooling',
  'Small-scale wood burning',
  'Suvilahti power storage',
  'Suvilahti solar',
  'Vanhakaupunki museum',
  'Wind mills'
) , ]
oggplot(eac2, x = "PlantPolicy", fill = "Cost", turnx = TRUE) +
{if(fi) facet_wrap(~ Voimala, scale = "free_y") else facet_wrap(~ Plant, scale = "free_y")} +
  labs(
    title = translate("Incomes and costs by plant"),
    y = translate("Effective annual cash flow (Meur/a)")
  )
savefig("Helsingin voimalaitosten kustannustehokkuus")
oggplot(eac2, x = "PlantPolicy", fill = "Cost", turnx = TRUE)+
{if(fi) facet_wrap(~ Voimala) else facet_wrap(~ Plant)} +
  labs(
    title = translate("Incomes and costs by plant"),
    y = translate("Effective annual cash flow (Meur/a)")
  )
savefig("Helsingin voimalaitosten kustannustehokkuus yhtenäisasteikolla")
BS <- BSbase
eac <- truncateIndex(eac, cols = "Plant", bins = 11)
oggplot(eac, x = "PlantPolicy", fill = "Plant", turnx = TRUE)+
  labs(
    title = translate("Incomes and costs by plant policy"),
    y = translate("Effective annual cash flow (Meur/a)")
  )
oggplot(eac, x = "PlantPolicy", fill = "Cost", turnx = TRUE)+
  labs(
    title = translate("Incomes and costs by plant policy"),
    y = translate("Effective annual cash flow (Meur/a)")
  )
savefig("Teholliset tulot ja menot energiantuotannosta Helsingissä kustannuksittain")
temp <- truncateIndex(plantParameters[plantParameters$Parameter == "Max" , ], cols = "Plant", bins = 11)
temp <- temp[temp$Time >= 2000 & temp$Time <=2070 , ]
oggplot(temp, x = "Time", fill = "Plant", binwidth = 1) +
{if(fi) facet_wrap(~ Voimalapolitiikka) else facet_wrap(~ PlantPolicy)} +
  labs(
    title = translate("Energy production capacity by plant policy"),
    y = translate("Maximum capacity (MW)")
  )
savefig("Energiantuotantokapasiteetin kehitys Helsingissä")
# odag() #Plots a directed acyclic graph of ovariables used in the model.
# This causes an internal error, so it must be the last row of the model.
</rcode>
</rcode>


Rivi 726: Rivi 1 567:


==Katso myös==
==Katso myös==
{{Hiilineutraali Helsinki 2035}}


* Ilmasto ja maankäyttö
** Luke: IPCCn mukaan maankäytöllä suuri merkitys [https://www.luke.fi/ipcc/] [https://www.luke.fi/uutiset/ipcc-maankaytolla-on-suuri-merkitys-ilmastonmuutoksessa-kestava-maa-ja-metsatalous-on-tarkea-osa-ilmastonmuutoksen-torjuntaa/]
** IPCC:n maankäyttöraportti [https://www.ipcc.ch/srccl-report-download-page/]
* Helsingin kaupungin ilmastojulkaisuja:
** Ilmastoryhmä. (2017) Helsingin ilmastonmuutokseen sopeutumisen linjaukset. [https://www.hel.fi/static/ymk/ilmasto/Helsingin-ilmastonmuutokseen-sopeutumisen-linjaukset.pdf]
** Tiia Yrjölä, Jari Viinanen. (2012) Keinoja ilmastonmuutokseen sopeutumiseksi Helsingin kaupungissa. Helsingin ympäristökeskuksen julkaisuja 2/2012. [https://www.hel.fi/static/ymk/julkaisut/julkaisu-02-12.pdf]
** Petteri Huuska, Johannes Lounasheimo, Mira Jarkko, Jari Viinanen ja Sonja-Maria Ignatius. (2017) Selvitys Helsingin uusista ilmastotavoitteista. Hiilineutraalisuustavoitteen päivitys sekä vuoden 2030 päästötavoite ja toimenpiteet. Helsingin kaupungin ympäristökeskuksen julkaisuja 4/2017 [https://www.hel.fi/static/ymk/julkaisut/julkaisu-04-17.pdf]
** Erkka Ryynänen, Laura Oja ja Iivo Vehviläinen (Gaia Consulting Oy); Olli-Pekka Pietiläinen, Riina Antikainen ja Pasi Tainio (Suomen ympäristökeskus). (2014) Helsingin 30 % päästövähennysselvitys. Kasvihuonekaasupäästöjen kehitys ja vähentämisen kustannustehokkaat toimenpiteet. Helsingin kaupungin ympäristökeskuksen julkaisuja 7/2014 [https://www.hel.fi/static/ymk/julkaisut/julkaisu-07-14.pdf]
* Summary Report of the EAT-Lancet Commission. (2019) Food Planet Health. Health diets from sustainable food systems. [https://eatforum.org/content/uploads/2019/01/EAT-Lancet_Commission_Summary_Report.pdf]
* Liikennejärjestelmä. (2019) Liikenteen kasvihuonekaavupäästöt [http://liikennejarjestelma.fi/ymparisto/paastot-ilmaan/liikenteen-kasvihuonekaasupaastot/]
* [https://docs.google.com/presentation/d/1B86so0HAcL1WQrbGkY43xpV7jhrPeRXyqdwcqN82mUE/edit?usp=drivesdk Ympäristöhyvinvointi]
* [[Hiilineutraali Helsinki 2035]] -toimenpideohjelma ja [https://www.hel.fi/static/liitteet/kaupunkiymparisto/julkaisut/julkaisut/HNH-2035-toimenpideohjelma.pdf julkaisu]
** [[Energiarenessanssi]] rakennusten energiatehokkuuden parantamiseen (toimenpiteet 66-69 toimenpideohjelmassa)
** [https://docs.google.com/spreadsheets/d/1ejh-esNcuTjhoPWWqN7rC80xFtKKXu2n7PIUCDSOR98/edit#gid=885669064 Ohjelman toimenpiteet ja tarkemmat tiedot]
** [https://docs.google.com/drawings/d/1zr85e_ulHpnbzGqd9xr_BFxHKHQHnOnEi8QXzdMQTx4/edit suunnitelma toimenpideohjelman verkkosivuston rakenteesta] ja [https://docs.google.com/presentation/d/1IqQN-YrPy_x5VGjfxeSkemBbikQbLY8FDi8iUyQ8Ywk/edit esitys suunnitelluista toiminnallisuuksista]
** [https://docs.google.com/spreadsheets/d/1nCJwaFQ2PEcPhJ2jnfGJSj1JK36KczGObuLNxKBSFfw/edit#gid=1110582574 Toimenpiteiden seurantatyökalu] (luonnos)
** Google-dokumentteja: [https://docs.google.com/drawings/d/1zr85e_ulHpnbzGqd9xr_BFxHKHQHnOnEi8QXzdMQTx4/edit Palikoiden suhteet] &middot; [https://docs.google.com/document/d/1BAGblsUynSelCCnemHrHNkLGVkouafs1VarZ0bMUNiQ/edit# Juokseva muistio arvoprofiili] &middot; [https://docs.google.com/presentation/d/1IqQN-YrPy_x5VGjfxeSkemBbikQbLY8FDi8iUyQ8Ywk/edit#slide=id.g438b06bdcb_0_15 Ilmasto-ohjelman seuranta ja arviointi] &middot; [https://docs.google.com/presentation/d/1E_6P_YfNHBKgmIjQ9rfuJuh5iMxTPhyte-zJ6FBqTCk/edit#slide=id.g3faa22fbb1_0_5 Tietokiteet ja näkemysverkot ilmasto-ohjelman seurannassa] &middot; [https://drive.google.com/drive/folders/11Vki4nqBoOe9P4HkNehQmUptoHobv9q1 Vaikutusarviointityökalu-hakemisto]
** [https://www.facebook.com/KivelaMai/posts/2283394558407168 Mai Kivelä: Helsingin ilmasto-ohjelma ei riitä]
* [http://www.stadinilmasto.fi/ Stadinilmasto-verkkosivu ilmastotyön seurantaan]
* [https://osallistu.hel.ninja/processes?filter=all Decidim-kokeilualusta]
* [http://keskustele.hel.fi/ Keskustele-kokeilualusta]
* [https://www.inforglobe.com/services/ Inforglobe-alusta päätösten joukkoistamiseen]
* Merihaan kansalaistilaisuus 6.11.2016 [https://docs.google.com/document/d/11Ieb9hZxTI2zDvwiTI1Aru9xp1dozCRCgQjtnSyA5a4/edit]
* [https://atlas.mindmup.com/2018/09/5f5ef460c25411e8a47c4bb0fb076e35/hnh_cas/index.html# Mielikuvakartta Hiilineutraali Helsinki -ohjelman työkaluista]
* [http://tieteentermipankki.fi/wiki/Oikeustiede:ilmastonmuutos Tieteen termipankki: ilmastonmuutos]
* [http://tapio.fi/ilmastonmuutoshaltuun Tapio: Ilmastonmuutos haltuun]
* HNH2035 päästövähennyspotentiaaleja ja kustannustehokkuutta [https://docs.google.com/spreadsheets/d/1b3S9imQqEdP0OOxnWRJmluPcG8C3XOo7_NSbKUaI2Ac/edit#gid=1196012425]
* [[Helsingin energiapäätös 2015]] -arviointi koskien voimalaitosratkaisuja
* Osallisuustyökaluja: [https://omastadi.hel.fi/assemblies/osbupalaute Helsingin osallistuva budjetointi] &middot; [https://demo.decidim.org/processes/BO19/f/54/proposals/41 Decidim] &middot; [https://osallistu.hel.ninja/processes/osbu-itainen/f/26/proposals/170 Helsingin Decidim-kokeilu]  &middot; [https://kerrokantasi.hel.fi/ Kerrokantasi]
* [[Ympäristöterveysindikaattori]]
* [[Ympäristöterveysindikaattori]]
* Hiilineutraali Helsinki 2035 -ohjelman sivuja
* Hiilineutraali Helsinki 2035 -ohjelman työstämisen aikaisia sivuja
** [https://docs.google.com/document/d/1W0OT8tSvg2cIhLjCYn1Jbr9_qFADN7A95Orffl5TA5s/edit# Hiilineutraali Helsinki 2035 -toimenpideohjelma]
** [https://docs.google.com/document/d/1W0OT8tSvg2cIhLjCYn1Jbr9_qFADN7A95Orffl5TA5s/edit# Hiilineutraali Helsinki 2035 -toimenpideohjelma]
** [http://www.climate-kic.org/events/nordic-ideation-day-2018/?mc_cid=431febec36&mc_eid=ce563f8f8d Climate-KIC-päivä 31.1.2018]
** [http://www.climate-kic.org/events/nordic-ideation-day-2018/?mc_cid=431febec36&mc_eid=ce563f8f8d Climate-KIC-päivä 31.1.2018]
Rivi 745: Rivi 1 616:
* [[Helsingin ilmastonmuutos -tiekartta]]
* [[Helsingin ilmastonmuutos -tiekartta]]
* [[:op_en:Structure of shared understanding]]
* [[:op_en:Structure of shared understanding]]
* [[:op_en:From open assessment to shared understanding: practical experiences]]
* [https://drive.google.com/drive/folders/1MHIxaSNgwc6TwsypWd1MxNdk1LZsrGi6 Google-hakemisto hiilineutraalin Helsingin tiedostoille]]
* [https://drive.google.com/drive/folders/1MHIxaSNgwc6TwsypWd1MxNdk1LZsrGi6 Google-hakemisto hiilineutraalin Helsingin tiedostoille]]


Rivi 753: Rivi 1 623:


<references/>
<references/>
== Kommentointi ==
{{Kommentointityökalu}}


==Aiheeseen liittyviä tiedostoja==
==Aiheeseen liittyviä tiedostoja==

Nykyinen versio 12. elokuuta 2019 kello 05.33




Hiilineutraali Helsinki 2035 (HNH2035)[1] on toimenpideohjelma, jolla Helsingin kaupunki pyrkii vähentämään oman kaupunkiorganisaationsa sekä Helsingin alueella tapahtuvien ilmastopäästöjen määrää niin, että ne alittaisivat hiilinielujen määrän eli kaupunki olisi hiilineutraali vuoteen 2035 mennessä. Toimenpideohjelmalla on oma seurantatyökalu, jossa on myös kuvattuna kymmeniä ilmastonmuutoksen torjuntaan liittyviä mittareita.

Tämän sivun tiedot auttavat toimenpideohjelman toteutuksessa avoimen päätöksentekokäytännön mukaisesti.

Kysymys

  1. Mitä toimenpiteitä (mukaan lukien mutta ei rajoittuen HNH2035:een) pitäisi tehdä, jotta Helsinki olisi hiilineutraali vuoteen 2035 mennessä? Hiilipäästöihin ei tässä yhteydessä lasketa epäsuoria hiilipäästöjä, jotka syntyvät jossain muualla asukkaiden kuluttamisesta johtuen.
  2. Miten toimenpiteitä tulisi seurata, jotta kaikilla olisi käytössään ajantasainen tieto siitä, a) miten toimenpiteet ovat edenneet ja b) mitä ilmasto-, talous- ja muita vaikutuksia niillä on ollut?

Vastaus

Hiilineutraali Helsinki -toimenpideohjelman seurantajärjestelmä eli seurannan "palikoiden suhteet". Järjestelmän eri osien avulla on tarkoitus kerätä tietoa toimenpiteiden etenemisestä ja välittömistä vaikutuksista (esimerkiksi toiminnasta aiheutuneista kustannuksista) ja näiden avulla arvioida myös välillisiä tai pitkän aikavälin vaikutuksia (esimerkiksi ilmastopäästöjen vähenemistä). Lisäksi seurantajärjestelmällä mahdollistetaan kansalaisten osallistuminen ja kritiikki sekä tietojen leviäminen vapaasti yli organisaatiorajojen.

Jokaisella kaupungin toimintalohkolla on toimenpiteitä, jotka voivat lisätä tai vähentää ilmastopäästöjä. Siksi tehokkaan ilmastotoimintaohjelman rakentaminen on vaikeaa. Pitää pystyä arvioimaan hyvin monenlaisten toimenpiteiden vaikuttavuutta ja tehokkuutta. Lisäksi jokaisen toimintalohkon avainihmisiä pitäisi pystyä tiedottamaan oikeaan aikaan, kun on valmisteilla jokin ilmastoon vaikuttava päätös tai toimenpide. Toimenpideohjelman toteuttaminen on siis kaksinkertaisesti haasteellista.

Toimenpiteiden tunnistamiseen on hyödynnetty laajoja työpajoja, joihin on saatu mukaan monien eri toimintalohkojen toimijoita ja asiantuntijoita. Näin on joukkoistamalla pystytty keräämään tietoa ja näkemyksiä siitä, mitä mahdollisuuksia eri puolilla on, ja kokoamaan näistä pitkiä toimenpide-ehdotuslistoja.

Seuraavassa vaiheessa on käytävä läpi ehdotuksia ja asiantuntijoiden avustuksella pyrittävä arvioimaan toimenpiteiden vaikuttavuutta (ilmastovaikutus hiilidioksiditonneina laskettuna tätä menoa -vaihtoehtoon [business as usual] verrattuna) ja tehokkuutta (toimenpiteen lisäkustannus vähennettyä hiilidioksiditonnia kohti).

Kolmannessa vaiheessa tunnistetaan eri toimenpiteiden kytkennät meneillään olevaan tai tulevaan päätöksentekoon. Toimenpideohjelman hyötyhän tulee siitä, että sen avulla pystytään tekemään parempia päätöksiä ja välttämään huonoja ratkaisuja. Kytkentöjä pitää pystyä tunnistamaan sekä toimenpideohjelmasta käsin (osallistujat vinkkaavat päätöksentekijöitä) että päätöksenteosta käsin (päättäjät etsivät tietoa siitä, mitkä toimenpide-ehdotukset kuuluvat heidän päätösvaltaansa.)

Toimenpideohjelman toteutukseen esitetään olemassaolevien ja uusien järjestelmien yhteentoimivuuden rakentamista. Tällaisella ratkaisulla saataisiin yllä kuvattu prosessi toteutettua skaalautuvasti eli siten, että se palvelisi koko Helsingin kaupunkiorganisaatiota ja muita Helsingin toimijoita (mahdollisesti myöhemmin laajentuen muihin kaupunkeihin).

  1. Järjestelmän ytimessä on Stadinilmasto-nettisivusto, joka tähänkin asti on toiminut keskeisenä ilmastotiedon jakelukanavana. Nyt siihen on tarkoitus lisätä uusia toiminnallisuuksia. Kaikkiin alla esitellyt osiot joko näkyvät suoraan Stadinilmaston sivuina tai sieltä on linkit niille sivuille, jotka ovat Stadinilmaston ulkopuolella. Stadinilmasto on siis se keskeinen käyttäjärajanpinta, josta pääsee käsiksi kaikkiin tietoihin.
  2. Seurantatiedon keruu alkaa yleiskäyttöisistä taulukoista, joita jokainen toimenpiteestä vastaava organisaatio tai henkilö täyttää. Jotta tiedonkeruu olisi mahdollisimman yksinkertaista ja avointa, tähän käytetään toimenpidekohtaisia Google Sheetejä, joista tieto kerätään koneellisesti yhteen seurantatiedon laskentaa varten. Esimerkkinä energiarenessanssin toimenpiteitä.
  3. Tieto kerätään käyttämällä avoimen R-ohjelman toiminnallisuuksia. Esimerkkilaskentaa on myöhemmin tällä sivulla.
  4. Toimenpiteillä on omat sivunsa Stadinilmastossa, jossa on ajantasainen tieto kunkin toimenpiteen etenemisestä ja vaikutuksista siltä osin kuin ne ovat kohdennettavissa yksittäiseen toimenpiteeseen.
  5. Toimenpidesivuun liittyy myös mahdollisuus keskustella toimenpiteestä eri näkökulmista. Varsinaisen ohjelman toimenpiteet on jo päätetty toteuttaa, joten pääpaino on mahdollisimman tehokkaassa toteutuksessa eikä siinä, pitäisikö toimenpidettä lainkaan toteuttaa. Toisaalta keskustelun avulla voi nostaa harkittavaksi kokonaan uusia toimenpiteitä. Keskustelua voi käydä usealla eri tavalla.
    • Kerrokantasi.fi on Helsingin kehittämä keskustelualue.
    • Helsinki app on kännykkäsovellus, jonka kautta voi osallistua Kerrokantasi-keskusteluihin.
    • Decidim on Barcelonan kaupungin kehittämä osallistumistyökalu, jonka käyttöä testataan myös sen joustavien toiminnallisuuksien takia.
  6. Vaikutusarviointiosiossa asiantuntijatietoa voidaan tiivistää tietokiteiksi, joissa täsmälliseen tutkimuskysymykseen (kuten tietyn toiminnan ilmastopäästöihin) etsitään tutkimustiedon perusteella paras vastaus. Tietokiteitä voidaan sitten käyttää arvioitaessa toimenpide-ehdotusten vaikuttavuutta, tehokkuutta ja muita vaikutuksia. Tähän työhön on käytettävissä THL:n ylläpitämä Opasnet-verkkotyötila. Lisäksi Sykellä on useita kehittyneitä ilmastolaskureita, joissa tosin tietojen koneellinen syöttäminen ja lukeminen vaatii kehittämistä. Tätä varten on alkamassa selvityshanke.
  7. Helsingin päätöksenteko on jo nyt kuvattu Ahjo-järjestelmässä, jossa jokainen virallinen päätöksentekijä, asia ja päätös löytyvät avoimena datana. Päätösdata yhdistetään muuhun ilmasto-ohjelmaan käyttämällä Ahjon pysyviä tunnisteita eli URLeja.
  8. Tästä järjestelmäkokonaisuudesta puuttuu vielä järjestelmä, joka pystyisi keräämään ja kuvaamaan kansalaisten ja päättäjien arvoja ja tavoitteita. Tällaista toiminnallisuutta on kuitenkin mietitty ja suunniteltu, esimerkiksi toukokuussa 2017 Demokratiahack-tapahtumassa kolmannen palkinnon sai Arvoprofiili-niminen idea. Idean jatkokehittely on parhaillaan käynnissä, ja erilaisia kokeiluja toivotaan Helsingin kaupunkiorganisaation kanssa käynnistettävän.

Perusteluissa on yksityiskohtaisesti käyty läpi toimenpideohjelman sisältöä, joka on tuotettu ympäristöpalvelujen toteuttamissa työpajoissa esiin nousseita toimenpide-ehdotuksista.

----arg4297: . Huom! Tilannekatsaus on demo eikä perustu oikeaan dataan. --Jouni Tuomisto (keskustelu) 7. joulukuuta 2018 kello 06.24 (UTC) (type: ; paradigms: science: comment)

+ Näytä koodi

+ Näytä koodi

Perustelut

Tällä sivulla on erityisesti tarkoitus esitellä mahdollisia tiedon jäsennysmenetelmiä, eivätkä sivulla esitetyt tiedot välttämättä ole ajan tasalla. Toimenpideohjelmaa kuvataan Ilmastoverkoston sivulla ja työstetään Google Drivessa, joten ajankohtainen tieto löytyy noilta sivuilta.

Hiilineutraali Helsinki 2035 -ohjelman toimenpiteet ja toimijat.
Hiilineutraali Helsinki 2035 -ohjelman osio liittyen lämmitys- ja sähköratkaisuihin.

Data


Datan jalostaminen

Tarkoitus on hyödyntää datan lähtökohtana esim. google sheetiä siten, että tiedot haetaan ja jalostetaan dynaamisesti eli alkuperäisen tiedoston muokkaamista voi jatkaa ilman, että datavirta katkeaa. Linkin avulla tietoon voi viitata pysyvästi. Huomaa, että itse tietosisältö voi muuttua, mutta aihe säilyy ja linkki vie aina sivulle, jossa kuvataan Hiilineutraali Helsinki 2035 -toimenpideohjelman liikennetavoitteita.

Tietoa rikastetaan liittämällä siihen lisätietoa, kuten linkkejä (Sustainable urban mobility plan (SUMP), HSL:n kalustoskenaario, Kaupunkistrategia 2017-2021, Sähköisen liikenteen kehittämisohjelma, Kaupunginjohtajan päätös lausunnosta koskien liikennepalvelulain esitystä).

Seuraavaksi tieto muutetaan automaattisesti rakenteelliseksi siten, että alkuperäisen taulukon riveistä muodostetaan erillisiä, viittauskelpoisia tieto-olioita. Osa rivin sisällöstä sijoitetaan muodostettavaan olioon itseensä, osa taas muutetaan relaatioiksi toisiin tieto-olioihin kuten organisaatiotietoihin. Näin esimerkiksi voidaan tunnistaa kaikki tiettyyn toimenpiteeseen liittyvät toimijat ja tehdä listaus kaikista jonkin toimijan vastuulla olevista asioista. Google sheetissä tämä olisi työlästä ja jäisi tekemättä.

Vertailun vuoksi: Ahjossa on jokaisella päättäjällä, asialla ja päätöksellä oma tunniste, ja näihin on syytä linkata mahdollisuuksien mukaan.

Kaupunginjohtaja https://dev.hel.fi/paatokset/paattaja/11010vh1/
Lausunto liikennepalvelulain esityksestä https://dev.hel.fi/paatokset/asia/hel-2017-005140/
Kaupunginjohtajan päätös kyseistä lausunnosta https://dev.hel.fi/paatokset/paattaja/11010vh1/2017/72/

Rakenteistaminen onnistuu automaattisesti, kun tiedot alunperin kirjoitaan yhdenmukaisesti. Silloin se voidaan myös päivittää tietojen muuttuessa. Tällainen rakenteistamiskoodi löytyy sivulta Ympäristöterveysindikaattori#Laskenta.

Toiminnassa pyritään siihen, että tiedot ovat selkeitä, johdonmukaisia ja yhdenmukaisia. Tätä varten vakioidaan se, mitä tietoja kustakin tavoitteesta tai toimenpiteestä kerätään. Tässä on kuvattu lähtötietojen sarakkeet ja niiden sisällöt (ehdotus). Tarkempi kuvaus löytyy täältä. Tietoja kerätään google sheetille. Taulukossa mainitut relaatiot tarkoittavat tietoa siitä, että kaksi asiaa (esimerkiksi toimenpide ja tavoite) liittyvät toisiinsa tietyllä tavalla.

Sisältövaihtoehdot sarakkeissa, joissa on etukäteen määrätyt vaihtoehdot.

Teema
1. hankinnat, 2. infra, 3. kaupungin käytännöt, 4. kaupunki testialustana, 5. maankäyttö, 6. ohjaus, 7. rahoitus ja kannustimet, 8. uudet palvelut, 9. viestintä ja neuvonta, 10. seuranta
Toimenpideluokka
  • Rakentaminen: 1. Elinkaaripäästöt 2. Hukkalämmön talteenotto 3. Lämmön energiatehokkuus 4. Paikallinen lämmöntuotanto 5. Sähkön energiatehokkuus 6. Paikallinen sähköntuotanto 7. Lämmön kysyntäjousto 8. Sähkön kysyntäjousto 9. Ulkovalaistus 10. Öljyn käytön vähentäminen 11. Vihreän sähkön hankinta 12. Vihreän lämmön hankinta 13. Suunnitelmat ja ohjelmat 14. Kaupunki testialustana 15. Viestintä ja koulutus 16. suunnittelun työkalut
  • Liikenne: 1. ajoneuvoliikenteen hinnoittelu (ruuhkamaksut) 2. uudet liikkumispalvelut (ja muut mahdolliset henkilöautojen kuormitusta nostavat toimenpiteet) 3. pysäköintikustannusten kasvattaminen 4. pyöräilyn kulkutapaosuuden kasvu 5. joukkoliikenteen palvelutason nosto (hinta, vuoroväli, mukavuus) 6. henkilöliikenteen teknologia (sähkö, energiatehokkuus) 7. raskaan liikenteen teknologia (energiatehokkuus, täyttöaste) 8. maankäytön muutokset 9. biopolttoaineet 10 työkoneiden teknologia 11. satamien teknologia 12. suunnitelmat ja ohjelmat 13 MUU(Ei sovellu)
Ohjelmapäätös
Kyllä, Tyhjä
Aikataulu
1=tämä valtuusto (2018-2019), 2=seuraava valtuusto (2019-2023), 3=myöhemmin (2013- )

Laskenta

Kerää ja varastoi masterdata

Tämän koodin keräämiä datoja voit tarkastella täältä.

+ Näytä koodi

Jalosta masterdataa malleja varten

+ Näytä koodi

Kerää toimenpide- ja vaikutustiedot

Tämä koodi kerää seurantatiedot avoimista nettitaulukoista ja tallentaa ne yhteen paikkaan jatkotyöstettäväksi. Toistaiseksi tämä on ajettava omalla koneella eikä Opasnetissä, mutta tähän tullee parannus lähiaikoina.

HNH2035toimenpideseuranta Toimenpiteiden toteuma sekä ennakoidut ja toteutuneet vaikutukset.

+ Näytä koodi

Piirrä näkemysverkko

hnhverkko on uudempi versio häkemysverkosta ja toimii uusilla tammikuun 2019 määrittelyillä.

+ Näytä koodi

+ Näytä koodi

Tarkastele vaikutuksia

Tämä koodi ottaa kootut seurantatiedot ja laskee niistä erilaisia tunnuslukuja ja seurantakaavioita. Malliajolinkeistä pääsee suoraan valmiiksi laskettuihin tuloksiin.

  • Malliajo 11.8.2018 [2]
  • Malliajo 17.9.2018 [3]

+ Näytä koodi

Tämä koodi tuottaa osamallin ilmastopäästöjen laskemiseksi pyöräilykilometreille ja muille vaikutuksille.

+ Näytä koodi

Mittarit Helsingin energiapäätöksestä 2015

Tämä koodi on muokattu mallista op_en:Helsinki energy decision 2015#Preference_order siten, että sillä on tuotettu HNH2035-ohjelmaan seuraavat mittarit:

  • Helsingin rakennusala [4]
  • Rakenusala rakennustyypeittäin [5]
  • Rakennusala lämmitysmuodoittain [6]
  • Helsingin energiantuotantokapasiteetti [7]
  • Kaupungin omistamien kiinteistöjen ominaislämmönkulutus [8]
  • Ominaislämmönkulutuksen väheneminen peruskorjauksessa [9]
  • Uusien rakennusten ominsialämmönkulutus [10]
  • Kiinteistöjen ominaislämmönkulutus [11]
  • Helsingin energiatase [12]
  • Rakennuskannan lämmönkulutus [13]
  • Kaukolämmöntuotannon kasvihuonekaasupäästöt [14]
  • Helsingin kaupungin ilmansaastepäästöt [15]
  • Altistuminen ilmansaasteille [16]
  • Ympäristöterveyden tautitaakka [17]

+ Näytä koodi

Posterikuva Climate-KIC

Posteria varten tehty Gantt chart Climate-KIC-kokoukseen 31.1.2018. Kuvaa ei käytetty lopullisessa posterissa. Lisätietoja Google Drivessa: Climate-KIC-posteri ja idean hakemus.

+ Näytä koodi

Katso myös

Hiilineutraali Helsinki 2035 -toimenpideohjelmaan liittyviä sivuja
Helsingin ilmastovahti

Helsingin ilmastovahti · ilmastovahdin toteuttaja Kausal oy · keskustelutyökalujen demoja: kerrokantasi hel kerrokantasi testi, Decidim omastadi testi, Discourse demo, Kialo, Opasnet, argumentit näkemysverkkona · Helsingin digisuunnittelun periaatteet · syksyn 2018 aineistoa · admin-demo (vaatii salasanan) · REST-rajapinta seurantatyökalulle Kerrokantasi-palvelulle · seurantatyökalun tietomallin yleiskuva · ensimmäinen blogi työkalusta Storybook · Skenaariotyökalu · Plotly

Toimepiteitä

Energiarenessanssi ·

Tietokiteitä (englanniksi)

Air pollution emissions in Helsinki · Building model · Building stock in Helsinki · Economic impacts · Emission factors for burning processes · Emission factors for road transport · Energy balance · Energy balance in Helsinki · Energy use of buildings · ERFs of environmental pollutants · External cost · Health impact assessment · Helsinki energy consumption · Helsinki energy production · Intake fractions of PM · Population of Helsinki metropolitan area · Prices of fuels in heat production · Road traffic in Helsinki ·

Aiheeseen liittyviä arviointeja

HSY:n päästölaskenta ja menetelmät · Helsingin energiapäätös 2015 · Climate change policies in Helsinki · Climate change policies and health in Kuopio · Climate change policies in Basel

Katso myös

Toimenpideohjelma Stadinilmasto-sivuilla · juokseva muistio työn etenemisestä · Sitoumus2050 · Helsingin energiapäätökseen liittyviä arvoja · Helsingin hallintokuntien energiatehokkuus- ja ilmastotoimenpiteet ja -tavoitteet · Helsingin ilmastonmuutos -tiekartta · Helsingin kaupungin talous · Helsingin ohjelmalliset energiatehokkuus- ja ilmastotoimenpiteet ja -tavoitteet · Helsingin strategiset energiatehokkuus- ja ilmastotavoitteet · Ilmastonmuutokseen sopeutuminen: seuranta ja arviointi · Ilmastopolitiikkojen vaikutusten luokittelu · Rakennuskantamalli


Avainsanat

Viitteet

  1. Hiilineutraali Helsinki 2035 -toimenpideohjelma. Helsinki, 2018. [1]

Kommentointi


Aiheeseen liittyviä tiedostoja