Open Modelling Interface and Environment [OpenMI] Narayan Kumar Shrestha [firstname.lastname@example.org] Vrije Universiteit Brussel Department of Hydrology and Hydraulic Engineering
Presentation Layout1. Introduction2. Model Linking Approaches3. OpenMI Data Exchange Mechanism4. Migrating an existing model to OpenMI5. Advantages and Drawbacks of OpenMI6. Conclusions
Introduction • Integrated interacting system Rainfall • A standard for linking models Module • A standard for data exchange • Enables Model Linking/Coupling PrecipitationRainfall- RiverRunoff Runoff ModelModel ex: SWMMex: SWAT
Introduction • Another standard USB • Provides freedom of choice to the users
Model Linking Approaches File Based Altogether OpenMI Way RR Model RR Model + Write RR Model River Model River Model Write Write Output File Write Output File Output File Read Output File River Model Write Output File
Data Exchange MechanismModel „A‟ requires data from Model „B‟ Model „A‟ Model „B‟ Model „A‟ Model „B‟ Model „A‟ runs Data from Model „A‟ is passed to Model B Model „B‟ runs
Data Exchange MechanismModel „A‟ runs on a 5 minute time stepModel „B‟ runs on a 15 minute time step Model „A‟ Model „B‟ • Data from Model „A‟ is passed to Model B √ when Model „B‟ requests. • Standardized data exchange [What, where and when?]. • Request-Reply mechanism. √ 5 minute 15 minute
Data Exchange Mechanism• Request Reply Mechanism• Pull-Driven System• „GetValues‟ function is the essence of the OpenMI data exchange mechanism. RR Model: inflow River Model: SWMM [NonNav] Run GetValues() Trigger Discrete Quality Model Reply with data
Migrating an existing Model to OpenMI• Existing Model: Migrating the model• New Model: Development of the complaint modelWhy migration?• Many hydrological models results of years of development• Significant amount of money has already been invested Typical Scenario OpenMI Framework (.NET) Model Wrapper (.NET) Model Core (FORTRAN)
Migrating an existing Model to OpenMIStep-1. Changes to the Engine Core: “.exe to .dll” so that it can be complied into a DLL
Migrating an existing Model to OpenMIStep- 2. Wrapping the Model Engine - OpenMI standard are develpoed in C# but most model engines are in FORTRAN, C, C++ etc. - To reduce the gap between two technologies and to minimize the changes to engine core, wrapper is needed. - to change calling convention, to communicate internally to Engine core. <<Linkable Engine>> Wrapper Engine Core
Advantages of OpenMI• Making integrated modelling feasible at operational level• Allows data exchange at run time.• Constructing a single model of all catchment processes is not a feasible option.• Makes use of existing model and provides the flexibility to try alternative model of individual process.• Not limited to models only.• Growing number of users and becoming a standard.• Not limited to models running on different dimension, different calculation time step, different scale, different platform, different projection, different spatial representation.
Drawbacks of OpenMI• The usefulness of the OpenMI standard relies on the availability of compliant models.• Existing models need to migrate to OpenMI compliant models, which requires some work. But OpenMI association provides “Software Development Kit”.• New model components can be coded in OpenMI way.• Calculation time overhead [Standalone vs Combined/Integrated].
Conclusions• Becoming more and more popular.• Many known models are made OpenMI complaint: SWAT, SWMM, MIKE11, InfoWorks, Sobek, Delft3D, ISIS etc.• Becoming a standard interface for integrated modelling.
ReferencesThis presentation is based on series of documents “The OpenMI Series– for the OpenMI version 1.4) released by OpenMI association.Documents can be downloaded from: http://www.openmi.org/