The layered view provides a high level representation of the Sustainable Water through Integrated Modeling Framework. Each system unit is refered to as a layer, each layer has an 'allowed to use' relationship among other layers.
The main project website is divided into three internal layers: Public Site, Water Modeling Interface and Workspace.
The Public Site is an openly available website for consulting information regarding the USDA sponsored Sustainable Water Resources Project.
The Water Modeling Interface is a dynamic web application that provides a graphical user interface for interaction with SWIM Webservices. This layer is allowed to use MongoDB as a data repository for fetching default and custom user modeling scenarios. The interface is also allowed to use the services provided by the Water Model Distributor to process user scenario inputs.
The Workspace is a session protected layer that can only be accessed by project members, selected stakeholders and assigned USDA officials.
Water Model Distributor
The Water Model Distributor is a middleware Java application that provides RESTful services for the processing and execution of user defined scenarios on third party modeling software. The current implementation allows the use of the The General Algebraic Modeling System (GAMS) for model executions. Processed model outputs are stored under a document-based database managed with MongoDB.
MongoDB is a free and open-source document-oriented database which is classified as a NoSQL database manager. MongoDB is used to store and fetch information regarding:
- Model metadata
- Model base scenarios
- Input parameters
- Output parameters
- Provenance skeleton
- User generated scenarios
MySQL is a free and open-source relational database management system (RDBMS). It is currently owned by Oracle Corporation. MySQL is used to store and manage data used on the Public and Workspace layers of the Project Website.
The General Algebraic Modeling System (GAMS) is a high level modeling software for mathematical optimization. GAMS is currently used for the implementation of the Rio Grande Basin Hydroeconomic Model, also refered to as the "Bucket Model". The Water Model Distributor layer is allowed to use this unit in order to execute user defined model scenarios.