2. Data avautui
24.1.2017 2
FMI avoin lähdekoodi
https://en.ilmatieteenlaitos.fi/open-data
Ensimmäiset
ohjelmistot avautuivat
2013 2016
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
3. Ilmatieteen laitos avasi datansa vuonna
2013.
Lähes kaikki data, johon Ilmatieteen
laitos omistaa oikeudet on avointa.
Dataa jaetaan vapaasti
koneluettavassa muodossa.
24.1.2017 3
FMI avoin data
https://en.ilmatieteenlaitos.fi/open-data
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
4. Data set Description Time
Interval
Estimated
publish date
Weather
Observations
Temperature, Wind,
Humidity, Ground
Temperature…
10 min Open,
older data to be
added
Weather forecast
model HIRLAM RCR
Point forecasts and grid
data
Latest
model run
(4 times a
day) 0…54
h
Open
Aviation Observations METAR 30 min open
Weather Radars Precipitation Rate,
Precipitation Amount…
5 min Open,
older data to be
added
Lightning Thunder Strikes in
Finland
5 min Open
Esimerkkiaineistoja
1/24/2017 4
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
5. FMI avoin data on INSPIRE yhteensopiva
FMI avoin data
Meta data
Services
1/24/2017 5
ISO19115 WFS WMS
CSW
Grid Series
Observations
Time Series
Observations
Data
Models O&M
Simple
Feature
GRIB
NetCDF GeoTiff
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
6. Käyttörajoitukset
Yhdellä API-avaimella saa tehdä
o enintään 20 000 pyyntöä päivässä (Download Service)
o enintään 10 000 pyyntöä päivässä (View Service)
o enintään 600 pyyntöä 5 minuutissa molempiin palveluihin
o Jos jokainen havainto lasketaan erikseen, vähän yli 17 000
uutta data settiä julkaistaan joka päivä
o Yhdellä API-avaimella voi siis ladata kaiken kerran
o Katselupalvelu on tarkoitettu testaukseen, sovelluksiin sitä ei
kuitenkaan voi käyttää suoraan taustapalveluna
24.1.2017 6
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
7. MIKSI AVATAAN?
• Julkisin varoin tuotetut ohjelmistot mahdollisimman laajasti
kansalaisten, yritysten ja muiden organisaatioiden
käytettävissä
• Avoin tieto ja jatkuvasti kehittyvät suurten tietomassojen
hyödyntämismenetelmät tarjoavat merkittäviä mahdollisuuksia
niin liiketoiminnalle kuin yhteiskunnalle
• Julkisen tiedon saatavuus on yhteiskunnan palvelukehityksen
ja innovaatiotoiminnan sekä yhteiskunnan läpinäkyvyyden
kannalta tärkeä tekijä
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
7
8. MIKSI AVATAAN?
• Parantaa avoimen datan käytettävyyttä
• Kehitystyön tehostaminen
• Yhteistyö helpottuu kumppanien kanssa
• Tutkimusprojetien tukeminen
• Yritystoiminnan tukeminen
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
8
9. Sallittu
Vastuuta
Takuuta
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
9
LISENSSI
Ohjelmistot julkaistaan pääsääntöisesti MIT-lisenssillä, joka asettaa hyvin
vähän rajoituksia ohjelmiston käytölle. Ohjelmistokohtaisesti saatetaan käyttää
myös muuta avointa lisenssiä yhteistyötahojen ja/tai rahoittajan toivomuksesta.
Kaupallinen
käyttö
Jakelu
Muokkaus
Yksityinen käyttö
Alkuperäinen
lisenssi ja
tekijänoikeus
merkintä
säilytettävä
Ehdolla Ilman
10. MITÄ AVATAAN?
• 2016: SmartMet Server
• 2017: HIMAN (hila manipulaattori), SmartMet työasema
• Noin 30 muuta ohjelmistoa harkitaan avattavaksi
• Uudet ohjelmistot lähtökohtaisesti avoimia
• Arviointityö käynnissä
• Onko ohjelmisto erotettavissa tuotantojärjestelmästä?
• Ollaanko ohjelmistoa vielä jatkokehittämässä?
• Onko ohjelmistosta mahdollisesti hyötyä Ilmatieteen laitoksen ulkopuolella?
• Onko turvallisuuteen liittyviä kysymyksiä tai kolmannen osapuolen IPR?
• Onko rahoittajalla vaatimuksia?
• Onko projektin nimi vapaa?
• Onko projekti dokumentoitu riittävällä tasolla ja mitä pitää tehdä että avaaminen
voidaan tehdä?
• Laitoksen johto tekee jokaisesta ohjelmistosta päätöksen erikseen
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
10
11. MITÄ AVATTU?
• Ennestään avoimia ohjelmistoja
• SILAM leviämismallin lasketaohjelmisto
• RACK tutkadatan käsittelyyn tarkoitettu ohjelmisto
• MetOLib avoimen datan käyttämistä helpottava kirjasto
• PyTroll satelliittidatojen käsittelyyn tarkoitettu ohjelmisto, jonka
kansainvälisessä kehitystiimissä Ilmatieteen laitos on merkittävällä
panoksella mukana http://pytroll.org/
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
11
12. MAHDOLLISET KÄYTTÄJÄT
• Muiden maiden kansalliset sääpalvelut
• Ympäristöalan kansainväliset organisaatiot (ECMWF,
EUMETSAT jne)
• Ympäristöalan yritykset ja organisaatiot
• Ilmatieteen laitoksen avointa dataa käyttävät yritykset ja
organisaatiot
• Yksityiset kehittäjät
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
12
13. JULKAISU
• Ohjelmistot julkaistaan GitHub-verkkopalvelussa, joka on yksi
maailman suurimmista lähdekoodi-verkkopalveluista
• GitHub tarjoaa GIT-versionhallinnan, wiki-sivun, bug-
trackkerin sekä tehtävien hallinnan ohjelmistoprojekteille
• Ohjelmistot dokumentoidaan GitHub-palveluun
• Ilmatieteen laitos tekee oman kehitystyönsä suoraan GitHub-
palveluun
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
13
https://github.com/fmidev
14. KÄYTÄNNÖT
• Pienet muutokset lähdekoodiin -> Pull Request
• Isommista muutoksista on syytä tehdä ensin suunnitelma
GitHub wikiin
• Kehitystyöhön osallistuvien on hyväksyttävä CLA (Contributor
License Agreement). Tällä varmistetaan että henkilöllä on
oikeus annettavaan lähdekoodiin.
• Havaituista ongelmista voi kuka tahansa GitHub-tunnuksen
omaava raportoida GitHub Issue Tracker työkalulla
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
14
15. SmartMet datapalvelin
• Data- ja tuotepalvelin MetOcean datalle
• Korkea saatavuus ja kapasiteetti
• Data haetaan ja tuotteet luodaan aina lennosta
• INSPIRE yhteensopiva
• Operatiivinen vuodesta 2008 Ilmatieteen laitoksella
• Avoimen datan taustapalveluna vuodesta 2013
• Lisätietoja http://www.slideshare.net/tervo/smartmet-server-
providing-metocean-data
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
15
17. SmartMet Server
Pikaopas / Käyttäminen
• Lataa Ilmatieteen laitoksen HIRLAM malli:
http://data.fmi.fi/download?param=Temperature,DewPoint,WindUMS,WindVMS,TotalCloudCover,Precipitati
on1h,WindSpeedMS,Humidity,Pressure&format=qd&producer=hirlam&origintime=2017-01-24T00Z&fmi-
apikey=$APIKEY
• Tee serverille konffi esim. /etc/smartmetd/server.conf sekä tarvittavat engine ja plugin konffit (esimerkit
löytyvät git paketeista). Helpointa on aloittaa timeseries pluginin käytöllä. Datan sijainti konfiguroidaan
/etc/smartmetd/engines/querydata.conf tiedostoon (edellä ladattu data tiedosto)
• Käynnistä serveri /usr/sbin/smartmetd -d -v –logrequests
• Testaa timeseries
http://localhost/timeseries?producer=hirlam&lonlat=24.5,66¶m=time,FeelsLike,Temperature,WindDirec
tion,WindCompass8,WindSpeedMS&format=debug
• Käytä sovelluksessa, javascript sovulluksissa formaatti kannattaa muuttaa format=json
• Timeseries dokumentaatio https://github.com/fmidev/smartmet-plugin-timeseries/wiki/SmartMet-plugin-
TimeSeries
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
17
18. SmartMet Server
Pikaopas / Huomioitavaa
• Dokumentaatio GitHubin wikissä ja REAME.md tiedostoissa
• Tällä hetkellä vai querydata tiedostoformaatti tuettu, muut formaatit
konvertoitava querydataksi
• Suomalaisen HIRLAM mallin saa ladattua Ilmatieteen laitoksen avoin data porttaalista.
Pikaohje: http://ilmatieteenlaitos.fi/latauspalvelun-pikaohje (huom käytä formaattina qd)
• Muut mallit on ensin konvertoitava Grib v1 & v2 tai NetCDF formaatista querydataksi
https://github.com/fmidev/smartmet-qdtools
• Dataa voi ladata koordinaateilla, jos haluaa käyttää nimiä on lisäksi asennettava
nimistötietokanta. Esimerkin voi asentaa dockeriin
https://hub.docker.com/r/fmidev/smartmet-server-test-db/
• Server konffissa kannattaa ladata vain tarvittavat pluginit ja niiden
tarvitsemat enginet.
• Kokeilun helpottamiseksi tulossa Docker Hubiin SmartMet Server image ja
RPM-repository
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
18