First a couple of local ones, in May:

Then, this one looks interesting: The World Climate Conference, in Geneva at the end of August. It looks like most of the program will be invited, but they will be accepting abstracts for a poster session. Given that the theme is to do with how climate information is generated and used, it sounds very appropriate.

Followed almost immediately by EnviroInfo2009, in Berlin, in September. I guess the field I want to name “Climate Informatics” would be a subfield of environmental informatics. Paper deadline is April 6.

Finally, there’s the biggy in Copenhagen in December, where, hopefully, the successor to the Kyoto agreement will be negotiated.

Here’s a challenge for the requirements modelling experts. I’ve phrased it as an exam question for my graduate course on requirements engineering (the course is on hiatus, which is lucky, because it would be a long exam…):

Q: The governments of all the nations on a small blue planet want to fix a problem with the way their reliance on fossil fuels is altering the planet’s climate. Draw a goal model (using any appropriate goal modeling notation) showing the key stakeholders, their interdependencies, and their goals. Be sure to show how the set of solutions they are considering contribute to satisfying their goals. The attached documents may be useful in answering this question: (a) A outline of the top level goals; (b) A description of the available solutions, characterized as a set of Stabilization Wedges; (c) A domain expert’s view of the feasbility of the solutions.

Update: Someone’s done the initial identification of actors already.

A group of us at the lab, led by Jon Pipitone, has been meeting every Tuesday lunchtime (well almost every Tuesday) for a few months, to brainstorm ideas for how software engineers can contribute to addressing the climate crisis. Jon has been blogging some of our sessions (here, here and here).

This week we attempted to create a matrix, where the rows are “challenge problems” related to the climate crisis, and the columns are the various research areas of software engineering (e.g. requirements analysis, formal methods, testing, etc…). One reason to do this is to figure out how to run a structured brainstorming session with a bigger set of SE researchers (e.g. at ICSE). Having sketched out the matrix, we then attempted to populate one row with ideas for research projects. I thought the exercise went remarkably well. One thing I took away from it was that it was pretty easy to think up research projects to populate many of the cells in the matrix (I had initially thought the matrix might be rather sparse by the time we were done).

We also decided that it would be helpful to characterize each of the rows a little more, so that SE researchers who are unfamiliar with some of the challenges would understand each challenge enough to stimulate some interesting discussions. So, here is an initial list of challenges (I added some links where I could). Note that I’ve grouped them according to who immediate audience is for any tools, techniques, practices…).

  1. Help the climate scientists to develop a better understanding of climate processes.
  2. Help the educators to to teach kids about climate science – how the science is done, and how we know what we know about climate change.
    • Support hands-on computational science (e.g. an online climate lab with building blocks to support construction of simple simulation models)
    • Global warming games
  3. Help the journalists & science writers to raise awareness of the issues around climate change for a broader audience.
    • Better public understanding of climate processes
    • Better public understanding of how climate science works
    • Visualizations of complex earth systems
    • connect data generators (eg scientists) with potential users (e.g. bloggers)
  4. Help the policymakers to design, implement and adjust a comprehensive set of policies for reducing greenhouse gas emissions.
  5. Help the political activists who put pressure on governments to change their policies, or to get better leaders elected when the current ones don’t act.
    • Social networking tools for activitists
    • Tools for persuasion (e.g. visualizations) and community building (e.g. Essence)
  6. Help individuals and communities to lower their carbon footprints.
  7. Help the engineers who are developing new technologies for renewable energy and energy efficiency systems.
    • green IT
    • Smart energy grids
    • waste reduction
    • renewable energy
    • town planning
    • green buildings/architecture
    • transportation systems (better public transit, electric cars, etc)
    • etc

Two related items, each occupying an interesting spot on my map of the “climate informatics” research space:

via grist, a wonderful five-part primer on Smart Energy Grids. Think of it as “the internet for energy transactions”. And think of all the interesting software engineering challenges in making it work.

