Skip to main content
U.S. flag

An official website of the United States government

QRev 4

June 23, 2020

NOTE:  This version, QRev 4, has superceded QRev 3.43 and earlier. Older versions remain available here.
With the release of QRev 4, development of QRev 3 in the MATLAB environment has stopped at the current version 3.43. It is anticipated that all support for version 3.43 will cease on September 30, 2020. Currently, streamflow measurements can be processed using either QRev 4 or 3.43 but users are encouraged to transition to QRev 4 as soon as is convenient. During this transition period, it is suggested that both QRev 4 and 3.43 are available on field computers. If errors are encountered with QRev 4, version 3.43 can be used to complete field processing. Please submit any files that result in processing errors to



Screenshot of QRev

QRev 4 is a major enhancement of the original QRev developed in MATLAB. QRev computes the discharge from a moving-boat ADCP measurement using data collected with any of the Teledyne RD Instrument (TRDI) or SonTek bottom tracking ADCPs. QRev improves the consistency and efficiency of processing streamflow measurements by providing:

  • Automated data quality checks with feedback to the user
  • Automated data filtering
  • Automated application of extrap, LC, and SMBA algorithms
  • Consistent processing algorithms independent of the ADCP used to collect the data
  • Improved handing of invalid data
  • An estimated uncertainty to help guide the user in rating the measurement


  • Default QRev settings may result in discharge computations different from WinRiverII and RiverSurveyor Live. Potential differences in discharge are due to QRev data filters, interpolation algorithms, and computations that may differ from manufacturer software.
  • Discharges computed in QRev 4 and 3.43 may exhibit some differences in computed discharge, with identical processing settings. Changes in final values are due to a combination of improvements to filters, improvements to interpolation methods, and differences found in Python and MATLAB processing methods. Please see Important Changes for details.

Office of Surface Water Technical Memorandum 2016.03 recommends and authorizes the use of QRev for processing discharge measurments made with an ADCP from a moving-boat.

Office of Surface Water Technical Memorandum 2017.02 mandates the use of QRev for processing moving-boat streamflow measurements mad with acoustic Doppler Current profilers that are stored in the National Water Information System.

QRev can be used on desktops, laptops, and tablets running 64-bit versions of the Windows operating system. QRev should be used in the field to process measurement immediately after data collection and in the office to review measurements. The graphical user interface for QRev was designed to work on tablets, so most controls are buttons, radio buttons, and check boxes that can be easily operated by tapping on the screen. QRev is written in Python and packaged using PyInstaller. Unlike the MATLAB version, there is no need for installing any additional libraries.




Version History 


Version Release Date Changes Status and Known Issues
4.26 5/21/2021 Recommended - Fixed bug in EDI associated with GPS data.
- Fixed bug in applying weighted medians when switching from automatic to manual data type
- Modified extrap subsection so that subsectioning always works from left to right
- Fixed crash associated with Windows OS versions newer than 1909.
- Fix time formatting on Discharge TS plot so times do not overlap.
- Fix bug with loading data collected with a PDA and streampro.
- Fix crash resulting from NaN values in BT data for GPS class.
- Fix crash resulting from loading old QRev files missing setting dict in mat file.
- Fix crash resulting from missing elements from sticky settings.
- For a complete list of changes and bug fixes click here.
4.23 11/23/2020 Allowed - New TRDI raw data reader that is 3+ times faster
- Fixed issue with depth reference drop down menu when depth sounder data were collected
- Fixed issue so that GPS references that aren't available cannot be selected
- Fixed several issues with new GPS-BT tab and GPS usage for moving-bed test
- Fixed bugs in heading interpolation
- Fixed bug reading *_QRev.mat having only 1 transect
- Fixed bug when loading measurement with no transects selected
- Fixed issue that could occur when processing moving-bed tests loaded from *_QRev.mat
- For a complete list of changes and bug fixes click here.
4.21 10/16/2020 Allowed - Added code to identify and notify of user changes to original values
- Added ability to use GPS as a reference for moving-bed tests
- Added automatic checking of GPS lag
- Added GPS - BT comparison tab to GPS Tab
- Added support for user edge discharge for WinRiver II 2.22
- Fixed issue with applying the correct moving-bed test when multiple tests are available
- Modified code to use 1st checked transect rather than 1st transect for general settings
- Fixed issue with selecting transects in EDI if some transects were not checked
- Fixed issue in EDI if no GPS data are available
- For a complete list of changes and bug fixes click here.
4.16 6/22/2020 Allowed - Fixed issues saving data
- Fixed several issues related to GPS
- Fixed several issues related to edges tab
- Improved use of up/down arrow keys to change transects
- Fixed other issues with user interface
- Fixed issues with interaction with RIVRS
- No changes to computational code
- For a complete list of changes and bug fixes click here.
4.15 6/3/2020 Allowed - Fixed issue with shiptrack when all GPS data are invalid
- Fixed issue applying stationary moving-bed correction
4.14 6/2/2020 Allowed - Fixed issue when measurement contained transects with and without GPS data
- Fixed issue when stationary test was present the loop test would not be applied even though selected to use
4.13 5/20/2020 Allowed - Initial release of Python version
- For a complete list of changes and bug fixes click here.


