Skip to content
SmartMet Server
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Enable two-job build-test workflow, workaround for test install on FM… Mar 21, 2019
cnf Removed references to deprecated geoip-engine Feb 5, 2017
etc Moved code to GitHub Nov 30, 2016
main Added new_handler (BRAINSTORM-1331) Sep 12, 2018
source Improved error handling if socket is already in use (BRAINSTROM-1536) Mar 19, 2019
.clang-format Revert to default include order in clang 4.0.0 Mar 24, 2017
.gitignore Ignore build results Mar 12, 2019
LICENSE Update LICENSE Dec 21, 2016
Makefile Fixed manual sbin installation path Mar 19, 2019

SmartMet Server

SmartMet Server is a data and product server for MetOcean data. It provides a high capacity and high availability data and product server for MetOcean data. The server is written in C++, since 2008 it has been in operational use by the Finnish Meteorological Institute FMI.

The server can read input data from various sources:

  • GRIB (1 and 2)
  • NetCDF
  • SQL database

The server provides several output interfaces:

  • WMS 1.3.0
  • WFS 2.0
  • Several custom interface and several output formats:
  • JSON
  • XML
  • HTML
  • GRIB1
  • GRIB2
  • NetCDF
  • Raster images

The server is INSPIRE compliant. It is used for FMI data services and product generation. It's been operative since 2008 and used for FMI Open Data Portal since 2013.

The server is especially good for extracting weather data and generating products based on gridded data (GRIB and NetCDF). The data is extracted and products generating always on-demand.

Server Structure

SmartMet Server consists of following components:

ComponentDescriptionSource Code
qdtools Helper programs to handle underlying data
Libraries Libraries required to run programs and the server
Server The server daemon itself
Engines Common modules with a state
Plugins Plugins providing interfaces to clients


The server is published with MIT-license.

How to contribute

Found a bug? Want to implement a new feature? Your contribution is very welcome!

Small changes and bug fixes can be submitted via pull request. In larger contributions, premilinary plan is recommended (in GitHub wiki).

CLA is required in order to contribute. Please contact us for more information!


Each module is documented in module module wiki.

Communication and Resources

You may contact us from following channels:

Other resources which may be useful:

You can’t perform that action at this time.