loading page

Coupling Hydrologic Models with Data Services in an Interoperable Modeling Framework
  • +3
  • Mark Piper,
  • Richard McDonald,
  • Eric Hutton,
  • Steven Markstrom,
  • Parker Norton,
  • Gregory Tucker
Mark Piper
University of Colorado at Boulder

Corresponding Author:[email protected]

Author Profile
Richard McDonald
USGS
Author Profile
Eric Hutton
University of Colorado at Boulder
Author Profile
Steven Markstrom
USGS
Author Profile
Parker Norton
USGS
Author Profile
Gregory Tucker
University of Colorado at Boulder
Author Profile

Abstract

Computational models of flood inundation, precipitation-runoff, and groundwater have traditionally been developed within their individual scientific fields. Increasingly, there is a desire and need to couple these models into an integrated system to solve complex problems and aid studies in water resources; for example, the impact of land-use change or climate variability on surface and subsurface flow in watersheds could be simulated by linking a precipitation-runoff model to a groundwater model. In this collaborative project, we factored the U.S. Geological Survey (USGS) Precipitation-Runoff Modeling System (PRMS) into four independent process components: surface, soil, groundwater, and streamflow. Each process component, written in Fortran, has a Basic Model Interface (BMI), which gives the model a standardized set of functions allowing it to be queried, modified, and updated in time. When compiled through Cython, the BMI-equipped components become Python packages, and can then be imported into Python with the Python Modeling Toolkit (pymt), which provides a framework and tools for running and coupling models. The addition of a Python interface for PRMS makes it easier to use, especially for researchers lacking experience in compiling and linking Fortran code, and pymt provides an easy collaboration platform for developing and prototyping complex integrated models. In the next phase of the project, we developed a Python package for a data service to access gridMET climatological data distributed over the web by the University of Idaho. The data service has a BMI, so it can be used directly with pymt for model-data coupling. Finally, using pymt, we coupled the PRMS process components and drove the coupled system with climate data from the gridMET data component. As a simple test, we were able to reproduce the results from running the standalone PRMS model. (The figure shows that outflow for the last stream segment in the coupled model system equals that from standalone PRMS.) This project was a fruitful collaboration between USGS and University of Colorado researchers, showing that research and operational models written in different languages can be wrapped in Python and coupled in an integrated modeling framework, making them more easily accessible for a new generation of researchers.