Exploring how to avoid climate disaster with Kumu and ChatGPT

Jeff Mohr
In Too Deep by Kumu
9 min readFeb 3, 2024

--

Bill Gates’ recent book “How to Avoid a Climate Disaster” gives a helpful overview of where most of the carbon emissions are coming from and what we might do about them to avoid [even more of a] climate disaster. While the full book is worth a read, I found myself wanting a simple visualization that I could refer back to and share with others. Enter Kumu and ChatGPT…

Kumu is a data visualization platform that helps people make sense of their messy world [full disclosure — I’m a cofounder of Kumu]. This usually means visualizing relationships of some sort — whether those are part of a network diagram, systems map, process flow, you name it. ChatGPT is an AI language model developed by OpenAI capable of generating human-like text responses based on the input it receives. While we didn’t need to use ChatGPT to make this visualization — given how much interest we’ve had from our community around potential applications — we thought this was a great opportunity to create a tutorial for how to use tools like ChatGPT to build out a visualization in Kumu.

Quick dive on avoiding climate disaster

Before we get to the visualization, here’s a summary of the book so you have a sense of what portion we’re covering with the visualization and what else you may need to open the book to explore…

  • 51 Billion Tons and Counting. We’re emitting a staggering 51 billion tons of greenhouse gases yearly. The goal? Net-zero. It’s a massive challenge, and Gates doesn’t shy away from the scale of this environmental behemoth.
  • The Electrification Imperative. Gates hammers on one key point — electrify everything, and do it with clean energy. It’s an urgent call for a pivot to solar, wind, nuclear, and other zero-carbon sources. He’s not just optimistic about technology; he sees it as our only way out.
  • Frontiers of Innovation. Gates identifies the battlegrounds — electricity, manufacturing, agriculture, transportation, and building operations. Each sector is a piece of the puzzle, and innovation here is non-negotiable. Gates is pragmatic about the challenges, but bullish on human ingenuity.
  • Green Premiums. The ‘green premiums’ concept Gates introduces is a critical one — the extra cost for choosing clean over dirty energy. He’s realistic about the economics: unless these premiums drop, green tech will struggle to compete.
  • A Role for Government. Gates isn’t just talking tech; he’s talking policy. Governments need to step up their game in funding R&D and creating incentives for clean energy. He’s advocating for a mix of technological innovation and policy intervention.
  • A Global Perspective. Gates recognizes climate change as a global issue. His emphasis on aiding developing countries in their energy transitions acknowledges the global disparities in resources and responsibilities.
  • The Dual Strategy: Adapt and Mitigate. Gates is all about a two-front war — adapting to the inevitable impacts of climate change while simultaneously working to mitigate future harm. It’s a sober assessment of our current reality, coupled with a proactive approach to future risks.
  • Individual Action Matters. Gates brings it down to the individual level, highlighting the power of personal choices in driving systemic change. He’s calling for a collective push from consumers and citizens to influence corporate and political agendas.
  • Optimism, but Grounded. There’s an underlying current of optimism in Gates’ narrative, but it’s tempered with realism. He doesn’t sugarcoat the challenges, yet he firmly believes in the potential for technological breakthroughs and policy shifts to make a difference.
  • Economic Opportunities in Going Green. Finally, Gates points out the economic upside in tackling climate change. He sees a burgeoning market in clean technologies, ripe with opportunities for job creation and industry growth. It’s not just an environmental imperative; it’s a business one.

The visualization

Our primary interest for the visualization was to help people better understand the various sources of carbon emissions and the relative magnitude of each. We did this by sizing each of the categories and subcategories by its percentage contribution to global emissions and scaling connections by the relative contribution (from subcategory to category, or from category to global emissions). Given that the title of the book is “How to Avoid a Climate Disaster” [emphasis added], we also included recommendations on reducing emissions and improving planetary health for each of the subcategories.

You can explore the interactive visualization here. Keep reading to learn about how we used ChatGPT to build the visualization (and some of the challenges we ran into along the way)…

Adventures with ChatGPT

Sure we could have just opened the book and found the relevant references to build out the dataset we needed for the visualization — but what fun is that? ChatGPT has incredible potential (plus its fair share of dangers) and can really speed up the process of collecting and structuring the data for a visualization. But you are likely to run into a few bumps along the way. Here are some of our hard-fought lessons:

Lesson 1: Prime the Pump

Start your conversation with ChatGPT by setting some context that will inform the rest of your prompts. It helps with spotting red flags early, where ChatGPT might be making up responses due to not knowing — or misunderstanding — the topic we’re interested in.

Looks like we’re off to a good start…

