USGS - science for a changing world

Oregon Water Science Center

Alkalinity Calculator - Version History

Version [DD-MON-YYYY]

2.22 and 2.22Tk [22-Sep-2012]

The simple mass-balance speciation method has been eliminated in favor of the advanced speciation method for the calculation of carbonate and bicarbonate concentrations. The advanced speciation method provides results that are always more accurate than those from the simple mass-balance speciation method. See the Frequently Asked Questions (2.5, 2.7), the methods document, or USGS Office of Water Quality Technical Memorandum 2012.05 for more information.

The stand-alone version of the Alkalinity Calculator was repackaged for the Windows operating system. A self-extracting EXE file now is provided; when run, the file extracts a fully functional Perl environment into the user's temporary space and runs the Alkalinity Calculator within that environment. This means that a Windows user does NOT need to have Perl installed in order to run the stand-alone Alkalinity Calculator, and no longer needs to worry about having the correct Perl modules installed. This version may take slightly longer to open the first time (to extract the Perl environment into temporary space), but the advantages outweigh the disadvantages and subsequent uses of the package will be faster.

2.21 and 2.21Tk [22-Mar-2009]

The reporting tips document was updated to remove outdated statements concerning new parameter codes. All parameter and method codes shown on the reporting tips page were verified as available in the current release (4.8) of the USGS National Water Information System (NWIS).

2.20 and 2.20Tk [22-Dec-2007]

Two papers by Gunnar Gran (1950, 1952) were added to the list of references in the methods document to provide a proper citation for the Gran function plot method of determining equivalence point locations. The Aquatic Chemistry text by Stumm and Morgan (2nd ed., 1981) also makes an excellent citation for the Gran function plot method.

The reporting tips document was updated to reflect the latest recommendations on the rounding of alkalinity, acid neutralizing capacity, bicarbonate, carbonate, and hydroxide concentrations derived from alkalinity titrations. Those recommendations are now consistent with USGS Office of Water Quality policy as well as the recommendations in the USGS National Field Manual and the rounding functions used by the USGS database.

Method codes also were added to the reporting tips page, along with matrices showing their applicability. Some of these method codes will be new as of early 2008 and therefore may not yet be available. Look for them with the next update to the USGS parameter code and method dictionaries. In addition, four new parameter codes (29797-29800) were added -- for carbonate, bicarbonate, and hydroxide concentrations associated with Gran titrations.

The user interface of the stand-alone version of the Alkalinity Calculator was updated to improve its display of certain Greek glyphs as well as various tables in the user documentation. Prior to this change, some newer versions of Perl and Tk were incompatible with the previous code and could not properly display some tables and Greek glyphs. The stand-alone version was extensively checked for its compatibility with Perl version 5.8.8 and Tk version 804.027.

The PostScript driver for the stand-alone version was updated slightly to correct a small bug.

2.19 and 2.19Tk [04-Oct-2007]

A small bug in the plotting routines of the stand-alone version was fixed. The fix prevents a point from being plotted outside of a graph's boundaries. When this bug occurred, it only showed up in the printed PostScript output.

A previously placed note in the reporting tips document about a bug in the USGS QWDATA program was removed because that bug has been fixed. USGS users now should have no problems with their computed ion balances when carbonate or bicarbonate concentrations are reported as <0.1 mg/L.

Four additional parameter codes were added to the reporting tips document. These additions are the pcodes for carbonate and bicarbonate in filtered samples that have been analyzed using the Gran function plot method.

Finally, all of the hyperlinks in the documentation files were checked, and a few were updated.

2.18 and 2.18Tk [17-Nov-2004]

Additional guidance and clarification on the use of the acid correction factor was added. Since 1997, the USGS Ocala Water Quality & Research Lab had provided quality assurance for the Hach 1.6N and 0.16N sulfuric acid cartridges used with Hach digital titrators, checking the accuracy of both the titrant concentration and its delivery. These duties are now performed by the USGS National Water Quality Lab. The latest guidance states that a correction factor of 1.01 should be used with all Hach 1.6N and 0.16N sulfuric acid titrant cartridges. The Alkalinity Calculator, therefore, will use this correction factor as its default value for digital titrations. The user, of course, can override the default value.

