260 likes | 393 Views
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
E N D
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 Data Discovery and Integration HydroCatalog Search Services Metadata Services WaterML, Other OGC Standards HydroServer HydroDesktop Data Analysis and Synthesis Data Publication Data Services ODM 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 Configuration Model Attributes
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 OpenMI Interface Initialize PerformTimeStep Finish Procedural Model Web Service Interface Data config.xml Input and Output Exchange Items, Time horizon and step, etc. Supporting Libraries CSDMS Interface 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 • 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
Background: Steps in the Hydrologic Modeling Process Revise perceptions The Perceptual Model: deciding on the processes Revise equations The Conceptual Model: deciding on the equations Debug code The Procedural Model: getting the code to run on a computer Revise parameter values Model Calibration: getting values of parameters Model Validation: good idea but difficult in practice Declare Success? No Rainfall-Runoff Modeling: The Primer, Beven, 2001 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 OpenMIcomponent on client side Hydro Model Collaboration with NOAA/ESMF team (Cecelia DeLucaet al.) and Ricky Rood. University of Michigan,
Modeling Large, Complex Hydrologic Systems HPC Cluster Job schedule determines if jobs should be run on a local HPC cluster to the cloud (Azure) User creates model on desktop and submits to calibration tool Cloud Azure Compute Proxies Collaboration with Marty Humphrey, UVA Azure Compute Instances
Open Development Model • The HydroDesktopCodeplex 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 –IlyaZaslavsky, David Valentine, Tom Whitenack, Matt Rodriguez • Utah State University –Jeff Horsburgh, Kim Schreuders, Stephanie Reeder, Edward WaiTsui, RavichandVegiraju, KetanPatil • 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, YooriChoi, Conrad Matiuk • ESRI – Dean Djokic, Zichuan Ye CUAHSI HIS Sharing hydrologic data http://his.cuahsi.org/ 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 HydroModelerhelp documentation • Questions? • Jon Goodall goodall@cec.sc.edu
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 Model A is dependent on and output produced by Model B GetValues() Model B Models maintain their own “world view” Models exchange data on each time step