via Steve Fickas, an interesting post on green clouds. And to think that I previously thought that cloud computing was deadly dull. Add an Energy Star rating to every application you run, and see what happens…

Here’s an updated description of the ICSE session I kicked off this blog with. Looks like we’re scheduled for the second morning afternoon of the conference (Thurs May 21, 11am 2pm), straight after the keynote.

Update: Slides and notes from the session now available.

Software Engineering for the Planet

This session is a call to action. What can we, as software engineers, do to help tackle the challenge of climate change (besides reducing our personal carbon footprints)? The session will review recent results from climate science, showing how big the challenge is. We will then identify ways in which software engineering tools and techniques can help. The goal is to build a research agenda and a community of software engineering researchers willing to pursue it.

The ICSE organisers have worked hard this year to make the conference “greener” – to reduce our impact on the environment. This is partly in response to the growing worldwide awareness that we need to take more care of the natural environment. But it is also driven by a deeper and more urgent concern.

During this century, we will have to face up to a crisis that will make the current economic turmoil look like a walk in the park. Climate change is accelerating, confirming the more pessimistic of scenarios identified by climate scientists [1-4]. Its effects will touch everything, including the flooding of low-lying lands and coastal cities, the disruption of fresh water supplies for much of the world, the loss of agricultural lands, more frequent and severe extreme weather events, mass extinctions, and the destruction of entire ecosystems [5].

And there are no easy solutions. We need concerted systematic change in how we live, to reduce emissions so as to stabilize the concentration of greenhouse gases that drive climate change. Not to give up the conveniences of modern life, but to re-engineer them so that we no longer depend on fossil fuels to power our lives. The challenge is massive and urgent – a planetary emergency. The type of emergency that requires all hands on deck. Scientists, engineers, policymakers, professionals, no matter what their discipline, need to ask how their skills and experience can contribute.

We, as software engineering researchers and software practitioners have many important roles to play. Our information systems help provide the data we need to support intelligent decision making, from individuals trying to reduce their energy consumption, to policymakers trying to design effective governmental policies. Our control systems allow us to make smarter use of the available power, and provide the  adaptability and reliability to power our technological infrastructure in the face of a more diverse set of renewable energy sources.

The ICSE community in particular has many other contributions to make. We have developed practices and tools to analyze, build and evolve some of the most complex socio-technical systems ever created, and to coordinate the efforts of large teams of engineers. We have developed abstractions that help us to understand complex systems, to describe their structure and behaviour, and to understand the effects of change on those systems. These tools and practices are likely to be useful in our struggle to address the climate crisis, often in strange and surprising ways. For example, can we apply the principles of information hiding and modularity to our attempts to develop coordinated solutions to climate change? What is the appropriate architectural pattern for an integrated set of climate policies? How can we model the problem requirements so that the stakeholders can understand them? How do we debug the models on which policy decision are based?

This conference session is intended to kick start a discussion about the contributions that software engineering research can make to tackling the climate crisis. Our aim is to build a community of concerned professionals, and find new ways to apply our skills and experience to the problem. We will attempt to map out a set of ideas for action, and identify potential roadblocks. We will start to build a broad research agenda, to capture the potential contributions of software engineering research, and discuss strategies for researchers to refocus their research towards this agenda. The session will begin with a short summary of the latest lessons from climate science, and a concrete set of examples of existing software engineering research efforts applied to climate change. We will include an open discussion session, to map out an agenda for action. We invite everyone to come to the session, and take up this challenge.

References:

[1] http://www.csmonitor.com/2006/0324/p01s03-sten.html

[2] http://www.newscientist.com/article/dn11083

[3] http://news.bbc.co.uk/2/hi/uk_news/7053903.stm

[4] http://www.pnas.org/content/104/24/10288.abstract

[5] http://www.ipcc.ch/ipccreports/ar4-wg2.htm

