Open Modelling Interface (OpenMI) is a modelling standard emerged from the domain of water system simulation. The standard is developed and maintained by the OpenMI Association (http://www.openmi.org). From their web site OpenMI describes itself as:
“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 on a time step by time step basis as they run. It thus facilitates the modelling of process interactions. The models may come from different suppliers, represent processes from different domains, be based on different concepts, have different spatial and temporal resolutions and have different spatial representations including no spatial representation. A useful analogy is to consider the OpenMI as the modelling equivalent of a USB cable.
At the IT level, OpenMI standard is a software component interface definition for the computational core (the engine) of the computational models in the water domain. Model components that comply with this standard can, without any programming, be configured to exchange data during computation (at run-time). This means that combined systems can be created, based on OpenMI-compliant models from different providers, thus enabling the modeller to use those models that are best suited to a particular project. 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.
The OpenMI standard is defined by a set of software interfaces that a compliant model or component must implement. These interfaces are available both in C# and Java.”