Overview
Welcome to openFlow! This application allows you view and interact with select hydrologic data collected at 29 stream, river, and lake inflow/outflow sites across the National Ecological Observatory Network (NEON). NEON spans the continental United States and includes monitoring sites in Alaska and Puerto Rico. In this app you can visually explore data from the following NEON Data Products:
- Stage-discharge rating curves (DP4.00133.001)
- Continuous discharge (DP4.00130.001)
- Precipitation (DP1.00006.001)
- Land-water interface images (DP1.20002.001)
- Stream morphology maps (DP4.00131.001)
To learn more about each data product, follow the links above to data product landing pages and navigate to the ‘Documents’ section to find either Data Product User Guides (DPUG) or Algorithm Theoretical Basis Documents (ATBD) for each data product.
The openFlow app consists of three separate tabs that work separately and together to be a one-stop-shop for interpreting NEON hydrology data.
- Timeseries Viewer
- Target Gauge Height
- Real-Time Data Viewer
Time Series Viewer
Inputs
To run the timeseries viewer, users must select a NEON Domain ID and Site ID from dropdown menus and specify a Date Range to download and plot data. Visit the NEON website to learn more About Field Sites and Domains and Explore Field Sites.
The following checkbox inputs can be toggled either before or after a user selects ‘Submit’.
Include Discharge Science Review Quality Flags - If selected, shaded areas (grey) will plot in the background of the plotting field for time ranges when dischargeFinalQFSciRvw = 1.
Convert to Imperial Units - If selected, data in the ‘Continuous Discharge’ and ‘Rating Curve(s)’ tabs will be converted to imperial units. Units (Metric, Imperial) for the main groups of variables are:
- Discharge (liters per second, cubic feet per second)
- Stage (meters, feet)
- Precipitation (millimeters, inches)
Outputs
Metadata Table
The metadata table contains the following reach-scale variables that characterize the site that was selected:
- Upstream watershed area (km2) - The area of land that drains water into the aquatic site.
- Reach slope (%) - The gradient of the streambed from the upstream to downstream reach boundary of the aquatic site. Slope is measured using a total station during topographic site surveys.
- Mean bankfull width (m) - The mean bankfull width of the channel measured at transects throughout the monitoring reach. At bankfull stage water is just beginning to spill out of the channel and into the floodplain. Bankfull flows typically occur at 1.5-year recurrence intervals.
- D50 particle size (mm) - The diameter of bed substrate corresponding to 50% finer in the particle-size distribution. Substrate is measured at transects throughout the monitoring reach using 200-point pebble count methods.
Note: At NEON river sites (BLWA, FLNT, TOMB), reach slope, mean bankfull width, and D50 particle size are not measured. Also, at the Toolik Lake (TOOK) inflow and outflow locations, D50 particle size is not measured.
The ‘Continuous Discharge’ Tab
In the ‘Continuous Discharge’ tab, a timeseries plot is generated that plots three groups of data:
Discharge
- Continuous discharge (black line) - derived from DP4.00130.001:csd_continuousDischarge:maxpostDischarge and DP4.00130.001:csd_continuousDischarge:continuousDischarge
- Discharge Parametric Uncertainty (orange ribbon) - derived from DP4.00130.001:csd_continuousDischarge:withParaUncQLower2Std and DP4.00130.001:csd_continuousDischarge:withParaUncQUpper2Std
- Discharge Remnant Uncertainy (dark orange ribbon) - derived from DP4.00130.001:csd_continuousDischarge:withRemnUncQLower2Std and DP4.00130.001:csd_continuousDischarge:withRemnUncQUpper2Std
- Measured Discharge (green point) - derived from DP4.00133.001:sdrc_gaugeDischargeMeas:streamDischarge
- Historic Median Discharge* (grey line) - derived from DP4.00130.001:csd_continuousDischarge:maxpostDischarge and DP4.00130.001:csd_continuousDischarge:continuousDischarge
- Three Times Median Discharge** (dashed grey line) - derived from DP4.00130.001:csd_continuousDischarge:maxpostDischarge and DP4.00130.001:csd_continuousDischarge:continuousDischarge
Stage
- Continuous Stage (pink line) - derived from DP4.00130.001:csd_continuousDischarge:equivalentStage
- Stage Uncertainty (blue ribbon) - derived from DP4.00130.001:csd_continuousDischarge:stageUnc
- Measured Gauge Height (yellow point) - DP4.00133.001:sdrc_gaugeDischargeMeas:gaugeHeight and DP4.00130.001:sdrc_gaugePressureRelationship:gaugeHeight
Precipitation***
- Continuous Precipitation (blue line) - DP1.00044.001:WEIPRE_60min:precipBulk or DP1.00045.001:TIPPRE_30min:precipBulk
- Precipitation Uncertainty (purple ribbon) - DP1.00044.001:WEIPRE_60min:precipBulkExpUncert or DP1.00045.001:TIPPRE_30min:precipBulkExpUncert
* - Historic Median Discharge is calculated from all RELEASED data at a given site. Click here to learn more about NEON data releases.
** - Three Times Historic Median Discharge is also calculated from all RELEASED data at a given site. The discharge value (+/- uncertainty) is reported at the top of the plot. The grey dashed line plotted is 3x median discharge plus uncertainty. If data completeness and/or validity is lacking for a site, users can view comparable USGS data. If available, the app will provide a link to the closest USGS proxy site and a 3x median discharge to use.
*** - The Preciptiation data products are not published for all NEON aquatic sites. If precipitation data is not published for a NEON aquatic site, openFlow will report data from the nearest co-located NEON terrestrial site. The site ID from which the precipitation data is pulled is included in the legend. Click here to learn more about co-located NEON sites.
Users can view the publication status of the timeseries viewed by hovering over the shaded bars rendered just above the x-axis. Users can view and identify data that has been RELEASED, that is currently PROVISIONAL, and data that is UNPUBLISHED.
If there are no data published for an attribute in a given time range, the attribute will not be visible in the legend.
The ‘Rating Curve(s)’ Tab
In the ‘Rating Curve(s)’ tab, a plot is generated that shows all stage-discharge rating curves used to model continuous discharge for the time range specified by the user. Continuous discharge and stage-discharge rating curve data are linked by the curveID field. The app will identify all unique curveID values within the range of continuous discharge data and plot the stage-discharge relationship (black points), rating curve (black line), and uncertainties (parametric uncertainty = orange ribbon, remnant uncertainty = dark orange ribbon) for each rating curve.
Features
Plotly Features
Plotting in the openFlow app is done using the plotly R package. Plots created in plotly contain built-in functionality that allow users to better interact and interpret data. The plots in the openFlow app contain the following useful functionality built into the plots:
- Click and drag on the plot to zoom in and double click to autoscale both axes.
- Toggle visibility of attributes by clicking on them in the legend (double click on a legend attribute to view only this attribute in the plot.
- In the ‘Continuous Discharge’ tab, Continuous Discharge, Continuous Stage, Measured Discharge, and Measured Gauge Height attributes default to on while all other attributes default to off.
- In the ‘Rating Curve(s)’ tab, Rating Curve w/ Gaugings attribute defaults to on and Uncertainty defaults to off.
- Change discharge scales between linear and log using the buttons above the legend.
- Hover over attributes on the plotting field to see values at specific timestamps.
Render PhenoCam Image
- In the ‘Continuous Discharge’ tab, users can hover over any plot attribute and click to render an image of the site published in the PhenoCam Gallery. Images are queried from the PhenoCam API for the timestamp closest to the timestamp clicked by the user.
Download Handler
-
In the ‘Continuous Discharge’ and ‘Rating Curve(s)’ tabs, users can download the plots as HTML files. When the plots are rendered in the app, a ‘Download Graph’ button will appear in the lefthand panel of the app above the Metadata Table. If downloaded, the HTML file will retain all the interactive functionality built into plotly. Note: Users that download data for larger date ranges (> 6 months) will experience longer wait times.
-
Users can also download PhenoCam images. When PhenoCam images render in a new window, users can click the ‘Download Phenocam Image’ button to save the image as a PNG file.
Target Gauge Height
Background
The required number of annual discharge bouts at AQU stream and lake inflow/outflow sites has been reduced from 24 to 22. With this change, NEON Domains are to attempt to collect 2 additional measurements each year during periods of high flow, when water levels are within +10% to -30% of the designated target stage. Targeted discharge bouts are a high priority when a site is experiencing high flows (see Field Prioritization Matrix, OSProcedure-specific-priorities for details).
High flows near bankfull stage historically occur on 1.5 year intervals, though this frequency is expected to change as extreme weather events (e.g. heat waves and large storms) become more frequent and more intense. Field Science staff should not enter the channel when high flows are present; ADCP instrumentation should always be used to measure high flow discharge as it can be safely deployed from the floodplain. Contact Science with any questions regarding the target gauge height values, the time periods in which they historically occur, and/or strategies to assist with forecasting these stochastic events.
Reported Values
The reported values provides the range of staff gauge heights at which high flow discharge measurements should be targeted and the time period in which they have historically occurred. Note that target gauge height values will change if staff gauges are replaced (Science will then update the values following a total station survey of the staff gauge and the discharge cross-section).
The Visuals
Rating Curve Plot
The lefthand plot shows the most recently-published stage discharge rating curve with the target gauge range higlighted in green showing (from lower to higher stage) the -30% threshold, the target gauge height, and the +10% threshold.
Discharge Cross Section Plot
The righthand plot shows the most recently-surveyed discharge cross-section. The cross section is ‘filled’ to the target gauge height, with the horizontal black bars showing the -30% - +10% range of gauge heights.
Real-Time Data Viewer
Note to External Users
The ‘Real-Time Data Viewer’ in openFlow mainly functions as an internal tool. The required inputs come either from observing the staff gauge at a site or from uploading raw (Level 0) pressure values from the in-situ pressure transducers in the stream, which are not available in published data products. For more information, contact the app author.
Inputs
In addition to selecting a NEON Domain ID and Site ID, users must ‘Select TROLL Type’ that is used to collect data at the staff gauge and discharge location (all domains except D18/19 use LevelTroll).
There are three data input options that allow users to get a near-real time discharge estimate:
- Single Staff Gauge Reading - Users can enter a raw staff gauge reading, which is then offset and converted to estimated discharge.
- Single Pressure Reading - Users can enter a raw pressure reading, which is calibrated, converted to water column height, modeled to estimated stage, and converted to estimated discharge.
- Grafana CSV File - Users can enter a timeseries of raw pressure values downloaded from a Grafana dashboard visualization. The timeseries is then calibrated, converted to water column height, modeled to estimated stage, and converted to estimated discharge.
Users are referred to the Guide to Assessing 3x Median Discharge at NEON Sites for more details on how to enter different data types into openFlow’s Real-Time Data Viewer.
Outputs
Single Readings
If users enter a single reading (gauge height or raw pressure), the outputs will be a snapshot with static values and plot.
Raw Pressure Timeseries
If users upload a raw pressure timeseries, the output visuals will be dynamic and linked to provide a holistic view of how stage and discharge are changing at a site in real time.
The Visuals
Rating Curve Plot
The upper plot shows the most recently-published stage discharge rating curve with the following additions:
- The estimated output discharge plotted as a horizontal dashed black line
- The current 3x median discharge value plotted as a horizontal dashed red line
- The target gauge range (See the ‘Target Gauge Height’ tab) higlighted in green showing (from lower to higher stage) the -30% threshold, the target gauge height, and the +10% threshold
Discharge Cross Section Plot
The lower plot shows the most recently-surveyed discharge cross-section. The cross section is ‘filled’ to the level of the estimated discharge output.
Linked Plots
When hovering on the timeseries plot along the x-axis, the two lower plots will change the highlighted output discharge estimate as the position on the timeseries x-axis changes. In the rating curve plot, the black dashed line will move up and down the y-axis (discharge) as the users hovers along the timeseries. Equivalently, the cross-section plot will ‘fill’ and ‘empty’ as the user hovers along the timeseries.
Change Log
2026-04-07: Remove dependency on non-CRAN openFlowInternal package, which was causing public app to crash. Migrate functionality of openFlowInternal to populate external DB tables. Update UI to provide title and short description of each tab.
2026-03-18: Migrate openflow-db to external facing database hosted by neonscience.org.
2026-02-20: Updates to combine legacy 1-minute resolution and current 15-min resolution data tables to produce a single continuous period of record; 3x median discharge and historic median discharge updated through RELEASE-2026.
2025-03-27: Major updates include:
- 3x median discharge and historic median discharge updated through RELEASE-2025 and WY2024 (PROVISIONAL but internally approved).
- No longer getting data using the neonUtilities R package, which speeds up the app dramatically.
- UNPUBLISHED data now reported in the Timeseries Viewer, plus the publication status bar is now plotted just above the x-axis.
- Target Gauge Height tab added.
- Real-Time Data Viewer tab added.
2024-03-04: Updates to identification and interpretation of 3x median discharge in the plotting field; updated multiple data sources through NEON data release RELEASE-2024
2023-02-13: Updates to include 3x median discharge in the internal version of the app
2022-08-09: Remove package dependencies ‘stageQCurve’ and ‘measurements’
2022-07-25: Major updates include plotting NEON precipitation data, rendering NEON PhenoCam images via a click event, download buttons for plots and images, aesthetic updates to color paletes, axes, and app themes, and an ‘About the App’ tab.
2022-02-04: Updates for app to work with TOMB data
2021-09-16: Updates for app to work with TOOK data
2021-08-05: Original creation
Additional Information
Contact Us
Questions or Comments About the App?
NEON is always looking to improve the user experience! If you have any comments, questions, or general feedback about the app, please follow the link below to contact the app developer and enter ‘Zach Nickerson’ in the Direct to Staff Member field.
Find a Bug?
Is the app not working as expected? Do you have an enhancement request for the app? Please submit a Github issue here.
Credits & Acknowledgements
Author: Zachary Nickerson, NEON Ecologist II - email: nickerson@battelleecology.org
Contributors:
- Nick Harrison, NEON Environmental Scientist III
- Divine Aseaku, 2021 NEON Data Science Intern, Bowie State University
- James Ross, 2022 NEON Data Science Intern, St. Edwards University
- Bola Abioye, 2024 NEON Data Science Intern, Morgan State University
- Lucas Smith, NEON Technician Specialist, Domain 07
- Maria Viggiano Beltrocco, NEON Technician Specialist, Domain 04
- Jason Brown, NEON Technician Specialist, Domain 03
The National Ecological Observatory Network is a project solely funded by the National Science Foundation and managed under cooperative agreement by Battelle. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
License
GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
Disclaimer
Information and documents contained within this package are available as-is. Codes or documents, or their use, may not be supported or maintained under any program or service and may not be compatible with data currently available from the NEON Data Portal.
Last Updated: 2026-04-07
Time Series Viewer - Interact With NEON Hydrology Data
Visualize a period of record from the beginning of time for a site up to the most recent month of UNPUBLISHED data. Users can interact with stage, discharge, and precipitation data, dive deeper into data quality and historic metrics, and view PhemoCam images by clicking a point on any time series. For more information about inputs and outputs, see the 'About the App' tab.
Target Gauge Height - Assess High Flow Measurement Goals
Each year, NEON Field Scientists are tasked with collecting discharge measurements within a site specific range of gauge heights that represent -30% to +10% bankfull stage. Choose domain and site to observe the target gauge height range and where the target range falls on the most recent rating curve model and discharge cross-section survey. For more information about inputs and outputs, see the 'About the App' tab.
Choose Site to View Current Gauge Height Targets for Opportunistic High-Flow Discharge Measurements
Click To View Guide for Interpreting the 'Target Gauge Height' Tab
Reported Values:
The reported values provides the range of staff gauge heights at which high flow discharge measurements should be targeted and the time period in which they have historically occurred. Note that target gauge height values will change if staff gauges are replaced (Science will then update the values following a total station survey of the staff gauge and the discharge cross-section).
The Visuals:
Rating Curve Plot - The lefthand plot shows the most recently-published stage discharge rating curve with the target gauge range higlighted in green showing (from lower to higher stage) the -30% threshold, the target gauge height, and the +10% threshold.
Discharge Cross Section Plot - The righthand plot shows the most recently-surveyed discharge cross-section. The cross section is 'filled' to the target gauge height, with the horizontal black bars showing the -30% - +10% range of gauge heights.