A Web Application for Experimental Modeling Environment Framework for Linking and Interoperability (EMELI-WEB)

EMELI-WEB is a web application for EMELI (Experimental Modleing Environment Framework for Linking and Interoperability). The objective of creating EMELI-WEB is to integrate BMI-enabled web service models in a service-oriented architecture, and also make it easy for users to utilize this resource through a web application. The original EMELI is a smart modeling framework, written in Python and able to couple reusable models standardized through CSDMS Basic Model Interface (BMI). In this project, EMELI is revised to integrated BMI-enbled Web Service Model (BMI) and elevated to a web application by using Flask. The basic procedures of using EMELI-WEB includes selecting models, configuring models, coupling models and showing results.

URL: http://ecgs.ncsa.illinois.edu/emeli-web/

A SQL Database for authorization & recording coupling activity

A simple relational database is constructed by using SQL (Structured Query Language) to enable the authorization of using EMELI-WEB and also record the coupling activities of each user. The User database model is used to record user’s basic information, which allows the authorization of using EMELI-WEB. The EMELI_Instance database model is used for recording coupling activities of each user, which is referred by the connection between user_id in EMELI_Instance and id in User.

_images/sql_db.jpg

Procedures of Using EMELI-WEB

Main page

Once a user signs up in EMELI-WEB and gets the authorization of using EMELI-WEB, he/she can start to couple BMI-enabled web service models by clicking the couple model button in the Main page.

_images/main_page.png

Select models

When directed to the Select models page, a new EMELI instance will be generated for the user to record the basic information (based on the fields of EMELI_Instance database model) of this coupling activity. In this page, a user is required to:

  1. select the models from the available BMI-enabled web service models in the execution order;
  2. check the connections between models by clicking the check model connections button;
  3. provide the spatial and temporal domains for searching required data files from other data resources (under development);
  4. click submit to go to the Configure models page.
_images/select_models.png

Configure models

In the Configure model page, a user need to:

  1. enter the values of the configuration variabls;
  2. provide the files of the configuration variables if required (or choose files from a recommended list (under development));
  3. click submit to generate the configuration files and start to couple models.
_images/configure_models.png

Couple models & show results

After all the values or files of the configuration variables are provided, EMELI-WEB will create an run-time environment and start to couple the selected BMI-enabled web service models. Once the coupling finishes, a user will be directed to the Results & Outputs page to download the outputs.

_images/results.png