The solubility of calcite as a function of CO2 pressure in the air is calculated. The input file  is from the website of Appelo (https://www.hydrochemistry.eu/ ) - https://www.hydrochemistry.eu/exmpls/calcite.html


The input file is adapted to create a multi-dataset file that allows for making a graph similar to the one shown on the website.




SOLUTION 0 
END


SELECTED_OUTPUT 1 
#defined after END to avoid the initial calculation in the output file
-file res01.out
USER_PUNCH 1
-headings upCO2 uCa 
-mybasic 
-start
 punch(100 * sr("CO2(g)"))
 punch(1000*tot("Ca"))
-end
#define a label for the first dataset
punch 1 index "Equilibruim"


USE solution 0
EQUILIBRIUM_PHASES 1
 Calcite
REACTION 1
 CO2 1; 3.5e-3 in 30
END


#define the second dataset with label
PUNCH 1 gnuplot "Mixing line"


SOLUTION 2 # point B in Figure 5.14...
 pH 7 charge; Ca 1 Calcite; C(4) 1 CO2(g) -1.7
END
SOLUTION 1 # point A in fig 5.14...
 pH 7 charge; Ca 1 Calcite; C(4) 1 CO2(g) -3.5
END


#define the third dataset with label
PUNCH 1 gnuplot "Mix 1:1"
MIX
 1 0.5; 2 0.5
END


SELECTED_GRAPH 1


-fig_nr 1
-fig_name "dissolution"
-fig_x upCO2
-fig_y uCa <k "__nc" i l0-1>
-fig_y uCa <k "__nc" i 2 style points>
-fig_xt "CO2 (vol%)"
-fig_yt "Ca (mmol/kg_w)"
-fig_start
 set title "Calcite Dissolution"
 set key inside bottom
 set yrange [0:3]
 set xrange [0:3]
-fig_end



The resulting graph is shown below.