Coupling Hydrologic Models with Data Services in an Interoperable Modeling Framework

Science Center Objects

Computational models are important tools that aid process understanding, hypothesis testing, and data interpretation. The ability to easily couple models from various domains such as, surface-water and groundwater, to form integrated models will aid studies in water resources. This project investigates the use of the Community Surface Dynamics Modeling System (CSDMS) Modeling Framework (CMF) ...

Computational models are important tools that aid process understanding, hypothesis testing, and data interpretation.  The ability to easily couple models from various domains such as, surface-water and groundwater, to form integrated models will aid studies in water resources.  This project investigates the use of the Community Surface Dynamics Modeling System (CSDMS) Modeling Framework (CMF) to couple existing USGS hydrologic models into integrated models.  The CMF provides a Basic Model Interface (BMI), in a range of common computer languages, that enables model coupling.  In addition, the CMF also provides a Python wrapper for any model that adopts the BMI.  In this project the Precipitation-Runoff Modeling System (PRMS) was split into 4 BMIs for the following domains: Surface, Soil, Groundwater, and Streamflow.  In a simple test of the CMF coupling ability, the 4 domain BMIs were coupled back into a single model and successfully compared with PRMS itself. 



Related links.—



The following FORTRAN BMIs are developed from PRMS6 (6.0.0_bmi_dev branch): https://github.com/nhm-usgs/prms/tree/6.0.0_bmi_dev 

o   bmi-prms6-surface: https://github.com/nhm-usgs/bmi-prms6-surface

o   bmi-prms6-soil: https://github.com/nhm-usgs/bmi-prms6-soil

o   bmi-prms6-groundwater: https://github.com/nhm-usgs/bmi-prms6-groundwater

o   bmi-prms6-streamflow: https://github.com/nhm-usgs/bmi-prms6-streamflow



BMI testing projects and Jupyter Notebook documentation: https://github.com/nhm-usgs/bmi-test-projects



CMF Python component:

o   https://github.com/pymt-lab/pymt_prms_surface

o   https://github.com/pymt-lab/pymt_prms_soil



Image caption: Example FORTRAN program that couples the four PRMS6 BMIs.  The resulting segment outflow, for the last stream segment in the model is compared with PRMS6 and shows the coupled outflow equals the PRMS6 outflow.