Features
Last Modified: August 12, 2019
Current Version: 0.9.3
Code published: Backend Only
The Sustainable Water through Integrated Modeling Framework leverages a database-driven integration of third party modeling software for online execution and output visualization. The system enables the execution of scientific models under different scenarios. Base scenarios and model metadata are specified in the form of JSON documents stored in a NoSQL database (MongoDB).
The input and output processing is driven by the schema and specification of stored JSON documents. Each scenario document defines: default values of model inputs, target model, target modeling software for execution, model sets, model settings and selected outputs.
A user has the choice to customize input scenarios either through a graphical user interface or direct JSON input manipulation for Web Service consumption.
Graphical User Interface for Interactive Modeling
Current Interface Features
- Predefined model scenarios.
- Parameter category division.
- Dynamic input widgets for parameter customization.
- Input parameter listing with search and order capabilities.
- On the fly execution of user specified scenarios.
- Chart and table visualization of model outputs.
- Map visualization of model outputs.
- JSON serialization of model outputs.
- Execution provenance trace.
- History of public and private user scenarios (previous executions).
- Cross-scenario comparisons.
Public Web Services for Model Execution
SWIM Webservices act as middleware applications that process user scenarios, and interact with third party modeling software for model execution.
Current Webservice Features
- RESTful endpoint that accepts POST requests of a JSON user scenario.
- JSON structure validation.
- Model run persistence via Mongo DB.
- Generic execution package of GAMS models.
- Prototype execution package of Scilab models.
Future Work
- Data model refinement and semantic annotations.
- Frontend technology overhaul, i.e. migration to MEAN.
- Decoupling of SWIM webservices with orchestration capabilities.
- Extension of model execution services.