[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AW: Free ions in mineral waters


Biggest obstacle: trouble with HCO3, CO2, Acid-Base, Protons

> Most water analysis I have give

1. pH
2. Hydrogencarbonate
3. CO2

Hydrogencarbonate (bicarbonate) is probably the same as alkalinity,
reported as bicarbonate. CO2 could be one of two things: (1) the total
inorganic carbon (measured by acidifying a sample and measuring CO2 in the
sample) or (2) a calculated CO2(aq) by using pH and bicarbonate. If the
number is of the same order as bicarbonate, then it is probably (1), if it
is much smaller, then it is probably (2).

> I don't have O(0) - what is that and how can I switch it off
(if I exclude it, PHREEQC will stop working). I'm also
a fool about "pe", I've silently dropped it - is this OK?

O(0) is dissolved oxygen, which you probably don't need. pe of the solution
composition becomes important only for iron and manganese (and other redox
elements for which analyses of individual redox states are not available).
Redox in general will have some effect if you have nitrate and ammonium in
your analyses, otherwise you can probably ignore redox processes.

> Further, I suppose 2. to be a synonym for Bicarbonate or HCO3-
and the correct input for PHREEQC to be:

> Alkalinity 1897.0 as HCO3

> for example. Is this correct?

-From what you have written, I think that is correct.

> Further, I've verified using a spreadsheet, that in nearly all of
my 150+ waters, the molarity of HCO3- printed on the bottle fills
almost exactly the "charge gap", calculated from all other
printed species.

That is reasonable.

> What remains most mysterious to me is what exactly "CO2"
on the bottle means and how and when it is measured:

> E.g. is it measured before additional (in excess to the natural
contained) CO2 is pressed into the water, and when gets pH
measured and so on.

> I'm asking this, because of the inconsistent numbers I'll
describe next.

> At this stage, I assumed that "CO2" means the same as what you call
"total inorganic dissolved carbon".

> I further assumed, this is given to PHREEQC as

C 2320.0

> for e.g. (is this correct for the wateq4f database ?).

I would guess it should be "C 2320 as CO2".

> Now, if I give measured pH, HCO3 and CO2 for the GENOVEVA
water, PHREEQC will drop the given pH and recalculate
it, right?


> On page 152, the user guide states: "Alkalinity or total carbon or both
be specified in solution input. If both alkalinity and total carbon are
specified, the pH is adjusted to attain the specified alkalinity."

> PHREEQC calculates 6.896, which is quite far away from the measured pH of
6.1 in the water analysis. I'm lost again.

If you use the "as CO2", the effect should be to increase the total C (in
molality), alkalinity is the same, so pH will decrease (maybe below 6.1).
The calculation of pH is fairly sensitive to the alkalinity and total
carbon. In general, I would use the measured pH and alkalinity, provided
the pH was measured at the time of sampling, not after it had time to lose
CO2 to the atmosphere.

> Is it because pH is measured before CO2 is pressed in?

CO2 will be lost and pH will tend to rise as CO2 equilibrates with the
atmosphere (log PCO2 -3.5). Note that alkalinity does not change with loss
of CO2 unless a carbonate mineral precipitates.

> Perhaps, let me state were I'd like to arrive finally:

Acid-Base status of a mineral water

> This is one out of 6 biofactors I consider. It should capture the protons
made available to the human organism by consumption of the water, e.g.

> protons (mequ/l) := (free HCO^3-) - 2 * (free SO_4^2-)

This does not make much sense to me from a geochemical point of view, in
the absence of the cations. Seems like you are really getting at the proton
availability or maybe the acidity (base neutralizing capacity) of the

> This is bicarbonate will alkalize the organism, whereas sulfate will do
the opposite.

The full set of biofactors is

1. Bioavailable Calcium
2. Bioavailable Magnesium
3. Ratio of bioavailable Calcium-to-Magnesium
4. Acid-Base status
5. Salt Equivalent
6. Osmolarity


Modification to Example

1. I removed "pe" from the input params, as I
             - don't understand its meaning
             - only have "measured pH" (if pe is s.th. like pH)

pe will be 4.0 by default.

2. I removed Fe, Mn, Si, N(5), N(-3) from the input params,
   as these are only seldom available on the printed bottle label
   in germany (of course these are available with the
   detailed "official" analysis, but you would have to request
   this analysis from every single spring, that is over 800 in
   germany - the association of springs has all, but I suppose
   political issues hinder them to just make all data public)


3. I'd like to add "H2SiO3" (silicat acid?), but input param
   "Si" seems to be "SiO2"

In the US, Si is usually reported "as SiO2". The predominant species up to
high pH is H4SiO4 (add a water to your species). If H2SiO3 is indeed how it
is reported, the enter "Si xx as H2SiO3".

Salt Equivalent

> One biofactor I'm interested in is the NaCl which might
become active by increasing blood pressure.
(it is not correct to take Na+ alone as blood pressure inc. ..
only Na+ in presence of Cl- seems to inc. blood pres.)

> Consequently, I'd like to have something like a "salt equivalent"
for every water. I tought about calculating this as:

> Salt Equiv := min( free Na+, free Cl- ) * MolWeight( NaCl )

> Are there concerns doing so from a chemical stand?

Many waters have molalities of Na and Cl that are nearly equal. I don't see
too much problem in using your suggestion as a factor. For Na > Cl, what
you have is reasonable. For Cl > Na, the source is probably still NaCl, but
with exchange of Na for Ca and Mg in clays.

I/O with stdin/out/err

> After reading through the user guide, is it correct that currently
there is no support for reading simulations from STDIN and writing
output to STDOUT, logs to STDERR instead of files?

That is correct.

> If this is so, It'll be nice to have some switch to get this behaviour
in future some version, as I suppose this would make integration into
other apps somewhat easier (more secure if you like). But its
just a minor wrinkle: I'll call PHREEQC from Python by spawning
a child process,  writing simulations to a /tmp/xxx file before
and reading/parsing results from /tmp/yyy afterwards.

You are the first person to ask for such a feature. You can probably hack
the program without too much effort, but it would probably be better to
write a script. I probably won't change anything, Most people want a GUI
that leads them by the hand.


David Parkhurst (dlpark@xxxxxxxx)
U.S. Geological Survey
Box 25046, MS 413
Denver Federal Center
Denver, CO 80225

Project Home Page
Complete Water Resources Division Software
USGS Home Page
Water Resources Division Home Page
NRP Home Page
Help Page
USGS Privacy Statement       

Please note that some U.S. Geological Survey (USGS) information accessed through this page may be preliminary in nature and presented prior to final review and approval by the Director of the USGS. This information is provided with the understanding that it is not guaranteed to be correct or complete and conclusions drawn from such information are the sole responsibility of the user.

Any use of trade, product, or firm names in this publication is for descriptive purposes only and does not imply endorsement by the U.S. Government. 

The URL of this page is: https://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc/mail/msg00301.html
Last modified: $Date: 2005-09-13 21:04:21 -0600 (Tue, 13 Sep 2005) $
Visitor number 4747 since Jan 22, 1998.