Skip to main content
U.S. flag

An official website of the United States government

csa2sac—A program for computing discharge from continuous slope-area stage data

December 17, 2015


Continuous Slope-Area (CSA) gages were developed by the Arizona Water Science Center to enable the estimation of hydrographs when direct measurements of discharge cannot be made (Smith and others, 2010). CSA gages extend standard U.S. Geological Survey (USGS) methods for determining peak discharges to mid and high flows over a hydrograph computed at regular intervals with indirect measurement methods (Benson and Dalrymple, 1967; Dalrymple and Benson, 1967). CSA gages combine continuous stage records at two or more (typically three or four) cross sections with crosssection surveys and estimates of channel roughness to compute discharge over a range of flows. With standard indirect methods of determining peak discharge, water-surface elevation in the study reach at the peak flow is estimated from surveys of debris associated with the peak-flow water line. With CSA gages, stages are continuously measured at the cross sections, at regular and synchronized intervals (typically 5 minutes) over a flow event, and discharge can be calculated at each interval.

Calculation of discharge using indirect methods has been automated with the slope-area computation (SAC) program (Fulford, 1994). SAC is a widely used program within the USGS; it is easily run and displays output in a clear and convenient format, which includes flags that alert the user to shortcomings in the calculation. Use of SAC has been facilitated by SACGUI (Bradley, 2012; SACGUI uses a version of SAC called SAC7), a user interface that directly reads and displays survey data, allows for specification of water-surface slope and channel roughness, writes the input file for SAC7, runs SAC7, and displays SAC7 output.

csa2sac is a program (appendix 1) that repeatedly runs SAC7 using stage data and a SAC7 input template file to compute the discharge at CSA gages. It is written in the C programming language, and is compatible with 64-bit Windows operating systems. The program reads a SAC7 input file and a file containing stage-data time series. It writes a new version of the SAC7 input file with the stage data for one time step, runs SAC7, then extracts computed discharges from the SAC7 output file and collates the discharges and stages to a separate file. It repeats these steps for each time interval in the stage file to produce a discharge time series from the stage data. csa2sac has been tested with two, three, four, and six cross sections and found to operate successfully. By running SAC7, csa2sac maintains consistency and comparability of both discharges calculated from CSA gages and of standard USGS methods for computing discharges indirectly. Brown and Metcalfe (2014) have made available alternative software for producing CSA discharges.

In addition to csa2sac, the SAC7 program is required. It is the same as the original SAC program, except that it is compiled for 64-bit Windows operating systems and has a slightly different command line input. It is available online ( as part of the SACGUI installation program. The program name, “SAC7.exe,” is coded into csa2sac, and must not be changed.

Citation Information

Publication Year 2015
Title csa2sac—A program for computing discharge from continuous slope-area stage data
DOI 10.3133/ofr20151229
Authors Stephen M. Wiele
Publication Type Report
Publication Subtype USGS Numbered Series
Series Title Open-File Report
Series Number 2015-1229
Index ID ofr20151229
Record Source USGS Publications Warehouse
USGS Organization Arizona Water Science Center