2.17 and 2.17Tk [01-Jul-2004]

A note was added to the reporting tips document alerting USGS users to a bug in the QWDATA program that may cause the computed ion balance to be incorrect if either the carbonate or bicarbonate concentration is entered with a "less than" remark code. It is unclear when this bug in QWDATA will be fixed. Despite this problem, the recommendation remains that carbonate and bicarbonate concentrations should not be reported as 0.0 mg/L; rather, a value of <0.1 mg/L is preferred. (Note that the Alkalinity Calculator is completely independent from and not associated with the QWDATA program.)

2.16 and 2.16Tk [08-May-2004]

The search for the carbonate equivalence point used by the inflection point method was modified such that no data above a pH of pK2 are used. This restricts the search for the carbonate equivalence point to a pH range from pK2 to pK1, or about 10.3 to 6.3.

The theoretical carbonate titration curve methods were modified so that equivalence points outside the range of the titration data could be determined. For example, the method is now allowed to find a bicarbonate equivalence point that is located at a titrant volume greater than the maximum titrant volume included in the input titration curve. This expands the flexibility of this method to analyze titration curves that are somewhat incomplete.

The simple speciation method was modified such that if the initial sample pH is greater than 8.3 and no carbonate equivalence point is found ("A" is not defined), then the concentrations of carbonate and bicarbonate are not calculated.

Additional checks were implemented to ensure that sufficient data are present for the inflection point and fixed endpoint methods to work correctly.

2.15 and 2.15Tk [02-May-2004]

The Alkalinity Calculator's methods document was updated to clarify that the Calculator's simple speciation method is the same as the method documented in Section 6.6.5.B of the USGS National Field Manual. Similarly, the method used to calculate alkalinity is identical to that documented in Section 6.6.5.A of the USGS National Field Manual.

2.14 and 2.14Tk [25-Apr-2004]

The Gran function plot method was updated to allow the Gran F1 function to detect and report negative values of alkalinity or ANC. Appropriate notes regarding this change were added to the methods and reporting tips documents. A new entry also was added to the list of Frequently Asked Questions.

2.13 and 2.13Tk [07-Mar-2004]

The entry fields for sample temperature and sample conductance on the data entry form were moved from the "Site Information" section to the "Titration Information" section. This was done in an effort to clarify that the sample temperature and conductance information is needed from the time of sample titration, rather than from the time of sample collection. Links were added next to these entry fields to provide additional information.

Additions also were made to the list of Frequently Asked Questions.

2.12 and 2.12Tk [28-Nov-2003]

The stand-alone (Tk) version was updated to include the ability to print results to a PostScript file. Previous versions of the Tk version had no built-in ability to print results. With this upgrade, results from a titration analysis with the Tk version of the Alkalinity Calculator may be saved to a PostScript file. The PostScript file then may be printed directly, converted to other formats (such as PDF), or viewed on screen. More information on printing PostScript files is available.

Both the on-line and stand-alone versions were updated to change how results from the simple mass-balance speciation method are reported. Hydroxide concentrations are no longer reported from the simple speciation method, as any alkalinity due to hydroxide is included by that method in its estimate of the carbonate concentration. That method should not be used for samples with a pH above 9.2 anyway. For samples with higher pHs, that method fails, and reporting a hydroxide concentration just makes the results even more confusing.

In addition, both the on-line and stand-alone versions were updated to fix a rare problem that could occur if the theoretical carbonate titration curve method failed to fit the titration data.

2.11 and 2.11Tk [30-Oct-2003]

Updated the equations that calculate the temperature dependence of the acid dissociation constants for water, carbonic acid, and bicarbonate. The new equations are taken from the third edition of Stumm & Morgan's Aquatic Chemistry text:

