STATUS OF PHREEQC PROGRAMS

March 23, 2008: NetpathXL 1.1, PHAST 1.5.1, WPHAST (0.6.1)

March 23, 2008: NetpathXL 1.1, PHAST (1.5.1), WPHAST (0.6.1)

NetpathXL is officially released. NetpathXL uses an Excel spreadsheet for data entry for the program Netpath. Netpath is an inverse geochemical model used to develop mass-balance models accounting for the change in composition between two waters by dissolution and precipitation of minerals and gases. Netpath can be used to account for isotopic evolution of solution compositions and to calculate carbon-14 ground-water ages. Only data entry is changed in NetpathXL; model development and the calculation engine are unchanged from Netpath.

PHAST--a bug with keeping track of surface charge was corrected. This bug seemed to be most significant for the -no_edl option of SURFACEs. WPHAST was changed to be consistent with the latest version of PHAST. See file RELEASE for details.

February 5, 2008--svn 2697: PHREEQC (2.15.0), PhreeqcI (2.15.0), PHAST (1.5.0), WPHAST (0.6.0)

PHREEQC--Changed compilation to be more compatible with Linux systems by using the older hash system. Added parameters for CVODE integration in KINETICS. -bad_step_max bad_steps--the maximum number of times that PHREEQC will invoke CVODE; -cvode_steps steps--the maximum number of steps that will taken during one invocation of CVODE; -cvode_order order--the number of terms in extrapolation of rates. Added options to INVERSE_MODELING to transfer dat and models to NetpathXL (-lon_netpath, -pat_netpath). See file RELEASE for details.

PHAST--Changed compilation to be more compatible with Linux systems by using the older hash system. Added alternate rebalance strategy for parallel processing SOLTUION_METHOD; -rebalance_by_cell T/F. See file RELEASE for details.

November 20, 2007, svn 2411: PHREEQC (2.14.3), PhreeqcI (2.14.3), PHAST (1.4.2), WPHAST (0.5.2)

PHREEQC--Added new parameters to Pitzer formulation, MU and ETA, for uncharged species; also, new option -use_etheta can be used to turn off unsymmetric mixing terms in the Pitzer formulation. PHAST--Modified restart capability. Restart files now are saved as gzip files to minmize file size. Ascii or gzip restart files can be read. Also fixed a bug and rewrote restart file handling to allow restart files to work with larger problems (more cells). Minor bug fixes in all programs.

September 17, 2007, svn 2265: PhreeqcI (2.14.2)

PhreeqcI major bug fix. A bug in memory management was introduced in version 2.14. Version 2.14.0 and 2.14.1 are affected by the error. Please update to PhreeqcI 2.14.2.

September 5, 2007, svn 2227: PHREEQC (2.14.1), PhreeqcI (2.14.1), PHAST (1.4.1), WPHAST (0.5.1)

PHREEQC multicomponent diffusion adjust diffuse layer transport to be charge balanced. Fixed bug in WPhast that did not set chemistry dimensions correctly when reading from an h5 file.

August 30, 2007, svn 2217: PHREEQC (2.14.0), PhreeqcI (2.14.0), PHAST (1.3.4), WPHAST (0.4.6)

This release fixes bugs and updates versions of third-party software. The only new feature is a capability to specify a start time for PHAST simulations; previously, all simulations began at time zero.

PHREEQC--fixed bugs in Multicomponent Diffusion, fixed memory errors for rerunning in PhreeqcI and Phreeqc for Windows, restructured compile options for memory checking and initialization of malloced space, and made code changes to optimize speed of execution.

PhreeqcI--minor updates and bug fixes.

PHAST--Added option for start time other than zero (TIME_CONTROL; -start_time). Updated to HDF 1.6.5 for PHAST (serial and parallel) and Model Viewer. Updated to MPICH2 (1.0.5p2) for Windows parallel version. Fixed several minor bugs.

February 23, 2007: WPhast (0.4.4) (SVN 1813)

Permanent fix to a bug that caused WPhast to crash when defining a river. If a zone (media properties, boundary conditions, or initial conditions) was defined followed by a river definition, a memory error caused the program to stop and all data was lost back to the last "save". The new version fixes the problem. The only work around for versions prior to 0.4.3 is to save often and enter rivers before any zone definitions.

February 22, 2007: WPhast (0.4.3) (SVN 1809)

Fixed a bug that caused WPhast to crash when defining a river. If a zone (media properties, boundary conditions, or initial conditions) was defined followed by a river definition, a memory error caused the program to stop and all data was lost back to the last "save". The new version eliminates the crash, but more work is needed to get to the root of the problem. The only work around for older versions is to save often and enter rivers before any zone definitions.

February 15, 2007: PHREEQC (2.13.3) (SVN 1802)

PHREEQC (batch version) for Windows, Linux, and Unix are released at SVN level 1802. This version includes the phreeqd.dat file that contains diffusion coefficients for multicomponent diffusion. This file was inadvertantly left out of the earlier batch versions of 2.13.

February 1, 2007: PHREEQC (2.13.2), PhreeqcI (2.13.2), PHAST (1.4.2), and WPhast (0.4.2) (SVN 1727)

PHREEQC (batch version) and PhreeqcI (GUI) versions 2.13.2 are released at SVN level 1727. This version fixes bugs in (1) mobile and immobile zone handling of redox element names in multicomponent diffusion, (2) dissolve_only option of EQUILIBRIUM_PHASES with ADVECTION, See release notes for versions 2.13.0 and 2.13.1 below for other updates relative to version 2.12.

PHAST (batch version) version 1.4.2 and WPhast version 0.4.2 are released at SVN level 1727 to include the latest PHREEQC. See release notes below for new features in PHAST and descriptions of the GUIs Gophast and WPhast.

January 16, 2007: PHREEQC (2.13.1), PhreeqcI (2.13.1), PHAST (1.4.1), and WPhast (0.4.1) (SVN 1611)

PHREEQC (batch version) and PhreeqcI (GUI) versions 2.13.1 are released at SVN level 1611. This version fixes bugs in (1) use of GAS_PHASE with the Pitzer model, (2) dissolve_only option of EQUILIBRIUM_PHASES in stagnant zones, (3) a logic error in 2.13 that caused slow execution (results were correct), and (4) oscillations in multicomponent diffusion.

Major new features for 2.13 include (1) 1D transport with multicomponent diffusion; (2) surface complexation with the CD-MUSIC model; and (3) redox reactions have been enabled with the Pitzer model, but no database that uses this capability is included. Details of new features are included in the file RELEASE.TXT in the distribution directory, which is normally a subdirectory of c:\Program Files\USGS\ for Windows versions.

PHAST (batch version) versions 1.4 is released at SVN level 1611 to include the latest PHREEQC. The major new feature for PHAST 1.4 is the capability to write the chemical condition of the domain to a file (PRINT_FREQUENCY; -restart 1 yr), which can then be used to establish initial conditions for subsequent runs (CHEMISTRY_IC; -zone; -solution restart restart_file). The new CD-MUSIC surface complexation features of PHREEQC are available in PHAST (as are all reactions of PHREEQC). Details of new features are included in the file RELEASE.1611 in the distribution directory, which is normally a subdirectory of c:\Program Files\USGS\ for Windows versions.

WPhast 0.4.1 is updated to the latest PHAST (SVN 1611). WPhast is a test version graphical user interface for PHAST written by Scott Charlton. This GUI runs only on Windows computers. The interface is good for developing quick simple models. It does not handle irregularly shaped regions as well as GoPhast. You can generate the .trans.dat file and run PHAST from within the interface. The .chem.dat files can be generated with PhreeqcI, Phreeqc For Windows, or an editor. You must install the batch version of PHAST to be able to use the utilities Model Viewer and PhastHDF, which are useful for any modeling effort with PHAST.

GoPhast is a graphical user interface for PHAST written by Rich Winston. It is available at http://water.usgs.gov/nrp/gwsoftware/GoPhast/GoPhast.html. This GUI will run on Windows or Linux computers. The interface is particularly good at representing irregular regions. It generates the .trans.dat file. You must install the batch version of PHAST to run the model and to install the utilities Model Viewer and PhastHDF. The .chem.dat files can be generated with PhreeqcI, Phreeqc For Windows, or an editor.

November 20, 2006: PHAST, GoPhast, and WPhast

