Untitled Document



With the release of QRev 4, development of QRev 3 in the MATLAB1 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 tknight@usgs.gov

Click this link for information on the MATLAB version of QRev (version 3.43 and earlier).


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.

WMA Technical Note 69 announces the release of QRev 4 and the phasing out of support for QRev 3.43.

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 in no need for installing any additional libraries.

1Any use of trade, firm, or product names is for descriptive purposes only and does not imply endorsement by the U.S. Government.



Installation Instructions

Updates and Bugs

Integration with SVMAQ and AQ

Recommended Workflow

Viewing QRev Summary without SVMAQ


Source Code Repository


USGS Software Users Rights Notice

QRev can be downloaded by clicking on the version number in the table below.

Changes and Known Issues

May 2024

- EDI PDF Export.
- Added Ctrl+M shortcut to maximize Select Transect dialog.
- Added Wetted perimeter and hydraulic radius computations.
- Package structure updated to better fit use by other applications.
- Increased default size of Select Transects dialog.
- Corrected end time in PDF Summary.
- Fixed change in discharge when opening a saved QRev .mat and reprocessing due to missing SNR range.
- Display of edge units in exported PDF now honor unit system setting.
- Added rounding to the magnetic variation in the PDF summary.

February 2024

- MAP: Added radio buttons to plot SNR/RSSI and Number of transects used.
- Now using QRev interpolated data for MAP computation.
- Moved MAP datatype combobox plot options for contour plots to radio buttons to follow look and workflow of other tabs.
- Crash when opening a measurement with a single transect.
- Duplicating signals as new measurements files are loaded without closing UI.
- Crash when click the Moving Bed Tab when there is no valid bottom track data in a test.
- Crash when clicking the edge tab when there is no valid bottom track data for an edge.
- Auto application of Moving Bed corrections when a moving bed is detected.
- Updating of MAP plot and table when MAP not able to run, ie no data to display.
- UI crash when MAP crashes due to no data to process.

December 2023

- Fix crash resulting from SonTek data with good GGA but no VTG data.
- Fixed crash when using Nortek Sig500 ADCP.
- Fix unit conversion on X-axis of BT Other plot with English is selected..
- Added ability to save figures in several common graphic formats
- Modified discharge time series graph to show selected transect, cumulative mean discharge, and +/- 5% band on cumulative mean discharge.
- Added Multitransect Averaged Profile (MAP) tab and connected to backend code.
- Added PDF Summary Report.
- Added option to import additional compass calibrations and moving bed tests.
- Converted documentation from external pdfs to built-in html.

January 2023

- Fixed RS5 frequency display.
- Fixed reading of SonTek files with long directories.
- Fix MB correction application.
- Fix crash resulting from very slow boat movement due to repeated shiptrack coordinates.

November 2022

- Fixed auto application of MBT correction when no bed is detected.
- Fix crash resulting from RS5 .mat files containing ping types labeled as 'Other' or '1'
- For a complete list of changes and bug fixes click here.

August 2022

- Added reading of BT ping types for RS5 data.
- Added use of ping type when computing auto thresholds for bottom track data.
- Fixed crash associated with corrupt sticky settings file.
- For a complete list of changes and bug fixes click here.

June 2022

- Fixed display issue of data plotted in error and vertical velocity time series plots when English units are used.
- For a complete list of changes and bug fixes click here.

June 2022

- Fix crash when changing WT plot options on file loaded from RS5 Qrev matfile.
- Fix crash when plotting shiptrack on MvBedTst tab when viewing some older Qrev files.
- Added config file.
- Modified XML output. The Uncertainty node now contains only the total uncertainty and the model used. Separate nodes are provided for QRev_UA and Oursin details.
- Fixed bug in GPS tab when all transects do not have GPS data.
- Fixed bug for SonTek ADCPs showing no in the xml file CompassCalibrationResult when there is a calibration.
- For a complete list of changes and bug fixes click here.

December 2021

- Fixed crash when loading some TRDI mmt files.
- For a complete list of changes and bug fixes click here.

December 2021

- Fixed crash when using zoom or pan.
- Fixed crash when opening an older QRev.mat file for a Sontek M9 that had some of the Loop test data marked as edge data.
- Fixed crash when changing thresholds on older QRev.mat file where bad MBT data was present.
- Fixed crash when saving caused by bad GPS data.
- For a complete list of changes and bug fixes click here.

November 2021

- Changed composite depths to interpolate for invalid depths using the composite data rather than the primary reference.
- WT error and vertical velocity filters are now applied based on ping type for all new processing of data. Loading older QRev files without reprocessing will display previous results.
- BT error and vertical velocity filters are now applied based on bottom track ping frequency for all new processing of data. Loading older QRev files without reprocessing will display previous results.
- Added points to plots in Depth tab.
- Added advanced graph tab.
- Added option to export mean cross-section bathymetry within the XML.
- For a complete list of changes and bug fixes click here.


- 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.


- 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.


- 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.


- 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.


- Fixed issue with shiptrack when all GPS data are invalid
- Fixed issue applying stationary moving-bed correction


- 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


- Initial release of Python version
- For a list of important changes from 3.43 see WMA Technical Note 69
- 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 OSW Hydroacoustic 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 OSW Hydroacoustics Forums you must be a registered user of the forums.

Register for access to OSW Hydroacoustics Forums

OSW Hydroacoustics Forums for Registered Users

Although the Forum is the preferred means of communication you can also email the Hydroacoustics work group (Hawg) at GS-W HaWG All@usgs.gov 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.


Documentation including the user's manual, technical manual, and change log intergrated in QRev. However, for those that would like to evaluate QRev without installing it these documents are accessable via the links below:

User's Manual

Technical Manual

Change Log