Recoolit mencegah perubahan iklim. Kami mencegah refrigeran keluar dari atmosfer dan menjual kredit karbon untuk emisi yang dicegah. Ketika Anda membeli kredit karbon dari Recoolit, Anda membeli sejumlah tertentu pemanasan atmosfer yang dicegah, dalam satuan ton setara CO2. Pendekatan kami dirancang dari bawah ke atas untuk transparansi maksimum, menunjukkan kepada pembeli kredit kami dengan tepat kegiatan mana yang didukung oleh dolar mereka pada tingkat yang sangat terperinci. Dalam tulisan ini, saya akan membahas struktur data dan algoritme yang kami gunakan untuk mencapai hal ini.

Latar Belakang

Pertama, sedikit konteks. Refrigeran adalah gas rumah kaca yang sangat kuat yang biasa digunakan pada AC dan lemari es. Refrigeran biasanya dibuang ke atmosfer oleh teknisi AC pada akhir masa pakai atau selama pemeliharaan. Recoolit menyediakan alat, pengetahuan, dan insentif bagi teknisi untuk menangkap gas-gas limbah ini alih-alih melepaskannya. Kemudian, kami menghancurkan gas yang ditangkap dalam insinerator bersuhu tinggi, secara permanen mencegah pelepasannya ke atmosfer.

Kami menutupi biaya operasi ini dengan menjual kredit karbon kepada individu dan organisasi yang ingin mengimbangi emisi karbon mereka atau hanya menyumbangkan uang mereka untuk tujuan yang baik. Kredit karbon dimaksudkan sebagai cara yang ketat dan transparan untuk membayar perbaikan iklim, tetapi sistem yang ada saat ini memiliki kekurangan yang serius dan sebagian besar kreditnya berkualitas rendah. Sebagai contoh, Verra, salah satu pendaftar terbesar, telah dikritik karena mengizinkan kredit karbon dijual untuk proyek-proyek yang telah berjalan, dan untuk proyek-proyek yang sebenarnya tidak mencegah pemanasan.

Sebagian besar kredit karbon dihasilkan dari proyek-proyek besar yang mencakup area lahan yang luas. Proyek-proyek tersebut akan melalui verifikasi pihak ketiga, tetapi sebagai pembeli kredit, yang Anda dapatkan hanyalah bagian kecil dari proyek besar ini. Jika Anda ingin memahami apa yang sebenarnya terjadi, Anda perlu menggali PDF kompleks yang menilai proyek secara keseluruhan. Sulit untuk memahami dampak spesifik Anda, dan untuk mengetahui bahwa uang Anda membuat perbedaan.

Recoolit didedikasikan untuk mencegah perubahan iklim dengan transparansi penuh, sehingga pembeli kredit kami dapat melihat dengan jelas apa yang mereka dapatkan. Inilah cara kami melakukannya.

Data

Perangkat lunak kami menangkap data dari setiap langkah proses, termasuk:

  • Proses "pemulihan", di mana teknisi sebenarnya mengumpulkan refrigeran. Pada tahap ini, kami mengumpulkan foto-foto peralatan yang sedang diperbaiki, alasan pemulihan refrigeran, jumlah gas yang dipulihkan, dan jenis gas yang dipulihkan (meskipun kami tidak selalu mengetahui jenis gas yang tepat pada tahap ini).
  • "Bergerak", ketika tabung gas yang penuh berpindah dari satu tangan ke tangan lainnya. Kami menyimpan rantai pengawasan yang terperinci selama pengangkutan dan menggunakan pelacakan GPS pada beberapa bagian perjalanan.
  • "Transfer", ketika gas dipindahkan dari satu silinder ke silinder lainnya. Biasanya hal ini dilakukan untuk mengkonsolidasikan gas dari tabung pemulihan yang lebih kecil ke dalam tangki penyimpanan yang lebih besar, untuk membebaskan tabung yang lebih kecil untuk digunakan di lapangan. Setiap kali gas dipindahkan, kami menyimpan catatan rinci tentang sumber dan tujuan tabung serta beratnya. (Sejumlah kecil gas selalu hilang selama pemindahan, dan kehilangan tersebut tidak termasuk dalam kredit karbon yang kami jual).
  • "Analisis", untuk mengonfirmasi jenis dan komposisi bahan yang telah kami kumpulkan dan akan kami musnahkan. Setiap tabung gas yang kami hancurkan diambil sampelnya dan dianalisis oleh laboratorium komersial sebelum dimusnahkan, dan kami biasanya menguji "hulu" dengan menggunakan alat pengenal yang lebih portabel.
  • "Penghancuran", ketika gas dibakar.

