Jump to content
Geochemist's Workbench Support Forum

Mercury Eh-pH diagram


Recommended Posts



I would like to reproduce Figure 5 (page 22, Eh-pH graph of Hg) of the file that you can find in the link below:



Briefly, I would like to tell about my communication with Brian by e-mail before joining this Forum.


To draw the Eh-pH graph, I input the concentration of Hg++, Cl- and SO4-- using Act2 (see the document attached Trial1).

The figures only showed 3 phases.


To solve the problem and, thanks to Brian's help, first, I modified the units from ppm to molal using GSS (see the document attached Unit conversion).

In GSS, I input the ppm values reported in the USGS file in mg/L because I assumed that it was the aqueous concentration... mg/kg input gives a slightly different results...

In this part, I would like to know if I should have added other analytes in the system because there are no cations that can balance the anions?


Moving into Act2, I input the new concentrations (see the document attached Trial2).

Also, as suggested by Brian, I switched to different Thermo Data to see which one was better for this case.

It appears that thermo_minteq has the largest amount of Hg species, so I chose it.

In the Basis (diagram species section) of Act2, I chose Hg(OH)2, but I do not know whether I should have done Hg(aq) <> Hg(OH)2?

Once I input the new values into an Act2 sheet, I got an error message saying "Reaction for H2(g) is missing; can not plot water limit".

I do not know how to solve this problem.

Is it related to the water activity?

I left water activity in 1, but I am not sure about it.

How do I input H2 in the system?
Is it in the "in the presence of" section?


I am very sorry for the basic questions I am making.

Thank you very much for your attention.




Unit conversion.gss


Error message.docx

Link to comment
Share on other sites

Hi Angelica,

There is no need to add additional analytes when converting units in GSS or when constructing your diagram in Act2. To make your diagram, all you need is Hg++ as the main species and Cl- and SO4-- in the “in the presence of” section. The order in which species appear under “in the presence of” does not matter.

If you’re using thermo_minteq.tdat, I would leave the Basis species Hg(OH)2 as the main diagram species. I don't see a reason to swap Hg(aq) into the Basis, but it shouldn't change your results in this case if you do.

As a reminder, you can tell the program to ignore minerals which would normally plot by right-clicking on the plot, selecting View…, then unchecking minerals. I mention this because Figure 5 from your reference was made to show only aqueous species.

The water limit error is not related to the water activity, so there is no need to change it. The water limits refer to the conditions under which water becomes so oxidizing that it is unstable and breaks down to O2(g), or where it is so reducing that it forms H2(g). Normally you’ll see two dashed lines for the upper and lower water stability limits on an Eh-pH diagram. Act2 by default will only plot species within the water limits, but not outside them. You can tell the program to ignore the water stability limits by right-clicking on the plot, clicking View…, then unchecking water limits. For more information, see section 3.64 water limits in the GWB Reference Manual.

You encounter the error because thermo_minteq.tdat does not include a reaction for the H2(g) species, so it can’t draw the line. As a result, the program plots species in a larger area, outside where the water stability limits should be. If you simply uncheck water limits, as described above, you’ll suppress the warning because Act2 won’t try to draw the water limits. Or, if you’d like to limit the plot area to where water is stable, you need to add a reaction for H2(g) to thermo_minteq.tdat so that Act2 can draw the line. Alternatively, you could add the reactions for Hg species that you need to thermo.tdat, which already includes the reaction for H2(g).

In any case, I think you’ll have to add some modifications to the thermo data because the diagram you're trying to reproduce has a few species that are not included in thermo_minteq.tdat. Luckily, your reference includes a table with log Ks and reactions for more Hg species. Take a look at section 9, Using TEdit, in the GWB Essentials Guide for details on modifying thermo datasets using the graphical thermo data editor TEdit.

Hope this helps,

Link to comment
Share on other sites

Hi Brian,


Thank you very much for your help.
I followed your suggestions and I am getting closer to the diagram.


