Software Carbon Intensity?
When Microsoft announced of the Green Software Foundation (GSF), I jumped at the opportunity to join the initiative and went all in - joining 3 out of 4 working groups. As a developer and a sustainability advocate, I’m keen to understand and help reduce the amount of carbon we emit as a farm, but also in my job working with software and customers.
It was super fun and very grueling! We worked 16 hours a day to hack together a project. And …. we didn’t even win a mention in the Global Hackathon winnings - but it was a win for me!
The solution was using a raspberry pi to collect sensor data and send them to Azure using IoT Edge Services, Log Analytics, and Power Bi for visualization.
Once I ironed out all the kinks and had the system running efficiently.
After getting my little project up and running, the first order of business I started looking at using the GSF’s calculation for determining carbon intensity in software. The alpha version of the standard is published here. Here’s the calculation:
SCI = ((E * I) + M) per R
Where:
E
= Energy consumed by a software systemI
= Location-based marginal carbon emissionsM
= Embodied emissions of a software systemR
= Functional unit (e.g. carbon per additional user, API-call, ML job, etc)
I purchased a few energy meters for figuring out exactly how much energy my Raspberry Pi was consuming. For 1 day, my Pi with the software running, it was using .003 kWh (kilowatts per hour). So E is .003.
Now to tackle I. Location based margin emissions. For this I went to my good friend Henry from WattTime and he told me from my region, the usage was .713kg per kWh.
Now ….. +M, which is the embodied emission of a software system, which is determined by the amount of carbon used to create or dispose of the hardware. I contacted Raspberry Pi for that data, and it currently doesn’t exist. What I did find was an article that offered up embodied carbon for a smartphone. While I wait for the Raspberry Pi folks to discover how to collect and report on their embodied carbon numbers, let us use 55 Kg of CO2e for a 3 year period, which I found documented here.
The calculation ((E * I) + M) per R
to find my CO2e for 1 year translates to
((0.003 kWh/D x 365 days/year * 0.713 kg/kwh)) + (55 kg/3 year lifespan)
0.078 + 18.333 = 19.114 kg/year of sensor suite operation
per R = 1 year of running the Raspberry Pi with all the sensors.
((kilowatts to run the software for 1 year x location based margin emissions rate) + (embedded carbon of the device for one year of life) for each instance of the device.
My SCI score is 19.114
dun dun dun dun! So that’s it! 19.114 of CO2e for my little farm insights project. So now what? How do I translate that to a relatable score or how do I go about reducing that score? What about guess that’s next then!