SlideShare a Scribd company logo
1 of 20
Avoin lähdekoodi
Ilmatieteen laitos
Mikko Rauhala, Roope Tervo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SmartMet Server
Pikaopas / Kääntäminen
• Asenna RHEL 7 tai CentOS 7
• Asenna repot: rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm &&
https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-3.noarch.rpm
• Asenna riippuvuudet: yum install bzip2-devel cairo-devel cairo-gobject-devel elfutils-devel file fmt-devel gcc gcc-c++ gdal-devel
geos-devel gdk-pixbuf2-devel git grib_api grib_api-devel gobject-introspection-devel jemalloc-devel jsoncpp-devel libaio-devel
libcroco-devel libtool libatomic libconfig-devel libicu-devel libjpeg-devel libpqxx-devel libspatialite-devel make cmake imake
mariadb-devel mysql++-devel netcdf-devel netcdf-cxx-devel openssl-devel pango-devel protobuf-devel protobuf-compiler
postgresql93-devel python-devel scons soci-devel soci-sqlite3-devel
• Lataa ja asenna Oraclen paketit oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm ja oracle-instantclient11.2-basic-
11.2.0.4.0-1.x86_64.rpm
• Lataa ja käännä kirjastot http://ctpp.havoc.ru/download/ctpp2-2.8.3.tar.gz
http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz https://github.com/sparsehash/sparsehash.git
• Lataa: mkdir -p /usr/local/include/jssatomic && wget -O /usr/local/include/jssatomic/atomic_shared_ptr.hpp
https://bitbucket.org/anthonyw/atomic_shared_ptr/raw/7bdef03f6536f4b9118d267b68da211297cc0143/atomic_shared_pt
• Kloonaa, käännä ja asenna seuraavat paketit (git clone / make / make install)
• Kirjastot: smartmet-library-* (newbase,macgyver,gis,spine,locus,tron,imagine)
• Serveri: smartmet-server
• Enginet: smartmet-engine-* (sputnik,querydata,geonames,observation,gis,contour)
• Pluginit: smartmet-plugin-* (timeseries,download,admin,backend,meta,wfs)
24.1.2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
16
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&param=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
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
Mitä seuraavaksi?
Seuraa:
https://github.com/fmidev
https://facebook.com/fmibeta
Uusista julkaisuista kerrotaan näissä osoitteissa.
1/24/2017
Ilmatieteen laitoksen avoimet ohjelmistot
Mikko Rauhala
19
www.fmi.fi
http://ilmatieteenlaitos.fi/avoin-lahdekoodi
https://github.com/fmidev/
https://hub.docker.com/r/fmidev/
https://en.ilmatieteenlaitos.fi/open-data
https://facebook.com/fmibeta
http://www.slideshare.net/rauhala

More Related Content

Similar to Fmi avoin lahdekoodi

Avaus ja JIT 2015
Avaus ja JIT 2015Avaus ja JIT 2015
Avaus ja JIT 2015COSS
 
Microsoft 365 HPR - Power Platform hallinta
Microsoft 365 HPR  - Power Platform hallintaMicrosoft 365 HPR  - Power Platform hallinta
Microsoft 365 HPR - Power Platform hallintaTimo Pertilä
 
Big Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakouluBig Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakouluImmo Salo
 
Kuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeama
Kuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeamaKuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeama
Kuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeamaNixu Corporation
 
Profittable.fi 20.03.2014, esitys big datasta
Profittable.fi 20.03.2014, esitys big datastaProfittable.fi 20.03.2014, esitys big datasta
Profittable.fi 20.03.2014, esitys big datastaivoriofinland
 
Softabasaari-tiedote-19.06.2017
Softabasaari-tiedote-19.06.2017Softabasaari-tiedote-19.06.2017
Softabasaari-tiedote-19.06.2017Vesa Sohlberg
 
Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012Immo Salo
 
Windows 7 Käyttöönottoprojekti
Windows 7 KäyttöönottoprojektiWindows 7 Käyttöönottoprojekti
Windows 7 KäyttöönottoprojektiVaihde 7
 
Sovellusvirtualisointi - Mitä missä milloin 2015
Sovellusvirtualisointi - Mitä missä milloin 2015Sovellusvirtualisointi - Mitä missä milloin 2015
Sovellusvirtualisointi - Mitä missä milloin 2015Teemu Tiainen
 
Lokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisulla
Lokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisullaLokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisulla
Lokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisullaFinceptum Oy
 
LibreOffice-opas
LibreOffice-opasLibreOffice-opas
LibreOffice-opasTomi Toivio
 
2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...
2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...
2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...Petteri Kivimäki
 
Turvallinen ohjelmointi -vierailuluento, 2019
Turvallinen ohjelmointi -vierailuluento, 2019Turvallinen ohjelmointi -vierailuluento, 2019
Turvallinen ohjelmointi -vierailuluento, 2019lokori
 
Pitääkö avoimesta lähdekoodista maksaa sytyke 2012
Pitääkö avoimesta lähdekoodista maksaa   sytyke 2012Pitääkö avoimesta lähdekoodista maksaa   sytyke 2012
Pitääkö avoimesta lähdekoodista maksaa sytyke 2012Ambientia
 
2016-09-23-KaPA ja avoin lähdekoodi
2016-09-23-KaPA ja avoin lähdekoodi2016-09-23-KaPA ja avoin lähdekoodi
2016-09-23-KaPA ja avoin lähdekoodiPetteri Kivimäki
 
Avointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassa
Avointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassaAvointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassa
Avointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassaOtto Kekäläinen
 

Similar to Fmi avoin lahdekoodi (20)

Avaus ja JIT 2015
Avaus ja JIT 2015Avaus ja JIT 2015
Avaus ja JIT 2015
 
