Guest Post by Willis Eschenbach, with thanks to Charles The Moderator for the above image.
A few days ago I published another analysis of mine, called pHony Alarmism. Take a moment to read that if you haven’t, because this is a sequel. Both are about a new study in Science Magazine yclept “A 485-million-year history of Earth’s surface temperature”, paywalled, of course.
A short digression. One of the ways I truly benefit from publishing the results of my scientific investigations on the web and interacting with the commenters is that my mistakes don’t last long. When I go off the rails, and notice I didn’t say “if” I go, my mistakes rarely last more than a day before they’re pointed out and I can consider and correct them.
But that’s only one of the ways that it’s beneficial to write for the web and then stick around. Perhaps more importantly, it lets people ask me interesting questions and point out overlooked avenues to investigate.
Here’s an example. In a reply to my post yesterday, I got this …
Jeff Alberts, June 25, 2025 4:26 pm
No graph with the co2 and pH together?
To which I answered …
They’re sampled at different times. I could interpolate both ways. Thought about it, then decided that was enough for one post. Hang on … we know pH is proportional in some sense to the log of the CO2. Give me a minute …
In a bit I came back to say:
…well, of course it takes more than a minute but most interesting.
Looks like that will be the subject of my next post. Stay tuned.
w.
This is that next post. End of digression.
One of the reasons that I didn’t look at graphing pH versus CO2 was that I was given to understand that the procedure for calculating the pH was very complex. The paper says (or at least the Supplementary Information (PDF) says, the paper is paywalled:
4.3 Estimating the temporal variability of pHsw [pH of saltwater]
Both 18Ocarbonate and Mg/Ca values are affected by changes in pHsw (102, 125). Temporally, surface water pH largely varies as a function of atmospheric CO2, although other aspects of the carbonate system, such as alkalinity, do exert a control. Here, we took two approaches to estimating pHsw and, similar to our approach with the global 18Osw, we run assimilations utilizing both methods.
In the first approach, we forward-modeled global average pHsw from the model priors (i.e., the “model prior pH” method). We used the prescribed CO2 and global mean SST from each ensemble member to estimate pHsw using the CO2SYS function for Matlab (126). We assigned globally-averaged alkalinity as the second constraint on the carbonate system, which we assumed to be normally distributed with values randomly drawn from [N(2300, 100)], based on the modern distribution described by the GLODAPv2 gridded product (127) (mean modern alkalinity = 2295 µ/kg). We also drew global salinity values from a normal distribution of [N(34, 2)] based on the World Ocean Atlas 2013 gridded product, which indicates a global mean salinity of 34.5 psu. Note that the CO2SYS calculation is not very sensitive to the salinity.
In the second approach, we estimated pHsw using the CO2 values from our proxy data reconstruction (i.e., the “CO2 proxy pH” method; Fig. S10; see Section 7;). We generated an ensemble of 2,500 potential pHsw values for each stage of the Phanerozoic using the CO2 ensemble described below (see Section 7) and the CO2SYS function for Matlab (126). We again randomly assigned alkalinity by drawing from [N(2300, 100)], and salinity from [N(34, 2)]. We also drew values of temperature from a broad uniform distribution [U(10, 35)] (Fig. S10D).
The first approach reflects the truest form of forward modelled proxy estimates (Yest) in that the pHsw values are specific to each ensemble member and based on prior information. An added advantage of this method is that the estimates of GMST are completely independent of the CO2 reconstruction, enabling us to investigate the relationship between these two variables without the risk of circularity. Nevertheless, the fidelity of the results is predicated on the assumption that HadCM3L accurately represents the temperature-CO2 relationship (i.e., climate sensitivity).
The second approach removes this dependence, making the results independent from HadCM3L’s climate sensitivity, but does, to an extent, remove the independence between GMST and the reconstructed CO2 values. This dependency is small, however, especially since 12 the multiproxy nature of the assimilation means that during most—but not all—stages, there are at least some data that are fully independent from the CO2 estimates (i.e., the U K0 37 , TEX86, and 18Ophosphate data). Mirroring the strategy we took with uncertainties around the global 18Osw values, our results incorporate assimilations utilizing both methods (see Section 5).
Zowie! Mondo scientifico!
To investigate the first method, calculating the pH from the CO2 levels, I got the R version of the CO2SYS function mentioned above. The function requires that you know the alkalinity at every point in time when you calculate the pH. But they don’t know the alkalinite, so instead they use some vaguely described Monte Carlo analysis.
That analysis would have taken me a lot of experimentation to replicate, with no guarantee of success. Since my prior post was already pretty long, I then chose to leave the whole pH validity question alone, and just noted in my prior post that the pH calculation was uncertain. I said:
“In any case, the study also has a graph of the pH of the ocean over the same period of time. How accurate is it? Also unknown. Presumably, however, it’s currently our best estimate of the variations of oceanic pH over 485 million years.”
To summarize: I expected that there would be a subtle, complex, unknown relationship between CO2 and pH, given the dependence of the relationship on both alkalinity and salinity. But then, at the suggestion of Jeff Alberts, I actually graphed the CO2 versus the pH. And to my great surprise, here’s what I found.
Figure 1. Scatterplot, seawater pH versus the log of CO2
Dang, sez I, they go through those four dense paragraphs explaining their two very high-tech super-sciency methods that they’re using, then say that their results “incorporate assimilations utilizing both methods”, whatever that means.
And after all that, it turns out they end up with a bog-standard linear relationship???
Color me totally unimpressed. That’s double-dipped flim-flam “scientific” grifting. As Harry S. Truman is reputed to have said, “If you can’t convince them, confuse them.”
However, the story doesn’t end there. While writing this, I noticed something that had escaped me when I wrote my previous post on the subject. Above, they say:
Nevertheless, the fidelity of the [pHsw] results is predicated on the assumption that HadCM3L [model] accurately represents the temperature-CO2 relationship (i.e., climate sensitivity).
That started the alarm bells ringing. Their main claim is that their study shows that CO2 controls the temperature. Since I couldn’t find a non-paywalled version of the study, I read more deeply into the Supplementary Information. Let me walk through what I found:
Climate model simulations PhanDA [their method] uses ESM simulations from the fully coupled atmosphere–ocean–vegetation Hadley Centre model, HadCM3L (33, 34).
An “ESM” is an “Earth System Model”, which aspires to model the whole Earth. So this whole thing is just a model simulation. The only difference is that this is a simulation where the model is periodically nudged back onto the right path by paleontological proxy data. However, through all of that, it retains all of the problems, assumptions, and tunable parameters of the model.
In the tropics, each gridcell in the model is on the order of 250 miles east-west by 170 miles north-south (410 km by 270 km). This is far too large to include most of the crucial emergent phenomena that are a core part of the climate thermoregulatory system.
Simulations were carried out for approximately every 5 myrs across the Phanerozoic using the paleogeographic plate model of Ref (96) and a time-dependent solar constant (82), resulting in 109 timeslices.
Every 5 million years, they ran their model for 3,000 model years. Or in some cases, they ran it for 10,000 years, for unknown reasons. Presumably, they didn’t like the 3,000-year results. Who knows. In any case, that was called a “timeslice”
For each timeslice, the model was run eight times (i.e., eight “suites”), with each suite assuming different atmospheric CO2 concentrations and/or different configurations of the climate model. These suites are described below, with the local naming convention for each suite given in square brackets. Two suites were identical to the simulations described in (16), i.e., were carried out with the ‘base’ version of the climate model and with two different CO2 concentrations: the CO2 reconstruction of Ref (78) [scotese02], and a smoothed CO2 reconstruction chosen to be consistent with various proxy climate indicators [scotesespinupa] (see Ref (16) for details). Three additional suites were carried out with this same base version of the climate model but with three constant values of CO2 (1x [scotesesolara], 2x [scotese2co2a], and 4x [scotese4co2a] preindustrial concentrations) for all timeslices. The final three suites were carried out with modified configurations of the model. These configurations were tuned to better match early Eocene proxy data (a target timeslice for the DeepMIP project (60)), specifically by increasing the polar amplification under CO2-induced warming, while still maintaining a preindustrial climate in agreement with modern observations. The tuning was carried out primarily by modifying parameters in the climate model, many related to cloud physics, following methods from (97, 98). The first of these suites [scotese06] includes the first phase of this tuning, and CO2 from (78). The second suite [scotese07] includes some additional development related to the albedo of desert regions and smoothing of the atmospheric surface pressure and oceanic barotropic streamfunction. In addition, this second suite replaces the Cenozoic CO2 reconstruction of Foster et al. (2017) (78) with that of Rae et al. (2021) (80). The third suite [scotese08] also includes the same additional development as scotese07, but has a CO2 concentration that is chosen to give a GMST which matches the GMST reconstructed by (14).
Here’s the story. They have proxy methods for estimating temperature a long ways back, but not for estimating CO2 or pH.They ran eight different simulations on each timeslice, with a number of different assumptions about CO2 and alkalinity, different proxy datasets, and retunings of the model between simulations. Then they took the eight simulations of each of the 97 timeslices, put them all into a Kalman filter to figure out which ones best fit what is known about every timeslice, turned on the blender, added the special sauce of the HadCM3L-M2.1aD model, and voilá! Out pops the answer regarding temperature, CO2, and pH …
… at which point they loudly exclaim that “CO2 is the dominant driver of Phanerozoic climate, emphasizing the importance of this greenhouse gas in shaping Earth history.”
I’m sure you can see the difficulty with this procedure. It is circular, circular enough to make Ouroboros weep.

It starts out by assuming that the fundamental mainstream climate equation is correct. This is the equation at the heart of all of the current climate models, including this one. The equation says that the change in global mean surface temperature is equal to the change in downwelling radiation times a constant called the “climate sensitivity”. That central equation is inherent in the model, and is expressed in different ways with a whole host of possible values in each timeslice. Then the one that best fits whatever we know about that timeslice is chosen, and to no one’s surprise, the result demonstrates that the change in global mean surface temperature is equal to the change in downwelling radiation times a constant called the “climate sensitivity”.
TL;DR version?
They’ve shown beyond any doubt that if you build a model that assumes that CO2 is the dominant driver of global surface temperature, you can conclusively prove that CO2 is the dominant driver of global surface temperature
Follow me for more science tips …
In any case, there was one last thing I wanted to investigate, which was how well their CO2 data fit the temperature data. I fully expected it to fit well, given the considerations above. And it did fit pretty well … with two oddities.

Figure 2. Temperature in blue (left scale) and log2(CO2) in red (right scale)
So what are the two oddities? From the study:
The GMST-CO2 relationship indicates a notably constant “apparent” Earth system sensitivity (i.e., the temperature response to a doubling of CO2, including fast and slow feedbacks) of ∼8°C, with no detectable dependence on whether the climate is warm or cold.
First, according to my calculations, the temperature response to a doubling of CO2 is 5.3°C, not 8°C. No clue why. I’ve checked my figures. That’s what I get.
Second, the CO2 relationship says the temperature should have been warmer from ~ 400 Ma to ~200 Ma BP, and it should have been cooler from 150 Ma to 50 Ma BP. So it does seem to vary based on whether the climate is warm or cold.
My conclusion?
Bad science top to bottom, far too many tunable parameters and choices, GIGO, bad scientists, no cookies.
Best of life to everyone,
w.
As Usual, I ask that when you comment you quote the exact words you are discussing. Avoids many bad outcomes.
Related
Discover more from Watts Up With That?
Subscribe to get the latest posts sent to your email.