Skip to content
SmartMet Server
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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
doc
etc Moved code to GitHub Nov 30, 2016
include
loadtest
main Added new_handler (BRAINSTORM-1331) Sep 12, 2018
source Improved error handling if socket is already in use (BRAINSTROM-1536) Mar 19, 2019
systemd
test
.clang-format Revert to default include order in clang 4.0.0 Mar 24, 2017
.gitignore Ignore build results Mar 12, 2019
Doxyfile
LICENSE Update LICENSE Dec 21, 2016
Makefile Fixed manual sbin installation path Mar 19, 2019
README.md
SmartMet_Structure.png
smartmet-server.spec

README.md

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
  • ASCII
  • HTML
  • SERIAL
  • 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 https://github.com/fmidev/smartmet-qdtools
Libraries Libraries required to run programs and the server https://github.com/fmidev/smartmet-library-spine
https://github.com/fmidev/smartmet-library-newbase
https://github.com/fmidev/smartmet-library-macgyver
https://github.com/fmidev/smartmet-library-gis
https://github.com/fmidev/smartmet-library-giza
https://github.com/fmidev/smartmet-library-locus
https://github.com/fmidev/smartmet-library-regression
https://github.com/fmidev/smartmet-library-imagine
Server The server daemon itself https://github.com/fmidev/smartmet-server
Engines Common modules with a state https://github.com/fmidev/smartmet-engine-geonames
https://github.com/fmidev/smartmet-engine-sputnik
https://github.com/fmidev/smartmet-engine-querydata
https://github.com/fmidev/smartmet-engine-observation
https://github.com/fmidev/smartmet-engine-contour
https://github.com/fmidev/smartmet-engine-gis
Plugins Plugins providing interfaces to clients https://github.com/fmidev/smartmet-plugin-timeseries
https://github.com/fmidev/smartmet-plugin-meta
https://github.com/fmidev/smartmet-plugin-frontend
https://github.com/fmidev/smartmet-plugin-wfs
https://github.com/fmidev/smartmet-plugin-wms
https://github.com/fmidev/smartmet-plugin-autocomplete
https://github.com/fmidev/smartmet-plugin-backend
https://github.com/fmidev/smartmet-plugin-download
https://github.com/fmidev/smartmet-plugin-admin

Licence

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!

Documentation

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.