Coupling the TopoFlow and GC2D Models as CCA Components Scott D. Peckham University of Colorado, Boulder October 26, 2009

Slides:



Advertisements
Similar presentations
National Computational Science Environmental Hydrology Building the Grid Environmental Hydrology Applications Team.
Advertisements

INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Fall 2009 CSDMS WG Update James Syvitski CSDMS Integration Facility Boulder CO.
Contributing source code to CSDMS Albert Kettner.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Surface Process Modeling: Applying the CSDMS Modeling Tool GEOG5700: Course Scope Irina Overeem CSDMS-Community Surface Dynamics Modeling System University.
Theatrical Lighting Design and Inventory Management System Architecture Presentation Presenters: Ed Morrison, Harikrishna Patel, Joshua Zawislak.
CSDMS Modeling Tool Introduction Run & Couple Surface Dynamics Models By Irina Overeem,October, 2010.
CSDMS Developer Clinic: New Tools and Information for Code Contributors Scott D. Peckham Chief Software Architect for CSDMS October 15, 2010.
Coupling the TopoFlow and GC2D Models as CCA Components Scott D. Peckham University of Colorado, Boulder October 5, 2009
Geography 465 Overview Geoprocessing in ArcGIS. MODELING Geoprocessing as modeling.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Hydrology and Water Resources Civil and Environmental Engineering Dept. Physically-based Distributed Hydrologic Modeling.
Overview and Demonstration of the Community Surface Dynamics Modeling System CSDMS Terrestrial Working Group Meeting February 2, Boulder, CO. Scott.
Developing Custom GIS Applications to Explore Digitally Vectorized Geologic Quadrangles Mark Graham, Dr. Andrew Wulff, Department of Geography and Geology,
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Fall 2009 CSDMS WG Update James Syvitski CSDMS Integration Facility Boulder CO.
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
UNIT-V The MVC architecture and Struts Framework.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
A First Program Using C#
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
Sage CRM Developers Course
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Business Unit or Product Name © 2007 IBM Corporation Introduction of Autotest Qing Lin.
Update on CSDMS Adoption (and Infiltration) of CCA Dr. Scott Peckham Chief Software Architect for CSDMS January 17, 2008 csdms.colorado.edu CCA Winter.
GLACIER MODELING Glacial Runoff and Hydrology Modeling Irina Overeem.
CHAPTER TEN AUTHORING.
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
1/15 G. Manduchi EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 INTEGRATION OF EPICS AND MDSplus G. Manduchi, A. Luchetta, C. Taliercio, R.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
SE: CHAPTER 7 Writing The Program
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
Systems Analysis and Design in a Changing World, 3rd Edition
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
The Systems Development Life Cycle
M.S. Thesis Defense Jason Anderson Electrical and Computer Engineering Dept. Clemson University.
DemocracyApps, Inc. Community Budget Explorer A Technical Overview.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Interactive Workflows Branislav Šimo, Ondrej Habala, Ladislav Hluchý Institute of Informatics, Slovak Academy of Sciences.
Connections to Other Packages The Cactus Team Albert Einstein Institute
Visualization in Problem Solving Environments Amit Goel Department of Computer Science Virginia Tech June 14, 1999.
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
Environmental Hydrology Applications Team Alliance Report
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
A Modeling Framework for Improved Agricultural Water Supply Forecasting George Leavesley, Colorado State University, Olaf David,
A Brief Introduction to the CSDMS Initiative Dr. Scott Peckham Chief Software Architect for CSDMS July 19, 2007 csdms.colorado.edu.
TRIUMF HLA Development High Level Applications Perform tasks of accelerator and beam control at control- room level, directly interfacing with operators.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
WMT-Hydrology Clinic Irina Overeem and Mark Piper Scott Peckham CSDMS Annual Meeting, May 2016.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Current Generation Hypervisor Type 1 Type 2.
Introduction to Visual Basic 2008 Programming
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Anne Pratoomtong ECE734, Spring2002
Environmental Hydrology Building the Grid
JavaScript.
Visualizing the Attracting Structures Results and Conclusions
Programming Arc.
Presentation transcript:

Coupling the TopoFlow and GC2D Models as CCA Components Scott D. Peckham University of Colorado, Boulder October 26,

Brief Overview of the TopoFlow Hydrologic Model