Stumm, W. and Morgan, J.J., 1996, Aquatic chemistry: Chemical equilibria and rates in natural waters, 3rd ed.: New York, John Wiley & Sons, 1022 p.

The new equations for these constants result in almost no change in the values used for K1 and K2, the first and second acid dissociation constants of carbonic acid. The new equation for Kw, the acid dissociation constant for water, however, is more accurate than the one used in previous versions of the Alkalinity Calculator, and should result in more accurate speciation calculations. The equations used are documented on the Alkalinity Calculator's methods page.

2.10 and 2.10Tk [12-Apr-2003]

Added back the original speciation option to the program. The simple mass-balance speciation method is an old method of estimating the concentrations of carbonate and bicarbonate from the volumes of titrant used at the carbonate and bicarbonate equivalence points. This method should only be used for samples with an initial pH of 9.2 or less. Above a pH of 9.2, this speciation method will almost certainly fail. This simple speciation method was the speciation method originally used by the Alkalinity Calculator prior to version 2.00 (see below). It was discarded because of its potential shortcomings, but brought back now as an option for those who want to use it from time to time.

The 2.10Tk version is the first stand-alone version of the Alkalinity Calculator. It was written in Perl with the Tk toolkit so that you could use it in the field if you do not have access to the original Internet version of the Alkalinity Calculator. The stand-alone version has exactly the same features and capabilities as the Internet version.

The Tk version is free software and may be downloaded from the Calculator's website at The Tk version was not developed on government time, but it is still free software. It is distributed under the terms of the Free Software Foundation's GNU General Public License.

Documentation for the Alkalinity Calculator was updated, and a Frequently Asked Questions list was added.

In the process of upgrading the software, a small number of rare potential problems were fixed in the code. Please report any problems that you encounter.

2.02 [13-Feb-2002]

Modified the warning message that occurs when the Alkalinity Calculator's acceptance criteria for the carbonate speciation are violated. In such cases, the user is advised to report the carbonate and bicarbonate concentrations only as estimates because the calculated concentrations may not be accurate.

2.01 [30-Aug-2001]

Changed the graph image format from GIF to PNG (Portable Network Graphics). This new format is more efficient and avoids copyright problems with the compression algorithm used in GIFs. Most modern web browsers support the inline display of PNG images. If you experience problems, I apologize for the inconvenience. The best solution is to upgrade your browser.

2.00 [11-Jun-2001]

Major upgrade. The biggest change relates to the calculation of the concentrations of carbonate and bicarbonate. In previous versions, an outdated method was used that was only valid for samples with a pH less than or equal to 9.2. That old method did not account for the titration of hydroxide, and ignored the equilibrium chemistry of the carbonate species.

In this upgrade, the concentrations of carbonate and bicarbonate are calculated from the sample's alkalinity and initial pH (the initial pH is now a required input). This method is valid for a sample with any pH. For more information, read about the Alkalinity Calculator's methods.

This new method of calculating the carbonate speciation allows for some tests to determine when a sample may have a significant amount of non-carbonate alkalinity. Should the titration data fail these tests, a warning message appears with the results.

Calculated concentrations of hydroxide, carbonate, and bicarbonate are now given in both mg/L as well as meq/L units. For USGS users, a page with tips for reporting alkalinity, ANC, carbonate, bicarbonate, and hydroxide concentrations has been created.

1.12 [10-May-2001]

Added an option to the data input form that allows the user to input the titration data in their choice of two formats:
  (a) pH in the 1st column, titrant volume in the 2nd, or
  (b) titrant volume in the 1st column, pH in the 2nd.

Echoed the titration type (digital or buret) to the output.

Added an acid correction factor to the input page. This acid correction factor is commonly used to correct for a manufacturing anomaly in selected lots of Hach acid cartridges [more info]. This option is not meant to be used in any other way. For that reason, the value of this factor must be between 0.8 and 1.2. The default (no effect) value is 1.0.

