What pH scale is the Perez & Fraga (1987) K_F on? seacarb and PyCO2SYS disagree, and the coefficients make it puzzling

Subject: What pH scale is the Perez & Fraga (1987) K_F on? seacarb and PyCO2SYS disagree, and the coefficients make it puzzling

Comparing Revelle factors between seacarb and PyCO2SYS, I traced a ~37 ppm difference to the pH scale assigned to the Perez & Fraga (1987) fluoride constant. Only these two packages implement the Perez & Fraga option (CO2SYS-MATLAB ships only Dickson-Riley, and there all three agree). I cannot resolve the scale question from the documents, and the reason it is hard is a puzzle I am hoping Andrew or Fiz can settle.

Both packages use ln(K_F/k°) = 874/T - 9.68 + 0.111·S^0.5, which gives Dickson et al.'s (2007) -6.09 at S=35, T=25 °C, and 2.426e-3 at S=35, T=18 °C.

seacarb treats this as total-scale (citing Dickson et al. 2007) and converts to free (×0.822), giving 1.994e-3. PyCO2SYS treats it as free-scale and applies no conversion, keeping 2.426e-3. The difference propagates into the ~37 ppm.

The sources appear to conflict:

Dickson et al. (2007) state twice that the tabulated K_F is total-scale: the Chapter 7 introduction (p. 167), “with the exception of that for bisulfate ion, all acid dissociation constants are expressed in terms of ‘total’ hydrogen ion concentration,” and the Table 1 footnote to the same effect. K_F is not the excepted constant.

Perez & Fraga (1987) define their association constant β_HF with the free hydrogen ion (their eq. 3), which would make K_F = 1/β_HF free-scale in the original.

Here is the puzzle. The Dickson et al. formula and the Perez & Fraga original have the same coefficients (874, 9.68, 0.111), differing only in the sign flip from association to dissociation. A genuine free-to-total conversion multiplies K_F by (1 + S_T/K_S), a function of T and S, which would change the fitted coefficients. Identical coefficients mean no numerical conversion was applied between the two. So the same numbers are called free-scale by Perez & Fraga and total-scale by Dickson et al., which cannot both be literally true unless the scales coincide for this constant or one label is loose.

So, two questions:

For Andrew: when the Perez & Fraga K_F was placed in the Best Practices table and labelled total-scale, was that a deliberate assignment, and if so how is it consistent with the coefficients being unchanged from Perez & Fraga’s free-scale fit?

For Fiz: was β_HF in the 1987 paper defined and measured strictly on the free hydrogen scale, or is there a convention in the reduction that would let the same numbers serve as the total-scale K_F?

The numerical effect is negligible for any application, but the two packages genuinely disagree at the fourth figure for a reason that is a scale-convention provenance question rather than a coding error, and it would be good to pin down the correct treatment.

Much appreciated,

Jim

Thanks for raising this Jim! I don’t have a clear resolution but here some relevant thoughts.

I agree with your reading of Perez & Fraga (1987) that it looks like their final equation is on the free pH scale, as they correct for the bisulfate and use an activity coefficient to get away from the NBS scale of the pH measurements. (I do wonder if we should be using the same bisulfate constant, i.e. from Khoo et al. (1977), together with the Perez & Fraga (1987) pKHF, rather than mixing and matching.)

The PF87 option is implemented in the most recent CO2SYS-MATLAB from @jdsharp (code here), who I think was following Denis Pierrot’s implementation (presumably in Excel). It’s also treated as being on the free scale there, like in PyCO2SYS.

At 25 °C and salinity 35, the PyCO2SYS pKHF is 2.626 (PF87) versus 2.646 (DR79), a difference of ~0.02. If PF87 were actually on the total scale and DR79 on the free scale, then the difference should be a bit over 0.1. Of course, this isn’t definitive and it will also be influenced by uncertainties in the experimental data.

Tagging @AndrewDickson and will send this to Fiz separately as I don’t think he’s signed up here.

Here is the response from Fiz, sent by email since he is not yet part of this group and which he agrees we copy here:

From: “FIZ FERNANDEZ PEREZ” fiz.perez@iim.csic.es
To: “Matthew Humphreys” matthew.humphreys@nioz.nl
Cc: “James Orr” james.orr@lsce.ipsl.fr, “Anton Velo” avelo@iim.csic.es
Sent: Tue 28 July 2026 23:28:14
Subject: Re: pH scale of pK_HF

Dear Mathew

I did not expect to have to re-read our 1987 article after almost 40 years. The truth is that I was a little surprised by the debate. Thank you for contacting me personally.
Yes, please can you reproduce my answer or a summary of it on the site

The equation obtained by Dickson and Riley (1979) is somewhat different from that obtained later by Perez and Fraga. But both are on the scale of free hydrogen ions.
What I have not seen is where the information has been produced that these constants were defined on a total pH scale. Which, for me, is in a certain way a contradiction.

