PHREEQC from Scratch #2: Analyzing Seawater with Speciation

Calculate the chemical speciation of seawater using PHREEQC. This tutorial covers inputting major ions like Na, Ca, Mg, and SO₄, and interpreting ion complexation and saturation indices.
Geochemistry
PHREEQC
Groundwater
English
Author

DeepFlow

Published

April 8, 2026

What is Speciation?

In the previous article, we defined “pure water” in PHREEQC and ran a basic calculation. In this session, we will input actual seawater data and dive into a more essential concept: Speciation (Chemical Species Distribution).

Speciation is the calculation of which chemical forms (species) an element takes within a solution.

For instance, even if seawater contains 2712 mg/L of \(\mathrm{SO_4^{2-}}\), not all of it exists as a free \(\mathrm{SO_4^{2-}}\) ion. Some portion forms complexes with \(\mathrm{Mg^{2+}}\) (as \(\mathrm{MgSO_4}\)), and another portion pairs with \(\mathrm{Na^+}\) to form \(\mathrm{NaSO_4^-}\).

Why Speciation Matters

The "Saturation Index (SI)," which determines whether a mineral will dissolve or precipitate, is calculated using the chemical activity of ions in solution. Activity differs from simple concentration because it is influenced by complexation and ionic strength. Speciation is the process of accurately determining these activities.


Chemical Composition of Seawater

Below is the seawater data we will use, representing a typical average seawater composition.

Component Formula Conc. (mg/L) Notes
Sodium Na 10768 Major cation
Potassium K 399.1
Calcium Ca 412.3 Relates to carbonates
Magnesium Mg 1291.8 Forms complexes with SO₄
Chloride Cl 19353 Major anion
Bicarbonate HCO₃⁻ (Alkalinity) 141.682 Input as Alkalinity
Sulfate SO₄ 2712 Forms multiple complexes
Nitrate NO₃ 0.29 Trace
Iron Fe 0.002 Ultratrace
Silicon Si 4.28 Exists as SiO₂

The pH is 8.22, temperature is 25°C, and density is 1.023 g/cm³.


Input Procedure in PHREEQC

1. Click the SOLUTION Icon

As before, click the SOLUTION icon in the left icon bar. The SOLUTION property window will open.

2. Enter pH, pe, and Temperature

Input the following values into the fields at the top of the window:

pH
8.22
pe
8.451
Temperature
25 ℃
Density
1.023

3. Change Units to ppm

The default unit is mmol/kgw, but since our data is in mg/L (approximately ppm), we need to change it. Select ppm from the unit dropdown menu.

ImportantVerify Units Carefully

One of the most common mistakes in PHREEQC is using the wrong units. Entering mg/L data as mmol/kgw will cause your results to be off by orders of magnitude. Always double-check before proceeding.

4. Select Elements and Enter Concentrations

Check the boxes for the elements you want to include and enter their concentrations in the fields on the right.

NoteHandling Alkalinity

Bicarbonate (\(\mathrm{HCO_3^-}\)) should be entered as Alkalinity rather than HCO3. By specifying as HCO3- in the units column, PHREEQC will correctly perform calculations for the carbonate system.

Alkalinity   141.682   as HCO3-

PHREEQC Code

The GUI will automatically generate the following code. You can also copy and paste this directly into the text editor.

SOLUTION 1  Seawater
    temp      25
    pH        8.22
    pe        8.451
    redox     pe
    units     ppm
    density   1.023
    Na        10768
    K         399.1
    Ca        412.3
    Mg        1291.8
    Cl        19353
    Alkalinity 141.682  as HCO3-
    S(6)      2712         # Sulfate entered as S(6)
    N(5)      0.29         # Nitrate entered as N(5)
    Fe        0.002
    Si        4.28
    -water    1  # kg

END
NoteSpecifying Oxidation States: S(6) and N(5)

In PHREEQC, sulfate (\(\mathrm{SO_4^{2-}}\)) is written as S(6) to specify the oxidation state of sulfur. Similarly, nitrate (\(\mathrm{NO_3^-}\)) is written as N(5). This distinguishes them from reduced forms like \(\mathrm{S^{2-}}\) (sulfide) or \(\mathrm{NH_4^+}\) (ammonium).


Running the Calculation

After entering the code, ensure you have an END statement, then click Run → OK. Choose your workspace folder, save the file (e.g., seawater_speciation.pqi), and click Start → Dismiss.


Reading the Output

Basic Solution Information

The beginning of the Output file provides a summary of the solution:

----------------------------Description of solution----------------------------

                                        pH  =   8.220
                                        pe  =   8.451
      Specific Conductance (µS/cm,  25°C)  =   52634
                        Density (g/cm³)    =   1.02282
                     Activity of water     =   0.981
                 Ionic strength (mol/kg)   =   6.748e-01
                       Mass of water (kg)  =   1.000
                             ...

Ionic strength = 0.665 mol/kg: This is quite high. Freshwater typically has an ionic strength below 0.001 mol/kg. At such high values, the activity coefficients (\(\gamma\)) of ions deviate significantly from 1, making speciation calculations essential.

Activity of water = 0.981: While pure water has an activity of 1.000, solutes in seawater lower this value. This decreases the vapor pressure, which is one reason why seawater evaporates more slowly than freshwater.