Corrected a rare error that could occur relative to the conversion of digital counts to milliliters.

Added alkalinity or ANC output in milliequivalents per liter (meq/L) in addition to mg/L as CaCO3.

1.11 [17-Apr-2001]

Modified the inflection point method. Previously, when a maximum change in pH per volume of added titrant occurred between points A and B, the location of the equivalence point was assigned to point B. After this modification, the location of the equivalence point is correctly assigned to the mean titrant volume between points A and B. This was an oversight in the original formulation of the Alkalinity Calculator. Normally, the error incurred by overlooking this subtlety is insignificant; this modification corrects that error.

Also added two more fields to the input form. The stirring method (magnetic or manual) is simply echoed to the output form. In addition, a field was added to indicate if the sample was filtered (yes/no). Filtered samples are reported as alkalinity; unfiltered samples are reported as acid neutralizing capacity (ANC). The various USGS parameter codes for alkalinity and ANC were updated for the tables in the output form. The codes are different, depending on the analysis method used.

1.10 [15-Mar-2001]

Changed a check on the input data -- the program expects the input pH values to fall between -1 and 15. An error is issued if input pH values fall outside this range. Calculations are terminated so that the user can correct any typos in the input. In addition, commas are now allowed as data delimiters, and several changes were made to the code to avoid division by zero.

1.09 [07-Dec-2000]

Added another check on the input data -- the program expects the input pH values to fall between -1 and 15. A warning is issued if input pH values fall outside this range. Calculations are not interrupted, but the warning message may help the user identify a typo in the input.

1.08 [27-Nov-2000]

Changed the method used for estimating the endpoint in the inflection point method when more than one pair of data points produces the same maximum slope. Rather than using the average of the pH of the first and last such points (as was done for versions 1.02 - 1.07), this method now estimates the endpoint using the average of the titrant volumes for the first and last such points. The pH of the point corresponding to that average titrant volume is found through interpolation.

1.07 [14-Nov-2000]

Minor bug fixes for evaluating the results of functions F5 and F6 of the Gran Method.

1.06 [24-Jul-2000]

Minor change -- added a field for the user to enter the expiration date for their acid titrant. This is another field that is echoed to the results page.

1.05 [14-Mar-2000]

Minor fix to prevent a machine precision error in the calculation of the first deriviative of the pH versus titrant volume function.

1.04 [17-Feb-2000]

Miscellaneous minor fixes to make the script graphics more robust.

1.03 [02-Feb-2000]

Fixed a problem that could occur when a non-standard acid titrant concentration was specified. Fixed another problem to avoid the possibility of taking a log of zero.

1.02 [28-Jan-2000]

The algorithm used for the inflection point method was changed slightly. In previous versions, if more than one pair of data points produced the same maximum change in pH per unit of acid added in the region of the expected endpoint, the endpoint pH was set as the first of those points. A better estimate of the endpoint pH would be to use the average of the pH of the first and last such points. That is what is done in this version. The titrant volume at the endpoint pH is interpolated, if necessary.

1.01 [24-Jan-2000]

The pH ranges used for the best-fit method and for the Gran method were modified. In version 1.00, these ranges were fairly rigid and did not account for the expected changes in the endpoint pH due to variations in the total amount of carbonate species in the sample (carbonic acid plus bicarbonate plus carbonate). This version accounts for those variations using estimates of the total amount of carbonate from the inflection point method, and adjusts the pH ranges used for the best-fit and Gran methods accordingly.

In addition, more filters on the input data were created. Duplicate points are deleted, and checks for some typographical errors are in place.

1.00 [14-Jan-2000]

Initial version.

Home | Methods | Speciation Criteria | Reporting Tips
Acid Lot Info | FAQ | Download


Accessibility FOIA Privacy Policies and Notices logo U.S. Department of the Interior | U.S. Geological Survey
Page Contact Information: Stewart Rounds
Page Last Modified: Friday - Jul 5, 2024 at 18:13:48 EDT