Jump to content
Geochemist's Workbench Support Forum

Albite Dissolution in Soils as a Function of pCO2


Recommended Posts


I'm trying to reproduce Fig. 3 from Ibarra et al. (2019; attached). However, I'm getting a component bicarbonate concentration that is too high. In the text, they describe how they model the weathering of soil containing the primary mineral Plagioclase Feldspar (An20Al80), which forms secondary minerals such as Halloysite and Kaolinite. The system is in equilibrium with atmospheric CO2 at a fixed fugacity and the initial fluid composition is dilute rainwater.

For simplicity, I am using 100% Albite as the primary mineral, and Kaolinite as the secondary mineral with GWB's default thermo database (i.e., I am trying to approximate the orange line from panel B). My React script is as follows:

4 kg free H2O
T = 25

swap Quartz for SiO2(aq)
swap CO2(g) for HCO3-
P CO2(g) = 0.0002 bar
fix fugacity CO2(g)

# rainwater 
SiO2(aq) = 9e-7 molal
Al+++ = 2e-7 molal
Ca++ = 9e-5 molal
K+ = 1.6e-5 molal
Mg++ = 6.8e-5 molal
Na+ = 4.2e-4 molal
Cl- = 1e-7 molal
NO3- = 5.1e-7 molal
SO4-- = 4.6e-4 molal

balance H+

react 10 g Albite
react 30 g Quartz

suppress all
unsuppress Kaolinite
unsuppress Quartz

This script gives an HCO3- concentration of ~8,000 umol/L (attached), but it should be ~1,200 umol/L (for pCO2 of 200 ppm and T of 25 C). How can I decrease the concentration of bicarbonate? I am also confused about why Quartz and Kaolinite seemingly become saturated instantaneously (attached).

Note: the amount of water, Qtz, and Al are to give a water/rock ratio of 100


-- Adam



Ibarra+2019 Fig 3.png

Link to comment
Share on other sites


I am not sure if I understand some of the commands in your script. I am not sure why Quartz is swapped in for SiO2(aq) at the top of your input file. Was this intentional? When you later set SiO2(aq) = 9e-7 molal, you effectively unswapped your mineral. Again, you titrate in some mass of quartz but your description of the problem and the caption of the figure does not mention quartz being titrated. Could you double check the conditions for your initial system?

A general tip when recreating these types of results is to try to use as much of the same conditions as possible. In general, you should check the equilibrium constants for the reactions in your dataset against what they use. You would do best if you are able to use their exact mineral reaction instead of approximating with an alternative dataset. Perhaps the authors provided additional information regarding how they performed the calculation in supplementary materials or appendices. If you believe that your set up is correct, you might inquire one of the paper's original authors for the input file to compare.

Best regards,
Jia Wang
Aqueous Solutions LLC

Link to comment
Share on other sites

Hi Jia,

Thank you for the detailed reply. I've read the GWB textbook and documentation, but I'm still having trouble understanding basis swapping. I'm trying to dissolve quartz in a system that already contains a small amount of SiO2(aq). Should I swap Qtz for SiO2(aq) after I define its concentration? Why does defining the concentration afterwards undo the swap?

The authors provided me some Excel data that they used for the paper, but they don't have access to the React files, and are also unsure why my results are different. Here's what I know for sure from the paper and the data they sent:

1) 100% albite vs An20Al80 makes little difference, based on their sensitivity test in Fig 3C. I did, however, try the database that they used which includes halloysite, and it was effectively the same in terms of HCO3- concentration.

2) They used 10 g of plag feldspar and 30 g of quartz as the the two minerals that dissolved (that's why I titrated quartz), and a water/rock ratio of 100.

3) Their P-T conditions are: 5, 15, and 25 C, and 200 - 10,000 ppm CO2(g). The fugacity of CO2(g) was fixed.

4) The composition of the initial fluid is dilute rainwater.




Link to comment
Share on other sites

Hello Adam,

You're welcome. When you swap a mineral into the basis pane for a component, the software will set your fluid in equilibrium with that fluid and calculate the dissolved concentration that the component you swapped it in for. Therefore, the program does not allow you to set a bulk concentration and swap in a mineral or gas for the same component. You can only provide one constraint. If you swap in a mineral for a component and then later set a bulk concentration, the program automatically unswap and use your bulk concentration. Please see section 2.1-2.2 Configuring the Programs section in the GWB Essentials User Guide for more details on setting up your basis, which is the starting point of your simulation.

You can use the 'react' command to set the minerals and species that you wish to add to your initial system to alter it. In this case, you have 30 g of quartz and 10 grams of albite added into the system incrementally throughout the simulation. Your script also fixes the pCO2 for the system at 0.0002 bars.

I would suggest you revisit the script to make sure that you are setting up the initial composition correctly and determine whether it is appropriate to swap in Quartz in your basis to start. Without the original input file, it would be very difficult to say what is exactly different between your script and the original.


Link to comment
Share on other sites

Hi Jia,

I just had a meeting with two of the authors, but unfortunately, we weren't able to figure it out. However, they pointed out some mistakes that got me a bit closer. They agreed I should get rid of the "swap Quartz for SiO2(aq)" line (but keep quartz as a reactant), and they also said I shouldn't unsuppress quartz because it precipitates too slowly for this type of system. The w/r mass ratio and starting amount of quartz affect the equilibrium concentration of bicarbonate substantially, and we're pretty confident the rest of the setup is correct, so it's probably something to do with that.

Since this was just an exercise to learn how to set up dissolution reactions, I'm going to shelve this for now. Thanks again for your help!


-- Adam

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