What is TopoFlow 1.5 ? A fully spatial hydrologic model with multiple methods for modeling a variety of physical processes in watersheds, including: * Precipitation (uniform or varying in space and time * Snowmelt (simple Degree-Day or full Energy Balance) * Evaporation (Priestley-Taylor or full Energy Balance) * Infiltration (Green-Ampt, Smith-Parlange or Richards 1D) * Channel/Overland Flow (Kinematic, Diffusive or Dynamic Wave) * Shallow Subsurface Flow (Darcy, multiple uniform layers) * Flow Diversions (sources, sinks and canals) 37,434 lines (749 pages) of IDL code. (Interactive Data Language) Complete, point-and-click GUI with HTML Help System. Any input variable can be: Scalar, Time Series, Grid or Grid Sequence. Any computed variable can be saved as Time Series or Grid. Not object-oriented (but almost) But all components were designed for use within TopoFlow’s own internal coupling mechanisms.

Multiple Methods per Process Degree-DayNoneEnergy Balance Snowmelt None Priestley-Taylor Energy Balance Evapotran. Kinematic Wave Dynamic Wave Chan. Flow None Each method has a similar set of dialogs to specify or collect input and output variables. Any process can be turned off.

Treynor Hydrographs vs. Data

Brief Overview of the GC2D Valley Glacier & Ice Sheet Model

What is GC2D 1.0 ? A 2D Valley Glacier and Ice Sheet model. Finite-difference, explicit time-stepping Simulates flow of ice via Glen’s Law (nonlinear stress-strain) and a rule to compute basal sliding velocity from basal shear stress. Input consists of a DEM and prescribed ELA (as scalar or time series). Precipitation and icemelt processes are not modeled directly – “net mass balance” is prescribed lines (30 pages) of MatLab code. Not intended for plug-and-play use – no OpenMI-style interface. All input parameters hard-wired in code (no input or configuration file) Limited ability to save computed variables to output files.

New, Componentized Versions of TopoFlow and GC2D Components that implement an OpenMI-style interface (IRF, getters, setters, etc.) and are linkable within a CCA framework such as Ccaffeine.

What is TopoFlow 3.0 ? Now consists of 17 separate components. Each component has: (1) Ability to be used as a model (driver) or as a component. (2) An OpenMI-style interface (incl. IRF, getter, setters, etc.) (3) A wrapper to make it a CCA component (CCA “impl” file) (3) Its own, separate input file (*.cfg) (4) A GUI dialog to change its parameters, with HTML help. (5) Its own output options. Written in Python & uses Numerical Python. (33,058 lines) Code was converted from IDL to Python using I2PY 2.0. Completely object-oriented. All components inherit from a “CSDMS component” base class. Computed variables can be saved as before, now as BOV or netCDF. Precipitation component merged into Meteorology component. But, pre-processing tools (8500 lines) not yet converted from IDL and GUI is limited as compared to the original.

What is GC2D 2.0 ? This new version can be used as either a component that provides meltwater runoff to a spatial hydrologic model (TF) or as a stand- alone Model/Driver. As a Driver, it can now optionally be driven by TopoFlow’s physically-based process components. That is, the Meteorology/Precip and Snow components could be used to provide snowfall and icemelt rates directly to GC2D. Written in Python & uses Numerical Python. (1966 lines) Wrapped in “ice_base” class to provide OpenMI-style interface and additional capabilities (880 additional lines, Python) Wrapped again (IceGC2D_Impl.py) to be a CCA component. Reads all input parameters from a “configuration file” (*.cfg). Computed variables can now be saved as BOV or netCDF. Can now output a grid of “meltrates” for use by other models. Will soon have a “ParameterPort” dialog for user input. Will eventually have an HTML help page.

Added Value for GC2D Can now be used as a Component or stand-alone Model/Driver. As a Driver, can be driven by Meteorology & Snow components. GUI dialog and input files for changing model parameters. Can be run by any CSDMS member, remotely, on beach. Can use VisIt, integrated into CCAFFE-GUI, to visualize output. Improved output options (Time Series and/or Grid Sequence). Can easily be linked to components written in other languages. Added Value for TopoFlow Can now be used as a Component or stand-alone Model/Driver. Can be run by any CSDMS member, remotely, on beach. Can use VisIt, integrated into CCAFFE-GUI, to visualize output. Can easily be linked to components written in other languages. Can now utilize meltrate output from an ice model.

CCAFE-GUI Wiring Diagram for TopoFlow using GC2D as Component

CCAFFE-GUI Wiring Diagram for GC2D using TopoFlow Components

Conclusions Now, any CSDMS member can download and install the CSDMS version of the Ccaffeine GUI as a small, easy-to-install Java app. Using this GUI, they can choose components from available palettes to create their own, customized applications, and then run them on our supercomputer, “beach”. We have linked our GUI with VisIt to provide run-time visualization. “Process components” seem to be the most natural level of granularity for model componentization. “Processes” (such as infiltration) represent the “scale” at which modelers are most likely to want to replace one approach with another. For example, modelers very often want to compare different approaches and algorithms with respect to speed, accuracy, scalability or realism. Complete models represent the next higher level of granularity and provide only limited opportunities for linking and re-use.

More Conclusions Converting models from one language to another is a complex task that should be avoided whenever possible. Conversion tools usually cannot fully automate the conversion process. Our community has a large number of models written in Very High-Level Languages (VHLLs) like MatLab and IDL. MatLab and IDL are proprietary languages and are not supported by Babel. Python, however, is supported by Babel, and with the Numerical Python package (and other packages) provides a very powerful, open-source alternative with similar performance. For MatLab, IDL and Python, there are commercial products that allow code to take advantage of multiple processors. These products require virtually no changes to the original code, as long as it was written properly so as to replace all “loops over space” with array operators.

CCAFE-GUI Wiring Diagram for TopoFlow using GC2D as Component

CCAFFE-GUI Wiring Diagram for GC2D using TopoFlow Components