Skip to content

Home

The MeteoIO Open Source library aims at making data access easy and safe for applications in environmental sciences requiring general meteorological data. Since real world, measured data are often far from perfect and suffer from various issues (missing data, invalid data, measurement errors or innaccuracies), it is necessary to correct the data before using it into a numerical model or any other kind of application. This is where MeteoIO steps in by offering a tool that can take in the raw data and make it suitable to be used for practical applications.

Fig. 1 Fig. 1

MeteoIO is aimed at researchers working with meteorological data, software developers and numerical models developers. It is not restricted to meteorological data, it can be used by any one-dimensional timeseries of data.

Design goals

MeteoIO has been designed to be model and application independent, robust, easy to integrate and easy to use. MeteoIO's main design goals are:

  • providing data format/protocol independent data access
  • providing safe and robust I/O
  • making I/O code as unobtrusive and simple as possible for the user
  • providing ready to use data to the user, which means transparent caching, filtering, resampling, spatial interpolation.
  • enabling unattended use from an IO point of view
  • offering high modularity so that individual elements of the library can easily be replaced/expanded/added
  • by its modularity, help interdisciplinary development, each module being targeted at a specific developer profile

MeteoIO is a C++ library provided free of charge with complete documentation (tutorials, code examples, API's documentation) under the LPGL version 3 open source license. As such, feel free to contribute (The development takes place on GitLab)! You are also encouraged to drop us a line if you use MeteoIO, this is a great way to support us! It is recommended to rely on the Inishell Graphical User Interface to configure MeteoIO. When using Inishell, you get the best of both worlds: a user friendly GUI while still keeping the possibility to run the generated ini configuration file in batch mode. Finally, a web service is in development in order to use MeteoIO on the web.

Fig. 2 Fig. 2

Detailed software description

A large number of the problems encountered by users of numerical models working on large meteorological data sets can be traced back to the Input/Output functionality. This comes from the focus of the model developers on the core modeling issues at the expanse of the I/O routines that are costly to properly implement. Therefore the I/O routines often lack flexibility and robustness. When using numerical models in operational applications, this becomes a major drawback and a regular source of problems.

The MeteoIO library has been designed to address this issue. It is an additional layer between the data and the numerical model, handling the retrieval of data from various data sources as well as the data pre-processing. Over time, it has expanded its focus and is now often used to prepare datasets for further usage, independently of any numerical model.

The online documentation provides an overview of the general structure of MeteoIO and the description of a typical setup.

Bibliography

Here below is a list of some published works that describe various aspects of MeteoIO.

This work is supported in part by the Horizon Europe project Arctic Passion, grant number 101003472