This module provides intuitive structures and functions for implementing and managing common modeling workflows with PRMS, the United States Geological Survery’s hydrologic computer model.

View on GitHub

PRMS-Python gives direct access to PRMS input parameters, climate forcing data, and output variables– interfacing PRMS data structures with powerful scientific Python data structures particularly the numpy.ndarray and pandas.DataFrame objects. The module contains routines to systematically modify input parameters using user defined methods or a Monte Carlo parameter resampler; such routines then run a series of PRMS simulations in parralel. Metadata is also created and tracked along with each PRMS simulation’s inputs and outputs when running an automated routine. Post-processing of PRMS-Python managed simulations is also enhanced by tools for retrieving and archiving model inputs and outputs, calculate goodness-of-fit metrics, and built in visualizations routines are provided for model input and output.


pip install prms-python

Developer Install

First, clone from GitHub

git clone
cd PRMS-Python

Then install dependencies and executable

pip install --editable .


We recommend getting acquainted with PRMS-Python by reading and applying some examples and recipes found in the Tutorial and Recipes page, and consult the API Reference for more details. More examples including basic and advanced workflows with additional documentation can be found in the Jupyter notebooks on GitHub.