Microsoft 365 HPR - Power Platform hallinta
Microsoft 365 HPR  - Power Platform hallintaMicrosoft 365 HPR  - Power Platform hallinta
Microsoft 365 HPR - Power Platform hallinta
 
Big Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakouluBig Data -esitys, Arcada ammattikorkeakoulu
Big Data -esitys, Arcada ammattikorkeakoulu
 
Kuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeama
Kuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeamaKuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeama
Kuinka toimitaan oikeammin kun havaitaan tietoturvapoikkeama
 
Profittable.fi 20.03.2014, esitys big datasta
Profittable.fi 20.03.2014, esitys big datastaProfittable.fi 20.03.2014, esitys big datasta
Profittable.fi 20.03.2014, esitys big datasta
 
Softabasaari-tiedote-19.06.2017
Softabasaari-tiedote-19.06.2017Softabasaari-tiedote-19.06.2017
Softabasaari-tiedote-19.06.2017
 
2013 Projektinhallintapäivä
2013 Projektinhallintapäivä2013 Projektinhallintapäivä
2013 Projektinhallintapäivä
 
Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012Mitä on big data, Aamiaistilaisuus 13.03.2012
Mitä on big data, Aamiaistilaisuus 13.03.2012
 
SUSE Manager 2.1
SUSE Manager 2.1SUSE Manager 2.1
SUSE Manager 2.1
 
Windows 7 Käyttöönottoprojekti
Windows 7 KäyttöönottoprojektiWindows 7 Käyttöönottoprojekti
Windows 7 Käyttöönottoprojekti
 
Sovellusvirtualisointi - Mitä missä milloin 2015
Sovellusvirtualisointi - Mitä missä milloin 2015Sovellusvirtualisointi - Mitä missä milloin 2015
Sovellusvirtualisointi - Mitä missä milloin 2015
 
Lokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisulla
Lokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisullaLokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisulla
Lokienhallinnan ja SIEMin käyttötapauksia NetIQ Sentinel ratkaisulla
 
LibreOffice
LibreOfficeLibreOffice
LibreOffice
 
LibreOffice-opas
LibreOffice-opasLibreOffice-opas
LibreOffice-opas
 
2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...
2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...
2015-11-20-Avoimet lisenssit ja parhaat käytännöt julkisen hallinnon ICTssä -...
 
Cosmos käytännön IIoT
Cosmos käytännön IIoTCosmos käytännön IIoT
Cosmos käytännön IIoT
 
Turvallinen ohjelmointi -vierailuluento, 2019
Turvallinen ohjelmointi -vierailuluento, 2019Turvallinen ohjelmointi -vierailuluento, 2019
Turvallinen ohjelmointi -vierailuluento, 2019
 
Pitääkö avoimesta lähdekoodista maksaa sytyke 2012
Pitääkö avoimesta lähdekoodista maksaa   sytyke 2012Pitääkö avoimesta lähdekoodista maksaa   sytyke 2012
Pitääkö avoimesta lähdekoodista maksaa sytyke 2012
 
2016-09-23-KaPA ja avoin lähdekoodi
2016-09-23-KaPA ja avoin lähdekoodi2016-09-23-KaPA ja avoin lähdekoodi
2016-09-23-KaPA ja avoin lähdekoodi
 
Avointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassa
Avointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassaAvointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassa
Avointen ja ilmaisten ohjelmien hyödyntäminen järjestötoiminnassa
 

Fmi avoin lahdekoodi

  • 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
  • 16. SmartMet Server Pikaopas / Kääntäminen • Asenna RHEL 7 tai CentOS 7 • Asenna repot: rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-3.noarch.rpm • Asenna riippuvuudet: yum install bzip2-devel cairo-devel cairo-gobject-devel elfutils-devel file fmt-devel gcc gcc-c++ gdal-devel geos-devel gdk-pixbuf2-devel git grib_api grib_api-devel gobject-introspection-devel jemalloc-devel jsoncpp-devel libaio-devel libcroco-devel libtool libatomic libconfig-devel libicu-devel libjpeg-devel libpqxx-devel libspatialite-devel make cmake imake mariadb-devel mysql++-devel netcdf-devel netcdf-cxx-devel openssl-devel pango-devel protobuf-devel protobuf-compiler postgresql93-devel python-devel scons soci-devel soci-sqlite3-devel • Lataa ja asenna Oraclen paketit oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm ja oracle-instantclient11.2-basic- 11.2.0.4.0-1.x86_64.rpm • Lataa ja käännä kirjastot http://ctpp.havoc.ru/download/ctpp2-2.8.3.tar.gz http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz https://github.com/sparsehash/sparsehash.git • Lataa: mkdir -p /usr/local/include/jssatomic && wget -O /usr/local/include/jssatomic/atomic_shared_ptr.hpp https://bitbucket.org/anthonyw/atomic_shared_ptr/raw/7bdef03f6536f4b9118d267b68da211297cc0143/atomic_shared_pt • Kloonaa, käännä ja asenna seuraavat paketit (git clone / make / make install) • Kirjastot: smartmet-library-* (newbase,macgyver,gis,spine,locus,tron,imagine) • Serveri: smartmet-server • Enginet: smartmet-engine-* (sputnik,querydata,geonames,observation,gis,contour) • Pluginit: smartmet-plugin-* (timeseries,download,admin,backend,meta,wfs) 24.1.2017 Ilmatieteen laitoksen avoimet ohjelmistot Mikko Rauhala 16
  • 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&param=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
  • 19. Mitä seuraavaksi? Seuraa: https://github.com/fmidev https://facebook.com/fmibeta Uusista julkaisuista kerrotaan näissä osoitteissa. 1/24/2017 Ilmatieteen laitoksen avoimet ohjelmistot Mikko Rauhala 19