The OpenMI (Open Modeling Interface) Standard defines an interface that allows models to exchange data in memory at run-time. When the standard is implemented, existing models can be run simultaneously and share information, for instance at each time step, making model integration feasible at the operational level. The OpenMI standard was created with the intent to facilitate model integration, which is helpful in understanding and predicting process interactions and achieving an integrated approach to environmental management. The OpenMI standard is owned and maintained by the OpenMI Association, an open, not for profit group of international organizations and people. On the 1st of July 2014 the Open Geospatial Consortium (OGC®) membership has approved the Open Modelling Interface Standard Version 2 (OpenMI) as an OGC standard.
OpenMI is based on a ‘request & reply’ mechanism and a pull-based pipe-and-filter architecture, which consists of communicating components (source components and target components) that “exchange memory-based data in a predefined way and in a predefined format”.
The OpenMI standard interface has three functions:
Note that the OpenMI enables validation by dimension checks on the quantities linked. However, the OpenMI cannot guarantee that the representation of the process in the component or the link to another component is scientifically valid. That is the responsibility of the modeller, model integrator and user.
In 2001 the European Commission funded (under the Fifth Framework Programme) a research project named HarmonIT in order to develop and implement a European Open Modeling Interface that would simplify the linking of Hydrology related models. This need was called for in the Water Framework Directive (WFD) that identified whole catchment modelling as a key part of integrated water management. For further development and demonstration the OpenMI-Life Project was carried out within the European Commission Directorate General for the Environment's "LIFE"-Programme.
To further promote the use and dissemination of OpenMI, the OpenMI Association was founded in 2007. It opened the way to companies, public organisations and universities interested in system analysis and modelling to contribute successfully in the development of the OpenMI Standard Interface.
During the years, several versions of OpenMI were released:
An extended version of this history can be found here.
The OpenMI standard is defined by a set of software interfaces, in C# and Java, that a compliant model or component must implement.
The OpenMI can be described at two levels: At the users’ level, the OpenMI provides a standard interface, which allows models to exchange data with each other and other modelling tools as they run. The OpenMI Standard connects models from different suppliers, domains, concepts and spatial and temporal resolutions.
At the IT level, OpenMI standard is a software component interface definition for the computational core (the engine) of the computational models of the scientific domain of interest (e.g. water resources models). Model components that comply with this standard can, without any additional programming, be configured to exchange data during computation (at run-time). The standard supports two-way links where the involved models mutually depend on calculation results from each other. Linked models may run asynchronously with respect to timesteps, and data represented on different geometries (grids) can be exchanged seamlessly.
As the standard is free to use, there is not a complete list of OpenMI compliant models and tools. The OpenMI Association aims to keep an overview of models and tools here. The literature overview provides another entry for compliant models and tools.