An Extensible Python User Environment for Subsurface Modeling
Abstract
We use the Python programming language to collect, organize, and present the multitude of data and provenance associated with running scientific application codes. Without a user environment, the inputs, outputs, analyses, and executables are muddled by arcane directory hierarchies, file names, and symbolic links. Our user environment emulates the ad hoc ways of the scientific application user while hiding the addling details of where files should go, which machines can run which application codes, and what steps it took to create their application study. We use the wxPython GUI toolkit to create a cross-platform GUI application that focuses on the task-oriented analysis process using a richly interactive graph as its main interface. Navigating the graph, users setup and launch their registered scientific applications and watch as the graph reacts in real-time to users' input and the output of their running processes. These processes reflect steps a user regularly takes and uses the tools and programs they are familiar with thanks to Python and wxPython's auto-discovery of system tools for file types, the extensibility of our registry for new or platform-dependent file types and installed tools, and the expressiveness and readability of the python language and the wxPython GUI toolkit. It is our interactive process graph and the seamless integration of user-familiar tools that makes our environment a novel example of Python for furthering and easing the use of scientific application codes.
- Publication:
-
AGU Fall Meeting Abstracts
- Pub Date:
- December 2008
- Bibcode:
- 2008AGUFM.H41G0956D
- Keywords:
-
- 1832 Groundwater transport