SlideShare uma empresa Scribd logo
1 de 26
SmartMet Server
In a Nutshell
• Data and product server for MetOcean data
• High capacity & availability
• Data is extracted and products generated always on-demand
• INSPIRE Compliant
• Operative since 2008
• FMI client services (since 2008)
• Finnish Meteorological Institute (FMI) Open Data Portal (since 2013)
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 2
In a Nutshell
• Several input sources
• GRIB-, NetCDF-, etc. files (multi-dimensional grid data)
• PostGIS database (vectors)
• Point database (point observations)
• Several output interfaces and formats
• WMS, WFS 2.0
• JSON, XML, ASCII, XML, HTML, SERIAL
• GRIB1, GRIB2, NetCDF
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 3
Usage
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 4
FMI Open Data
Portal & FMI
INSPIRE Data
Services
Backend for
clients’ web
services
Integration to
clients’
systemsBackend for
mobile
applications
Backend for
FMI Client
Services
Backend for
FMI public
pages
• Basis of FMI product generation
Architecture
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 5
• Frontend
• Load balancer
• Knowledge about
backend services
• Backend
• Different backends may
contain different
services
• Plugin-based architecture
• Engines provides
shared access to the
data
• Plugins provides APIs
based on services
provided by engines
Frontend
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 6
• Provides HTTP 1.1 server
• Chunked, gzip and no encoding supported
• No full standard compliance
• Monitors status of backend services
• Forwards requests to the
backends with required services
• Load balancing
• Different queues for fast and
slow services
• Provides LRU product cache
Frontend
cache
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 7
• Cache contains two phase mapping of product
• ETags works as product hash
• Consists of request url, product configuration and used data
• If any of above changes, product is
deprecated
• ETags are mapped to buffer hash
• Data is stored based on buffer hash
• For example transparent radar images
without rain are all mapped to as one
cache entry
• Significant affect to cache size
• LRU cache
• Most used content in memory
• Rarely used content on local disk
Data Sources
qengine
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 10
• Provides access to grid data
• Supported data formats: querydata
• Ready tools for converting other
formats (grib, netcdf, hdf…) to
querydata
• Memory-maps the data from NFS
• Supports both spatial and temporal
interpolation and nearest point
selection
• Used method depends on the
parameter
• Selects the best data source for
requested region
Data Sources
qengine
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 11
• Post-processing capabilities
• Corrects the data based on accurate DEM (up to 30 meter resolution) and
land/water information
• Correlation done to temperature based on the difference between model and real
topography
• Land/water information
used to give more
weight on corresponding
grid points in
interpolation
• Calculates derivative
parameters
• FeelsLike, sunset,
day length…
Data Sources
obsengine
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 12
• Provides access to
observation data stored in SQL
database
• Keeps local SpatiaLite
database for latest data
• Sync with the master database
• Requests not available in the
cache are forwarded to master
database
Data Sources
geoengine
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 13
• Provides location services
for other services
• Resolve location information
for coordinates and vice
versa
• Based on geonames.org
• PostGIS database
• Synced from geonames.org
to local database once a day
WMS
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 14
• Version 1.3.0
• Supports png, svg, jpeg, tiff
• Supports all proj.4 projections
• Supports for time and other custom dimensions
• Data sources: grid data and PostGIS
• Contours coverages and isolines on-fly from grid data (qengine)
• Draws PostGIS geometries based on database queries
• Generates SVG which are rendered to requested raster format
• Supports rich effects of SVG rendering model
• Styling with CSS
• Rendering done with librsvg
• Configuration with json
• Configuration variables can be overridden in requests (i.e. thresholds)
WMS
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 15
• Support for meteorological specific visualizations
• Wind barbs, wind arrows, fronts, jets…
• Support for thresholds
• i.e. draw images only where temperature is between -2 and 2 degrees
• Also possibility to mask content based on other parameter (i.e. draw
precipitation areas only where wind gusts are over 8 m/s)
• Very efficient cache
• Supports frontend product cache
• Several LRU caches in backend
• For contours, SVG products and ready rendered products
• Performance up to 3000 req/s
• With FMI setup
Dali
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 16
• Provides images from grid data
• Same plugin as WMS
• Richer but non-standard API
• Support for several views in
one image
• i.e. same area with different
times side by side
• Support all SVG effects
• Possible to center location
based on location name
WFS
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 17
• Version 2.0.0 Basic Profile
• INSPIRE Compliant
• Support all proj.4 projections
• Capabilities: ImplementsQuery, ImplementsAdHocQuery, ImplementsMinStandardFilter,
ImplementsMinSpatialFilter, ImplementsMinTemporalFilter
• Supports KVP- and XML-encodings
• Support for simple and complex features
• Data sources: grid data (qengine) and observation data (obsengine)
• Point forecasts from grid data
• Contours from grid data
• Observations from obsengine
• Most of the data provided via stored queries to access good enough
performance
Download (WCS-like)
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 18
• Provides grid data (from qengine) as binary data
• Supported output formats: GRIB1, GRIB2, NetCDF and Querydata,
• Supports all proj.4 projections (depends on output format support)
• Supports slicing by
• area (bbox)
• elevation (pressure and/or model level)
• time (start time, end time and origin time)
• Possibility to define grid resolution by
• selecting every Nth grid point to x and y direction
• grid size  data is interpolated to new grid points
TimeSeries
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 19
• Provides observations and point forecasts to the point
• Output formats: JSON, XML, ASCII, XML, HTML, SERIAL
• Support for aggregate values over time and area
• Median, mean, min, max, sum, avg, integ, sdev, trend, change, count,
percentage
• Support for combining different models
• Giving two models cause first one to be
supplemented with second one after time
range of first one ends
• One or more locations per query
• Possible selection methods: name, coordinates, set of locations, location id,
bbox, path, WKT
Autocomplete
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 20
• Provides autocomplete server for searching locations
• Very efficient, very fast
• Location information enriched with
simple weather information
(temperature, weather symbol, etc…)
• Location information stored in location
database (geoengine)
Q3 (WPS-like)
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 21
• Provides service to process the
data and return output as data or
image
• Input: LUA scripts
• Output formats
• Matrix as text
• Matrix as binary (querydata)
• JSON
• Contoured images: svg, png,
jpeg, pdf
local param= T
local limit= 0
local r,err= HIR{ hybrid=true, params={param,Z,P} }
assert(r,err)
-- Iterate levels from down to up
-- Store height and pressure when >= 'limit' (last
will remain)
local m_Z= matrix() -- heights collected; originally
all 'nan'
local m_P= matrix() -- pressures collected
local m_v= matrix() -- value at such positions (not
needed)
for g in grids_by_level(r) do
for pos,v in points(g[param]) do
if v>=limit then
m_Z[pos]= g.Z[pos]
m_P[pos]= g.P[pos]
m_v[pos]= v
end
end
end
return m_Z, m_P, m_v
FMI Setup
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 22
• 2 frontends
• RAM: 256G
• CPU: 24x 2.10GHz
• OS: RHEL7
• 5 backends
• RAM: 12G
• CPU: 24x2.50GHz
• OS: RHEL7
• Load Balancer
• F5 BIG IP 11
• Databases
• Master Observation
Database: Oracle
• Location Database:
PostGIS 9.5
Performance
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 23
• Production (with FMI setup)
• > 30 000 000 req/day
• Baseline 200 req/s
• Peaks over 650 req/s (20.6.2015 13:02)
• Average response times varies depending on the request:
• WFS: 140 ms/req, WMS: 130 ms/req, Timeseries: 30 ms/req,
Autocomplete: 4 ms/req
• Overall average: 70 ms/req
• Over 99,95% availability
Performance
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 24
• Load testing (production setup):
• Peaks over 4300 req/s
• Avg 173 ms, 95% of responses in 244 ms, median 54 ms
• Slow query queue easy to DoS due to possibility to large data
requests and heavy operations
• Don’t affect to fast query queue
Roadmap for the 2016
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 25
Native GRIB support for input data
Support for GRIB data as input
data without converting data to
internal data format
WCS support
Implement WCS interface for
download plugin
Clustering support over Internet
Possibility to provide data from
it’s original source via single
API (i.e. ECMWF data from
UK and Hirlam from Finland)
Open Source
• SmartMet Server is going to be published as Open Source in
2016
• Scope
• Server: Libraries, Engines, Plugins
• Tools to handle data: qdconversion- & qdtools-paketit
• Licence most probably GPL or MIT
• Publishing in https://github.com/fmidev
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 26
Strengths
• SmartMet Server can
• Visualize, extract and post-process large data sets
• Utilize data from grid-files (GRIB, NetCDF, HDF…), PostGIS database
and point databases
• Use SmartMet Server when
• You need to handle weather or climatological data (or any multi-
dimensional grid data)
• You need fast and reliable web server
• You may consider using SmartMet Server also in more traditional
context
• It’s fast, it’s reliable
5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 27
https://www.facebook.com/fmibeta
http://www.slideshare.net/tervo
https://github.com/fmidev
http://roopetervo.com

