A Python-based, object-oriented watershed modeling strategy

Session: Applications of Simulation Models in Watershed Science and Lake Ecology (2)

James Zollweg, SUNY Earth Sciences, [email protected]

Abstract

The human brain perceives the world as being composed of objects: buildings, farms, watersheds, weather systems, etc.  Our brains are also extremely adept at understanding the characteristics of these and are able to rapidly form creative conceptual models of their behavior.  Object-Oriented Programming is a computer modeling paradigm that can be used to take optimum advantage of both computational power of current machines and the insight/intuition of the human brain.  The Object-Oriented Watershed Modeling System (O2WMS) has been developed to demonstrate the potential of using the object-oriented approach for development of watershed models.  The objects in O2WMS are sub-watersheds sufficiently small as to be functionally homogeneous and drained by an identifiable flow path.  The core of O2WMS is a Python-based user interface that allows methods (rules) to be added to each object to represent the hydrologic physical processes the human modeler proposes.  Finally, a highly-efficient Python-based computation phase calculates and outputs both clumped and distributed results.  The O2WMS modeling concept is a model development ‘playground’ which drastically lowers the barriers to new model development for both expert and novice hydrologists.