Over the last two years, evidence has accumulated that the IPCC reports released just two years ago underestimate the pace of climate change. Nature provides this summary. See also this article in Science Daily; and there are plenty more like it;

Emissions from fossil fuels growing faster than any of the scenarios included in the IPCC reports (news article ; original paper here). And recent studies indicate the effects are irreversible., at least for the next 1000 years.

Arctic Sea Ice, which is probably the most obvious “canary in the coal mine” is melting faster than the models predicted, and will likely never recover (Story from IPY here)

Greenland and Antarctic ice sheets melting 100 years ahead of schedule (news report; original papers here and here). Meanwhile new studies show the effect on the coastlines will be worse than previously thought, especially in North America and around the Indian Ocean (press release here; original paper here).

Sea level rise following the worst case scenario given in the IPCC reports (news report; original paper here and here).

Oceans soaking up less CO2, and hence losing their role as a carbon sink. (news report; original paper here

And finally some emerging evidence of massive methane releases as the permafrost melts (news report; no peer-reviewed paper yet).

Okay, some of the tools produced by the Essence project are pretty cool:

http://globalsensemaking.wik.is/ESSENCE/Tools

I especially like Debategraph, but mainly for its aesthetic properties when you pull the graph around, and the ability to zoom in to nodes by clicking, rather than how it’s actually being used (mapping debates about whether climate change is happening? That’s so last century). Could we use a tool like this for playing with i* models?

I originally wrote this as a response to a post on RealClimate on hypothesis testing

I think one of the major challenges with public understanding of climate change is that most people have no idea of what climate scientists actually do. In the study I did last summer of the software development practices at the Hadley Centre, my original goal was to look just at the “software engineering” of climate simulation models -i.e. how the code is developed and tested. But the more time I spend with climate scientists, the more I’m fascinated by the kind of science they do, and the role of computational models within it.

The most striking observation I have is that climate scientists have a deep understanding of the fact that climate models are only approximations of earth system processes, and that most of their effort is devoted to improving our understanding of these processes (“All models are wrong, but some are useful” – George Box). They also intuitively understand the core ideas from general systems theory – that you can get good models of system-level processes even when many of the sub-systems are poorly understood, as long as you’re smart about choices of which approximations to use. The computational models have an interesting status in this endeavour: they seem to be used primarily for hypothesis testing, rather than for forecasting. A large part of the time, climate scientists are “tinkering” with the models, probing their weaknesses, measuring uncertainty, identifying which components contribute to errors, looking for ways to improve them, etc. But the public generally only sees the bit where the models are used to make long term IPCC-style predictions.

I never saw a scientist doing a single run of a model and comparing it against observations. The simplest use of models is to construct a “controlled experiment” by making a small change to the model (e.g. a potential improvement to how it implements some piece of the physics), comparing this against a control run (typically the previous run without the latest change), and comparing both runs against the observational data. In other words, there is a 3-way comparison: old model vs. new model vs. observational data, where it is explicitly acknowledged that there may be errors in any of the three. I also see more and more effort put into “ensembles” of various kinds: model intercomparison projects, perturbed physics ensembles, varied initial conditions, and so on. In this respect, the science seems to have changed (matured) a lot in the last few years, but that’s hard for me to verify.

It’s a pretty sophisticated science. I would suggest that the general public might be much better served by good explanations of how this science works, rather than with explanations of the physics and mathematics of climate systems.

I was recently asked (by a skeptic) whether I believed in global warming. It struck me that the very question is wrong-headed. Global warming isn’t a matter for belief. It’s not a religion. The real question is whether you understand the available evidence, and whether that evidence supports the theory. When we start talking about what we believe, we’re not doing science any more – we’re into ideology and pseudo-science.

Here’s the difference. Scientists proceed by analyzing all the available data, weighing it up, investigating its validity, and evaluating which theory best explains the evidence. It is a community endeavour, with checks and balances such as the peer review process. It is imperfect (because even scientists can make mistakes) but it is also self-correcting (although sometimes it takes a long time to discover mistakes).

Ideology starts with a belief, and then selects just that evidence that reinforces the belief. So if a blog post (or newspaper column) provides a few isolated data points to construct an entire argument about climate change, the chances are it’s ideology rather than science. Ideologists cherry-pick bits of evidence to reinforce an argument, rather than weighing up all the evidence. George Will’s recent column in the Washington Post is a classic example. When you look at all the data, his arguments just don’t stand up.

The deniers don’t do science. There is not one peer-reviewed publication in the field of climate science that sheds any doubt whatsoever on the theory of anthropogenic global warming. If the deniers were doing good science, they would be able to publish it. They don’t. They send it to the media. They are most definitely not scientists.

The key distinction between science and ideology is how you engage with the data.

  1. Because their salaries depend on them not understanding. Applies to anyone working for the big oil companies, and apparently to a handful of “scientists” funded by them .
  2. Because they cannot distinguish between pseudo-science and science. Seems to apply to some journalists, unfortunately.
  3. Because the dynamics of complex systems are inherently hard to understand. Shown to be a major factor by the experiments Sterman did on MIT students.
  4. Because all of the proposed solutions are incompatible with their ideology. Applies to most rightwing political parties, unfortunately.
  5. Because scientists are poor communicators. Or, more precisely, few scientists can explain their work well to non-scientists.
  6. Because they believe their god(s) would never let it happen. And there’s also a lunatic subgroup who welcome it as part of god’s plan (see rapture).
  7. Because most of the key ideas are counter-intuitive. After all, a couple of degrees warmer is too small to feel.
  8. Because the truth is just too scary. There seem to be plenty of people who accept that it’s happening, but don’t want to know any more because the whole thing is just too huge to think about.
  9. Because they’ve learned that anyone who claims the end of the world is coming must be a crackpot. Although these days, I suspect this one is just a rhetorical device used by people in groups (1) and (4), rather than a genuine reason.
  10. Because most of the people they talk to, and most of the stuff they read in the media also suffers from some of the above. Selective attention allows people to ignore anything that challenges their worldview.

But I fear the most insidious is because people think that changing their lightbulbs and sorting their recyclables counts as “doing your bit”. This idea allow you to stop thinking about it, and hence ignore just how serious a problem it really is.

We had a discussion today with the grad students taking my class on empirical research methods, on the role of blogging by researchers. Some students thought that it was a bad idea to post their research ideas on their blogs, because other people might steal them. This is, of course, a perennial fear amongst grad students – that someone else will do the same research and publish it first. I argued strongly that it doesn’t happen, for two reasons:

  1. the idea is only a tiny part of the research – it’s what you do with the idea that really matters. Bill Buxton has a whole talk on this, the summary of which is:  The worst thing in the world is a precious idea; The worst person to have on your team is someone who thinks his idea is precious; Good ideas are cheap, they are not precious; The key is not to come up with ideas but to cultivate the adoption of ideas.
  2. even if someone else works on the same idea, they will approach it in different way, and both projects will be a contribution to knowledge (and therefore be worthy of publication).

After the class, Simon sent me a pointer to Michael Nielsen’s blog post on the importance of scientists sharing their ideas via blogs. It’s great reading.

Note: I’m particularly chuffed about the relevance of Neilsen’s post to climate science, as the Navier-Stokes equations he mentions in his example lie at the heart of climate simulation models.

In my first post, I said that the climate crisis will make the current financial turmoil look like a walk in the park. Several people thought that the line was too strong for a blurb advertising a session at a conference such as ICSE. They’re probably right, but only because it might serve to distract from the discussions around research ideas that I want to have.

But I stand by the observation that the whole unsustainability of industrialized capitalist economies is a much bigger problem than the credit crunch, and will lead to a much bigger crash when it all falls apart. As usual, Joe Romm can put it much better than I can: Is the global economy a Ponzi scheme, are we all Bernie Madoffs, and what comes next?