OpenMI规范

OpenMI-规范(開放式模型界面)定義了一個界面, 它允許相关模型之间在運行時在內存中交換數據。符合OpenMI规范的数学模型之间可以-边運行边共享信息(例如在每個時間步段)，使得在模型在运行阶段的集成成为可能。开发OpenMI-规范的目的在于方便模型的集成，這有助於理解和預測相关物理過程的相互影响，并提供了環境管理的綜合方法。 

OpenMI-规范是由一個对外開放和非赢利的国际组织 OpenMI 協會擁有和管理。 2014年7月1日, 開放地理空間聯盟（OGC®）批准開放式模型界面第2版(OpenMI)為OGC 规范。 

OpenMI的結構
OpenMI-规范 基於“问-答”机制和基于“拉”“管道-过滤”结构，它包含了一个通讯系统（源信息和目標信息），以預定的方式和格式 ” 交换内存数据。Gregersen, J. B., et al (2007). “OpenMI: Open Modelling Interface”. Journal of Hydroinformatics 9(3), 175-191.

OpenMI 规范的界面有三种功能： 
模型定義：可使其他可联接信息找出对某个特定数学模型可交换的模拟结果；以及这些模拟的位置。
配置：定义了兩個模型所需交換的数据。 
系统运行:可使模型在運行过程中接受或提供数据。“The OpenMI Document Series, Part A – Scope: For the OpenMI (Version 1.4)”. OpenMI Association. Retrieved on 2009-05-26.

OpenMI-规范的基本特征
OpenMI是一种接口
其规范被定義為一個軟件接口。 
通过該接口规范所有軟件模块之間的信息交互。 
接口規範不局限於特定的技術平台或實施方案。 
該接口的實施可能取决于特定发行版本的技術支持。 
通過實现该应用接口, 这个軟件模块被称为“与OpenMI兼容”。 

OpenMI-规范是公开的
其详细说明是通過互聯網公開的。 
它的源代碼在Lesser GPL条款下公开。 
可以通过它，来联接不同學科里的不同領域中不同類型的模型。 
它提供了一個完整的元數據結構來描述可以在語義，單位，量纲，空間和時間表述和數據操作方面可相互交換的数據。 
它提供了一種方法來准确地定义所需聯繫的信息内容，方式和時間。 
可根據開源軟件許可, 获得它的预置功能和軟件工具。 

OpenMI是一個规范
它使數據的傳輸和处理的方法规范化。 
它允許任何模型去跟任何其他模型（例如来自不同的開發人員）对话，而这些模型的開發不需要模型開發人員之間的密切交流與合作。 
其通用的性質决定了其应用范围並不局限於某個特定的学科（例如水科学，甚至環境科学）。 

請注意，OpenMI能够对模型数值交换的量纲进行检验。然而，这种检验不能确保计算過程或連接到另一個模型的计算過程的科學表述是完全正确的。這是模型开发人员，用户和模型集成人员的职責。 

发展历史
在2001年，为簡化相關水文模型之间的联接, 歐盟委員會資助（根據第五框架計劃）一个名为HarmonIT的研究項目; 以开发和应用一个欧洲开放建模界面。为此, 歐盟水框架法令（WFD）需要建立一个全流域模型作為水資源綜合管理的重要組成部分。為進一步開發和示範, “OpenMI-生活”項目在歐委會總局的環境“生活”計劃名下进行研究。

為進一步促進OpenMI的使用和推广，OpenMI協會於2007年成立。这为公司，公共研究機構和对系統分析和数学模型感興趣的大學参与开发OpenMI-规范界面成功的開闢了道路。

这些年中，共发布了以下幾個版本的OpenMI-规范： 

2005年：1.0版本在HarmonIT項目框架名下发布。 
2007年：在很早期的OpenMI-生活項目研究中，发布了OpenMI 规范的更新版本（.Net 1.2版本和Java版本; 後者主要由“OpenMI-生活”項目以外的合作夥伴開發）。因為更新过程中出現的兼容性問題，更新和发布过程经过严格審查，最终生成的1.4版(適用於.Net和Java)是从那时起OpenMI官方支持的唯一版本。 
2010年：OpenMI 2.0的開發工作贯穿在整個“OpenMI-生活”項目中; 并在開發工作的后期公佈了一個供内部测试的试用版本。最终,經過严格的測試和審查, OpenMI 2.0在2010年發布。 
2014年：在2014年7月1日開放地理空間聯盟（OGC®）會員已經批准了開放模型界面规范2.0版（OpenMI）作為OGC的一个规范。 

点击這裡可以找到有关這段歷史的较详细的资料。 

对用户和程序员来讲的OpenMI-规范
OpenMI-规范由一組C＃和Java语言所写的軟件界面所定義。一个模型想要成为一个符合OpenMI-规范的模型或模块必须包含这些界面。 

OpenMI 可以從兩個層面來說明：在用戶層面，OpenMI 规范提供了一個规范界面，它允許模型之间，及其他模型工具之间可以在运行过程中相互交换数据。OpenMI-规范可以联接来自不同供應商，不同领域, 不同理论和不同時間分辨率的模型。

在IT層面，OpenMI-规范是我们准备模拟的某科學領域（如水資源模型）計算模型的計算內核（計算引擎）的軟件信息的界面定義。符合OpenMI-规范的模型不需任何額外的編程就可以在計算过程中（在運行時）进行信息交換。OpenMI-规范支持雙向交互，即相关联接的模型彼此相互需要的計算結果来进行下一步计算。联接可以相對於不同時間步长或以不同计算速度運行的模型; 可以无缝交換不同的幾何形狀（计算網格）數據。“OpenMI Association Website - About OpenMI”. OpenMI Association. Retrieved on 2009-05-28. 

与OpenMI兼容的模型
由於OpenMI-规范是免費使用的，目前还沒有与OpenMI-规范兼容的模型和工具的完整列表。OpenMI-规范協會致力于在這裡保存有关模型和工具的概述。文獻綜述提供了另一個寻找OpenMI兼容模型和工具的途径。

参考文献

外部链接
OpenMI Association
OpenMI-LIFE
OpenMI Association Technical Committee Wiki Pages

Category:地球科学软件