I have some questions about the addition of reaction into the Thermo Data.
I tried to add the reactions showed in Table 19 (please refer to the USGS document) into the thermo.tdat, but I got some error messages:


1) For instance, I could not input the following reaction:

Hg(CH3)2 + H2O = CH4 + CH3(OH) + Hg

I could not find CH3OH or methanol in the list.
Is there any place where I can add CH3OH, maybe typing it?
Or do I add CO + 2H2, instead?

I had the same problem writing the following reaction:

C6H5Hg+ + OH- = C6H5HgOH


I had also an inconvenience with the reaction:

Hg(NH3)4++ = Hg++ + 4NH3
The software automatically changed this equation to:
Hg(NH3)4++ + 4H+ = Hg++ + 4HN4+
Of course the K was also automatically recalculated by the software.
But then, a message saying "Reaction is not charge balanced. Verify species coefficients and charge of entry" appeared.


2) TEdit gives the option to complete Log K's at different temperatures.

Table 19 shows only K values at 25 degree.

If there is no information about K's at other temperatures, should I leave the space empty?

By default, the software introduces the number 999984... I deleted all of these values.


3) In Act2, when I used the modified thermo.tdat, a warning saying "reaction charge imbalance for Hg(NH3)4++ = Reaction = Hg(NH3)4++ + 4*H+ + 4*NH4+" appears.

After pressing OK several times, the applications closes.

I assume there are problems with the equations I input.


Please find two documents attached in the following link regarding the input of reactions and the error message in Act2:



Thank you very much in advance for your assistance.



Link to comment
Share on other sites

Hi Angelica,


Glad to hear you’re getting closer. Before you get too involved adding reactions to the thermo dataset, it’s a good idea to save the dataset with a new name (for example, MyThermo+Hg.tdat). That way you have the original, unaltered dataset for reference. If you need to revert to the original datasets, you can download them from our website here: http://gwb.com/thermo.php


For the purposes of reproducing this diagram, you can safely leave out some of the reactions in the table. Your basis includes Hg++, H+, e-, Cl-, and SO4--, so the reactions involving chloride and sulfides are important but those for methanol, ammonia, etc. are not necessary. Still, it’s good practice and you may wish to consider Hg speciation in a more complex system in the future.


You can include methanol in your dataset is a few different ways. The simplest, though least powerful, would be to add methanol as a new Basis species. All you need is the charge, ion size parameter, and mole weight, but no reaction or log K. You could then write your reaction for Hg(CH3)2 in terms of H2O, methane, and methanol. The limitation is that there is no method to define a fluid in which the methanol is in equilibrium with carbon species in different oxidation states, like methane or HCO3-. A more flexible approach would be to add methanol as a redox species. It might be coupled to HCO3-, methane, ethanol (as it is in thermo.com.V8.R+.tdat), etc. Redox species can be interactively coupled or decoupled in order to honor or preclude redox equilibrium between certain species. To add methanol as a redox species, you would need to search the literature for a reaction and log K, or take a reaction from another dataset. Since it’s already in thermo.com.V8.R6+.tdat, you can use Rxn to find an appropriate reaction and log K and add those. Unless you’re planning to do a lot of work with methanol, though, I would leave it out or add it as a basis species for now.


TEdit automatically rewrites reactions to be in terms of the basis or redox species of a thermo dataset, as the GWB programs require, instead of in terms of the aqueous species. As you say, it recalculates the log K automatically as it does this.


TEdit expects each new reaction you add to be balanced in terms of mass and electrical charge. When you get the message "Reaction is not charge balanced. Verify species coefficients and charge of entry" you need to verify that the charge of the species you’re adding is correct and that the stoichiometry of species in the reaction is correct. In your case, you had the correct stoichiometry but you entered the charge of Hg(NH3)4++ as 0 instead of 2. If you ignore this warning, the GWB programs will not be able to read the dataset (as you discovered with Act2).


If you’re lacking thermodynamic data outside 25 C, just leave the log K values at 500 (the default value), which indicates that no data is available.


I’m not sure you’ll be able to open a faulty dataset in TEdit, so you might open the dataset in a text editor like Notepand, then fix or delete the faulty entry. Or, if necessary, you can start over from scratch.


Hope this helps,


Link to comment
Share on other sites

Hi Brian,

Thank you very much for all the information you provided.

I reverted to the original datasets, thank you for the link.

You are right, this time, I should just consider the species involved.

I added methanol in the "Basis species" section of the "Thermo_Hg.tdat" dataset that I created.

After writing the name (CH3OH), charge (0), Ion size (4.4 A) and mole weight (32.04) and pressing Apply, an error saying "Mole weight is not balanced. / Entered: 32.04 Calculated:0 / Would you like to use the calculated value?" Is it OK to choose "No", right? It will not affect further results?

I have another question. I could not include the following reactions into the "Thermo_Hg.tdat" dataset:

a. Hg (l) = Hg(aq)

b. HgS + S-- = HgS2--

c. CH3HgCl (l) = CH3HgCl (aq)

d. CH3HgCl = CH3Hg+ + Cl-

Do I have to look for the formation equation of these species?

Do you have any recommendation/hint on how to add them?

Also, I would like to try input H2(g) data into Thermo _minteq.tdat

I tried copying from the Thermo.tdat, but it was not possible (an error message appeared).

I think I have to manually input the following reactions, right?

2H2O + 2e- = H2(g) + 2 OH-

2H+ + 2e- = H2(g)

Thank you very much in advance for your help.


Link to comment
Share on other sites

When adding a new Basis species, TEdit compares the mole weight you enter with the mole weight calculated from the elemental composition you specify. TEdit calculated a mole weight of 0 because you didn't specify the elemental composition of methanol. Without this information, the program has no idea of methanol's composition or any species composed of methanol, so you definitely need to include it. In this case, you need to add 1 Carbon, 4 Hydrogen, 1 Oxygen to methanol's entry and click Apply. In general, any time TEdit tells you there is a problem with mass or charge balance you should make sure you've entered information for the species and/or reactions properly.


I would add Hg(aq) as a redox species first (Hg(aq) = Hg(+2) + 2e-, or Hg(aq) + .5 O2(aq) + 2H+ = Hg(2+) + H2O), then add the reaction Hg(l) = Hg(aq). You should be able to calculate log Ks from standard cell potentials (Eo) or from the free energies of formation in Table 20. Then combine reactions where needed to get them in the right form. By the way, GWB doesn't include a category for liquid species, but you could probably include it with either the aqueous species or the minerals.


When you try to add the reaction for H2(g) to thermo_minteq.tdat, you receive the warning "Pasting data from model debye-huckel to minteq will leave important parameters undefined and log Ks may be inappropriate. Continue?". This warning is just telling you to be careful copying data from one dataset to another. Next you receive the error "Could not paste H2(g). Verify that species in the reaction have been defined." The reaction for H2(g) in thermo.tdat is H2(g) = H2(aq), but thermo_minteq.tdat doesn't include H2(aq), so you can't add H2(g) until you've first added H2(aq). TEdit should be able to accept reactions written in terms of the e- or O2(aq), or in terms of H+ or OH-, but it would be easiest to add them as they are written in thermo.tdat.


Hope this helps,


Link to comment
Share on other sites

Dear Brian,


Thank you very much for your reply.


I could successfully add ethanol in the database.

Besides, I could add the reaction Hg(l) = Hg(aq) thanks to your suggestion.


I have a question regarding the addition of H2(aq) and H2(g) reactions from thermo.tdat to thermo_minteq.tdat.

I copied and pasted both reactions, for H2(aq) and then for H2(g).

However, when I go to Act2 > File > Open > Thermo Data > thermo_minteq_Hg (the one that contains the H2(aq) and H2(g)) a series of errors appear:


"reaction mass imbalance for Hg(OH)2 = -235 Reaction = Hg(OH)2"

"reaction mass imbalance for Sn(OH)2 = -153 Reaction = Sn(OH)2"

"reaction mass imbalance for Tl(OH)3 = -255 Reaction = Tl(OH)3"

"reaction mass imbalance for Hg(OH)2 = -235 Reaction = Hg(OH)2"

"Exit: Act2 stop: couple_rxns: bad rxn Act2 is ending"


Then, the software closes.

I was checking the data for Hg(OH)2, Sn(OH)2, etc., but I couldn't find the mistake.


I hope that you can give me some suggestions to solve this.

Thank you very much in advance.



Link to comment
Share on other sites

Hi Angelica,


I'm glad to hear that you're making more progress. The problem you encountered occurred because in thermo_minteq.tdat certain minerals (Hg(OH)2, Sn(OH)2, Tl(OH)3) have the exact same name as the basis species from which they're formed. TEdit sees a reaction like Hg(OH)2 = Hg(OH)2 and gets confused then ends up deleting part of the reaction. After saving the dataset, you won't be able to read it into a GWB program.


The trick is to find the minerals mentioned above and change their names so that TEdit can differentiate them from the basis species. For example, you'd change the mineral Hg(OH)2 to Hg(OH)2(s). Since the problem arises in TEdit, it's best to perform the modification in a text editor like Notepad. After this is done, TEdit can read the reaction Hg(OH)2(s) = Hg(OH)2 properly. You would do the same for Sn(OH)2 and Tl(OH)3 minerals. There is also a mineral Ag2Se which shares a name with an aqueous species Ag2Se, but this shouldn't cause a problem. I've gone ahead and modified this dataset for you, so you can use this as your working copy for further modifications (like adding H2(aq) and H2(g)). Sorry for the inconvenience.





Link to comment
Share on other sites

Dear Brian,

Thank you very much for your guidance.

You can't imagine how much you are helping me.

I downloaded the file without any problem (thank you for editing the data-file for me) and then added the H2(aq) and H2(g) from Thermo.tdat.

It worked very well and now I have the figure almost done.

The only small thing that I noticed different from the original is the Hg(aq) section.

In the original data, there are two sections with Hg(aq), the big one (in the center) and the small one (in the left south).

However, in the figure I got from GWB I can only see the one in the center.

I think it is probably because of the difference in thermodynamic data between the minteq database and the data in the Table.

All the best,


Link to comment
Share on other sites

Hi Angelica,


That's great news. Yes, check again to make sure the thermo data you're using agrees with what's in the publication, especially for the species that plot on the diagram. I think you'll also want to make sure that you account for the speciation of the complexing ligands in the diagram. SO4--, for example, would speciate to HSO4- at low pH, or to H2S(aq), HS-, or S-- under reducing conditions. Try taking a look section 5.3, Mosaic diagrams, in the GWB Essentials Guide and see whether accounting for the speciation of SO4-- affects your plot.


By the way, a species' label is designed to be displayed roughly in the "center of mass" of the each stability field. If a particular species is predominant over multiple regions of the diagram, like Hg(aq) in this case, its label will still only appear once. Since it is still displayed in the center of mass, it could actually be displayed where a different species is stable if that happens to be the central point between the two fields. Try to take a closer look and see if that's the case.




Link to comment
Share on other sites

  • 6 months later...

Hi Angelica,


A few months ago you reported a problem with using TEdit to modify thermo_minteq.tdat. The problem arose because certain minerals (Hg(OH)2, Sn(OH)2, Tl(OH)3) have the exact same name as the basis species from which they're formed. TEdit sees a reaction like Hg(OH)2 = Hg(OH)2 and gets confused, then ends up deleting part of the reaction. We’ve taken care of this problem in GWB Release 11 by automatically adding suffixes (e.g. (s), (aq), (g), etc.) where necessary. The release includes as well many of the most-requested new features.


Please let us know if you’d like to try out our latest release or if you’d like a quote. Upgrades are available at a special price until February 28. I hope to hear from you soon.




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...