Transcript CUAHSI Hydrologic Information System (HIS)
HydroModeler: A tool for modeling within the CUAHSI Hydrologic Information System Jon Goodall, Assistant Professor Tony Castronova, Ph.D. Candidate Mostafa Elag, Ph.D. Candidate Ben Felton, B.S. Student Robert Boykin, B.S. Student Department of Civil and Environmental Engineering University of South Carolina CUAHSI Conference on Hydrologic Data and Information Systems Utah State University - June 22-24, 2011
CUAHSI Hydrologic Information System Services-Oriented Architecture
HydroCatalog
Data Discovery and Integration
HydroServer
Data Publication ODM
Data Services
WaterML, Other OGC Standards
HydroDesktop
Data Analysis and Synthesis Geo Data HydroModeler Information Model and Community Support Infrastructure
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 Directory Explorer 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
OpenMI Interface
The Architecture of a Model Component
Initialize PerformTimeStep Finish Procedural Model Web Service Interface Data CSDMS Interface
config.xml
Input and Output Exchange Items, Time horizon and step, etc.
Supporting Libraries Simple Model Wrapper
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
Coweeta HIS Server
– HIS Server includes publically available Coweeta data • Precipitation: daily accumulated • Air temp: daily min, max, and mean • Stream discharge: daily average
http://river.sdsc.edu/WaterOneFlow/Coweeta/ cuahsi_1_1.asmx?WSDL
Coweeta Watershed #18
Watershed #18 Area: 12.48 ha (0.12 km 2 ) 650m by 300 m
Background: Steps in the Hydrologic Modeling Process
Revise perceptions Revise equations Debug code Revise parameter values
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 No Rainfall-Runoff Modeling: The Primer, Beven, 2001 Declare Success?
Yes
Perceptual Model
What processes do I think will be dominate for this watershed and my specific study objectives?
Conceptual Model
What mathematical representation should we use to model the dominate processes?
• 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
Procedural Model
How can we construct an accurate, well tested procedural model that can be understood and shared with others?
• Implement components – Hargreaves – TOPMODEL • Link components into a model • Include data exchange with HydroDesktop
Model Calibration
What should the model parameters be?
– Edit component parameters from GUI – Save output as new “Method” (ODM terminology) – Automated calibration possible in the future
Model Validation/Evaluation
How 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 Hydro Model Collaboration with NOAA/ESMF team (Cecelia DeLuca et al.) and Ricky Rood. University of Michigan,
Modeling Large, Complex Hydrologic Systems
HPC Cluster
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 Azure Compute Proxies Azure Compute Instances
Collaboration with Marty Humphrey, UVA
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 Whitenack, Matt Rodriguez – Ilya Zaslavsky, David Valentine, Tom 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 CUAHSI HIS http://his.cuahsi.org/
Sharing hydrologic data
Support: EAR 0622374
CBET 0846244
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
Exchange Item
GetValues()
Model A is dependent on and output produced by Model B Model B Models maintain their own “world view” Models exchange data on each time step