Appelo and Postma: Geochemistry, Groundwater and Pollution

From the reviews:
" This book presents important fundamental concepts and current knowledge of groundwater geochemistry...."
(Sabine Goldberg, Vadose Zone J.). Read the full review (13 kb pdf)
" This book is an absolute must for everyone interested in groundwater quality..."

(Pieter Stuyfzand and Boris van Breukelen, H2O). Read the full review (in Dutch, 473 kb gif)

The book's price (xviii + 649 pages) is 39 GBP / appr. 60 USD / appr. 46 Euro in paperback (ISBN 04 1536 428 0) or 94 GBP hardbound (ISBN 04 1536 421 3).
It can be ordered via website
or contact
          CRC Press
          6000 Broken Sound Parkway, NW, (Suite 300), Boca Raton, FL 33487, USA
          Tel: 1(800)272-7737 or (561)994-0555
          Fax: 1(800)374-3401 or (561)989-9732
          A.A. Balkema Publishers
          P.O. Box 447, 2300 AK, Leiden, The Netherlands
          Tel: +31 71 524 3080
          Fax: +31 71 523 4571

Errors and updates are listed in errata.pdf.
We like to thank all who noted the errors and who notified us.
If you find more errors, please e-mail them to Tony Appelo.

Chapter 1 : Introduction to Groundwater Geochemistry

Chapter 3 : Flow and Transport

Chapter 4 : Minerals and Water

Chapter 5 : Carbonates and CO2

EXAMPLE 5.5. Dissolution of calcite as function of CO2 pressure.
EXAMPLE 5.9. Compare calcite rate equations with PHREEQC.
EXAMPLE 5.10. PHREEQC calculation of delta 13C during dissolution of calcite.
EXAMPLE 5.11. PHREEQC calculation of delta 13C during dedolomitization.
Problem 5.15. PHREEQC simulation of calcite/dolomite reactions in the soil at Trout Creek.
Problem 5.16. Mix Caribbean seawater and local fresh groundwater with PHREEQC.
Problem 5.19. Calculate the kinetics of CO2 hydration.
Problem 5.20. Initial activity of 14C depends on initial CO2 pressure when calcite dissolves in water closed with respect to CO2 gas.
Problem 5.21. PHREEQC simulation of pH dependent enrichment in CO2(g), using enrichment factors. or
using fractionation factors.

Chapter 6 : Ion Exchange

EXAMPLE 6.6. The Rothmund-Kornfeld equation in PHREEQC
EXAMPLE 6.7. Simulate the determination of exchangeable cations with PHREEQC
EXAMPLE 6.11. PHREEQC model for Valocchi's field injection experiment
Figure 6.28. PHREEQC simulation of sea water intrusion into a fresh water aquifer
Figure 6.33. PHREEQC model for a column with stagnant zones
Figure 6.39. MATLAB (or Octave) program for calculating concentrations in the double layer on a charged surface,
with varying closest approach distance for different ions.
(zipped file, 4.5 kb)

Chapter 7 : Sorption of Trace Metals

Table 7.9. Calculate complexation of Cd on humic acid (fig. 10 of Tipping and Hurley, 1992).
EXAMPLE 7.11. Calculate sorption of Cd onto organic matter in loamy sand.
Table 7.10. PHREEQC input file for calculating kinetic sorption of Pb onto weak and strong sites in ferrihydrite.
EXAMPLE 7.12. Calculate heavy metal removal from groundwater with Fe+2 oxidation during aeration and filtration.
Problem 7.21. Calculate sorption isotherm for CO2 on ferrihydrite.
Problem 7.22. Compare double layer concentrations and the Donnan formula with PHREEQC.

Chapter 8 : Silicate Weathering

EXAMPLE 8.1. Incongruent dissolution of K-feldspar
EXAMPLE 8.3. Mass balance calculation of mineral weathering using PHREEQC
EXAMPLE 8.4. Dissolution kinetics of K-feldspar as calculated by PHREEQC
(Question 1)
Include dissolution kinetics of quartz in Example 8.4
EXAMPLE 8.5. Acid groundwater formation and gibbsite buffering
EXAMPLE 8.6. Modeling acidification with PHREEQC

Chapter 9 : Redox Processes

Table 9.3. Log K's for reactions among (selected) As species.
( PHREEQC input file )
EXAMPLE 9.6. Calculation of redox zonation with PHREEQC
EXAMPLE 9.9. Modeling gas loss during pyrite oxidation with oxygen
Estimate the surface area of pyrite in a tip heap.
( PHREEQC input file )
EXAMPLE 9.11. Bemidji oil spill... react C6H6 with goethite and/or ferment.
( PHREEQC input file )
EXAMPLE 9.12. pH buffering by pyrite and kinetically dissolving iron oxides.
( PHREEQC input file )

Chapter 10 : Pollution by Organic Chemicals

EXAMPLE 10.3. Calculate sorption and ion exchange with PHREEQC
Table 10.3.
multi_D calculation
Sorption of CCl4 in a dual porosity aquifer
            ...idem, with dispersion and the implicit, multi_D algorithm

EXAMPLE 10.5. Model the extraction of a DNAPL pool with PHREEQC
Add 1,1,2 TCA to a mixture of 1,1,1 TCA and PCE, and extract
EXAMPLE 10.7. PHREEQC model of phenol degradation
EXAMPLE 10.8. Xylene degradation with biomass growth
EXAMPLE 10.9. Speciation of EDTA in Glatt River water
EXAMPLE 10.10. Kinetic exchange of Fe(3)EDTA
Problem 10.3. Model naphthalene column experiment of Bayard et al., 2000
Problem 10.4. Estimate the half-life of CO2 dehydration
Problem 10.5. How much calcite precipitates in your tea kettle?

Chapter 11 : Numerical Modeling

EXAMPLE 11.2. Pascal program to model Cl diffusion
EXAMPLE 11.3. Implicit calculation of Cl diffusion (Pascal program)
EXAMPLE 11.4. Model the linear retardation of γ-HCH in a laboratory column (Pascal program)
EXAMPLE 11.5. Effect of the Freundlich exponent on column breakthrough curves (Pascal program)
Figures 11.10-11.
Tritium/Helium profiles and ages in a homogeneous phreatic aquifer with different diffusion coefficients and boundary conditions for He and 3H. Two files are needed tr_he.pas (Pascal program) and tritum input in rain tr_rain (ascii file)
Figure 11.13.
Tritium and tritium/helium age profiles calculated in 2D with PHAST. Two files are needed tr_he.trans.dat and tr_he.chem.dat (both ascii files)
Figure 11.15.
Goethite oxidizes toluene polluted groundwater
(PHREEQC input file)
Figure 11.20.
Kinetic reaction of pyrite and goethite (and kaolinite and K-feldspar) with acid mine water
(PHREEQC input file)
Figure 11.28.
Optimize surface complexation constants from laboratory data using PHREEQC and PEST
(zipped executable, 0.41 Mb)
Figure 11.35.
Degas CaHCO3 solution, precipitate calcite, find δ13C in calcite and solution species (Fig. 1), plot δ13C in layers successively precipitated (Fig. 2)
(PHREEQC input file)