Mais conteúdo relacionado

Mais procurados

Sky Arrays - ArrayDB in action for Sky View Factor Computation
Sky Arrays - ArrayDB in action for Sky View Factor ComputationSky Arrays - ArrayDB in action for Sky View Factor Computation
Sky Arrays - ArrayDB in action for Sky View Factor Computation
EUDAT
 
2005-01-08 MANE-VU Status Report on CATT and FASTNET
2005-01-08 MANE-VU Status Report on CATT and FASTNET2005-01-08 MANE-VU Status Report on CATT and FASTNET
2005-01-08 MANE-VU Status Report on CATT and FASTNET
Rudolf Husar
 
Grid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objectsGrid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objects
Yunsu Lee
 

Mais procurados (20)

Self-adaptive container monitoring with performance-aware Load-Shedding policies
Self-adaptive container monitoring with performance-aware Load-Shedding policiesSelf-adaptive container monitoring with performance-aware Load-Shedding policies
Self-adaptive container monitoring with performance-aware Load-Shedding policies
 
Self-adaptive container monitoring with performance-aware Load-Shedding policies
Self-adaptive container monitoring with performance-aware Load-Shedding policiesSelf-adaptive container monitoring with performance-aware Load-Shedding policies
Self-adaptive container monitoring with performance-aware Load-Shedding policies
 