Perlu diketahui bahwa gas selalu masuk ke dalam sistem kami melalui pemulihan dan keluar melalui pemusnahan (atau kebocoran). Namun, gas tersebut dapat mengalami perjalanan perantara yang sangat kompleks, ditransfer beberapa kali di antara tabung yang berbeda dan dipindahkan ke seluruh Indonesia oleh penyedia logistik pihak ketiga.

Status Quo

Pada sebagian besar pembelian kredit karbon, Anda membeli bagian kecil dari "proyek" yang lebih besar. Sebagai contoh, kita dapat menganggap penghancuran 1000 kg R22 (menghasilkan 1960 ton CO2e) sebagai satu "proyek". Setiap orang yang membeli kredit karbon dari proyek ini akan mendapatkan PDF yang sama dengan tulisan "Anda membeli 0,5% dari Proyek Recoolit ABC-123". Jika Anda menginginkan rincian lebih lanjut, Anda mungkin dapat menemukan PDF tambahan yang lebih panjang, di mana proyek akan didokumentasikan dalam bahasa teknis pendaftar kredit karbon.

Konfirmasi pembelian dari penjual kredit karbon

Berikut ini adalah konfirmasi pembelian nyata dari penjual kredit karbon di Amerika Serikat. Kami tidak mengambil apa pun - ini semua data yang kami dapatkan.

Pendekatan ini bersifat universal untuk kredit karbon, namun sebagai pembeli, pendekatan ini sangat tidak memuaskan! Lebih penting lagi, hal ini merupakan bagian besar dari alasan mengapa pasar begitu rusak. Banyak penjual kredit karbon yang sebisa mungkin menutupi pekerjaan mereka: mereka takut akan pengawasan dan persaingan. Hal ini tidak cukup baik, sehingga kami meluangkan banyak waktu untuk melakukan hal yang lebih baik, meskipun hal ini akan memudahkan calon pesaing kami.

Membuat grafik transfer

Ketika Anda membeli kredit karbon dari Recoolit, Anda membeli jumlah tertentu dari gas tertentu yang telah dihancurkan. Kami menunjukkan kepada Anda semua data yang terlibat dalam proses penghancuran tersebut, sehingga kami perlu melacak jalur gas dari proses pemulihan hingga penghancuran. Kami menyebut struktur data ini sebagai "transfer graph", dan ini merupakan inti dari sistem transparansi kami.

Graf transfer adalah sebuah graf asiklik berarah (DAG). Dalam graf ini, sisi-sisinya adalah transfer dari sumber ke simpul tujuan. Setiap sisi memiliki bobot, yaitu jumlah gas yang ditransfer, serta jenis gas.

Sekarang, insting pertama kami adalah bahwa setiap node dalam grafik harus berupa silinder. Bagaimanapun, transfer di dunia nyata terjadi antara silinder. Namun, karena kami menggunakan kembali silinder-silinder tersebut, hal ini akan menciptakan siklus dalam grafik. Sebagai gantinya, setiap node sebenarnya merupakan ID silinder spesifik selama interval waktu tertentu.

Sebuah node dibuat saat gas pertama kali ditransfer ke dalam silinder tersebut, dan "ditutup" saat semua gas telah ditransfer keluar dan silinder dikosongkan dengan vakum. Transfer selanjutnya ke ID silinder yang sama akan menciptakan node baru.

