calendar Add meeting dates to your calendar.

 

Paper No. 3
Presentation Time: 8:50 AM

A PHREEQC GEOCHEMISTRY MODULE FOR WATERSHED, SURFACE-WATER, AND GROUNDWATER MODELS


PARKHURST, David L. and CHARLTON, Scott R., Department of Interior, U.S. Geological Survey, Denver Federal Center, Bld 53, MS 413, Denver, CO 80225, dlpark@usgs.gov

The geochemical model PHREEQC has been packaged as a module that is suitable for implementation in multicomponent transport models, including watershed, surface-water, and groundwater models. Typically, the initial compositions of reactants for model cells—solutions, ion exchangers, reactive surfaces, solid solutions, gas phase, and kinetic reactants—are stored in the PHREEQC module. Each cell is allowed to react for a time step and the module tracks the new reactant compositions. The dissolved constituents are then transported conservatively by the transport model, resulting in new solution compositions for the next reaction time step in the PHREEQC module.

A transport model interacts with a PHREEQC module through a limited set of methods, which constitute an API (applications programming interface). The methods allow PHREEQC input to be submitted to the module and specified results to be returned from the module. The format of the input is exactly the same format as PHREEQC, and can be defined either through strings or files. Any calculation within the capabilities of PHREEQC can be run by the module. The results returned from the module are in a table of user-selected model quantities—for example, concentrations, saturation indices, or moles of reactants remaining. Additional methods control module output and error handling.

PHREEQC modules are used to simulate geochemical reactions in WEBMOD (Water, Energy, and Biogeochemical Model), a watershed model based on TOPMODEL that was developed by Richard Webb, and in an unsaturated-zone reactive-transport model published by Laurin Wissmeier. Transport models in Fortran, C, or C++ can implement PHREEQC modules by linking to a PHREEQC library. A COM (Component Object Model) version of the module also is available, which can be invoked from Excel, Python, or MATLAB. Multiple PHREEQC modules can be defined by a program, and it is possible to implement parallel processing by using a PHREEQC module in each of multiple processes and passing messages among the processes.

Meeting Home page GSA Home Page