Klimaspirale Part 3: The Objection I Missed – Simply Explained
The explainer overlay was in place, the videos were finished, and the next step would have been to open the project up. That’s where I stopped.
There hadn’t been a proper review up to that point. Claude Code had built everything and knew the files from the work itself. But building along and checking independently aren’t the same thing.
So I set up a review brief that takes me out completely as a source.
The Review Brief
The brief ran about sixty lines. The first paragraph took me out of the picture:
Read the repo structure, ALL spiral-*/index.html, the interactive HTML and the JSON source data YOURSELF. Don’t take my word for it.
Then the priority, because up to that point most feedback had been about looks:
Correctness and honest presentation are the actual quality criterion, not the look.
Every sentence in the result had to be backed by evidence. And at the end, two questions aimed not at mistakes but at gaps:
Which scientific objection to this visualization am I missing, the one that’s going to blow up in my face on YouTube?
What are you least sure about? One check command or one source per point.
Two more rules came with it. Claude Code got the role of reviewer, not repairer. And the results belonged in files in the project, not in the chat. Files you can go through line by line afterwards. A chat answer would have been gone after the next task anyway.
The scope was everything: eight video compositions, the interactive version, the data files, the README, the stills from rendering, the change history and the release plan.
One finding from it: the offset of +0.19 degrees that the whole Paris strand from Part 2 depends on is, according to NASA, a versioned value. That means it can shift when the data gets a new edition.
The Europe Gap
The plan was to build the spiral for Europe as well, as a second view alongside the global one. The data was already in the project.
Claude Code pulled the data series out of the video files and checked where each one starts and stops. The global series ran into the current year. Europe: 1,692 entries, January 1880 to December 2020.
The review framed the finding as a question:
First YouTube question is going to be: Why does Europe stop in 2020?
The missing years aren’t just any years. Europe is warming faster than any other continent, and the record years sit right in that gap.
The cause turned up quickly. The classic regional series from Berkeley Earth hadn’t been updated in a while. The current route goes through a product behind a password gate with mandatory registration. So: the switch to the European land series from NOAA’s (the US weather authority) Climate at a Glance, which reaches into the current year.
Because this source uses a different zero point, the series had to be recalculated onto the same one the whole scale hangs on: the comparison years 1951 to 1980 from Part 2. Whether the recalculation is correct can be checked easily: averaged over those years, each of the twelve calendar months sits almost exactly at zero.
The old and new series run almost in parallel, month by month. The switch extended the series, it didn’t rewrite it.
The peak value still moved noticeably, though. Regional monthly values swing much wider than global ones. Over a single continent, a February can be several degrees above its long-term average, while the global series as a whole gets by with a range of just over two degrees.
That range was ultimately the reason to pull the Europe view back out. Putting regional swings next to global ones is comparing apples and oranges: the amplitudes play in different leagues, and the comparison says more about scale differences than about climate. Europe would have needed its own spiral anyway.
So only the global spiral went live.
The Solid Part
In the review report, the section “What is solid” is longer than the list of defects.
The data arrays in the four global compositions and the interactive version were identical with the central file: 1,757 monthly values, no drift. A check for random elements found zero hits: no random numbers, no system clock, no network calls, no screen refresh rate. Every frame follows solely from the time position the renderer supplies. That makes good on the determinism promise from Part 1: anyone who runs the same code gets the same picture.
For a review’s credibility, this counts just as much as the findings. A report that only ever reports disasters has probably been looking for disasters.
My Own Mistakes
Two findings concerned texts that Claude had written in the project.
The README called the dashed scale rings “(Paris marks)”. That’s exactly what the project’s own release plan forbids: never call the 1.5 degree ring the Paris target without a note about the different zero points. How the two scales relate is in Part 2. In the README it was wrong.
The second finding sat in the explainer overlay. There the offset of +0.19 degrees was described as an “official GISS/IPCC value”. GISS is NASA’s Goddard Institute, which maintains the temperature data. The IPCC is the Intergovernmental Panel on Climate Change. The number is correct, and it’s citable at NASA. But the IPCC doesn’t publish any such offset for this series; it calculates directly against pre-industrial times. One institution had simply turned into two. The text now says GISS only, with the source as evidence.
The remaining findings were smaller. A few helper libraries still lived on a third-party server instead of locally in the project. And the regional data existed solely embedded in the video files, without a central original file. That’s exactly how the Europe gap had come about. The fix: a central file from which a small program generates the embedded copies and aborts on any deviation.
The Geometry Objection
The answer to the question about the missed objection was about the form of presentation itself:
A polar spiral with rho = anomaly + 1.2 (a) optically squeezes cold anomalies into the center and gives warm values disproportionately much line length / ‘ink’ (circumference ∝ radius), and (b) the 3D funnel amplifies that further: the same Δ°C looks more dramatic on the outside than on the inside. Charge: ‘You picked a geometry that visually exaggerates warming.’
Sounds technical. The core is actually simple.
Think of a running track in a stadium. Everyone runs one lap, but the outer lane is longer than the inner one. That’s why the runners start staggered. With the spiral it’s the same: a month’s distance from the centre is its temperature deviation plus a fixed addition.
The addition has to be there. Without it, the cold years would have a negative distance and would fold through the centre point. But that same addition makes the later, warmer laps big. One lap far out uses up much more line than one lap near the middle.
The coldest month in the series sits at a distance of 0.38, the warmest at 2.68. That’s about seven times as far out. Twelve months far out draw about seven times as much line across the picture as twelve months on the inside. More line means more coloured area, more area catches more attention.
With the tilted funnel, its wide upper rim takes up more picture area than the narrow part below. The same temperature difference looks more dramatic at the top than at the bottom.
Here’s the honest part. This is not a calculation trick and not an invention of this project. It’s the same shape that Ed Hawkins designed and the one NASA uses in their own version. The numbers in the picture stay correct. What shifts is their visual weight.
The review expressly noted: no error, but a communication problem. No image had to be re-rendered, no number needed correcting. What was missing was an answer for someone who sees through the geometry and builds a charge out of it.
The Self-Criticism in the App
The review’s recommendation was to address the objection in the video description and in the blog post. But that only reaches people who read the accompanying text anyway. So I ordered the criticism to where the spiral itself lives:
I want you to add more and honest information to the help page, including the criticism that this presentation emphasizes the warmer times more strongly …
That turned into two new sections in the explainer overlay, bilingual like the rest.
One explains the spiral shape and its side effect: distance equals deviation plus addition, circumference grows with distance, warm years get more line from that, and the funnel adds a bit on top. Plus the note that the same shape is used by Ed Hawkins and by NASA.
The other section says that the 2023 and 2024 records are partly driven by El Nino. The app’s source line now names not only where the data comes from but also who the form of presentation comes from.
The countermeasures were already there. The flat top-down view from Part 2, where the funnel effect drops away. A slider that pulls the funnel flat. And every ring with its real degree number on it. The top-down view I’d had built earlier because the lines in front of the rings had been bothering me.
The El Nino Marker
El Nino is a recurring weather pattern in the Pacific. Warm water shifts eastward and gives off heat to the atmosphere. That lifts the global average for a few months. That’s why record months cluster in those phases.
The app had a toggle for it, and I had that checked:
[…] which El Niños are we showing and is that consistent overall? Should we call them ‘Super El Niño’?
The finding was uncomfortably clear. The overlay announced the toggle as a marker for 2023/24, but the data array held only 1973, 1983, 1998 and 2016. The six highest values in the series fall in the years 2023 to 2025 and were completely unmarked. The toggle was called El Nino and showed everything except the events the debate is about.
The fix consisted of a rename and a hard criterion. “El Nino” became “Super El Nino”, with a clear threshold instead of by feel.
The classification comes from the ONI index (Oceanic Nino Index). It measures the sea surface temperature in a fixed strip of the tropical Pacific, published by NOAA. From a certain value upward, NOAA speaks of El Nino conditions. “Super El Nino” is not an official term with a fixed boundary. In this project the threshold sits at a peak value of 2.0 or more. Five events in the series meet that.
Claude Code parsed the periods of the five events from NOAA’s official ONI file.
Because an El Nino runs over months, the affected months also got a highlight on the spiral line itself. The first version was too faint: “I can’t see the El Niño highlight on the line.” After two rounds of sharpening, the glow trail sits at three times the line width.
With that, the criticism of the project’s own form of presentation stands in the app, in the same explanatory text that also keeps the zero point and the Paris thresholds apart. The countermeasures are built in, not just asserted.
What isn’t in there is the objection that comes first with a picture like this: that it’s all natural variation. That one is aimed at the cause, and the spiral shows the effect. What’s in it is temperatures and nothing else.
Part 3 of 4 in the Klimaspirale series.
← Klimaspirale Part 2: The Baseline Trap | Klimaspirale Part 4: CO₂, and What Was Under the Post →