Species Distribution

The middle section of the Output shows the distribution for each element. Let’s look at Sulfate (\(S(6)\)):

                                               Log       Log       Log    mole V
   Species          Molality    Activity  Molality  Activity     Gamma    cm³/mol

S(6)          2.926e-02
   SO4-2           1.432e-02   2.604e-03    -1.844    -2.584    -0.740     17.49
   MgSO4           7.170e-03   8.375e-03    -2.144    -2.077     0.067      5.84
   NaSO4-          6.637e-03   4.482e-03    -2.178    -2.349    -0.171     21.21
   CaSO4           9.548e-04   1.115e-03    -3.020    -2.953     0.067      7.50
   KSO4-           1.756e-04   1.186e-04    -3.755    -3.926    -0.171     34.85

SO₄²⁻ Species Distribution (Calculated)

SO₄²⁻
49%
MgSO₄
25%
NaSO₄⁻
23%
CaSO₄
3%

Based on SO₄²⁻ Molality (1.432e-2) and Activity (2.60e-3), the activity coefficient (γ) is approximately 0.18. This indicates a significant reduction in the chemical effectiveness of free SO₄²⁻. About 51% of total sulfate exists as ion pairs.


Saturation Index (SI)

The latter half of the Output contains the Saturation Indices section:

-------------------------------Saturation indices-------------------------------

  Phase               SI   log IAP   log K(T, P)

  Anhydrite        -0.93     -5.20   -4.28  CaSO4
  Aragonite         0.61     -7.73   -8.34  CaCO3
  Calcite           0.75     -7.73   -8.48  CaCO3
  Chalcedony       -0.52     -4.07   -3.55  SiO2
  Chrysotile        3.36     35.56   32.20  Mg3Si2O5(OH)4
  CO2(g)           -3.39     -4.86   -1.47  CO2
  Dolomite          2.39    -14.70  -17.08  CaMg(CO3)2
  Fe(OH)3(a)        0.18      5.07    4.89  Fe(OH)3

The Saturation Index (SI) is defined as:

\[SI = \log \frac{IAP}{K_{sp}}\]

  • \(SI\): Saturation Index \([-]\)
  • \(IAP\): Ion Activity Product \([-]\)
  • \(K_{sp}\): Thermodynamic Solubility Product at specific \(T\) and \(P\) \([-]\)
SI Value Meaning Mineral Behavior
\(SI > 0\) Supersaturated Tendency to precipitate
\(SI = 0\) Equilibrium No net dissolution/precipitation
\(SI < 0\) Undersaturated Tendency to dissolve

Discussion: Geochemical Implications for Seawater

Our speciation results reveal several important aspects of seawater geochemistry:

1. Calcite is Supersaturated (SI = 0.75)

Seawater is supersaturated with respect to calcite, meaning it is thermodynamically favored to precipitate. This explains the abundance of biogenic carbonate (calcite and aragonite) in tropical shallow waters.

2. Anhydrite and Gypsum are Undersaturated

With SI values of -0.93 and -0.59 respectively, sulfate minerals do not precipitate in normal seawater. If evaporation occurs and the solution concentrates, the SI will rise, eventually leading to the precipitation of evaporites like gypsum.

3. Dolomite is Highly Supersaturated (SI = 2.39)

While thermodynamically favored, dolomite rarely precipitates directly from modern seawater. This is due to kinetic constraints (a kinetic barrier), a phenomenon known in geochemistry as the “Dolomite Problem.” It is important to remember that PHREEQC calculates thermodynamic equilibrium but does not account for reaction kinetics.

Tip3 Key Points of Speciation
  1. Verify Units — Don’t confuse ppm with mmol/kgw.
  2. Inputting Alkalinity — Remember to use as HCO3-.
  3. Interpreting SI — Positive values indicate precipitation; negative values indicate dissolution.

Next Time: Mixing and EQUILIBRIUM_PHASES

In the next tutorial, we will combine Mixing (merging two solutions) and EQUILIBRIUM_PHASES (calculating equilibrium with minerals). We will investigate what happens when gypsum and anhydrite are added to pure water as temperature increases from 25°C to 75°C—a fascinating example of how stability can flip between two minerals.


References

Appelo, CAJ, and Dieke Postma. 2005. Geochemistry, Groundwater and Pollution. Second. Balkema, Rotterdam, p. 634.
Parkhurst, David L, and CAJ Appelo. 2013. Description of Input and Examples for PHREEQC Version 3—a Computer Program for Speciation, Batch-Reaction, One-Dimensional Transport, and Inverse Geochemical Calculations. US Geological Survey Techniques; Methods, book 6, chap. A43, 497 p.
Yamamoto, S. 1983. Method of the Groundwater Survey. Kokon Shoin, Tokyo (in Japanese), 490 p.
Yang, Heejun, T Mishima, S Katazakai, and M Kagabu. 2023. “Analytical Approach Using a Chemical Equilibrium Formula and Geochemical Modeling for Alkalinity Measurements of Small Natural Water Samples.” Applied Geochemistry 148: 105535.

Other articles in this series:


DeepFlow | Science beneath the surface