Software/Firmware Status Definitions

Required Minimum: Minimum version required. This version has proven stable and may contain enhancements that are significant over previous required versions.

Recommended: Shown to have been reliable and contains features that result in a recommended upgrade over the required version. There could be a few specific use cases where this version may have issues that would result in some users not using this version. If so, those cases will be noted.

Allowed*: Deemed reliable during initial testing. Any issues will be noted along with improvements available over prior versions. Use of allowed versions may be desired in cases when the changes benefit a significant number of the user's conditions or equipment. For example: a new version of software is released that adds support for new hardware. If the user has this hardware, they would need to upgrade to the newer software before it becomes recommended or required. Use of these versions by experienced users will also help OSW identify any unknown issues.

Testing*: OSW is currently testing; any known issues or advantages over prior release will be noted. The use of a version that is in testing should usually be limited to advanced users that can trouble shoot potential issues and provide feedback on any irregularities or problems observed.

Do Not Use: A version either prior to the required minimum or that contains issues that significantly affect operations.

*Note: A version may remain in Allowed or Testing indefinitely. Example: A new version is released while the prior version is still in Testing. In this case the prior version may remain in Testing, while future testing efforts are placed on the newer version.


Installation Instructions

  1. Download the latest version of QRev.
  2. Select or create a folder for QRev and unzip the file into that folder.
  3. Run the program by double-clicking on QRev_*.exe in Windows Explorer or My Computer. You may wish to create a shortcut in a convenient location in the Start Menu or on the Desktop.


Updates and Bugs

In order to provide support for QRev and to provide an efficient means to communicate with users and allow users an efficient and organized means of providing suggestions and comments, you are encouraged to register for the Hydroacoustics Forum. In the forum you will find a "QRev" board under Hydroacoustics Moving-Boat Deployments. Open the QRev board and click "Notify" to automatically receive emails on any bug fixes or issues identified with QRev. This is the only way of being automatically notified if there has been an identified problem or if a new version has been released. You are also encouraged to report any problems you encounter with QRev and attach the associated files so that any identified problem can be resolved. To access the Hydroacoustics Forums, you must be a registered user of the forums.

Although the Hydroacoustics Forum is the preferred means of communication, you can also email the Hydroacoustics work group (HaWG) at GS-W HaWG with questions and bugs.


Integration with SVMAQ and AQ

The results of data processed with QRev can be efficiently loaded into AQ through the use of SVMAQ. Saving a processed measurement in QRev automatically creates an XML file (*_QRev.xml). This xml file can be loaded into SVMAQ. After completing the site visit information in SVMAQ, the saved SVMAQ file can be loaded into AQ using the normal procedures.


Recommended Workflow

QRev is intended to be used for both field processing and office review. Thus, QRev should be installed on both field and office computers. The recommended workflow is:

  1. Collect data using the manufacturer's software (WinRiver II or RiverSurveyor Live)
  2. Immediately after data collection process the data with QRev. MATLAB output files for RiverSurveyor Live data are required.
  3. Investigate all messages and warnings provided by QRev and make any necessary changes.
  4. Use the comments feature in QRev to explain or justify warnings and changes made.
  5. If necessary, use WinRiver II or RiverSurveyor Live to review data that are not reviewable in QRev.
  6. Finalize the processing and save the QRev files. Using the default date and time in the filenames by QRev: 1) provides unique file names, 2) helps track changes to processing settings, 3) identifies the most recently processed data, and 4) helps prevents accidental overwritting of previously processed data.
  7. Import the QRev XML file into SVMAQ.
  8. Backup all files to separate media from your field computer.
  9. Follow office policy for storage and uploading of data into AQ.

NOTE: The *_QRev.mat file contains all the original data and final processing settings. The *_QRev.mat file is independent of the original manufacturer files. Thus data processed with QRev should only be reviewed by loading the *_QRev.mat file. WinRiver II and RiverSurveyor Live files should be considered the original field data and not used for review or reprocessing of data previously processed in QRev. In the rare situation where a display of data in WinRiver II or RiverSurveyor Live is not available in QRev, WinRiver II or RiverSurveyor Live could be used to review that portion of the data.


Viewing QRev Summary without SVMAQ

Saving a processed measurement in QRev automatically creates an XML file (*_QRev.xml). A user friendly summary of the data in the xml file can be achieved using an XSLT style sheet. An example style sheet is available and can be downloaded and modified to meet the user's specific needs. For USGS users this example QRev stylesheet is automatically available when using the Field Sheet Viewer to view a QRev xml file.

Publication Year 2020
Title QRev 4
Product Type Software Release
Record Source USGS Digital Object Identifier Catalog