hydromodeler: a tool for modeling within the cuahsi hydrologic information system jon goodall,...
TRANSCRIPT
HydroModeler: A tool for modeling within the CUAHSI Hydrologic Information System
Jon Goodall, Assistant ProfessorTony Castronova, Ph.D. Candidate
Mostafa Elag, Ph.D. CandidateBen Felton, B.S. Student
Robert Boykin, B.S. Student
Department of Civil and Environmental EngineeringUniversity of South Carolina
CUAHSI Conference on Hydrologic Data and Information SystemsUtah State University - June 22-24, 2011
Data Discovery and Integration
Data Publication Data Analysis and Synthesis
HydroCatalog
HydroDesktopHydroServer
ODM Geo Data
CUAHSI Hydrologic Information System Services-Oriented Architecture
Data Services
Metadata Services Search ServicesWaterML, Other OGC Standards
Information Model and Community Support Infrastructure
HydroModeler
Research Objectives
– To investigate the interface between HIS and hydrologic models
– To create a tool that can be used to support hydrologic science and education
Challenges
– “there is no commonly agreed modelling strategy for the rainfall-runoff process but a variety of options and approaches”
– “it is expected that one hydrologist’s perceptual model will differ from another’s”
– “I gave up making a list of model when I reached a count of 100 more than 20 years ago”
Rainfall-Runoff Modeling: The Primer, Beven, 2001
Our Approach
– Focus on a modeling framework instead of individual models
– Integrate the modeling framework within HIS
– Lower the bar to entry for hydrologists to use and extend the modeling framework
HydroModeler GUI
Model DirectoryExplorer
Model Attributes
Model Configuration
Open Modeling Interface“The OpenMI provides a standard interface, which allows models to exchange data with each other and other modelling tools on a time step by time step basis as they run.”--openmi.org
Metadata
www.openmi.org
The Architecture of a Model Component
Supporting Libraries
InitializePerformTimeStepFinish
config.xml
Input and Output Exchange Items, Time horizon and step, etc.
OpenMIInterface
Data
Procedural Model
CSDMSInterface
Simple Model Wrapper
Web ServiceInterface
Key Advantages of Componentization
– subdivide a complicated task into a set of smaller, more manageable tasks
– minimal restrictions on each component – only interfaces are standardized
– Potential to maintain multiple interfaces for the same core model engine (i.e., support multiple modeling frameworks)
Example Application– Modeling rainfall/runoff
for Coweeta Watershed #18
– HIS Server includes publically available Coweeta data
• Precipitation: daily accumulated
• Air temp: daily min, max, and mean
• Stream discharge: daily average
Coweeta HIS Server
http://river.sdsc.edu/WaterOneFlow/Coweeta/cuahsi_1_1.asmx?WSDL
Coweeta Watershed #18
Watershed #18 Area: 12.48 ha (0.12 km2)650m by 300 m
The Perceptual Model:deciding on the processes
The Conceptual Model:deciding on the equations
The Procedural Model:getting the code to run on a computer
Model Calibration:getting values of parameters
Model Validation:good idea but difficult in practice
DeclareSuccess?
Revise perceptions
Revise equations
Debug code
Revise parametervalues
No
YesRainfall-Runoff Modeling: The Primer, Beven, 2001
Background: Steps in the Hydrologic Modeling Process
Perceptual ModelWhat processes do I think will be dominate for this watershed and my specific study objectives?
Conceptual Model
• Rainfall – Runoff: TOPMODEL (due to my perception about dominate runoff generation processes)
• ET: Hargreaves (due to data availability)– Assume PET = ET for first model run
What mathematical representation should we use to model the dominate processes?
Procedural Model
• Implement components– Hargreaves– TOPMODEL
• Link components into a model
• Include data exchange with HydroDesktop
How can we construct an accurate, well tested procedural model that can be understood and shared with others?
Model Calibration
– Edit component parameters from GUI
– Save output as new “Method” (ODM terminology)
– Automated calibration possible in the future
What should the model parameters be?
Model Validation/EvaluationHow did we do? (If not well, can we easily change assumptions from each of the previous steps to see impact on results?)
• Visual inspection using HydroDesktop Graph View
• Compare different scenario runs to observed data
• Export data as CSV for further analysis in preferred software system
• Calculation of performance metrics from within HydroDesktop possible in the future
Models as Web Services
– Climate model as a service for use in hydrologic models
– Web Processing Services (WPS) that is wrapped as OpenMI component on client side Collaboration with NOAA/ESMF team (Cecelia DeLuca
et al.) and Ricky Rood. University of Michigan,
Hydro Model
Modeling Large, Complex Hydrologic Systems
Collaboration with Marty Humphrey, UVA
HPC Cluster
Azure Compute Instances
Azure Compute Proxies
User creates model on desktop and submits to calibration tool
Job schedule determines if jobs should be run on a local HPC cluster to the cloud (Azure)
Cloud
Open Development Model
• The HydroDesktop Codeplex site includes all source code for HydroModeler and a growing set of model components. We welcome the help of others in the development effort.www.hydrodesktop.org
Summary
• HydroModeler is a framework for linking models and data to support hydrologic education and research.
• Componentization is important for hydrologic modeling because there is “no commonly agreed modelling strategy for the rainfall-runoff process but a variety of options and approaches”
• Open Development is critical for future success of any modeling system because it will rely on the contribution of individuals and groups interested in sharing codes and ideas
Acknowledgments: HIS Project Team and Sponsors
• University of Texas at Austin – David Maidment, Tim Whiteaker, James Seppi, Fernando Salas, Jingqi Dong, Harish Sangireddy
• San Diego Supercomputer Center – Ilya Zaslavsky, David Valentine, Tom Whitenack, Matt Rodriguez
• Utah State University – Jeff Horsburgh, Kim Schreuders, Stephanie Reeder, Edward Wai Tsui, Ravichand Vegiraju, Ketan Patil
• University of South Carolina – Jon Goodall, Anthony Castronova, Mostafa Elag, Ben Felton, Robert Boykin, Sharni Fuller
• Idaho State University – Dan Ames, Ted Dunsford, Jiří Kadlec, Yang Cao, Dinesh Grover
• Drexel University/CUNY – Michael Piasecki• WATERS Network – Testbed Data Managers
• CUAHSI Program Office – Rick Hooper, Yoori Choi, Conrad Matiuk• ESRI – Dean Djokic, Zichuan Ye
Support:EAR 0622374CBET 0846244
CUAHSI
HISSharing hydrologic data
http://his.cuahsi.org/
HydroModeler Workshops– Today from 3:30-5 PM: Using HydroModeler
• how to create and execute the Coweeta example
– Friday 8-9:30 AM: Developing HydroModeler Components • how to create the Hargreaves component from start to finish
– One-on-one help: Thursday from 3:30-5PM
– If you are not able to attend the workshop, you can still work through the tutorials which are available in the HydroModeler help documentation
– Questions? • Jon Goodall [email protected]
Design Goals
• Key design goals of HydroModeler are – (1) Enable code reuse and easily shared models– (2) Adopt existing standards when possible– (2) Leverage HydroDesktop’s visualization and data
management capabilities.
Component Communication Protocol
Model A
Model B
Model A is dependent on and output produced by Model B
Exchange Item
Models maintain their own “world view”
Models exchange data on each time step
GetValues()