From there, we launch into the more specific prompts about the data we want to collect. Note that at this stage I’m not asking it to format the data in any special way (e.g. for import to Kumu) as I want to see the responses as conversational text first and figure out whether and how I might need to adjust them. It’s easy to ask ChatGPT to arrange data into a different format so we save that for a later step.

Still on the right track...

From here we start adding in other context that will be relevant for our visualization. Things like percentage of total emissions to inform the sizing of elements. Or descriptions of the various categories and subcategories to bring in additional context. Here’s where we run into another snag…

Lesson 2: Be Mindful of Direct Reference Limitations

ChatGPT has guardrails around what it will share directly from a book, based on its understanding of the doctrine of fair use. So while ChatGPT was willing to share the categories and subcategories from the book, when I asked it to share the specific percentages that were included in the book it politely declined.

Luckily we can ask ChatGPT to come up with these numbers directly. At first it provided a range, and those ranges varied a bit each time I asked it, so it’s good to practice caution and confirm these percentages with other sources. I needed a specific percentage for the visualization, so I asked for that and ChatGPT complied:

Drilling down further into the data…

Lesson 3: Be Extra Super Clear — And Use Examples

ChatGPT is pretty incredible at re-arranging data into different file formats. You can always start by asking it to put the data into a format that can be imported into <insert your platform of choice>, but while that sometimes works, I find it better to be explicit about the format. For example, not just asking it to format as a CSV, but telling it what fields to use and in what order:

Success!

We can then download this file and import it directly into Kumu. We can also ask ChatGPT to create the file for importing connections between the categories and subcategories. We can even have it add the percentage a given subcategory comprises of the category it is part of!

Lesson 4: Beware the Python Errors

This one seems to have emerged from recent updates to ChatGPT, but we’ve found that we’re getting a lot more errors when it turns to Python to generate things like CSV files. Making sure ChatGPT has a clear sense of what the factors are, and asking it to list them out in simple text format first, can sometimes help you skirt these errors.

I think I can — I think I can — I think I can

Sometimes using the option to regenerate the response works, other times it doesn’t. Just try a few different ways and if that fails, ask ChatGPT to troubleshoot its own error.

Lesson 5: Consider Image Generation over Search

We wanted help with finding a good icon to use for each of the categories. We first thought ChatGPT might be able to help with this and could provide a URL that wecould use for the visualization…

I’ll take that as a no.

Instead, we explored whether ChatGPT might be able to generate new images and artwork that we could use for each category. Here’s where we started, which also leads us to lesson 6…

No, but yes?
Not quite what I was thinking of…

Lesson 6: Coach on Style and Tone

Granted the above is pretty decent given how little context we provided. But it isn’t going to work as an icon for this visualization. Instead we needed to provide a few follow-on prompts…

This also works for text, articles, headlines, etc.

We might need to use ChatGPT more often…

Lesson 7: Work Around ChatGPT’s Laziness

Ok maybe “energy efficient” is more apt — but there are a lot of times you’ll ask it to do something and you’ll get a sort of “well I could, but that would be too much work” response.

Please just do the dang thing?

As long as you are willing to ask it to do each one individually, you’ll be able to work around this response. We ended up needing to remind it multiple times to make a transparent background (even thought we requested that in the prompt). The easiest way to make sure it does this correctly is to save the image it generated for you, then upload it with your comment and ask it to make the background of that image transparent.

We eventually got close enough…

Lesson 8: Pull it all Together in Kumu

At this point we had a number of different CSV files. Some that identified the elements (or nodes) of the network, others that identified the connections (or edges), and supplemental files that didn’t add new elements or connections but included additional information such as description, percentage data, and the like. Luckily Kumu makes it easy to add these on top of each other and automatically merges existing data with newly imported data based on reconciling by the label of the element. Add some Kumu wizardry from our Help Docs and here is where we ended up:

Wrapping up

So did ChatGPT help make a better visualization and save us time? Yes and no. Sometimes simple tasks took way too much time, but then it would wow us with how quickly and easily it handled complex tasks (kinda like trying to herd cats but finding out one of them can do math). Overall, it’s quite impressive what ChatGPT is able to do and we are just barely scratching the surface. Just bring your patience, be super clear, and be willing to spend the time — and you’ll be able to create some pretty impressive visualizations by combining ChatGPT and Kumu.

Just don’t ask it to generate a data visualization directly or you’ll get something like this…

…and no ChatGPT that is not English.

That’s all for now! Leave your feedback and questions below, and we’ll be back soon with further exploration of how ChatGPT and Kumu can be used together to create a starting point for a systems map.

P.S. Yes I like to be kind and supportive when I talk with ChatGPT and think you should too.

--

--

Cofounder & CEO @kumupowered. Often found running in the mountains or dabbling in complex systems and networks to spark lasting change.