Kita terkadang melakukan transfer parsial - misalnya, kita ingin mengisi penuh sebuah silinder yang akan kita kirimkan ke tempat pemusnahan, jadi kita mengisinya dari silinder lain, membiarkan silinder itu terisi sebagian. Ini berarti sebuah simpul dapat memiliki beberapa sisi keluar, satu untuk setiap transfer parsial keluar. Kami menggunakan beberapa heuristik untuk menentukan apakah sebuah transfer harus "menutup" sebuah simpul, sebagian besar berkaitan dengan apakah simpul tersebut memiliki jumlah gas yang tersisa atau tidak.

Akhirnya, setiap node dapat memiliki serangkaian "peristiwa" yang terkait dengannya. Peristiwa tersebut meliputi hal-hal seperti "gas telah diuji", "tabung telah diangkut", atau "tabung telah ditimbang".

Contoh

Mungkin akan lebih mudah dengan contoh, jadi mari kita gunakan data nyata dari registri publik kita. Saya membeli beberapa kredit dari Recoolit, dan berikut adalah bukti pembelian saya untuk transaksi tersebut.

Ini adalah tampilan data yang sama di sistem internal kami:

Pandangan sistem internal

Pandangan ini dihasilkan menggunakan perpustakaan visualisasi reactflow yang sangat baik. Perpustakaan ini memiliki banyak fitur yang memungkinkan pengeditan grafik interaktif, tetapi kami sebagian besar hanya menggunakannya untuk visualisasi. Sayangnya, reactflow tidak mendukung tata letak, dan grafik kami bisa menjadi sangat besar dan sulit dikelola. Sebagai gantinya, kami menggunakan mesin tata letak ELK untuk melakukan tata letak visualisasi di sisi server. Kami mengirimkan grafik yang sudah ditata ke antarmuka pengguna (UI) untuk ditampilkan.

Kami meluncurkan operasi kami sebelum kami membuat visualisasi ini, namun ini merupakan pengubah permainan. Sangat sulit untuk memahami struktur data kami ketika hanya berupa sekumpulan baris dalam tabel (atau spreadsheet, yang merupakan awal mula kami memulainya!). Dapat benar-benar melihat aliran gas melalui tabung dan peristiwa membantu kami memahami apa yang harus ditunjukkan kepada pelanggan, dan menemukan cara untuk meningkatkan operasi internal kami.

Untuk mengalokasikan pembelian ini, kami terlebih dahulu memeriksa semua proses penghancuran yang kami miliki untuk menemukan yang memiliki cukup gas untuk menutupi pembelian tersebut. Kami mungkin perlu menggabungkan beberapa proses penghancuran untuk menutupi pembelian tersebut. Dalam hal ini, kami menemukan bahwa kami menghancurkan sekitar 50 kg R-22 dari tabung berkabut-panas-bebek. R-22 adalah refrigeran dengan GWP yang sangat tinggi, sehingga hanya 511 gram dari refrigeran tersebut yang diperlukan untuk menutupi pembelian 1 ton CO2e.

Selanjutnya, kita melakukan pencarian kedalaman pertama melalui grafik, dimulai dari node kehancuran, dan mencari jalur yang memiliki cukup gas untuk menutupi pembelian. Kita melihat bahwa sekitar 10 kg R-22 tiba di berkabut-panas-bebek dari dingin-kering-harimau, jadi kita mengalokasikan 511 gram dari 10 kg tersebut. Akhirnya, kita melihat bahwa 5,8 kg R-22 dikembalikan langsung ke dingin-kering-harimau, jadi kita mengalokasikan 511 gram dari 5,8 kg tersebut.

Ini adalah kasus yang relatif mudah, karena hanya melibatkan satu jalur melalui grafik. Berikut adalah contoh penjualan yang lebih kompleks, yang melibatkan berbagai jenis gas yang dialokasikan melalui beberapa proses penghancuran:

