thegreenwebfoundation / co2.js

An npm module for accessing the green web API, and estimating the carbon emissions from using digital services
https://developers.thegreenwebfoundation.org/
Other
406 stars 54 forks source link

Notes for recognising the use of fossil-free energy #61

Open mrchrisadams opened 2 years ago

mrchrisadams commented 2 years ago

The Green web foundation API and datasets have historically had a really binary green/grey definition, which is easy to use, but hides a colossal amount of detail.

Tor example there's a whole issue around who you credit for making the commitment for green and how energy - it's easy to assume it's a single company doing all the work to decarbonise because we might be applying the mental model of 'buying green' where you might pay more for a product in return for it being greener.

This isn't really how it works with energy

I think separating out local carbon intensity from other forms of greening electricity is worth exploring, and I'll try explaining why.

Intensity (as in carbon intensity)

You might affect local carbon intensity by choosing specific regions for some compute, or time shifting work and looking at the actual carbon intensity. You can think of this as the emissions caused when the electricity is generated and in most cases fed into the grid.

This means not relying on offsets, green tariffs or different kinds of carbon credits, and is basically how GHG protocol location based emissions work as well as the software carbon intensity approach used by the Green Software Foundation.

If you can't directly control the grid mix, then claiming you can, and you alone should be credited for energy being green, and therefore having a much lower carbon intensity is problematic.

Generally speaking, the greening of electricity is paid for by three groups - rate payers, tax payers or shareholders, and I want to make an argument for recognising this, or at least separating it out from carbon intensity discussions.

Coverage

If you record local carbon intensity, we move on from the fiction that the energy we get from the grid has no carbon footprint. But we still want to recognise efforts being made to get off fossil fuels.

As I mentioned before transitioning from fossil fuels is paid for by three main groups of people, rate payers, tax payers or shareholders, often at the same time. This issue is not the best place to go into the details, and the blog post on the green web fdn blog explains it in more detail, but the TLDR is basically:

A transition from fossil fuels requires work from lots of groups. If we can separate out the claim that an organisation is contributing to a transition of the internet away from fossil fuels, from the claim about whether energy from a grid has carbon emissions associated with it or not, we probably should do so.

If the intensity part is concerned with answering the question:

"what is the carbon footprint of this electricity"

Then this one is more about:

how much of the energy used is being matched by generation from fossil free sources, on at least an annual basis?

This is a mouthful, but the short version is that you need to the last bit to account for the fact that right now, lots of companies are effectively saying they use green energy because they have paid in some way to support something like a solar project.

If we look at things on an annual basis the solar farm might generate as much energy as is used by a rack of servers in year.

Allocating resources to support the solar project is good and necessary, and we should recognise it (this is the criteria we use now with the green web checks).

But it's also not nearly enough - energy being generated is covering only a small share of the power being used by servers, because those solar panels typically won't be generating power when a server is being used at night.

To have a 24/7 fossil free internet, you'll you'd need much more investment, to cover batteries, and all kinds of other forms of clean energy. Even in a datacentre powering on green energy - it'll still often be deisel generators providing backup.

This is where I'm suggesting "coverage" as a concept for power being matched by generation from fossil free sources.

There are all kinds of ways to pay you can do this for 24/7 green energy.

You can have your own run-of-the-river hydro power station. You can buy TEACS (high time resolution energy carbon credits). You can buy a power purchase agreement with new geothermal providers, and there are loads more options out there too.

How to implement this

This is where I'd welcome some feedback.

If energy is just matched annually, we still return the true / false figure. If energy is matched at a higher resolution, we return the percentage of energy matched on an hourly basis as well.

// before 
const result = await greencheck.check("google.com"); // returns true

// new approach
const new_result = await greencheck.check("google.com"); // returns truthy object

Previously, result would be:

true

Our truthy object by comparison might look like this:

{
  yearly: true,
  hourly: 67,
}

I'm intending to bootstrap this with information I can find in the public domain, like google's numbers below, but this approach should also match the example of a smaller provider like Data Centre Light above.

Examples this ought to work for:

Huge megacorp: https://cloud.google.com/sustainability/region-carbon

Smaller provider: https://datacenterlight.ch/en-us/cms/hydropower/

Wacky but cool green compute project: http://solarprotocol.net/

Super interesting startup providing dispatchable compute colocated by renewable energy plants: https://examesh.de/en/

mrchrisadams commented 2 years ago

OK, some interesting news in the context of this issue.

This notion of "coverage" looks like it's quickly becoming a standard.

The proposal lays out standards and guidelines for what EnergyTag dubs ​“Granular Certificates.” Currently, energy attribute certificates are used to track clean energy purchases on an annual basis. Those annual clean energy certificates, which include ​“renewable energy certificates” in North America and ​“guarantees of origin” in Europe, are the standard mechanism for companies, cities and other clean energy buyers to achieve 100 percent clean energy and be able to back up their claims.

The new Granular Certificates would ​“take that existing framework and modify it slightly to add a time stamp [showing] the hour or the half-hour in which the electricity was produced,”

https://www.canarymedia.com/articles/corporate-procurement/can-24-7-carbon-free-energy-become-a-global-standard

exortech commented 2 years ago

Hey @mrchrisadams - assuming that you're looking for feedback on this, I'll just add my 2c. I imagine that a big consideration is what data the hosting platforms have readily available to provide to GWF.

From reviewing the sustainability claims of ~40 different web hosts, I've found that there are a few common claims. In terms of coverage, normally there's a claim as to the % of their electricity use that's derived from renewable sources (eg. we use electricity from 100% renewable sources - normally hydro). In terms of intensity, what is commonly available is PUE (https://en.wikipedia.org/wiki/Power_usage_effectiveness). It seems to me that both of these could be used as the basis for further general calculations as to emissions based on hosting sites in those data centres. What do you think?

Not sure it's helpful, but we captured this data for a number of web hosts that carry .eco domains for this blog post: https://go.eco/news/finding-a-green-domain-retailer/. All of this data was derived from publicly available, self-reported sustainability claims published by the provider.

So in terms of the API design, would it makes sense to return something more like:

{
  coverage: {
    percent: 100
  },
  intensity: {
    pue: 1.1
  }
}