PHAST (batch version) versions 1.4 is released at SVN level 1497. The major new feature for PHAST is the capability to write the chemical condition of the domain to a file (PRINT_FREQUENCY; -restart 1 yr), which can then be used to establish initial conditions for subsequent runs (CHEMISTRY_IC; -zone; -solution restart restart_file). The new CD-MUSIC surface complexation feature of PHREEQC are available in PHAST (as are all reactions of PHREEQC). Details of new features are included in the file RELEASE.1497 in the distribution directory, which is normally a subdirectory of c:\Program Files\USGS\.

GoPhast is a graphical user interface for PHAST written by Rich Winston. It is available at http://water.usgs.gov/nrp/gwsoftware/GoPhast/GoPhast.html. This GUI will run on Windows or Linux computers. The interface is particularly good at representing irregular regions. It generates the .trans.dat file. The batch version of PHAST is necessary to run the model and to install the utilities Model Viewer and PhastHDF. The .chem.dat files can be generated with PhreeqcI, Phreeqc For Windows, or an editor.

WPhast is a test version graphical user interface for PHAST written by Scott Charlton. This GUI runs only on Windows computers. The interface is good for developing quick simple models. It does not handle irregularly shaped regions as well as GoPhast. You can generate the .trans.dat file and run PHAST from within the interface. The .chem.dat files can be generated with PhreeqcI, Phreeqc For Windows, or an editor. The batch version of PHAST is needed to install the utilities Model Viewer and PhastHDF, which will be useful for any modeling effort.

November 20, 2006: PHREEQC, PhreeqcI, rereleased

PHREEQC (batch version) and PhreeqcI (GUI) versions 2.13 are released at SVN level 1497.

Major new features include (1) 1D transport with multicomponent diffusion; (2) surface complexation with the CD-MUSIC model; and (3) redox reactions have been enabled with the Pitzer model, but no database that uses this capability is included. Details of new features are included in the file RELEASE.TXT in the distribution directory, which is normally a subdirectory of c:\Program Files\USGS\.

November 16, 2005: PhreeqcI, PHAST, PHREEQC rereleased

All PHREEQC and PHAST programs were rebuilt for distribution. Several bugs and installation errors have been fixed over the last month. All programs are now at subversion level 669.

October 17, 2005: Phreeqc 2.12-603 Linux, Static link of gmp

PHREEQC Linux version 2.12-603 links Gnu Muliple Precision library statically, which allows users to run without installing the gmp library on their own computer.

October 11, 2005: PhreeqcI Version 2.12-590, Bug Fix

PhreeqcI version 2.12-590 fixes an incorrect message about which solver is used for INVERSE_MODELING.

October 10, 2005: PhreeqcI Version 2.12-587, Bug Fix

PhreeqcI Version 2.12-577 and 581 contained did not include the multiprecision option for inverse modeling. PhreeqcI version 2.12-587 includes the inverse modeling multiprecision capability and the INVERSE_MODELING screen (first tab) allows invoking the option and setting the parameters.

October 5, 2005: PhreeqcI Version 2.12-581, Bug Fix

PhreeqcI Version 2.12-577 contained an error in the Pitzer calculations. The first time a file was run after opening PhreeqcI, results were correct. Calculations in subsequent file runs were incorrect, because of incorrect reinitialization of Chebyschev parameters related to temperature. The batch versions of PHREEQC are unaffected by the problem. The bug is fixed in PhreeqcI version 2.12-581.

October 5, 2005: PHREEQC Version 2.12 for Mac

PhreeqcI Version 2.12-578 for OS X is available for download. This version does not contain the multiprecision solver for inverse modeling.

September 28, 2005: PHREEQC Version 2.12 Released

PHREEQC version 2.12 has been released, including batch versions for Windows and Linux. SunOS versions are no longer distributed, but there should be no problem compiling a batch version of PHREEQC on any Unix operating system.

