You are on page 1of 19

Hydrologic Models and Simulations within

the HydroShare Online Community


Anthony M. Castronova
Mohamed M. Morsy
Brian Miles
Jonathan L. Goodall

Brief Introduction to HydroShare


Collaborative environment for sharing
data, models, and code.
Data are represented as web resources that
contain metadata (e.g. Dublin Core)
Relationships can exist between resources
(one-to-many, many-to-many)
Resources can be accessed via RESTful API and
therefore they can be used with applications
outside of HydroShare

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Brief Introduction to HydroShare

Public and Private resources


Filtering by keyword
Different types of resources that provide varying functionality aimed at
specific types of data.

Supported data types are constantly growing.

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Framework Architecture
Django

iRODS

Front-end website
Resource creation, exploration
Data sharing

Resource storage
Distributed file system

HydroShare Apps

Actions that operate on resources


Community driven app
development
Powered by the Tethys framework

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Vision for Modeling

Engage the community to assemble a


collection of model representations.

Provide the ability to discover models that are


being used by colleagues and other research
teams

Enable scientists and students to engage other


researchers

Provide public/private space for archiving


models and simulations

Central location for data management

Model execution and integration with 3rd


party software

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Model Package

This image cannot currently be displayed.

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Execute Simulation

Model Package

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Create New
Resources with
Output Results

Apps.HydroShare.org

import numpy

REST API
+
Python Library

array =
numpy.zeros((100,
.
.
.
.

8/6/2015

2015 CUAHSI Conference on HydroInformatics

Model Packages

Composite resource

Model Program

Model Program

Defines the computational engine and


software metadata
Generated By

Model Instance

Defines the simulation including input


and output data

A one-to-many relationship exists


between Model Programs and Model
Instance resources

8/6/2015

Executed By

Outputs
Derived From

Part Of

Model Instance

Inputs

2015 CUAHSI Conference on HydroInformatics

Model Program Resource

Uses HS science metadata


creator, contributor, date, org...

Model program specific terms


expands Morsy et al. (2014)
software and requirements

Expand HS science metadata


definition when necessary
does not describe every possible hydrorelated entity

8/6/2015

2015 CUAHSI Conference on HydroInformatics

11

Model Program Creation


Dublin Core Metadata
Abstract
Authors
Contributors
Keywords
Resource Specific metadata
Version
Language
OS
Source code
Documentation
Creates landing page
Summarizes metadata
Builds HydroShare Citation
Downloadable Content
Can be linked with other
resources
8/6/2015

2015 CUAHSI Conference on HydroInformatics

12

8/6/2015

2015 CUAHSI Conference on HydroInformatics

13

Extending Model Instance Types

Model Instance

Specific Model Instances

Specific Model Instances

RHESSys Model

SWAT Model

UEB Snow
Model

UNC

Purdue

USU

<Other ModelSpecific instance


types>

Specific instance types inherit properties from the generic model instance
Extend the core metadata to enhance functionality. (e.g. Execution)
This list is growing. However, all models can still be represented using the generic
model instance

Model Execution Architecture


Utilizes community built libraries
Server-side model execution
Input from users via the HydroShare website
Model computation occurs on HydroShare hardware and reports results and/or
errors back
Upon task completion, new model instance resources are created

Model results / error messages written to


HydroShare resources

asynchronous task
8/6/2015

message queue

distributed task
queue

2015 CUAHSI Conference on HydroInformatics

isolated containers,
lightweight virtual
machines
15

RHESSys Model Execution


Provide basic metadata for simulation
Model input parameters
Interactive status

Viewing RHESSys results


Track simulation runs
View simulation results
Currently investigating a robust way to
provide this functionality to other
models

Summary

A comprehensive metadata definition is used as the foundation onto which


models are represented within the HydroShare infrastructure.

Lots of work on representing Model Programs and Model Instances, as well as 3rd
party software integration and model execution

Exploring various methods of model execution and generating a list of use-cases to


demonstrate our modeling functionality

Ultimately our goal is to make useful research tools that others can use,
implement, and maintain.

8/6/2015

2015 CUAHSI Conference on HydroInformatics

18

Moving Forward

Closer look at resource/content ownership

Resource metadata and content accuracy

Automatic citation generation may need to be overridden.

Incentivize modelers

Engage model developers directly.


We need a formal method for users request or initiate contact with model developers.

Ensure accurate citations

What if you aren't the author of a model, but you are the resource creator?

Feedback about who is using there models


Credit for their hard work via accurate citations, analytics, etc.

Engage the modeling community

8/6/2015

Encourage use of the HydroShare modeling tools


Build use-cases for future development efforts.
2015 CUAHSI Conference on HydroInformatics

19