Goin into more detailed information about the interesting discussion on what pH scale the K_F of Pérez and Fraga (1987) is on. Which also links to the original article by Dickson and Riley (1979). In both papers the beta(HF) is defined in terms of free hydrogen. The following text is from Dickson & Riley 1979

In addition, Dickson et Riley (1979) obtained a different from PF’87 equation from two measurements of Culberson et al. 1970

In the Chapter 5 - physical and thermodynamic data page 14 of 19

reproduce the KF as inverse of beta(HF) in free hydrogen of PF’87. Thus the inclusion of a factor to convert the KF to a free hydrogen seems a mistake.

All the best

Fiz

And my response to Fiz (by email):

Dear Fiz,

Thanks for your rapid and definitive answer. I’ll copy your answer to the thread on SystemCO2 if Matthew has not already done so. This wasn’t really a debate, more of a question that I put to Matthew and the SystemCO2 group.

You mentioned you would like to know where it says that KF is on the total scale. That occurs in the Best Practices Guide (Dickson et al., 2007) in two places:

(1) in Chapter 4, SOP 3a, Annexe 1, page 12 of 18, in the footnote just under Table 1 (which gives the chemical formulas for all 12 constants): “All these equilibrium constants—except KS (which is on the free hydrogen ion scale)—are based on the total hydrogen ion pH scale, i.e., incorporating the effect of sulfate (but not of fluoride).”

(2) in Chapter 5 (Physical and thermodynamic data), Section 7 (Equilibrium constants), page 12 of 19, where the introductory paragraph says “with the exception of that for bisulfate ion, all acid dissociation constants are expressed in terms of ‘total’ hydrogen ion concentration.”

But your point is the important one: although the guide states the total scale in those two places, the value it tabulates for KF is the unconverted inverse of your free-scale beta(HF), so the total-scale label is itself the slip. As you infer, it is a contradiction, and the contradiction is in the guide’s labeling, not in your original constant.

So it is now crystal clear that your KF formula is on the free scale and that PyCO2SYS assigns that correctly, while the assumption in seacarb that it was on the total scale is incorrect. The fix is small and specific: removing the total-to-free conversion applied to the Perez and Fraga (1987) option in seacarb’s Kf routine. The Dickson and Riley (1979) option in seacarb is unaffected. I’ll make that change soon.

Hope you are well,

Jim

And here is my reply to JIm Orr & Fiz Perez:

Jim, Fiz, et al. ,

I apologize for misinterpreting the Perez & Fraga Mar. Chem. 21, 161 (1987) paper when updating the “Guide” in 2007, and mistakenly suggesting that equation (8) was on a “total hydrogen ion scale”, when it is not. In fact the “total hydrogen ion concentration” referred to in that paper is on what I now refer to as a “seawater scale”, i.e. including both HSO4 and HF along with hydrogen ions, and it is noted ,as a seeming afterthought to the paper, that “concentration units” in this paper are expressed in mol/kg-solution (viz amount content).

Undoubtedly this is a somewhat confusing area. The above manuscript used pH measurements calibrated using a so-called NBS buffer (apparently the phosphate mixture that has an assigned pH of 7.413 at 25 °C) to measure pH changes occurring as a consequence of adding NaF salt to a seawater sample (noting that any compositional changes were likely small enough not to affect activity coefficients meaningfully).

However, the key additional data used in estimating beta(HF) are the estimates of the “apparent” activity coefficients: ƒHT and ƒFT. The first of these is estimated as the limiting slope of a plot of “total hydrogen ion concentration” against 10^(–pH(NBS)) , the second by correcting the “total hydrogen ion concentration” to a “free hydrogen ion concentration” (assuming a value for beta(HSO4), and estimating the slope of a plot of this value against 10^(–pH(NBS). As was noted in a later paper (cited in this one) such apparent activity coefficients include implicitly the effects of any changes in liquid junction potential due to either using different physical electrodes, or to the changing composition of the solution (predominantly the effect of changing the amount content of the mobile species: hydrogen ion).

None of this is a disclaimer for my original error, simply my recognition that the overall uncertainty in estimating beta(HF) is likely quite large especially when compared to the approximately 0.01 difference between “total pH” and “SWS pH”, and that use of the “NBS pH” is to be deprecated for empirical reasons, as well as due to its impossibility of accurate interpretation. I would have no reason to suggest that the original Dickson and Riley estimate was superior to that given here, rather that – on careful rereading – it would be desirable to estimate an appropriate uncertainty for the values of beta(HF) that are given in this paper by Perez and Fraga (though knowledge of such an uncertainty would likely be a footnote to the overall problem of understanding uncertainties in our thermodynamic model of acid-base processes in seawater media).

regards, Andrew