Contoh penjualan kompleks

Dalam kasus ini, pembelian 30 ton CO2e ditutupi oleh 3 pemusnahan yang berbeda. Kami menghancurkan 13235 gram R-410a dan 193 gram R-32 untuk menutupi pembelian ini, dan gas-gas ini dipulihkan oleh dua teknisi dalam 3 kesempatan yang berbeda. Tiga dari lima pemulihan dilakukan pada hari yang sama ke dalam tiga silinder yang berbeda, yang mengindikasikan pekerjaan pemulihan besar yang mengisi beberapa silinder!

Memformat untuk tampilan

Kami telah membahas semua data yang kami kumpulkan selama operasi untuk memastikan transparansi semacam ini. Anda kini juga dapat melihat bagaimana sistem kami mengalokasikan pembelian Anda ke proses penghancuran dan pemulihan. Langkah terakhir adalah menyajikan data ini dengan cara yang mudah dipahami.

Dalam bukti pembelian Anda, kami menampilkan versi grafik transfer yang telah diuraikan berdasarkan jalur. Sebuah jalur adalah daftar tertaut dari tepi dan simpul, dimulai dari pemulihan dan berakhir pada penghancuran. Namun, dalam subgrafik pembelian Anda, sebuah simpul atau tepi mungkin terlibat dalam beberapa jalur. Saat kami melakukan penguraian, kami menduplikasi simpul dan tepi, sehingga setiap jalur memiliki salinannya sendiri. Berikut adalah contoh grafik yang belum diuraikan:

Graf yang tidak terurai

Anda dapat melihat bahwa ini mencakup dua pemulihan – satu di kotak biru, dan satu di kotak merah. Kotak hijau mencakup node konsolidasi dan node penghancuran yang dibagikan antara kedua jalur. Saat kita menampilkannya, tampilan akan lebih mirip seperti ini:

Grafik yang terurai

Ada dua jalur dalam grafik ini – yang di sebelah kiri dan yang di sebelah kanan – dan node berwarna hijau terduplikasi di antara kedua jalur tersebut. Berikut adalah cara data yang sama mungkin terlihat di struk pembelian Anda:

Tampilan bukti pembelian

Melakukan hal ini ternyata tidak semudah yang dibayangkan karena dari subgraf saja tidak jelas berapa banyak jalur yang melewati suatu node tertentu. Untuk memudahkan, kami sebenarnya melacak jalur-jalur tersebut saat membangun grafik. Setiap kali kami mulai mencoba mengalokasikan gas dari suatu penghancuran, kami menghasilkan identifikasi jalur. Ketika kami menemukan jalur yang berfungsi, kami menyimpan identifikasi jalur tersebut di tepi penjualan yang melacak pembelian yang dialokasikan. Ini berarti suatu node mungkin sebenarnya memiliki beberapa tepi yang menghubungkannya ke node penjualan, masing-masing dengan identifikasi jalur yang berbeda.

Penutup

Seperti yang dapat Anda lihat, kami telah memikirkan dengan matang cara untuk membuat data kami sesederhana dan transparan mungkin. Kami masih memiliki banyak hal yang perlu dilakukan - kami dapat mengumpulkan lebih banyak data dan menampilkan lebih banyak dari apa yang telah kami kumpulkan, serta mengintegrasikan ini dengan verifikasi pihak ketiga kami. Jika Anda penasaran dengan aspek lain dari pendekatan kami, jangan ragu untuk menghubungi kami!

Tujuan kami adalah menciptakan kredit karbon berkualitas tertinggi, dengan jaminan maksimal bagi pembeli bahwa pembelian mereka benar-benar membuat perbedaan. Jika Anda menyukai apa yang kami lakukan di sini dan ingin mendukung kami, kami sekali lagi mendorong Anda untuk membeli beberapa kredit karbon!

(post oleh Igor Serebryany)