Sky Arrays - ArrayDB in action for Sky View Factor Computation
Sky Arrays - ArrayDB in action for Sky View Factor ComputationSky Arrays - ArrayDB in action for Sky View Factor Computation
Sky Arrays - ArrayDB in action for Sky View Factor Computation
 
Hopsworks - ExtremeEarth Open Workshop
Hopsworks - ExtremeEarth Open WorkshopHopsworks - ExtremeEarth Open Workshop
Hopsworks - ExtremeEarth Open Workshop
 
CNIT 127 Ch 5: Introduction to heap overflows
CNIT 127 Ch 5: Introduction to heap overflowsCNIT 127 Ch 5: Introduction to heap overflows
CNIT 127 Ch 5: Introduction to heap overflows
 
Big linked geospatial data tools in ExtremeEarth-phiweek19
Big linked geospatial data tools in ExtremeEarth-phiweek19Big linked geospatial data tools in ExtremeEarth-phiweek19
Big linked geospatial data tools in ExtremeEarth-phiweek19
 
CCCA Data Centre - Dynamic Data Citation for NetCDF files
CCCA Data Centre - Dynamic Data Citation for NetCDF filesCCCA Data Centre - Dynamic Data Citation for NetCDF files
CCCA Data Centre - Dynamic Data Citation for NetCDF files
 
PIC Tier-1 (LHCP Conference / Barcelona)
PIC Tier-1 (LHCP Conference / Barcelona)PIC Tier-1 (LHCP Conference / Barcelona)
PIC Tier-1 (LHCP Conference / Barcelona)
 
