Project Drawdown is the most comprehensive plan ever proposed to reverse global warming.
On Sept. 5, 6, and 7 of 2018, a project founded by Henry Poole named <code>/earth hosted a small hackathon for Project Drawdown. I acted as MC and Agile coach. The Internet Archive kindly offered us meeting space at their beautiful building in San Francisco. The goal was to initiate a new Free-libre Open-Source Software (FLOSS) project. In addition to five developers and five scientistd and volunteers from Project Drawdown, we were honored to have Richard Stallman present for a few hours each day.
Drawdown has developed a modeling methodology that allows you to predict the impact on greenhouse gas emissions of the adoption of various solutions. Examples of the 80 solutions so far modeled are: greater adoption of rooftop solar, greater use of silvopasture, great education for girls globally, and so forth. The models use solid data collected by researchers all over the world, and compute emissions with them based on very thorough models. The models have a lot of inputs and parameters, but are not especially complicated mathematically. With a great deal of careful work in these models and a great deal of data, it is possible to predict what it will take to reverse global warming — to begin to drawdown greenhouses gases. Project Drawdown is about solutions, not problems, and it is a fundamentally hopeful project: it shows that humanity can control its own destiny and reverse the slow-motion global train wreck we are passengers on today.
But there is room for improvement, which is why we were there. The models are in Microsoft Excel. They are not secret, but they are not exactly free and open. By virtue of being in Excel, they can only be understood, improved on, and hacked, by a limited audience with difficult version control. We believe that several actions will make these climate models available to researchers and policy makers world-wide:
- Moving to Python, a friendlier system than VBA for modeling work.
- Using modern software engineering approaches, such as git for version control, continuous integration, and automated tests.
- Separating the data from the computations.
- Eventually, building a modern browser-delivered platform.
- Using a modern Free Software license that allows others to use and contribute to the models.
Project Drawdown was strategically open, but not tactically well-versed in the principles of Free Software Movement. In particular, they have not “released” or licensed these spreadsheets. One of the great results of this hackathon was that Henry, Richard Stallman, and a coding attorney named Marc Jones had a chance to confer with Chad Frischmann, Vice President and Research Director of Drawdown. They have tentatively agreed to use the Gnu Affero General Public License, subject to ratification by their board.
Simultaneously, Owen Barton, Denton Gentry and I were building the initial Python instance of the code. It took a whole day of discussion and explanation from Ryan Allard for the developers to start speaking the language of the scientists and modelers. I treat every problem with urgency, but some things can’t be rushed. If you ever bring developers and scientists together for the first time, plan to invest some time in co-learning each other’s jargon.
Owen and I hacked all evening until exhaustion overcame us. I like to believe we are not workaholics, but both of us had come a long way and wanted to maximize our impact in these short three days.
Owen built the Python web service. I felt it was very important to allow for gradual replacement of the Excel system using the Strangler pattern, so I hacked the Excel spreadsheet to make calls to the web service. This allowed the existing spreadsheet to continue in use, but to call out to Python. At first, we literally implemented a single subtraction in Python to get an end-to-end “spike” proved out. In fact, we did not fully achieve that for the size of tables we needed until Friday morning. Many thanks to VBA Web, an MIT-licensed open source project, without which Excel integration would not have been possible.
Denton, meanwhile, developed a “gold-standard” test that actually fires up Excel, computes a model, and extracts a sampling of data values. This is an “integration test” that should give us and future developers great confidence in our coding.
On the final day, Owen got a much more complete part of the model working, probably about 1/10th of the total work. Working with the Drawdown scientists, we developed a mini-roadmap for future programmers to follow. Having developed both an integration test and unit tests, and a functional, if clunky, in-Excel data comparison technique, we believe we accomplished the fundamental mission of the hackathon: There is now a modern Python FLOSS repo where volunteers may scrub in to help Project Drawdown promote solutions to global warming.