Varying ppmCO2 in air 

Usually this is the very first step in ocean chemistry. Everything else being equal, we simulate a variation in CO2 concentration in the preferred range. Here below a sample output of the program with ppmCO2 varying from 280 to 500 ppm(v).

Salinity is expressed as grams of salt dissolved in 1 kg of water. If salinity is varied, the concentrations of all ions in solutions vary accordingly (so as to mantain the ratios among the ions)

DIC has the usual meaning of Dissolved Inorganic Carbon and if the sum of three concentrations [H2CO3] + [HCO3-] + [CO3--] all in millimoles/(kg of water)

Interesting to note the oversaturation values (sat.C and sat.A) for calcite and aragonite, which decrease with increasing ppmCO2.  The oversaturation W has the usual meaning of   W = [Ca++]*[CO3--]/Solubility product.

In this run no CaCO3 is allowed to form, but is possible to change this from pptF = 0 to pptF= 1 (pptF = precipitation factor, i.e. the fraction of CaCO3 which precipitates in respect to the total amount that could precipitate, according to solubility product). In the next run pptF = 0.01, only 1% of CaCO3 (calcite) formation

Tc = 17           ' temperature in Celsius (C)
ppmCO2 = 310 to 500 step 5      ' parts per million (in volume) of CO2 in the atmosphere
P = 0             ' pressure in atm. P=0 means ambient pressure, 1 atm.
S = 35            ' salinity, in grams of salts in 1 kg of solution
pptF = 0          ' fraction of CaCO3 which actually precipitates
Cl  = 0.54586     ' Cl-   Mol/kg(solution)
Na  = 0.46906     ' Na+   Mol/kg(solution)
Mg  = 0.05282     ' Mg++  Mol/kg(solution)
Ca  = 0.01028     ' Ca++  Mol/kg(solution)
SO4 = 0.02824     ' SO4-- Mol/kg(solution)
K   = 0.01021     ' K+    Mol/kg(solution)
Br  = 0.00084     ' Br-   Mol/kg(solution)
Sr  = 0.00009     ' Sr++  Mol/kg(solution)
F   = 0.00007     ' F-    Mol/kg(solution)
B   = 0.00042     ' B(OH)3 + B(OH)4- Mol/kg(solution)
save .csv file = 1' (0=no  1 = yes)
---------------------------------------------------------------------------------------------------------------------------------
 *** CO2 SOLUBILITY EQUILIBRIA IN SEAWATER AND CaCO3 FORMATION ***
 Concentrations [..] are in mmol/kg              DIC = [H2CO3] + [HCO3-] + [CO3--]
 Cout>0 means CO2 is outgassed from SeaWater to Atmosphere, the opposite if Cout<0

 +----+------+-----+----+----+------+------+-------+-------+-------+-----+------+-------+------+-------+------+-----+-----+-----+
 |(C)|ppmCO2| pptF|  P |  S |   pH |  pOH |[H2CO3]|[HCO3-]|[CO3--]| DIC |[Ca++]|[CaOH+]|[Mg++]|[MgOH+]| Cout |CaCO3|sat.C|sat.A|
 +----+------+-----+----+----+------+------+-------+-------+-------+-----+------+-------+------+-------+------+-----+-----+-----+
 | 17 |  310 |0.000|   0|35.0| 8.208| 5.332|  0.011|  1.780|0.21484|2.006|10.279| 0.0010|52.728| 0.0924| 0.000|0.000|  5.1|  3.3|
 | 17 |  315 |0.000|   0|35.0| 8.202| 5.337|  0.011|  1.786|0.21287|2.010|10.279| 0.0009|52.729| 0.0913|-0.004|0.000|  5.1|  3.3|
 | 17 |  320 |0.000|   0|35.0| 8.197| 5.343|  0.011|  1.792|0.21094|2.014|10.279| 0.0009|52.730| 0.0902|-0.008|0.000|  5.0|  3.2|
 | 17 |  325 |0.000|   0|35.0| 8.191| 5.348|  0.011|  1.798|0.20905|2.018|10.279| 0.0009|52.731| 0.0891|-0.013|0.000|  5.0|  3.2|
 | 17 |  330 |0.000|   0|35.0| 8.186| 5.353|  0.012|  1.804|0.20719|2.022|10.279| 0.0009|52.732| 0.0880|-0.017|0.000|  4.9|  3.2|
 | 17 |  335 |0.000|   0|35.0| 8.181| 5.358|  0.012|  1.809|0.20536|2.026|10.279| 0.0009|52.733| 0.0870|-0.021|0.000|  4.9|  3.2|
 | 17 |  340 |0.000|   0|35.0| 8.176| 5.363|  0.012|  1.815|0.20357|2.030|10.279| 0.0009|52.734| 0.0859|-0.024|0.000|  4.9|  3.1|
 | 17 |  345 |0.000|   0|35.0| 8.171| 5.369|  0.012|  1.820|0.20181|2.034|10.279| 0.0009|52.735| 0.0849|-0.028|0.000|  4.8|  3.1|
 | 17 |  350 |0.000|   0|35.0| 8.166| 5.374|  0.012|  1.825|0.20008|2.038|10.279| 0.0009|52.736| 0.0840|-0.032|0.000|  4.8|  3.1|
 | 17 |  355 |0.000|   0|35.0| 8.161| 5.378|  0.012|  1.831|0.19838|2.041|10.279| 0.0009|52.737| 0.0830|-0.036|0.000|  4.7|  3.1|
 | 17 |  360 |0.000|   0|35.0| 8.156| 5.383|  0.013|  1.836|0.19671|2.045|10.279| 0.0009|52.738| 0.0821|-0.039|0.000|  4.7|  3.0|
 | 17 |  365 |0.000|   0|35.0| 8.151| 5.388|  0.013|  1.841|0.19507|2.049|10.279| 0.0008|52.739| 0.0812|-0.043|0.000|  4.7|  3.0|
 | 17 |  370 |0.000|   0|35.0| 8.146| 5.393|  0.013|  1.845|0.19346|2.052|10.279| 0.0008|52.740| 0.0803|-0.046|0.000|  4.6|  3.0|
 | 17 |  375 |0.000|   0|35.0| 8.142| 5.398|  0.013|  1.850|0.19187|2.055|10.279| 0.0008|52.741| 0.0795|-0.049|0.000|  4.6|  3.0|
 | 17 |  380 |0.000|   0|35.0| 8.137| 5.402|  0.013|  1.855|0.19031|2.059|10.279| 0.0008|52.741| 0.0786|-0.053|0.000|  4.5|  2.9|
 | 17 |  385 |0.000|   0|35.0| 8.132| 5.407|  0.014|  1.860|0.18878|2.062|10.279| 0.0008|52.742| 0.0778|-0.056|0.000|  4.5|  2.9|
 | 17 |  390 |0.000|   0|35.0| 8.128| 5.411|  0.014|  1.864|0.18727|2.065|10.279| 0.0008|52.743| 0.0770|-0.059|0.000|  4.5|  2.9|
 | 17 |  395 |0.000|   0|35.0| 8.123| 5.416|  0.014|  1.869|0.18579|2.068|10.279| 0.0008|52.744| 0.0762|-0.062|0.000|  4.4|  2.9|
 | 17 |  400 |0.000|   0|35.0| 8.119| 5.420|  0.014|  1.873|0.18433|2.071|10.279| 0.0008|52.745| 0.0754|-0.066|0.000|  4.4|  2.8|
 | 17 |  405 |0.000|   0|35.0| 8.115| 5.425|  0.014|  1.877|0.18290|2.074|10.279| 0.0008|52.745| 0.0747|-0.069|0.000|  4.4|  2.8|
 | 17 |  410 |0.000|   0|35.0| 8.110| 5.429|  0.014|  1.882|0.18148|2.077|10.279| 0.0008|52.746| 0.0739|-0.072|0.000|  4.3|  2.8|
 | 17 |  415 |0.000|   0|35.0| 8.106| 5.433|  0.015|  1.886|0.18009|2.080|10.279| 0.0008|52.747| 0.0732|-0.075|0.000|  4.3|  2.8|
 | 17 |  420 |0.000|   0|35.0| 8.102| 5.438|  0.015|  1.890|0.17872|2.083|10.279| 0.0008|52.748| 0.0725|-0.077|0.000|  4.3|  2.7|
 | 17 |  425 |0.000|   0|35.0| 8.097| 5.442|  0.015|  1.894|0.17738|2.086|10.279| 0.0007|52.748| 0.0718|-0.080|0.000|  4.2|  2.7|
 | 17 |  430 |0.000|   0|35.0| 8.093| 5.446|  0.015|  1.898|0.17605|2.089|10.279| 0.0007|52.749| 0.0711|-0.083|0.000|  4.2|  2.7|
 | 17 |  435 |0.000|   0|35.0| 8.089| 5.450|  0.015|  1.902|0.17474|2.092|10.279| 0.0007|52.750| 0.0704|-0.086|0.000|  4.2|  2.7|
 | 17 |  440 |0.000|   0|35.0| 8.085| 5.454|  0.015|  1.906|0.17346|2.095|10.279| 0.0007|52.750| 0.0698|-0.089|0.000|  4.1|  2.7|
 | 17 |  445 |0.000|   0|35.0| 8.081| 5.458|  0.016|  1.909|0.17219|2.097|10.279| 0.0007|52.751| 0.0691|-0.091|0.000|  4.1|  2.6|
 | 17 |  450 |0.000|   0|35.0| 8.077| 5.462|  0.016|  1.913|0.17094|2.100|10.279| 0.0007|52.752| 0.0685|-0.094|0.000|  4.1|  2.6|
 | 17 |  455 |0.000|   0|35.0| 8.073| 5.466|  0.016|  1.917|0.16971|2.103|10.279| 0.0007|52.752| 0.0679|-0.097|0.000|  4.0|  2.6|
 | 17 |  460 |0.000|   0|35.0| 8.069| 5.470|  0.016|  1.920|0.16850|2.105|10.279| 0.0007|52.753| 0.0672|-0.099|0.000|  4.0|  2.6|
 | 17 |  465 |0.000|   0|35.0| 8.065| 5.474|  0.016|  1.924|0.16730|2.108|10.279| 0.0007|52.753| 0.0666|-0.102|0.000|  4.0|  2.6|
 | 17 |  470 |0.000|   0|35.0| 8.061| 5.478|  0.017|  1.927|0.16613|2.110|10.279| 0.0007|52.754| 0.0661|-0.104|0.000|  4.0|  2.6|
 | 17 |  475 |0.000|   0|35.0| 8.058| 5.482|  0.017|  1.931|0.16496|2.113|10.279| 0.0007|52.755| 0.0655|-0.107|0.000|  3.9|  2.5|
 | 17 |  480 |0.000|   0|35.0| 8.054| 5.486|  0.017|  1.934|0.16382|2.115|10.279| 0.0007|52.755| 0.0649|-0.109|0.000|  3.9|  2.5|
 | 17 |  485 |0.000|   0|35.0| 8.050| 5.489|  0.017|  1.938|0.16269|2.117|10.279| 0.0007|52.756| 0.0644|-0.111|0.000|  3.9|  2.5|
 | 17 |  490 |0.000|   0|35.0| 8.046| 5.493|  0.017|  1.941|0.16158|2.120|10.279| 0.0007|52.756| 0.0638|-0.114|0.000|  3.9|  2.5|
 | 17 |  495 |0.000|   0|35.0| 8.043| 5.497|  0.017|  1.944|0.16048|2.122|10.279| 0.0007|52.757| 0.0633|-0.116|0.000|  3.8|  2.5|
 | 17 |  500 |0.000|   0|35.0| 8.039| 5.500|  0.018|  1.947|0.15940|2.124|10.279| 0.0006|52.757| 0.0627|-0.118|0.000|  3.8|  2.5|
 +----+------+-----+----+----+------+------+-------+-------+-------+-----+------+-------+------+-------+------+-----+-----+-----+
---> END OF PROGRAM !          e-mail and info --> mazzad50@gmail.com

 

Here below a plot derived from the data in the above table and from a secon one (not shown)

The CO2 concentration is interpolated 1958 - 2059 from Mauna Loa data (Keeling curve). According to that interpolated value, the pH are calculated (17C and salinity 35 g/Kg of water) using SeaWaterCalc.

pH values are somehow different from those found in a chemistry textbook, because the values of [H+] are expressed in moles per kg of solvent (water) and not in moles per liter of solution