Version 2.12 includes an implementationof the Pitzer specific-interaction activity coefficient formulation. To use the Pitzer activity coefficients, use the "pitzer.dat" database. All PHREEQC capabilities are available with the Pitzer activity coefficients except the explicit diffuse layer calculation (rarely used). A new keyword PITZER has been added, which is used to define the Pitzer interaction parameters (B0, B1, B2, C0, theta, lambda, zeta, and psi). The only other option in the PITZER data block is -MacInnes T/F, which uses the MacInnis assumption [gamma(Cl-) = gamma(K+)] to scale the individual ion activity coefficients or leaves the individual ion activity coefficients unscaled. The PHREEQC implementation of the Pitzer approach is based largely on the program PHRQPITZ (Plummer, L.N., Parkhurst, D.L., Fleming, G.W., and Dunkle, S.A., 1988, A Computer Program Incorporating Pitzer's Equations for Calculation of Geochemical Reactions in Brines: U.S. Geological Survey Water-Resources Investigations Report 88-4153).

A multiple precision version of routine cl1, cl1mp, has been included in version 2.12 for inverse modeling. Cl1mp uses the Gnu Multiple Precision package (gmp). #Define statements are used to include or exclude this routine when compiling. PHREEQC. By using cl1mp, calculations are carried out to about 30 significant digits. Cl1mp may help in some inverse modeling calculations where roundoff errors are a problem, but it is still possible that roundoff errors will cause cl1mp to fail to find a solution to an optimization problem.

Other modifications and bug fixes for version 2.12 are detailed in the file RELEASE.TXT, which is included in all distributions.

September 28, 2005: PHAST Version 1.2 Released

PHAST Version 1.2 contains PHREEQC 2.12, including Pitzer activity coefficient capabilities. Apart from the updated capabilities of PHREEQC, two major modifications are included in version 1.2.

First, the flow and transport equations are now scaled by row. Scaling avoids some situation where the equations were not solved adequately with the iterative solver. The -tol option of SOLUTION_METHOD should now apply to all equations equally. Its value should be in the range of 1e-8 to 1e-15, but the default value 1e-10 should be adequate in most simulations.

Second, the parallel version has been streamlined. The flow of execution for the root process and the slave (chemistry) processes is now much cleaner. Memory has been optimized so that the slave processes require much less memory and, hence, simulations with larger numbers of nodes are now tractable.

Other modifications and bug fixes are detailed in the file RELEASE.TXT, which is included in all distributions of PHAST.

September 28, 2005: PhreeqcI Version 2.12 Released

PhreeqcI Version 2.12 contains the batch version of PHREEQC, version 2.12. This version of PhreeqcI fixes a bug related to long lines in SOLUTION_SPREAD.

February 14, 2005: PHAST Version 1.1 Released

PHAST Version 1.1 contains only minor modifications relative to version 1.0 (See December 22, 2004 below). Version 1.1 contains PHREEQC 2.11. All source code, make files, and distribution scripts have been saved in the Subversion version control system.

Support for SunOS has been dropped and we no longer distribute a Sun executable. However, it is possible to compile PHAST under the SunOS operating system by making modifications to the Linux distribution src/Makefile.

February 7, 2005: PhreeqcI Version 2.11 Released

PhreeqcI Version 2.11-148 contains the batch version of PHREEQC, version 2.11-136. This version of PhreeqcI has the bug fixes related to PHREEQC version 2.11.

February 7, 2005: PHREEQC Version 2.11 Released

PHREEQC version 2.11 has been released, including batch versions for Windows, Linux, and SunOS.

A new database, minteq.v4.dat has been translated from version 4.02 of MINTEQA2. An older version of the MINTEQA2 database is retained in file minteq.dat.

We started using Subversion for our version control system. The number included in distribution files (for example, "136" in phreeqc-2.11-136.Linux.tar.gz) is the Subversion revision number corresponding to the set of files used to build the current version. Subversion revision numbers change whenever any repository file is changed, so the number uniquely defines all files used in the current version.

Modifications include:

(1)Fixed error in selected output file with mixing reaction. MIX number was written to two columns, should be one.

(2) Fixed memory leak with PAD function.

(3) Modified and rewrote make files for compilation and distribution.

(4) Fixed bug with PRINT; -warnings n. Use of this option generally eliminated all warning messages instead of all messages after the nth. Default number of warning messages printed in now 100 per simulation.

(5) Fixed memory leaks in cvode. These leaks caused phreeqci to crash. New distribution of PhreeqcI is imminent. Now uses PHRQ_malloc in cvode in case of other memory leaks. Also fixed potential memory error with PAD malloc.

(6) Saturation index phases that included water had wrong value if distribution of species, exchange, or surface not written also.

(7) Fixed error message in cvode, if max iterations exceeded the error caused a segmentation fault.

(8) Made printing of parameter combination message a warning message so that it could be turned off.

December 22, 2004: PHAST Version 1.0 Released

PHAST is a 3D reactive-transport simulator that combines PHREEQC with HST3D, a ground-water flow and transport model. PHAST simulates constant-density constant-temperature saturated flow, multicomponent transport, and a full suite of equilibrium and kinetic geochemical reactions. PHAST uses a purely sequential algorithm that solves first flow, then transport of multiple components, and then chemical reactions in each cell of a finite-difference model grid. The sequence is repeated until each transient stress period has been completed.

The released PHAST version 1.0 is now available at http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phast with executables for Windows, Linux, and Sun. Both serial (single processor) and parallel (multiple processor) versions are included in each release package. The simulator has been extensively tested.

Documentation has been published as follows: Parkhurst, D.L., Kipp, K.L., Engesgaard, Peter, and Charlton, S.R., 2004, PHAST--A program for simulating ground-water flow, solute transport, and multicomponent geochemical reactions: U.S. Geological Survey Techniques and Methods 6-A8, 154 p. The PDF version of this report is included in all distributions of PHAST and also is available at http://pubs.water.usgs.gov/tm6a8.

All chemical definitions are identical to PHREEQC and you are referred to the PHREEQC User's manual for documentation, which is included in all distributions of PHAST.

Model Viewer (developed by Paul Hsieh, Richard Winston, and Scott Charlton) is distributed with the Windows version. It provides 2D and 3D visualization of PHAST results that have been written to the HDF output file. Model Viewer has capabilities to slice, rotate, contour, and animate.

PHASTHDF is included in all distributions of PHAST. PHASTHDF is a Java program that extracts data stored in the HDF output file and writes the data to an ASCII file that is suitable for post-processing.

Major Changes from PHAST Version RC3

(1) Flow and transport data files ( prefix .trans.dat ) from version RC3 will not run with PHASTINPUT Version 1.0. The way that time-series data are defined has changed for boundary conditions, wells, rivers, time step, and print frequencies. A sequence of data blocks separated by END keywords is no longer used to define simulation periods. For boundary conditions, all time-varying properties are defined immediately following the -zone definition. Time series for wells are defined immediately following the -pumping/-injection identifier and following the -solution identifier. Time series for a river point are defined by -head and -solution following the definition of the location of the river point (-point). Time series for time step are defined in a single TIME_CONTROL data block. Print frequencies are defined for a sequence of times. At each time, print frequencies for various output files may be redefined.

(2) The handling of the unsaturated zone has changed in free-surface simulations. The unsaturated flow is not simulated, so free-surface calculations still contain major approximations. However, an attempt has been made to avoid some mass-balance errors related to rising and falling water tables. The program now separates the solids in a cell containing the water table into two reservoirs, the saturated and unsaturated reservoirs. As the water table rises, solids are transferred from the unsaturated reservoir to the saturated reservoir. As the water table falls, solids are transferred from the saturated reservoir to the unsaturated reservoir. The main deficiency in this implementation is that solids in the unsaturated reservoirs are removed from the current calculation and do not react with recharge that is, in fact, percolating through these solids. There is also no way to view or print the masses of solids that are in the unsaturated reservoirs.

(3) Mass-balance accounting for reactions has been added and the method for calculating mass-fluxes at boundaries has been changed to be consistent with the selected time-weighting scheme for the finite-difference equations.

(4) The FLOW_ONLY keyword has been replaced with the SOLUTE_TRANSPORT keyword.

(5) Input for rivers has been revised. Each river point location must now be defined with the -point identifier. Default properties have been eliminated. All properties (width, depth, bed thickness, bed hydraulic conductivity, head, and solution composition) are now interpolated. All properties must be defined at the end points of the river. Properties may be defined at additional river points. At the beginning of each simulation period, head and solution properties for river points are updated with any new values and interpolation for head and solution composition is performed for each river segment.

November 2, 2004: PHREEQC version 2.10 Released

PHREEQC version 2.10 has been released, including batch versions for Windows, Linux, and SunOS, and the graphical user interface PhreeqcI. All features of PHREEQC version 2.10, except those related to isotopes (keywords ISOTOPES , NAMED_EXPRESSIONS , ISOTOPE_ALPHAS , ISOTOPE_RATIOS , ISOTOPE_ALPHAS , and CALCULATE_VALUES ). PHREEQC version 2.10 contains only minor bug fixes relative to version 2.9.

Changes in version 2.10 include (1) Rearranged i/o for PHREEQC and reorganized driver subroutine. The object of these changes is to make the program more functional as a module for other programs (PHAST) and eventually to produce a callable C and Fortran module. (2) Fixed a problem with surface related to a phase, when phase was not part of system (for example, Fe(OH)3a when there is no iron in system. (3) Added convergence parameter set that requires mineral transfers to produce positive concentrations in the event that negative concentrations have been produced in the prior Newton-Raphson iteration. (4) Fixed bug with kinetics formulas; did not account for stoichiometric coefficient correctly when using phase names. Generalized to allow multiple phase names in the -formula definition.

October 31, 2004: PHREEQC For Windows 2.9 Released

PHREEQC For Windows version 2.9 was released by Vincent Post. PHREEQC For Windows is an interface to all capabilities of PHREEQC version 2.9, with additional plotting capabilities.

http://www.geo.vu.nl/users/posv/phreeqc/index.html

September 20, 2004: Batch versions of PHREEQC version 2.9 Released

PHREEQC version 2.9 released, including batch versions for Windows, Linux, SunOS, and Mac. PhreeqcI and Phreeqc For Windows have not yet been updated to version 2.9.

New features include:

New keyword COPY that can be used with any reactant that is identified with an index number ( SOLUTION , EQUILIBRIUM_PHASES , EXCHANGE , GAS_PHASE , KINETICS , MIX , REACTION , REACTION_TEMPERATURE , SOLID_SOLUTION , SURFACE) .

Added new Basic functions

b$ = PAD(a$, 20) pads a$ to a total of 20 characters;

i = INSTR(a$, b$) sets i to the character position of string b$ in a$;

b$ = LTRIM(a$) trims white space from beginning of string a$ and stores result in b$;

b$ = RTRIM(a$) trims white space from end of string a$ and stores result in b$;

b$ = TRIM(a$) trims white space from beginning and end of string a$ and stores result in b$.;

Added new Basic function SYS that calculates the to total amount of an element in all phases (solution, equilibrium_phases, surfaces, exchangers, solid solutions, and gas phase). KINETIC reactions are not included. The function has two forms: (1) one element name as an argument (variable names are user specified)

10 tot = SYS("As") the function will return the total arsenic in the system.

(2) 5 arguments

10 tot = SYS("As", count_species, names$, types$, moles) will return the total arsenic in the system to tot; count_species--the number of species that contain arsenic, including solution, equilibrium_phases, surfaces, exchangers, solid solutions, and gas phase species; names$--a character array that has the name of each species; type$--a character array that specifies the type of phase for the species, aq, equi, surf, ex, s_s, gas, diff. Diff refers to the amount of the element in the diffuse layer of a surface when the explicit diffuse layer calculation is used; moles--an array containing the number of moles of the element in the species. The sum of moles(i) is equal to tot. SYS has several special arguments for the form SYS("arg", count, names$, types$, values). Arg is one of the options listed below; count is a single numeric value and is the number of elements in the following arrays; name$ is an array of string values; type$ is an array of string values; values is an array of numeric values. Values of arg: elt_name returns total number of moles of element in system, count is the number of species for the element in the system, including aqueous, exchange, surface, equilibrium_phase, solid solution component, and gas phase "species", arrays are filled for each "species"; values are moles; "elements" returns total number of moles of dissolved elements other than H and O; count is number of elements, valence states, exchangers, and surfaces, arrays are filled for each element and valence state, type is "dis"; exchanger, type is "ex", and surface, type is "surf". Values are moles; "phases" returns saturation indices of all phases; count is number of phases in system, arrays are filled for each phase, values are saturation indices; "aq" returns sum of moles of all aqueous species, count is number of aqueous species in system, arrays are filled with each aqueous species, values are moles; "ex" returns sum of moles of all exchange species, count is number of exchange species in system, arrays are filled with each exchange species, values are moles; "surf" returns sum of moles of all surface species, count is number of surface species in system, arrays are filled with each surface species, values are moles; "s_s" returns sum of moles of all solid solution components, count is number of solid solution components in system, arrays are filled with each solid solution component, values are moles; "gas" returns sum of moles of all gas components, count is number of gas components in system, arrays are filled with each gas component, values are moles.

Added new Basic function, DESCRIPTION, that has the value defined for the description field of the SOLUTION keyword line.

Added alternative ordinary differential equation solver called CVODE, a set of C routines from the Lawrence Livermore National Labs. CVODE is part of the SUNDIALS package. CVODE is used in place of the Runge Kutta method when " -cvode true " is used within a KINETICS data block.

Bug fixes include:

In inverse modeling, program terminates if sum of initial solutions and phases is > 32.

Fixed bug with isotopes. Log activity estimate after initial solution calculation was inf under some conditions. An initial surface calculation failed when using D.

Changed saturation index print out to use reaction and log K defined in PHASES definition. Previously, reaction could be rewritten to predominant redox species.

Fixed incorrect print of elapsed time for kinetics in advection.

Added phrqproto.h prototype file and phrqtype.h for switching compilation to long double.

Fixed incorrect printout of kinetics delta moles with advection.

Added convergence parameter set that skips mineral equations for first 5 iterations.

Added entity_exists for module.

Fixed bug with mix index incorrect (-2) for mixing with kinetics.

Fixed error in SOLUTION_SPREAD , defining -redox did not set the default redox for the solutions that were defined; pe was always used as default.

Modified code to allocate space differently for PHAST: pp_assemblage, exchange, surface, gas_phase, kinetics, and s_s_assemblage. Enough space is allocated,at beginning of distribute_initial_conditions. Speeds up phast initialization and makes better use of available memory.

Changed gfw of water to 18 if isotopes of water are included. Solvent is [1H]2[16O].

Fixed a bug in surface integration where order of ions in the list of g's was incorrect.

Pyrite rate was not 0 if supersaturated in phreeqc.dat and wateq4f.dat .

Segmentation error if a surface species was not defined with an equation that contained another surface species. In this case, the surface master species had been redefined to be an aqueous species ( SOLUTION_SPECIES ).

March 24, 2004: PHAST version RC3 Released

Release Candidate 3 fixes a bug for rivers. If flux and river boundary conditions applied to the top of the grid, the river areas for each cell were not properly accumulated and the program failed.

An implicit method for integration of kinetic reactions has been added to the PHREEQC version that is included in PHAST. This method is more robust for stiff systems of ODE's. The next version of PHREEQC (2.9) will also include this alternative integration method. The implicit method is used when -cvode is included in a KINETICS data block of the chemistry data file, otherwise the usual Runge-Kutta method is used.

Vertical and horizontal transverse dispersivity are now used in place of the single transverse dispersivity that had previously been implemented.

An option, -mask, has been added, which allows the definitions for a zone to be applied to a subset of the elements or cells selected by the zone. A series of 1s and 0s determines the cells or elements to which the definition applies.

Steady-flow calculation now always uses upstream weighting.

PRINT_LOCATIONS allows separate definition of print locations for .O.xyz and .O.chem files.

Fixed bug in head tolerance in steady flow, units were not correctly converted; Changed defaults for PRINT_INITIAL and PRINT_FREQUENCY ; Set water compressibility to zero for all cases, confined and unconfined, which eliminates the error if storage is less than water compressibility alone; Set fluid viscosity to 0.001; Made FLUID_PROPERTIES data block obsolete; Changed "allocate_pressure" to "allocate_head" in WELL data block; Added -save_head and -echo_input identifiers in PRINT_FREQUENCY ; Added logic to determine number of meters below node and above node for well allocation; Fixed bugs in cross dispersion; Fixed all uninitialized variables in Fortran and checked all INTENT statements; it is now an error if the cell horizontal dimension is less than the well-bore diameter; Made it an error if any print frequency is less than the time step; Fixed nodal velocity calculation for edges of excluded zones; Fixed logic related to an inactive cell above a free surface; Finished implementing single log file; Made print controls more uniform; Changed algorithm for multiple river segments with different bottom locations, hydrostatic location of water table; Fixed bugs with merging files with MPI (parallel version); MPI algorithm for printing sends one message per processor instead of one message per cell; Fixed memory leak with exchange under some conditions; Added alkalinity to .xyz.wel file; Minimized reallocation of space when rebalancing; Changed allocation of space for cells so that memory would not be as fragmented; Implemented optional compilation with long double type for all of PHREEQC; Updated to latest PHREEQC: -cvode integration for KINETICS , SYS Basic function, string functions for Basic, COPY keyword; Added digits to current time in printouts, g3 not enough; Added digits to timchg in Phast.tmp, needs to be same as number of digits as for print frequencies.

February 3, 2004: PHREEQC version 2.8 for Mac OS X Released

PHREEQC version 2.8 has been ported to MacIntosh OS X. The archive and installation notes are available from the web page http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc. (PHREEQC version 2.6 is the latest version available for OS 9.)

April 15, 2003: PHAST version RC2 Released

Release Candidate 2 fixes a major bug for wells in heterogeneous aquifers. The flow rates to or from wells was not distributed correctly for layers with different hydraulic conductivities.

The implementation of cross dispersion was corrected to account for non-uniform grids.

Other minor bug fixes and enhancements: Allow longer file names, check for overflow of field. Includes PHREEQC version 2.8. Some mass-balance variables were initialized twice. Slight modification to keep better mass balance on water by ensuring that 1 kgw is transported. Modified phastinput to make more consistency checks on data--Check that print frequency >= time step; Use 20 place for heads and other properties in Phast.tmp to avoid slight variations in linear boundary conditions; Removed flow_only and steady_flow options from steady_flow keyword data block; Added warning if crosd == FALSE and alphal != alphat. Added PHAST as a separate state in the PHREEQC calculations, corrected error when transport was run as part of the PHREEQC calculations in phast. Revised and added error message for case where water table is below fixed head cell. Added alkalinity to .xyz.wel file.

April 15, 2003: Mail Archive

http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc/mail/index.html. Web page now has searchable archive of hundreds of email questions and answers accumulated over the past 2 years. This archive augments the questions and answers included in the FAQ.

April 15, 2003: PHREEQC 2.8 and PhreeqcI 2.8 Released

PHREEQC version 2.8 is included in PHAST RC2.

Arsenic data in wateq4f.dat were updated on the basis of Archer and Nordstrom (2002).

Version 2.8 fixes minor bugs in PHREEQC and PhreeqcI. Revised Basic interpreter to allow lines of any length and character strings of any length. Renumbering basic statement that included the function SURF in PhreeqcI caused SURF to be omitted and generated a syntax error. SURF and other functions had not been implemented in PhreeqcI. Fixed a bug in the Basic Interpreter. If elements of a dimensioned variable (character or number) were used on both sides of an equation, the result was erroneously stored in the last element of the variable used on the right-hand side instead of the element specified on the left-hand side. Using comma in some fields caused an infinite loop. Fixed bug with SOLUTION_SPREAD, Phreeqc was not calculating solution numbers for SOLUTION_SPREAD solutions without solution numbers. Fixed bug with stagnant zone calculations. If solutions not defined for stagnant cells, PhreeqcI crashed. Added new state for calculations, PHAST. Previously phast used the state TRANSPORT, which caused some erroneous results with temperature when TRANSPORT was used in the PHREEQC part of the calculation. Trying to define dump file in TRANSPORT caused a file opening error. Fixed logic so now can open a file and the name can include blanks.

March 10, 2003: PHREEQC 2.7.1 Released

Version 2.7.1 fixes minor bugs in the interface. Fixed bug with SOLUTION_SPREAD, PhreeqcI was not calculating solution numbers for SOLUTION_SPREAD solutions without solution numbers. PHREEQC may not set the correct solution for reaction calculations in this case. Fixed bug with stagnant zone calculations; if solutions were not defined for stagnant cells, PhreeqcI crashed. Defining a dump file in TRANSPORT caused a file opening error; fixed logic so now can open a file and the name can include blanks.

February 14, 2003: PHREEQC 2.7 and PhreeqcI 2.7 are Released

Version 2.7 fixes a significant bug when using TRANSPORT and KINETICS . The rate equations were not always integrated for the correct period of time.

Version 2.7 contains major revisions to implement isotopic calculations in PHREEQC. In PHREEQC, isotopes are considered as separate components, separate "elements" if you will. Calculations are done in terms of molality, but traditional isotopic units (permil, percent modern carbon, TU, pCi) are used for input and results are printed in molality and traditional units. Isotopes in solids are calculated as solid solutions. The database iso.dat has the definitions for a minimal aqueous model that contains 12C, 13C, 14C, H, D, T, 16O, and 18O. Sulfur and nitrogen isotopes may be added in the future. The approach is different from the traditional approach of fractionation factors and postprocessing phase transfers to calculate isotopic compositions, so you may choose not to use it.

Documentation of the input for isotopic calculations is available in Thorstenson, D.C., and Parkhurst, D.L., 2002, Calculation of individual isotope equilibrium constants for implementation in geochemical models: U.S. Geological Survey Water-Resources Investigations Report 02-4172, 129 p. The abstract and PDF file can be downloaded from http://water.usgs.gov/pubs/wri/wrir02-4172.

New keywords

CALCULATE_VALUES --This keyword data block is used to define Basic programs for the calculation of quantities that can be printed to the output file or used in other Basic programs for PHREEQC. The primary use of the data block is to define the calculation of arbitrary isotope ratios and isotope fractionation values. Normally, this data block is included in the database file and only additions and modifications are included in the input file.

ISOTOPES --This keyword data block is used to define the names, units, and absolute ratio of the standard for individual minor isotopes. By convention in PHREEQC, the major isotope of an element is given the element name and is defined in SOLUTION_MASTER_SPECIES , all other isotopes are defined in the ISOTOPES and SOLUTION_MASTER_SPECIES data block. Normally, this data block is included in the database file and only additions and modifications are included in the input file.

ISOTOPE_ALPHAS --This keyword data block is used to print a data block in the output file that compares calculated isotopic ratios to experimental isotopic ratios, from which the equilibrium constants of the isotope model were derived. Fractionation values (alphas) are ratios of isotopic ratios that describe the amount of isotopic fractionation between phases and between aqueous species. Normally, this data block is included in the database file and only additions and modifications are included in the input file.

ISOTOPE_RATIOS --This keyword data block is used to print a data block to the output file of (1) the absolute ratio of minor isotope to major isotope for each minor isotope and (2) the ratio converted to standard measurement units. Normally, this data block is included in the database file and only additions and modifications are included in the input file.

NAMED_EXPRESSIONS --This data block was implemented to facilitate isotopic calculations. It allows analytical expressions that are functions of temperature to be defined and referenced by name. The purpose is to separate fractionation factors from log Ks, so that the fractionation factor or its temperature dependence can be easily modified. A named expression can be added to the log K for a species or phase by the -add_logk identifier in SOLUTION_SPECIES , EXCHANGE_SPECIES , SURFACE_SPECIES , or PHASES data blocks. Normally, this data block is included in the database file and only additions and modifications are included in the input file.

New identifiers

-add_logk has been added to allow named expressions to be summed in the calculation of log K values. The option may be used in EXCHANGE_SPECIES , SOLUTION_SPECIES , and SURFACE_SPECIES data blocks.

-add_constant has been added to allow constant values to be summed in the calculation of log K values. The option may be used in EXCHANGE_SPECIES , SOLUTION_SPECIES , and SURFACE_SPECIES data blocks.

PRINT keyword: -initial_isotopes T/F; -isotope_ratios T/F; -isotope_alphas T/F; -censor_species 1e-8.

SELECTED_OUTPUT keyword: -calculate_values name1 name2 ...; -isotopes minor_isotope1 minor_isotope2 .... .

New Basic functions

 

Special PHREEQC
statement or function

Explanation

CALC_VALUE("R(13C)_CO2(aq)")

Result of executing named Basic program that has been defined in CALCULATE_VALUES data block.

LK_NAMED("Log_K_HCO3-")

Log10 of K for an expression evaluated at the current temperature as defined in the NAMED_EXPRESSION data block.

LK_PHASE("Calcite")

Log10 of K for a phase at current temperature as defined in PHASES data block.

LK_SPECIES("Log_K_HCO3-")

Log10 of K for a species at current temperature as defined in SOLUTION_SPECIES , EXCHANGE_SPECIES , or SURFACE_SPECIES data block.

SUM_GAS("{H,D,T}2[18O]", "[18O]")

Sum of element in gases with specified template. This example sums the moles of oxygen-18 in all isotopic forms of water containing oxygen-18 in the GAS_PHASE .

SUM_SPECIES("*{H,D,T}C{O,[18O]}3*", "C")

Sum of element in aqueous, exchange, and surface species with specified template. This example sums the carbon-12 in all isotopic forms of bicarbonate containing carbon-12.

SUM_S_S("Calcite", "[18O]")

Sum of element in a specified solid solution. This example sums the oxygen-18 in all isotopic forms defined in the solid solution "calcite."

Bug fixes

Initialized gfw in elements structure. Avoids error in PhreeqcI.

Fixed bug where "time" would be wrong for initial solution calculation. Needed to initialize rate variables for PhreeqcI.

Added print of simulation number to error file for PhreeqcI.

Limited printing of cell numbers to output file in advection calculations. Cell numbers only printed if results for cell are going to be printed.

PhreeqcI captured status messages for kinetics, which made a very large error file in some cases and a long wait to view the output file in PhreeqcI. Now PhreeqcI does not capture these intermediate status messages.

Removed old code related to redirecting error file

Corrected error in transport where wrong time step was used for integration.

Changes to speed up transport algorithm.

Allow file names with spaces in selected_output file name and dump_file name.

Modifications to work with RC1 phast log file.

Allow any characters in square brackets for element name.Previously, - and + and perhaps others caused problems.

Fixed log molality of water in species printout, was equal to log activity of water. Also fixed basic function for LM.

Changed solid solution prints to print 0 if solid solution is not present.

Fixed bug if no rate name was defined before options in RATES.

Fixed warning on Mac compilation in fpunchf.

Fixed bug if isotopes were used but H and O isotopes were not defined.

Fixed bug where special initial solution calculations were done at later calculation stages. Needed to set initial_solution_isotopes = FALSE.

Fixed problem in C++ if structure name is same as member name. logk member of logk structure was renamed to log_k.

December 17, 2002: Release Candidate version of PHAST RC1-2 for Windows

A couple bugs in the Windows installation were fixed. A shortcut was added for phastexport, and several .jar and .dll files for phastexport, which were missing in the original RC1-1, were added to the installation.

November 27, 2002: Release Candidate version of PHAST.

PHAST is in the final stages of testing and documentation. The program has thoroughly tested and debugged. The current version (RC1) will be the release version with modifications to correct any bugs found during this beta testing period. No additional features are planned for the initial release. The following changes have been made to PHAST relative to version 0.3 released in August, 2001:

(1) A few keyword data blocks for the flow and transport data file have been added or changed. Current data input definitions are available in the file phast.pdf in the doc directory of the installation.

(2) Installation of PHAST is now simplified by using InstallShield (Windows) and RPM (Linux and Sun).

(3) Scripts (Unix and Windows) have been written to automate the running of phastinput and phast.

(4) The HDF file is now written directly while running phast; previously, the HDF file was produced from a "selected-output" file by ModelViewer.

(5) The HDF file now contains information on boundary cells (specified head, leaky, flux, river, and well), which can be visualized by ModelViewer.

(6) Flow vectors at nodes are now calculated and may be written to the HDF file and visualized.

(7) The output files have been simplified to two main formats: ".O" files can be viewed in an editor and usually contain data formatted in 2D slices, and ".xyz" files contain data for a single cell on a single line (each line contains x, y, z, time, a wet/dry flag, followed by data); .xyz files are suitable for spreadsheets and other post processing.

(8) A Java program, phastexport, allows selected data from the HDF file to be extracted and written to a file in .xyz format for postprocessing. Thus, most data can be stored in and retrieved from the HDF file, minimizing the need for writing .O and .xyz files.

(9) Several log files have been merged or eliminated; all errors, warnings, input echoing, and log messages are directed to the file prefix.log.

(10) Problems with multilayer rivers have been corrected.

(11) Numerous bugs have been fixed.

(12) MPI (LAM and MPICH) has been used to parallelize PHAST. Test versions of the parallel program are available on a limited basis by contacting David Parkhurst (dlpark@usgs.gov). No support will be provided for installing, debugging, or invoking MPI on your system.

May 31, 2002: PhreeqcI 2.6.0.1 released.

Bug fixes: (1) a bug that affected the thermodynamic data keyword screens ( PHASES , XXX_MASTER_SPECIES , and XXX_SPECIES ); one of the controls was misplaced for some graphics cards (we think). (2) Also fixed a logic error that mixed up the fields in SURFACE_MASTER_SPECIES . (3) Fixed a bug in SOLUTION_SPREAD that did not interpret multiple empty fields correctly on the header line.

May 15, 2002: PhreeqcI 2.6.0.0 released.

PhreeqcI is a complete Windows-based graphical user interface to the geochemical computer program PHREEQC (Version 2). PhreeqcI can be used interactively to perform all the modeling capabilities of PHREEQC--speciation, batch-reaction, one-dimensional (1D) reactive -transport, and inverse modeling. Data for PhreeqcI may be read from a PHREEQC input file, entered through a line editor, or entered through screen-driven input. Each keyword data block of PHREEQC has a corresponding input screen with tabbed panes for input of all data related to the keyword. Balloon help is available for all buttons; when a data field receives the focus, a description of the data field appears at the bottom of the screen; and the complete PHREEQC version 2 manual is available through the help menu.

April 22, 2002: PHREEQC 2.6 released.

This release includes only minor additions and bug fixes relative to version 2.5. The upcoming release of PhreeqcI will use this version of PHREEQC.

Changes in version 2.6 include: (1) All selected-output is routed through a single routine. (2) Underscores "_" are allowed inside square brackets, [A_bcd] for element definitions. (3) Fixed bug match_elts_in_species, check for "e-" was wrong. (4) Modified minteq.dat to put CuS4S5-3, Cu(S4)2-3 in Cu(1) mole balance equations instead of Cu(2). Before the change, the program would not converge if Cu(2) were defined in an initial solution. (5) Revisions to improve SOLID_SOLUTIONS convergence with small numbers of moles of solids. (6) Made changes related to dump file and PhreeqcI. (7) Printed number of iterations, now sums iterations in all kinetics calculations. (8) Fixed bug with LA("H2O"), which was returning natural log of activity of water.

October 18, 2001: PhreeqcI RC1 (Release Candidate 1) released.

PhreeqcI is now complete and available for final testing. All design features have been implemented and screen-driven input for all keyword data blocks is available. PhreeqcI RC1 is based on PHREEQC version 2.5. This version of PhreeqcI is expected to be the last version before the official release of the program.

October 18, 2001: PHREEQC 2.5 released.

This release includes only minor additions and bug fixes relative to version 2.4.2. A feature has been added to allow elements to be defined using brackets ("[]").

Changes in version 2.5: (1) In llnl.dat, fixed sign errors in REE (rare earth elements) for some redox reactions and removed some redundant species, generally ReeO2- was retained and Ree(OH)4- was removed. (2) Added the capability to use square brackets to define an "element" name. The brackets act like quotation marks in that any character string can be used within the brackets as an element name. This was introduced to simplify expansion of the model to isotopic species. [13C], [14C], and [18O] are legal element names. (3) Added identifier -activity_water for a species in SOLUTION_SPECIES data block. This identifier has been added for future updates that will allow isotopic calculations. It is intended to be used only for isotopic variations of H2O, like D2O or H2[O18]. It forces the activity coefficient for the species to be activity(water)/55.5. This effectively sets the activity of the species to the mole fraction in solution. (4) Fixed bug in checking solid solutions for presence or absence of elements in the system. Programming error caused segmentation fault if an error was detected under certain conditions. (5) Changed return value of MOL to be molality of water if argument is "H2O". Also changed return value of LA to be activity of water if argument is "H2O". (6) Diffuse layer calculation was incorrect if aqueous phase did not have 1 kilogram of water. Eq. 74 of manual has molality, but code used moles. The code was corrected by adding the mass of water to the formulation. (7) Stagnant zones with first-order exchange approximation (1 stagnant cell, exchange factor, and porosities defined) did not work correctly if mobile and immobile cells did not have equal volumes of water. The mixing factors were revised to account for the masses of water in the stagnant and mobile zones. (8) A fatal error was erroneously detected if the database file had a DATABASE data block. DATABASE data block is now ignored while reading the database file. (9) Added identifier -bad_step_max to KINETICS data block. An integer following -bad_step_max gives the maximum number of times a rate integration may fail before execution of the program is terminated. Default is 500.

October 18, 2001: llnl.dat version 1.11.

Sign errors in log K were fixed for redox reactions for some rare earth elements (REE). Some redundant REE species were removed, generally ReeO2- was retained and Ree(OH)4- was removed.

August 3, 2001: PHAST beta test version 0.3 is posted; FREE_SURFACE error is corrected

PHAST is a 3D reactive transport model that combines PHREEQC with HST3D, a ground-water flow and transport model. Capabilities are limited to constant density, constant temperature flow plus a full suite of reaction capabilities. PHAST uses a purely sequential algorithm that solves first for the transport of multiple components, reacts each cell of the domain by using PHREEQC, and then repeats transport and reaction until each transient stress period has been completed.

New executables for PHASTINPUT and PHAST have been compiled and placed on the net. The new versions include the following enhancements: A new keyword data block, PRINT_LOCATIONS , allows selected cells to be printed to the selected-output file. The STEADY_FLOW capability, which allows an initial flow-only calculation to achieve a steady-state flow condition, has been thoroughly revised. Print control has been revised to be more consistent and to give more flexibility in selecting data to be printed to output files. The methods for handling multiple RIVER s (or river segments) within a single cell has been revised, the previous method caused unreasonable flows from one segment to another within the same cell.

The revised code contains many corrections and refinements. The error in the free-surface transport calculation (noted June 1 and at the time of release of PHREEQC version 2.4.2) has been fixed. Other bug fixes are the result of testing and comments by users.

Documentation for the flow and transport input is provided in a PDF file distributed with PHAST. All chemical definitions are identical to PHREEQC and you are referred to the PHREEQC User's manual for documentation.

ModelViewer (developed by Paul Hsieh and Scott Charlton), which runs on Windows, is available for viewing 2D and 3D PHAST results that have been written to a selected-output file. Capabilities to slice, rotate, contour, and animate are included. Anyone willing to test the code can write to dlpark@usgs.gov.

August 3, 2001: PHREEQC (or PHAST) data base, organic ligands and trace elements:

A database with special emphasis on organic compounds and ligands, and Co and Mo has been developed for PhreeqC by Martin Mkandawire at the Institute of General Ecology and Environmental Management, Dresden, Germany. The institute is interested in the speciation of uranium and the daughter elements in natural systems and in relation to nutrition.

The database is derived from compilations of thermodynamic data, including Minteq, PhreeqC, Chess, published sources like Janaf Thermodynamic Tables (3rd Edition), and others.The database is available for your comments and evaluation.

Please contact mkanda@frsws10.forst.tu-dresden.de, Martin Mkandawire (PhD Fellow in Remediation of Radioactive Contamination), Institute of General Ecology and Environmental Management, Dresden University for Technology, 01737 Tharandt, Germany.

July 9, 2001: PHREEQC for Windows (1.5.04), Graphical User Interface for PHREEQC 2.4.2 is released:

PHREEQC for Windows has been updated to the latest version of PHREEQC (2.4.2).

June 29, 2001: PhreeqcI, Graphical User Interface for PHREEQC 2.4.2 (2015) is released:

Screen input for most keyword data blocks has been completed. Currently all keyword data blocks except for thermodynamic data ( _MASTER_SPECIES , _SPECIES , PHASES ) have screens to guide input. Even though screen input is not available for a few data blocks, files using all features of version PHREEQC 2.4 may run either by opening an input file or entering lines through the line editor in the interface. The current version offers expanded cut and paste features, which is especially useful for importing data from a spreadsheet into the SOLUTION_SPREAD data block.

June 15, 2001: PHREEQC 2.4.2 is released

This release fixes a few bugs related to SOLUTION_SPREAD. See June 1, 2001 entry for description of version 2.4 relative to 2.3.

June 1, 2001: ERROR in PHAST

PHAST has a serious bug related to transport when a free-surface boundary condition is used. A new version will be released as soon as possible. However, in the interim contact dlpark@usgs.gov to get an intermediate version that has the bug fixed.

June 1, 2001: ERRORS corrected in LLNL.DAT

Enthalpies of reaction (-delta_H) have been corrected in llnl.dat released with PHREEQC version 2.4. The previous release (PHREEQC 2.3) erroneously had enthalpies of formation in the -delta_H parameter; the values should be enthalpies of reaction. Enthalpies of reaction were calculated from the enthalpies of formation and these values are now included in the -delta_H parameter. This change has little impact on most calculations because the analytical expression has precedence over -delta_H in calculating temperature dependence of log K. Nearly all species and minerals have an analytical expression or lack both an analytical expression and an enthalpy of reaction.

June 1, 2001: PHREEQC 2.4 is released

This release includes only minor additions and bug fixes. A new identifier, -warnings , in the PRINT data block limits the number of warning messages that are printed. The function CELL_NO in Basic programs now prints the solution numbers for initial solution and reaction solution calculations. Databases phreeqc.dat and wateq4f.dat have been modified slightly for surface complexation of Fe and the in the rate definition for calcite.

Changes: (1) Added internal structure for spreadsheet for use by PhreeqcI. (2) Isotope value initialized incorrectly if -uncertainty was defined in SOLUTION_SPREAD . (3) Fixed segmentation violation when primary and secondary master species were defined improperly. (4) Corrected enthalpies of reaction in llnl.dat. (5) Corrected bugs in printing of solid-solution components. Both selected output and output file had errors; the moles of the components were incorrect in selected output, and total moles of all components and mole fraction were incorrect in output file. (6) Added surface complexation constants for Fe+2; two complexes for weak sites and one complex for strong sites; phreeqc.dat and wateq4f.dat modified. (7) Comment for units of parameters for calcite rate equation was wrong. Rate equation now uses cm 2 /L for area parameter. Previously the correct units would have been 1/decimeter; phreeqc.dat and wateq4f.dat modified. (8) Fixed a bug when rates were equal within tolerance, but negative concentrations occurred because of small initial concentrations. (9) Added -warnings to PRINT keyword for specification of maximum number of warnings to print. Negative number allows all warnings to be printed. (10) Function CELL_NO in Basic now prints a number equivalent to -solution in SELECTED_OUTPUT data block. This does not change printing for ADVECTION or TRANSPORT calculations. (11) Kinetics time is halved for advective part of reaction in transport; time incorrectly accounted for before. (12) -punch_ identifiers printed -1 instead of the correct solution number for batch-reaction calculations. (13) -high_precision is no longer reset to false with every SELECTED_OUTPUT data block. (14) SELECTED_OUTPUT file name stored for use by PhreeqcI. (15) Alkalinity for NH3 corrected to 1.0 in llnl.dat. (16) Fixed bug with USER_PRINT of kinetics. Did not find correct kinetics information in some cases. (17) Fixed bug in default values for SOLUTION_SPREAD . Defining a phase name and SI for pH or pe caused PHREEQC to fail to run. Now PHREEQC runs, but warns that this is not allowed.

February 21, 2001: ERRORS in LLNL.DAT

The "delta_H" values in LLNL.DAT are inadvertently enthalpies of formation. These values are incorrect because they should be enthalpies of reaction. Virtually none of the delta H values for aqueous species are used because the species have analytical expressions or the delta H is 0.0 and has no effect on the log K. The analytical expressions supersede the use of delta H in the Van't Hoff expression and delta H of zero implies no temperature dependence data are available. However, many aqueous species lack both delta H (delta H = 0) and analytical expressions, which means the log K's have no temperature dependence whatsoever. This situation is inherited from the original LLNL data and we have made no attempt to address this deficiency. About 80 minerals have erroneous delta H values that are used and will affect calculations at temperatures other than 25 C. To check whether a mineral of interest falls in this category, look in LLNL.DAT for the mineral; if it has a nonzero delta_H and no analytical expression, then the temperature dependence of the log K will be incorrect. We will correct the delta H information in LLNL.DAT as soon as possible.

February 21, 2001: PHAST--3D Reaction Transport Model, Beta Test Version 0.2

PHAST combines PHREEQC with HST3D, a 3D ground-water flow model. Only constant density, constant temperature flow is included. PHAST uses a purely sequential algorithm that solves first for the transport of multiple components, reacts each cell of the domain by using PHREEQC, and then repeats transport and reaction until the total time of simulation has been reached.

New executables for PHASTINPUT and PHAST have been compiled and placed on the net. The new versions include a few enhancements, but mainly are the result of bug fixes generated by more systematic testing by hand calculations, and comparison to analytical solutions and published results for transport and reactive transport problems. A new feature to calculate steady-state flow and use those velocities for all transport calculations is very preliminary and has not been tested completely and will undergo some further enhancement. Another new feature allows grid refinement by overlaying additional nodes on a uniform (or nonuniform) grid. Documentation for the flow and transport input is provided in a PDF file distributed with PHAST. All chemical definitions are identical to PHREEQC and you are referred to the PHREEQC User's manual for documentation.

February 21, 2001: ERRORS in LLNL.DAT

The "delta_H" values in LLNL.DAT are inadvertently enthalpies of formation. These values are incorrect because they should be enthalpies of reaction. Virtually none of the delta H values for aqueous species are used because the species have analytical expressions or the delta H is 0.0 and has no effect on the log K. The analytical expressions supersede the use of delta H in the Van't Hoff expression and delta H of zero implies no temperature dependence data are available. However, many aqueous species lack both delta H (delta H = 0) and analytical expressions, which means the log K's have no temperature dependence whatsoever. This situation is inherited from the original LLNL data and we have made no attempt to address this deficiency. About 80 minerals have erroneous delta H values that are used and will affect calculations at temperatures other than 25 C. To check whether a mineral of interest falls in this category, look in LLNL.DAT for the mineral; if it has a nonzero delta_H and no analytical expression, then the temperature dependence of the log K will be incorrect. We will correct the delta H information in LLNL.DAT as soon as possible.

February 21, 2001: PhreeqcI, Graphical User Interfaces for PHREEQC, Alpha test version 2011, released

The screens for INVERSE_MODELING have been revised.

January 2, 2001: PhreeqcI, Graphical User Interfaces for PHREEQC, Alpha test version 2010, released

A new overall structure of the interface allows multiple input and output files within the input tree and output tree. The tree for output files locates specific output blocks with a click of the mouse and avoids scrolling through the entire output file to find selected information. Currently, screen-driven input and editing is available for the following keywords: EQUILIBRIUM_PHASES, EXCHANGE, GAS_PHASE, SOLID_SOLUTION, SOLUTION, SURFACE, USE, END, MIX, REACTION, REACTION_TEMPERATURE, SAVE, RATES, INVERSE_MODELING, KINETICS, TITLE, PRINT, USER_PRINT, and USER_PUNCH.

PHREEQC version 2.3 is implemented and, although screen input is not available for all keywords, all features of PHREEQC version 2.3 may be run within the interface, either by importing an input file or by adding keywords within the line editor of the interface.

Screen input is not yet available for ADVECTION, TRANSPORT, SOLUTION_SPREAD, LLNL_AQUEOUS_MODEL_PARAMETERS, INCREMENTAL_REACTIONS, KNOBS, SELECTED_OUTPUT, SOLUTION_MASTER_SPECIES, SOLUTION_SPECIES, EXCHANGE_SPECIES, EXCHANGE_MASTER_SPECIES, SURFACE_SPECIES, SURFACE_MASTER_SPECIES, and PHASES.

January 2, 2001: PHREEQC 2.3 is released

New database developed from the Lawrence Livermore National Lab thermodynamic data by Greg Anderson that is consistent with EQ3/6 and Geochemist's Workbench. Added new keyword DATABASE. It must be the first keyword in the input file. The character string following the keyword is the pathname for the database file to be used in the calculation. The file that is specified takes precedence over any default database name, including environmental variable PHREEQC_DATABASE and command line arguments. (2) Fixed bug in SOLUTION_SPREAD. If first heading in the spread-sheet input was an identifier--pH, pe, units, etc.--then the headings were interpreted as an identifier and bad things happened. (3) Added new keyword to make aqueous model similar to LLNL and Geochemists Workbench when using llnl.dat as the database file. Values of Debye-Hückel a and b and bdot (ionic strength coefficient) are read at fixed temperatures. Linear interpolation occurs between temperatures. (4) New options for SOLUTION_SPECIES are -llnl_gamma a, where a is the ion-size parameter. -co2_llnl_gamma, indicates the temperature dependent function for the bdot term given in -co2_coefs of LLNL_AQUEOUS_MODEL_PARAMETERS will be used. Applies to uncharged species only. (5) Fixed bug in basic interpreter. A number like "..524" would cause an infinite loop. (6) Added function SURF to Basic. SURF("element", "surface") gives the amount of element in the diffuse layer for "surface". "surface" should be the surface name, not the surface-site name (that is, no underscore). (7) Fixed option to "runge_kutta" from "runge-kutta" to match documentation for KINETICS. (8) Fixed UO2+2 and Mn+2 reaction stoichiometry for Hfo surface complexation in wateq4f.dat. (9) Added option for an equilibrium-phase to dissolve only. "dis" is added at the end of a line defining an equilibrium- phase. No data fields may be omitted. Should not be used when adding an alternative reaction. (10) R-K integration failed when only the final rate generated negative concentrations. (11) Allow decimals in definition of secondary master species, for example S(0.3). (12) Fixed bug if description was more than about 85 characters; now allows about 400 characters. (13) Fixed bug for surface/exchange sites related to phases. Was checking internal copies of surfaces/exchange with negative numbers. (14) Fixed bug in quick prep that did not set the correct pointer for gas phases. (15) Fixed segmentation fault that occurred if all elements for phase-boundary mineral were not in the solution. Only applied to a phase used to define concentration in an initial solution calculation. (16) Added option to eliminate echo of input file in PRINT data block. -echo_input T/F turns echoing on and off. Default is on.

March 6, 2000: PhreeqcI, Graphical User Interfaces for PHREEQC, Alpha test version 0.39, released

Additional keyword screens include MIX, REACTION, REACTION_TEMPERATURE, SAVE, TITLE.

March 1, 2000: PHREEQC 2.2 is released

Changed distribution to be more consistent with other USGS water-resources applications, with addition of additional informational files. PDF file is now in compressed format.

Fixed bug in MIX if no solutions are defined. Changed printout for surface. Only gives net surface charge for diffuse layer calculation. Prints correct value for the surface charge and surface charge density for diffuse-layer calculation. Added function EDL to Basic. EDL("element", "surface") gives the amount of element in the diffuse layer for "surface". "Surface" should be the surface name, not the surface-site name (that is, no underscore). Special values for "element" include: "charge" - gives surface charge, equivalents. "sigma" - surface charge density, C/m**2. "psi" - potential at the surface, Volts. "water" - mass of water in the diffuse layer, kg.

January 19, 2000: PHREEQC 2.1 is released

Fixed problem with formats for USER_PUNCH and some other formats because of Microsoft C++ 3 digit exponents. Added additional #ifdef's for PhreeqcI.

December 15, 1999: PHREEQC 2.0 is released on the web

The User's Guide, which includes theory, description of input, and 18 examples has been revised following final editorial review. The final documentation in PS, PDF, and HTML formats is available on the web. Camera-ready copy is being sent to the printer. The released version number is 2.0. All features for the release version have been implemented and all known bugs have been fixed.

The version for Win9x and WinNT has been packaged with InstallShield for easy installation. A batch script facilitates running the program from any directory. The use of an optional environmental variable ( PHREEQC_DATABASE ) has been added to simplify switching among databases.

The version for Unix is distributed as a compressed tar file. Executables for Linux and SunOS are distributed; the code can be compiled for other platforms using the Makefile in the src directory. A batch script (installed using make install in the src directory, see manual for details), facilitates running the program from any directory. The use of an optional environmental variable ( PHREEQC_DATABASE ) has been added to simplify switching among databases.

New features in PHREEQC version 2 relative to version 1 include capabilities to simulate dispersion (or diffusion) and stagnant zones in 1D transport calculations; to model kinetic reactions with user-defined rate expressions; to model the formation or dissolution of nonideal binary or ideal multicomponent solid solutions; to model fixed volume gas phases in addition to fixed pressure gas phases (bubbles); to allow the number of surface or exchange sites to vary with the dissolution or precipitation of minerals or kinetic reactants; to include isotope mole balances in inverse modeling calculations; to try multiple sets of convergence parameters; to print user-defined quantities to the output file and (or) to a file suitable for importation into a spreadsheet; and to define solution compositions in a format more compatible with spreadsheet programs. The imbedded Basic interpreter has been enhanced to allow user-controlled storage of model quantities, which changes greatly extends the possibilities of interaction between the model and the modeler.

All distributions contain complete documentation in PDF and PS formats, executable (Win32, Linux, SunOS), examples, and source code. Versions are available "as is" with no warranty of correctness of calculations. Send any comments or bug reports to dlpark@usgs.gov.

December 15, 1999: Vincent Post's PHREEQC for Windows

Vincent Post has developed PHREEQC for Windows, which is available at http://www.geo.vu.nl/users/posv/phreeqc.html. This interface to PHREEQC version 2 allows selection of keywords and options that are added to the internal text editor, where the input file is built. The calculation may be run and the output viewed without leaving the interface. The interface performs syntax checking, identifying lines with input errors. An additional keyword, USER_GRAPH has been added to allow visualization of results.

December 15, 1999: Alpha Test Version of PhreeqcI, Graphical User Interfaces for PHREEQC version 2

Scott Charlton has released an early test version of PhreeqcI for version 2. PhreeqcI runs on WinNT and Win9x and is at http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc and /phreeqci. This interface has screen-driven input and editing for all initial-condition keywords ( SOLUTION , EQUILIBRIUM_PHASES , EXCHANGE , SURFACE , GAS_PHASE , SOLID_SOLUTION , and USE ). All other keyword data blocks must be entered through the text editor in the interface. A tree of keywords from the input file is generated, from which you can copy, cut, paste, drag, and drop. The interface performs syntax checking, identifying lines with input errors. The calculation may be run and the output viewed without leaving the interface.

December 15, 1999: Parallel PHREEQC

A parallel version of PHREEQC that uses calls to MPI is in the works. So far, only the LAM version of MPI has been tested. Factors of 5-10 speedup have been attained for transport simulations on a LAN with up to 20 Sun and Linux machines. Further testing and debugging are needed.

December 15, 1999: PHAST--Development of the 3D Reaction Transport Model is Complete

PHAST combines PHREEQC with HST3D, a 3D ground-water flow model. Only constant density, constant temperature flow is included. PHAST uses a purely sequential algorithm that solves first for the transport of multiple components, reacts each cell of the domain, and then repeats transport and reaction until the total time of simulation has been reached.

Most of the hydrologic features of HST have now been implemented, most recently wells and rivers have been added to PHAST. Another major development was the addition of linearly varying definition of all initial condition and boundary condition properties; this includes chemical compositions of solutions, phase assemblages, exchange compositions, and all other chemical initial conditions. PHAST has all of the chemical reaction capabilities of PHREEQC version 2.0, including kinetic reactions and solid solutions.

A test version of the code (without source code) will be released as soon as the time is found to put a distribution together. Documentation of input formats is reasonably complete. Next phase is to add documentation of the theory of the numerical method and of examples. The code needs thorough beta testing.

October, 1998: PHRQCGRF is released

User's Guide to PHRQCGRF--A Computer Program for Graphical Interpretation of PHREEQC Geochemical Transport Simulations, by Joseph Vrabel and Pierre D. Glynn, U.S. Geological Survey Open File Report 98-281, 1998, 30 p.

Abstract

This manual describes the capabilities and use of the PHRQCGRF program, a computer code that can be used to create a variety of graphs from the data generated by PHREEQC, the U.S. Geological Survey's code for simulating geochemical mass transport. The output data from PHREEQC may be plotted against distance, time, or other data listed in the PHREEQC selected output file, and a series of data versus distance graphs can be animated. PHRQCGRF can also extract the data of interest from the PHREEQC transport results and write the datasets to an external file.

Available at http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phrqcgrf.

October, 1998: Version 1.6 is available for Macintosh

Brian Marshall of U.S. Geological Survey, Lakewood, CO (bdmarsha@usgs.gov) has created a Mac version that is available at http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc.

January, 1998: Version 1.6 is released

Version 1.6 contains fixes to a number of bugs. A complete list of updates in the sequence of versions is listed below. This version is available at http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc.

October, 1997: PhreeqcI is released

A pc-based graphical user interface to version 1.6 has been released. It allows the user to format, edit, run PHREEQC input files and examine text output files, all within a single interface. It is available from http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqci.