Jump to content
Geochemist's Workbench Support Forum


Recommended Posts

Hi gang.  I am all new to GWB, and so these may be dumb questions.  But here you go:

Ocean chemistry is largely a function of carbonate chemistry.  I am really struggling to get GWB to give me numbers that look like those I hand calculate for carbonate chemistry.  Technically, one should only need two numbers from the following variable to calculate the carbonate system: alkalinity, pH, Total inorganic Carbon (TotC), pCO2 (or other spps. of carbonate).  I am struggling to figure out how to set any two of these in GWB.  I have tried setting HCO3- as a basis (so one variable is established...to 2 mmol/kg for example), and pH (to 8.1 for example).  But the resultant alkalinity is nonsensical.  And GWB also alters the [HCO3-]... which it should, considering it is using the HCO3- variable as TotC (I think...?)

Also - is there any way to hardwire the SpecE8 output files to give alkalinity (or carboante alkalinity) in other units (mole equivalents, for example)?  Someone else asked about this, but I was baffled by the answer.

Thanks for any help to get going.  I'm sure once I figure out the logic, I will have fewer problems!

- Brian

Link to comment
Share on other sites

Hi Brian,

I'm sorry I didn't notice this post right away. Typically users post new topics to the front page of the forum instead of the archive.  

By default, most basis entries are treated as "bulk" constraints. The HCO3- concentration of 2 mmol/kg that you set refers to the total carbon in the system. In other words, the sum of the concentration of CO2(aq), HCO3-, CO3--, NaHCO3, etc. will add up to 2 mmol/kg. If you instead set it as a "free" constraint (by selecting the option from the units pulldown next to HCO3- ) you specify that the concentration of the HCO3- ion itself is 2 mmol/kg. The total mass of carbon will be larger in this case because other species, such as CO2 and CO3--, will be present in equilibrium with the HCO3-, honoring the mass action equations and log Ks included in the thermo dataset.

An additional wrinkle in the complication is how to account for carbon species in different oxidation states. By default, species like CH4 and CH3COO- are set to be in equilibrium with HCO3-. If you set a value for the oxidation state of the system, some of the mass in the HCO3- component will be used to form species like CH4 and CH3COO-. By decoupling the different redox pairs involving carbon, you can set up your calculation so that your HCO3- component includes only inorganic carbon species. For more information, please see section 2.4 Redox couples and 7.3 Redox disequilibrium in the GWB Essentials Guide. 

The units in the text output file cannot be changed, but when you plot your results in Gtplot you can choose from a variety of units.

Please let us know if you're still having trouble. I'd be happy to take a look at en example if you'd like.


Brian Farrell
Aqueous Solutions LLC

Link to comment
Share on other sites

  • 2 weeks later...

Thanks Brian, this is super helpful.  However, in comparing my GWB output to 'standard' calculators of seawater alkalinity (e.g., 'CO2calc"), I still find offsets.

I'll send a GWB example tomorrow, but you can try using a temp of 25°C, a salinity of 35 PSU (Cl- = 546; Na+ = 469; Mg++ = 53; SO4-- = 28; Ca++ = 10.3; K+ = 10.2 all in mmol/kg), then set HCO3- = 1795 umol/kg and pH = 7.80.  The results should give Total Alkalinity = 2125; Tot DIC = 1950; HCO3- = 1795 (i.e., as set 'free'); CO3-- = 135; CO2(aq) = 20 (all in umol/kg).  I find that GWB comes 'close' but seems to be 10, 20% (more?) off.  This is a real problem with CO3--, especially.  Do you find similar?  (Note, this is very simple system, assumed total oxic, and with no redox chemistry.)

Is there any way to have GWB output the actual Kds it uses for any given reaction?  I'd be especailly interested to see what values of k1, k2 and kH GWB is using for the carbonate system at these conditions...

Thanks a million!

Link to comment
Share on other sites

Hi Brian,

If using React, turn precipitation off to prevent supersaturated minerals from forming and changing the composition of the fluid that you set. Or, just use SpecE8, which doesn’t precipitate mass.  

You say total DIC should be 1950 umol/kg, and that it should be composed of 1795 umol/kg free HCO3- + 135 umol/kg free CO3-- + 20 umol/kg free CO2. If that’s the case, your input for the HCO3- component needs to be 1950 umol/kg, not 1795 umol/kg, or you need to set 1795 umol/kg free HCO3-.

Are HCO3-, CO3--, and CO2(aq) the only carbon species accounted for in your reference example? If so, you may need to suppress various other carbon species, such as NaHCO3, MgHCO3+, etc. Or, are you only reporting the concentration of those three? In general, to get consistent results your entire set of species considered, their reactions, and their log Ks, should be consistent. You can view the thermo dataset currently loaded into a program by going to File -> View and selecting the “.tdat” file. You can also make the program include in its text output file all considered reactions and log Ks by going to Config – Output and filling the “reactions loaded” checkbox with a square. And you can alter the log Ks used for any reaction interactively within the program.

I’m a little surprised that your reference shows more CO3-- than CO2(aq) in the fluid, considering the pH is closer to the equivalence point for CO2/HCO3- than for HCO3-/CO3--.   

For more information, please see the suppress, alter, print, and precip (React only) commands in the SpecE8 or React chapters of the GWB Reference Manual. 

Hope this helps,

Link to comment
Share on other sites

Brian -

Thanks for your continue assistance.  I am just really struggling to get these numbers right.  But they are critical in marine work!  

I still cannot get any manipulation of the numbers to work.  I did suppress ALL carbonate and bicarbonate complexes with any other cations.  Obviously I left HCO3- and CO3-- unsuppressed.  I then tried 1950umol/kg HCO3- (total DIC) and 1795umol/kg HCO3- free (and these did not return the right values where I was expecting to find them... which was really disturbing.).  I also printed out the logK values, but these seem to be just the value at temperature with no correction for ionic strength, so this is not much use.  (I.e., -6.36 and 10.34 for k1 and k2).

For T = 25, S = 35, Alk = 2150, DIC = 1950, you should get HCO3- = 1785, CO32- = 148, CO2(aq) = 17 (ish) and pH = 7.87.  

I suppressed all carbonate and bicarbonate ion pairs, and get numbers that dont seem to make sense - .e.g, DIC adds up to 2020 with Alk at 1935?  (At pH 7.88, we are still closer to the CO3-- side of the system...)

I *think* the Ks are not adjusting properly... but how can i tell?


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...