streamMetabolizer uses inverse modeling to estimate aquatic metabolism (photosynthesis and respiration) from time series data on dissolved oxygen, water temperature, depth, and light.
Clone or download


Models for Estimating Aquatic Photosynthesis and Respiration

Alison P. Appling, Robert O. Hall, Jr., Maite Arroita, and Charles B. Yackulic

The streamMetabolizer R package uses inverse modeling to estimate aquatic photosynthesis and respiration (collectively, metabolism) from time series data on dissolved oxygen, water temperature, depth, and light. The package assists with data preparation, handles data gaps during modeling, and provides tabular and graphical reports of model outputs. Several time-honored methods are implemented along with many promising new variants that produce more accurate and precise metabolism estimates.

Recommended citation: To see the recommended citation for this package, please run citation('streamMetabolizer') at the R prompt. A corresponding manuscript is in review, and the publication citation will be added when it becomes available.

Getting started

See for tutorials on package installation, getting started, and customizing your metabolism models.

Package status

Branch Linux Windows Test Coverage USGS Status DOI
master master Build Status master Build status master Coverage Status USGS Status

Questions and bug reports

Please report bugs and ask questions on the Issues page:

We can address your issues fastest if they are:

  • New - search past issues first to see if your question has already been answered. Reopen an old issue if your question was almost but not quite answered.

  • Complete - share all relevant code and console output/errors/warnings, in the order they were run and produced on your computer. Also include the output from a call to devtools::session_info() to tell us about your computer's configuration.

  • Reproducible - include all the data and code necessary for us/others to recreate the problem locally. It's fine to make up data if you can't share yours, as long as the problem still comes through.

  • Minimal - what is the smallest amount of data and code you can use to demonstrate the problem? This is less essential than the others but improves communication and our response time.

Code of Conduct

We want to encourage a warm, welcoming, and safe environment for contributing to this project. See the code of conduct for more information.

Package Support

streamMetabolizer was developed 2015-2017 with support from the USGS Powell Center (through a working group on Continental Patterns of Stream Metabolism), the USGS NAWQA program, and the USGS Office of Water Information. Ongoing package work is unfunded and therefore limited, though still enthusiastic.


Follow @USGS_R on Twitter for updates on USGS R packages:

Twitter Follow


This software is in the public domain because it contains materials that originally came from the U.S. Geological Survey (USGS), an agency of the United States Department of Interior. For more information, see the official USGS copyright policy at

Although this software program has been used by the USGS, no warranty, expressed or implied, is made by the USGS or the U.S. Government as to the accuracy and functioning of the program and related program material nor shall the fact of distribution constitute any such warranty, and no responsibility is assumed by the USGS in connection therewith.

This software is provided "AS IS."