Link to USGS home USGS Home
Contact USGS
Search USGS
USGS Hydroacoustics

Loop Correction Software (LC)


Loop Correction is a computer program written to determine if a moving bed is present from the loop method data and to correct the measured discharge using the distributed correction method. The computer program reads ASCII files in the standard ASCII output format from Teledyne RD Instruments WinRiver or Matlab files from SonTek/YSI RiverSurveyor Live. The LC program first requests the user load the loop data file. The mean moving-bed velocity is computed and the direction checked to verify that it is in the upstream direction. The criteria for determining if the data reflect a moving bed are applied and reported to the user. If a moving-bed is detected, the user can select the files (transects) for the discharge measurement. The program will read the files and compute the corrected discharge. The results of the entire process are displayed for the user and can be saved to a file and printed for inclusion in the measurement archive. Details of the loop method including proper field techniques are documented in:

OSW Technical Memorandum 2006.4

Scientific Investigations Report 2006-5079


USGS Software Users Rights Notice

Version Status Changes and Known Issues

Recommended - No code changes
- Requires Matlab Runtime Libraries Version 9.0, either 32-bit version or 64-bit version depending on which version of LC you download.
- Compiled with Matlab 2015b.

Allowed - No code changes
- Requires Matlab Runtime Libraries Version 8.5, either 32-bit version or 64-bit version depending on which version of LC you download.
- Compiled with Matlab 2015a.
4.16 Allowed - Requires Matlab Runtime Libraries Version 7.17, 32-bit version (even on 64-bit operating systems)
- Requires RSL transects being corrected to have composite tracks turned off.
- Upgraded file readers to improve speed.
- Changed the way invalid data are identified for RSL transects (previous algorithm marked some valid data as invalid, in rare situations).
4.04 Allowed - Fixed bug where the edge profiles were used in computing the DMG for RiverSurveyor data.
- Corrected method for computing flow direction in outgoing and returning directions to account for bin size.
- Fixed bug when there is only 1 valid bin.
- Changed LC to ignore the bug in WinRiver II that occasionally puts .$ in the backscatter data fields.
- Added hard limits on compass errors and invalid bottom track.
- Fixed bugs related to handling of surface bins for RiverRay.
- Changed weighted average to area weighting for velocity and discharge weighting for direction.
- Changed criteria for compass errors to account for uncertainty in data.
- Added a warning that the loop method may be unreliable for water velocities <0.8 ft/s
- Changed criteria for non-downstream closure to include the minimum moving-bed velocity criteria.
- Changed the weighted depth computation to match WRII.
- Fixed bug in identifying composite tracks for RSL.
- Removed warning for low velocity after loop fails quality check. Now if the loop fails the quality check it will be marked invalid.
- Changed heading "Adjusted Discharge" to "Corrected Discharge".
- Compiled with Matlab 2012a and requires Matlab Compiler Runtime 7.17 .
3.20 Allowed - Added support for RiverSurveyor Live 1.0 and 1.5.
- Added support for RiverRay.
- Changed the near-bed velocity locations from 1 ft to 0.1*depth for consistency with SMBA.This will result in some change in the computations.
- For RiverSurveyor data, repeated bottom track values are assumed to be bad bottom track.
- For RiverSurveyor data, the bottom track data is used to compute the loop, but the Summary. BoatVel is used to compute the discharge ratio.
- Added check to make sure data files are referenced to bottom track.
- Fixed bug that always allowed select measurement files even if no correction was required.
- Corrected sign on RiverSurveyor bottom track data.
1.6 Do Not Use as of 8/2/2010 - Added additional quality checks on bottom tracking and the compass calibration.
- Added additional messages to explain why a correction is not recommended.
- No changes were made to the computational algorithms.
1.4 Do Not Use as of 9/30/2008 - INITIAL RELEASE

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.

How to Download the Software

The latest version of LC can be downloaded by clicking on the version number in the table above. In order to provide support for extrap 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 an "LC" board under Hydroacoustics Software. Open the LC board and click "Notify" to automatically receive emails on any bug fixes or issues identified with extrap. This is the only way of being automatically notified if there has been an identified problem or if a new version has been released.

To access the OSW Hydroacoustics Forums you must be a registered user of the forums.

Register for access to OSW Hydroacoustics Forums

Registered Users

Installation Instructions

  1. Install the appropriate Matlab Component Runtime libary, if necessary. For instuctions on how to determine if you have the needed library and/or to install the library see Matlab Component Runtime Library Download and Installation
  2. Download the LC executable from the OSW Hydroacoustic Forums described above.
  3. Select a directory and unzip the LC to store the LC.exe and LC.ctf files. These files must be in the same directory but can be in any directory.
  4. Run the program by double-clicking on LC.exe in Windows Explorer or My Computer. You may wish to create a shortcut to LC.exe in a convenient location in the Start Menu or on the Desktop.

Operational Instructions

  1. Review the loop file in the manufactures data collection and processing software. Check for excessive bad bottom-track data and other problems that could reduce the accuracy of the loop. Record any observed problems.
  2. Review and process the discharge measurement files. Use appropriate U.S. Geological Survey guidance and policies to determine the mean unadjusted discharge.
  3. Generate Teledyne RD Instrument Classic ASCII output compatible files or RiverSurveyor Matlab files for the loop and discharge measurement files.
  4. If you created a shortcut to LC.exe during the installation, you can run the program using the shortcut. Otherwise you can run the program by double-clicking on LC.exe in Windows Explorer or My Computer.
  5. Click on the "Select Loop File" button, and browse for the file containing the loop measurement. The program will process the loop and determine if a correction is required. The "Select Measurement Files" button will become active. If no correction is required, proceed to step 7.
  6. If a correction is required, process the discharge measurement files with LC. Click on the "Select Measurement Files" button. Select the ASCII or Matlab files for all discharge measurement files using Control and Shift click to select multiple files (standard Windows multiple file collection procedures). The program will distribute the moving-bed correction to all ensembles and provide both an unadjusted and adjusted final discharge.
  7. Save, print, and file the results. Click on the "Save Results" button to save the results to a text file. Print the text file and attach the printout to the hardcopy field notes. Place the text file in the corresponding directory with the rest of the measurement files for archival.
  8. Exit the program by Clicking the Close button.

Screen capture of LC user interface

Interpreting the Results

When using the loop method, a measured mean moving-bed velocity of at least 0.04 ft/s indicates the presence of a moving-bed. If the measured moving bed velocity exceeds 0.04 ft/s, the ratio of the mean moving-bed velocity and mean water velocity is computed by dividing the mean moving-bed velocity by the mean water velocity. If this ratio is greater than 0.01, the apparent bed movement will cause at least a 1-percent negative bias in the computed discharge and correction of the discharge is recommended.

If the loop closure error is not in the upstream direction the program will determine that there is NOT a moving bed. If there appears to be a moving bed but LC does not recommend corrections check, the moving-bed direction be compared to the flow direction. The moving-bed direction should be approximately 180 degrees (+/- 45 degrees) from the flow direction.