The total calcium content is calculated internally in (Py)CO2SYS as a linear function of salinity, following either Riley & Tongudai (1967) or Culkin (1965) depending on the settings.
In PyCO2SYS it’s also possible for you the user to provide an alternative value to use instead of the internal calculation, which might be desirable for example in the vicinity of rivers with elevated [Ca2+] at low salinity.
Changing [Ca2+] affects carbonate mineral saturation states
Whether calculated from salinity or provided by the user, the only place where the [Ca2+] value is used is in the equation
Ω = [Ca2+][CO32–] / Ksp(T, S, p)
which has a different Ksp for calcite and aragonite. Ksp itself is not a function of [Ca2+]. And more generally:
Changing [Ca2+] does not affect equilibrium constants
In reality, changes in major ion composition affect the values of the stoichiometric equilibrium constants used to solve for equilibrium in (Py)CO2SYS. However, this effect is not present in (Py)CO2SYS, where the solution composition’s influence on all equilibrium constants is parameterised as functions of salinity.
If values for equilibrium constants that do include the effects of [Ca2+] variations have been calculated using an alternative (e.g., Pitzer) model they can be provided as arguments to PyCO2SYS, in which case they will be used instead of the internally evaluated values - just like [Ca2+].