The Water Model Distributor is a middleware Java application that acts as a broker between the SWIM Interface, MongoDB and third party modeling software such as GAMS.

The application is designed to be deployed as a platform independent, self-contained web service, leveraged by the Dropwizard Java framework.

The main functionality of the application is defined from a set of sequential steps to be performed on each service request:

  1. Receive user input service request.
  2. Validate JSON structure.
  3. Parse incoming JSON user scenario.
  4. Populate user scenario model for object document mapping with MongoDB.
  5. Set model input parameter values for each of the target modeling software.
  6. Execute third party modeling software.
  7. Process modeling software output to extend the user scenario model document.
  8. Save extended user scenario document on MongoDB.
  9. Respond with extended user scenario JSON.


Backend Logos


Luis Garnica Chavira
Research Associate
University of Texas at El Paso