ESCAPE Kick-off meeting - KM3Net, Opening a new window on our universe (Feb 2...
ESCAPE Kick-off meeting - KM3Net, Opening a new window on our universe (Feb 2...ESCAPE Kick-off meeting - KM3Net, Opening a new window on our universe (Feb 2...
ESCAPE Kick-off meeting - KM3Net, Opening a new window on our universe (Feb 2...
 
Polar Use Case - ExtremeEarth Open Workshop
Polar Use Case  - ExtremeEarth Open WorkshopPolar Use Case  - ExtremeEarth Open Workshop
Polar Use Case - ExtremeEarth Open Workshop
 
Migration of audio files using Hadoop, SCAPE Information Day, 25 June 2014
Migration of audio files using Hadoop, SCAPE Information Day, 25 June 2014Migration of audio files using Hadoop, SCAPE Information Day, 25 June 2014
Migration of audio files using Hadoop, SCAPE Information Day, 25 June 2014
 
OSGeo Conferences Report
OSGeo Conferences ReportOSGeo Conferences Report
OSGeo Conferences Report
 
2005-01-08 MANE-VU Status Report on CATT and FASTNET
2005-01-08 MANE-VU Status Report on CATT and FASTNET2005-01-08 MANE-VU Status Report on CATT and FASTNET
2005-01-08 MANE-VU Status Report on CATT and FASTNET
 
Fast Cat Mv3
Fast Cat Mv3Fast Cat Mv3
Fast Cat Mv3
 
Nfcis2009
Nfcis2009Nfcis2009
Nfcis2009
 
Grid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objectsGrid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objects
 
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
 
ICESat-2 Metadata and Status
ICESat-2 Metadata and StatusICESat-2 Metadata and Status
ICESat-2 Metadata and Status
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011
 
WMS Performance Shootout 2009
WMS Performance Shootout 2009WMS Performance Shootout 2009
WMS Performance Shootout 2009
 

Semelhante a SmartMet Server OSGeo

Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
DataWorks Summit
 

Semelhante a SmartMet Server OSGeo (20)

ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
 
DEVNET-1191 BGP Enabled Application Development
DEVNET-1191	BGP Enabled Application DevelopmentDEVNET-1191	BGP Enabled Application Development
DEVNET-1191 BGP Enabled Application Development
 
Bryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATL
Bryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATLBryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATL
Bryan Thompson, Chief Scientist and Founder, SYSTAP, LLC at MLconf ATL
 
Big Data Day LA 2015 - Big Data Day LA 2015 - Applying GeoSpatial Analytics u...
Big Data Day LA 2015 - Big Data Day LA 2015 - Applying GeoSpatial Analytics u...Big Data Day LA 2015 - Big Data Day LA 2015 - Applying GeoSpatial Analytics u...
Big Data Day LA 2015 - Big Data Day LA 2015 - Applying GeoSpatial Analytics u...
 
Maintaining spatial data infrastructures (SDIs) using distributed task queues
Maintaining spatial data infrastructures (SDIs) using distributed task queuesMaintaining spatial data infrastructures (SDIs) using distributed task queues
Maintaining spatial data infrastructures (SDIs) using distributed task queues
 
IoT Ingestion & Analytics using Apache Apex - A Native Hadoop Platform
 IoT Ingestion & Analytics using Apache Apex - A Native Hadoop Platform IoT Ingestion & Analytics using Apache Apex - A Native Hadoop Platform
IoT Ingestion & Analytics using Apache Apex - A Native Hadoop Platform
 
Row #9: An architecture overview of APNIC's RDAP deployment to the cloud
Row #9: An architecture overview of APNIC's RDAP deployment to the cloudRow #9: An architecture overview of APNIC's RDAP deployment to the cloud
Row #9: An architecture overview of APNIC's RDAP deployment to the cloud
 
True Reusable Code - DevSum2016
True Reusable Code - DevSum2016True Reusable Code - DevSum2016
True Reusable Code - DevSum2016
 
Cisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Connect Toronto 2017 - Model-driven TelemetryCisco Connect Toronto 2017 - Model-driven Telemetry
Cisco Connect Toronto 2017 - Model-driven Telemetry
 
Geospatial Sensor Networks and Partitioning Data
Geospatial Sensor Networks and Partitioning DataGeospatial Sensor Networks and Partitioning Data
Geospatial Sensor Networks and Partitioning Data
 
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
 
5 Postgres DBA Tips
5 Postgres DBA Tips5 Postgres DBA Tips
5 Postgres DBA Tips
 
Cassandra at Vast
Cassandra at VastCassandra at Vast
Cassandra at Vast
 
Austin Cassandra Users 6/19: Apache Cassandra at Vast
Austin Cassandra Users 6/19: Apache Cassandra at VastAustin Cassandra Users 6/19: Apache Cassandra at Vast
Austin Cassandra Users 6/19: Apache Cassandra at Vast
 
Real time fraud detection at 1+M scale on hadoop stack
Real time fraud detection at 1+M scale on hadoop stackReal time fraud detection at 1+M scale on hadoop stack
Real time fraud detection at 1+M scale on hadoop stack
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
 
High Performance Spatial-Temporal Trajectory Analysis with Spark
High Performance Spatial-Temporal Trajectory Analysis with Spark High Performance Spatial-Temporal Trajectory Analysis with Spark
High Performance Spatial-Temporal Trajectory Analysis with Spark
 
Edward King SPEDDEXES 2014
Edward King SPEDDEXES 2014Edward King SPEDDEXES 2014
Edward King SPEDDEXES 2014
 
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
 

Mais de Roope Tervo

Producing INSPIRE compliant datasets
Producing INSPIRE compliant datasetsProducing INSPIRE compliant datasets
Producing INSPIRE compliant datasets
Roope Tervo
 

Mais de Roope Tervo (20)

FMI Open Data Impact Survey 2019
FMI Open Data Impact Survey 2019FMI Open Data Impact Survey 2019
FMI Open Data Impact Survey 2019
 
FMI Information Management System
FMI Information Management SystemFMI Information Management System
FMI Information Management System
 
Predicting weather inflicted train delays
Predicting weather inflicted train delaysPredicting weather inflicted train delays
Predicting weather inflicted train delays
 
FMI Open Data on AWS Public dataset program
FMI Open Data on AWS Public dataset programFMI Open Data on AWS Public dataset program
FMI Open Data on AWS Public dataset program
 
Fmi Open Data on S3
Fmi Open Data on S3Fmi Open Data on S3
Fmi Open Data on S3
 
Why we need open data? FMI Open Data on AWS
Why we need open data? FMI Open Data on AWSWhy we need open data? FMI Open Data on AWS
Why we need open data? FMI Open Data on AWS
 
Forecasting Electricity Outages Caused by Convective Storms
Forecasting Electricity Outages Caused by Convective StormsForecasting Electricity Outages Caused by Convective Storms
Forecasting Electricity Outages Caused by Convective Storms
 
FMI Open Data on S3
FMI Open Data on S3FMI Open Data on S3
FMI Open Data on S3
 
SmartMet Server in INSPIRE
SmartMet Server in INSPIRESmartMet Server in INSPIRE
SmartMet Server in INSPIRE
 
Possibilities of Open Source Code
Possibilities of Open Source CodePossibilities of Open Source Code
Possibilities of Open Source Code
 
Inspire Compliant Weather Data
Inspire Compliant Weather DataInspire Compliant Weather Data
Inspire Compliant Weather Data
 
Meteorological and Aviation Weather Open Data implementation utilising OGC st...
Meteorological and Aviation Weather Open Data implementation utilising OGC st...Meteorological and Aviation Weather Open Data implementation utilising OGC st...
Meteorological and Aviation Weather Open Data implementation utilising OGC st...
 
Producing INSPIRE Compliant Data Sets
Producing INSPIRE Compliant Data SetsProducing INSPIRE Compliant Data Sets
Producing INSPIRE Compliant Data Sets
 
Producing INSPIRE compliant datasets
Producing INSPIRE compliant datasetsProducing INSPIRE compliant datasets
Producing INSPIRE compliant datasets
 
Open Data and and INSPIRE
Open Data and and INSPIREOpen Data and and INSPIRE
Open Data and and INSPIRE
 
AvoinData-workshop käyttöesimerkki
AvoinData-workshop käyttöesimerkkiAvoinData-workshop käyttöesimerkki
AvoinData-workshop käyttöesimerkki
 
AvoinData aineistot
AvoinData aineistotAvoinData aineistot
AvoinData aineistot
 
AvoinData-workshop aikasarjat
AvoinData-workshop aikasarjatAvoinData-workshop aikasarjat
AvoinData-workshop aikasarjat
 
Avoindata workshop tekninen_yleiskuvaus
Avoindata workshop tekninen_yleiskuvausAvoindata workshop tekninen_yleiskuvaus
Avoindata workshop tekninen_yleiskuvaus
 
Aaltoes opendata 20130206
Aaltoes opendata 20130206Aaltoes opendata 20130206
Aaltoes opendata 20130206
 

Último

原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
Asmae Rabhi
 

Último (20)

20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 

SmartMet Server OSGeo

  • 2. In a Nutshell • Data and product server for MetOcean data • High capacity & availability • Data is extracted and products generated always on-demand • INSPIRE Compliant • Operative since 2008 • FMI client services (since 2008) • Finnish Meteorological Institute (FMI) Open Data Portal (since 2013) 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 2
  • 3. In a Nutshell • Several input sources • GRIB-, NetCDF-, etc. files (multi-dimensional grid data) • PostGIS database (vectors) • Point database (point observations) • Several output interfaces and formats • WMS, WFS 2.0 • JSON, XML, ASCII, XML, HTML, SERIAL • GRIB1, GRIB2, NetCDF 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 3
  • 4. Usage 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 4 FMI Open Data Portal & FMI INSPIRE Data Services Backend for clients’ web services Integration to clients’ systemsBackend for mobile applications Backend for FMI Client Services Backend for FMI public pages • Basis of FMI product generation
  • 5. Architecture 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 5 • Frontend • Load balancer • Knowledge about backend services • Backend • Different backends may contain different services • Plugin-based architecture • Engines provides shared access to the data • Plugins provides APIs based on services provided by engines
  • 6. Frontend 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 6 • Provides HTTP 1.1 server • Chunked, gzip and no encoding supported • No full standard compliance • Monitors status of backend services • Forwards requests to the backends with required services • Load balancing • Different queues for fast and slow services • Provides LRU product cache
  • 7. Frontend cache 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 7 • Cache contains two phase mapping of product • ETags works as product hash • Consists of request url, product configuration and used data • If any of above changes, product is deprecated • ETags are mapped to buffer hash • Data is stored based on buffer hash • For example transparent radar images without rain are all mapped to as one cache entry • Significant affect to cache size • LRU cache • Most used content in memory • Rarely used content on local disk
  • 8. Data Sources qengine 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 10 • Provides access to grid data • Supported data formats: querydata • Ready tools for converting other formats (grib, netcdf, hdf…) to querydata • Memory-maps the data from NFS • Supports both spatial and temporal interpolation and nearest point selection • Used method depends on the parameter • Selects the best data source for requested region
  • 9. Data Sources qengine 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 11 • Post-processing capabilities • Corrects the data based on accurate DEM (up to 30 meter resolution) and land/water information • Correlation done to temperature based on the difference between model and real topography • Land/water information used to give more weight on corresponding grid points in interpolation • Calculates derivative parameters • FeelsLike, sunset, day length…
  • 10. Data Sources obsengine 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 12 • Provides access to observation data stored in SQL database • Keeps local SpatiaLite database for latest data • Sync with the master database • Requests not available in the cache are forwarded to master database
  • 11. Data Sources geoengine 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 13 • Provides location services for other services • Resolve location information for coordinates and vice versa • Based on geonames.org • PostGIS database • Synced from geonames.org to local database once a day
  • 12. WMS 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 14 • Version 1.3.0 • Supports png, svg, jpeg, tiff • Supports all proj.4 projections • Supports for time and other custom dimensions • Data sources: grid data and PostGIS • Contours coverages and isolines on-fly from grid data (qengine) • Draws PostGIS geometries based on database queries • Generates SVG which are rendered to requested raster format • Supports rich effects of SVG rendering model • Styling with CSS • Rendering done with librsvg • Configuration with json • Configuration variables can be overridden in requests (i.e. thresholds)
  • 13. WMS 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 15 • Support for meteorological specific visualizations • Wind barbs, wind arrows, fronts, jets… • Support for thresholds • i.e. draw images only where temperature is between -2 and 2 degrees • Also possibility to mask content based on other parameter (i.e. draw precipitation areas only where wind gusts are over 8 m/s) • Very efficient cache • Supports frontend product cache • Several LRU caches in backend • For contours, SVG products and ready rendered products • Performance up to 3000 req/s • With FMI setup
  • 14. Dali 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 16 • Provides images from grid data • Same plugin as WMS • Richer but non-standard API • Support for several views in one image • i.e. same area with different times side by side • Support all SVG effects • Possible to center location based on location name
  • 15. WFS 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 17 • Version 2.0.0 Basic Profile • INSPIRE Compliant • Support all proj.4 projections • Capabilities: ImplementsQuery, ImplementsAdHocQuery, ImplementsMinStandardFilter, ImplementsMinSpatialFilter, ImplementsMinTemporalFilter • Supports KVP- and XML-encodings • Support for simple and complex features • Data sources: grid data (qengine) and observation data (obsengine) • Point forecasts from grid data • Contours from grid data • Observations from obsengine • Most of the data provided via stored queries to access good enough performance
  • 16. Download (WCS-like) 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 18 • Provides grid data (from qengine) as binary data • Supported output formats: GRIB1, GRIB2, NetCDF and Querydata, • Supports all proj.4 projections (depends on output format support) • Supports slicing by • area (bbox) • elevation (pressure and/or model level) • time (start time, end time and origin time) • Possibility to define grid resolution by • selecting every Nth grid point to x and y direction • grid size  data is interpolated to new grid points
  • 17. TimeSeries 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 19 • Provides observations and point forecasts to the point • Output formats: JSON, XML, ASCII, XML, HTML, SERIAL • Support for aggregate values over time and area • Median, mean, min, max, sum, avg, integ, sdev, trend, change, count, percentage • Support for combining different models • Giving two models cause first one to be supplemented with second one after time range of first one ends • One or more locations per query • Possible selection methods: name, coordinates, set of locations, location id, bbox, path, WKT
  • 18. Autocomplete 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 20 • Provides autocomplete server for searching locations • Very efficient, very fast • Location information enriched with simple weather information (temperature, weather symbol, etc…) • Location information stored in location database (geoengine)
  • 19. Q3 (WPS-like) 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 21 • Provides service to process the data and return output as data or image • Input: LUA scripts • Output formats • Matrix as text • Matrix as binary (querydata) • JSON • Contoured images: svg, png, jpeg, pdf local param= T local limit= 0 local r,err= HIR{ hybrid=true, params={param,Z,P} } assert(r,err) -- Iterate levels from down to up -- Store height and pressure when >= 'limit' (last will remain) local m_Z= matrix() -- heights collected; originally all 'nan' local m_P= matrix() -- pressures collected local m_v= matrix() -- value at such positions (not needed) for g in grids_by_level(r) do for pos,v in points(g[param]) do if v>=limit then m_Z[pos]= g.Z[pos] m_P[pos]= g.P[pos] m_v[pos]= v end end end return m_Z, m_P, m_v
  • 20. FMI Setup 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 22 • 2 frontends • RAM: 256G • CPU: 24x 2.10GHz • OS: RHEL7 • 5 backends • RAM: 12G • CPU: 24x2.50GHz • OS: RHEL7 • Load Balancer • F5 BIG IP 11 • Databases • Master Observation Database: Oracle • Location Database: PostGIS 9.5
  • 21. Performance 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 23 • Production (with FMI setup) • > 30 000 000 req/day • Baseline 200 req/s • Peaks over 650 req/s (20.6.2015 13:02) • Average response times varies depending on the request: • WFS: 140 ms/req, WMS: 130 ms/req, Timeseries: 30 ms/req, Autocomplete: 4 ms/req • Overall average: 70 ms/req • Over 99,95% availability
  • 22. Performance 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 24 • Load testing (production setup): • Peaks over 4300 req/s • Avg 173 ms, 95% of responses in 244 ms, median 54 ms • Slow query queue easy to DoS due to possibility to large data requests and heavy operations • Don’t affect to fast query queue
  • 23. Roadmap for the 2016 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 25 Native GRIB support for input data Support for GRIB data as input data without converting data to internal data format WCS support Implement WCS interface for download plugin Clustering support over Internet Possibility to provide data from it’s original source via single API (i.e. ECMWF data from UK and Hirlam from Finland)
  • 24. Open Source • SmartMet Server is going to be published as Open Source in 2016 • Scope • Server: Libraries, Engines, Plugins • Tools to handle data: qdconversion- & qdtools-paketit • Licence most probably GPL or MIT • Publishing in https://github.com/fmidev 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 26
  • 25. Strengths • SmartMet Server can • Visualize, extract and post-process large data sets • Utilize data from grid-files (GRIB, NetCDF, HDF…), PostGIS database and point databases • Use SmartMet Server when • You need to handle weather or climatological data (or any multi- dimensional grid data) • You need fast and reliable web server • You may consider using SmartMet Server also in more traditional context • It’s fast, it’s reliable 5/17/2016 SmartMet Server | ALPO 05/2016 | IL, Roope Tervo 27