README.md (7733B)
1 # Compute the CO2e footprint of an academic conference 2 3 This repository contains scripts to compute the CO2e footprint of trips made for 4 an academic conference. 5 6 It was used to compute the footprint of the [Highlights'22 7 conference](https://highlights-conference.org/2022/). 8 9 ## Data collection 10 11 We collected information about the travel plans of participants using a [web 12 form](https://framaforms.org/highlights-participant-travel-information-1664806487) 13 ([archive](https://web.archive.org/web/20221003161159/https://framaforms.org/highlights-participant-travel-information-1664806487)). 14 To ensure that everyone filled the form, the link to payment was only given once 15 the form was completed. 16 17 The transportation modes proposed on the form were: train, plane, bus/coach, 18 local transportation (for local participants), and other. Car travel was not 19 supported, but could be added for further years. 20 21 We manually removed duplicate records and fake data. 22 23 For people who did not fill in the details of their travel, we: 24 25 - assumed that they were coming to/from the institution of their first 26 affiliation 27 - when the transportation mechanism was unspecified, we assumed that trips of 28 <=400km were done by rail and trips of >400km were done by plane, following: 29 https://github.com/ConferenceCarbonTracker/CarbonFootprintAGU#44-mode-of-transport 30 31 Afterwards, we discarded the name and institution of participants. 32 33 We manually translated the free-form city and country to a 34 machine-understandable location by searching by hand for the closest 35 three-letter code (airport or metropolitan area). This step could be automated. 36 37 The result is a CSV file in the following format: 38 39 - Field 1: 3-letter airport or metropolitan area code of origin (first leg, before the conference) 40 - Field 2: Transportation means of the first leg: "train", "plane", or "bus/coach". 41 - Field 3: 3-letter code of destination (second leg, after the conference) 42 - Field 4: Transportation means of the second leg 43 - Additional fields, e.g., fields indicating if the participant is extending 44 their stay for scientific reasons other than the conference. These files are 45 ignored. 46 47 ## Running the computation 48 49 You need python3, standard shell utilities, and `GeodSolve` from Debian package 50 `geographiclib-tools`. 51 52 Run `./run.sh FILE CODE LAT LON NOISE` where: 53 54 - FILE is the CSV file above 55 - CODE is the 3-letter code used for local participants (their trips will be 56 ignored, as well as any trips with mode "local") 57 - LAT and LON are the geographical coordinates where the conference is taking 58 place. 59 - NOISE is the percentage of random error added to the distance (e.g., 0.2 for 60 20%). Specifically, for x the true value, the anonymization will return some 61 value chosen uniformly at random between (1-NOISE) x and (1+NOISE) x 62 63 The script will generate: 64 65 - map.geojson: a Geojson file displaying the various points of travel with color 66 describing whether they are by plane or not. This can be plotted, e.g., with 67 [uMap](http://umap.openstreetmap.fr/fr/). 68 - `trips_anonymized.csv`, a list of trips with headers and with the following fields: 69 - Field 1: mode of trip (as above) 70 - Field 2: distance of trip, with random error added 71 - `trips_with_footprint`, a comma-separated list of trips with the following 72 fields: 73 - Field 1: name (note that commas are dropped from names) 74 - Field 2: institution (ditto) 75 - Field 3: distance of trip in meters 76 - Field 4: mode of trip (inferred if missing) 77 - Field 5: CO2e footprint of trip in kilograms 78 - It will also output some aggregate values on the standard error output, and prepare temporary files `trips` 79 and `trips_with_dist` 80 81 ## Footprint computation methodology 82 83 ### Local participants 84 85 We ignore local participants, for which we estimate a CO2 footprint of 0. 86 87 ### Geocoding and distance computation 88 89 We used the OpenFlights 90 database airport-extended.dat on [this page](https://openflights.org/data.html) to convert these 91 to geographical coordinates, and used known geographic coordinates for the 92 conference venue. We used GeodSolve to compute the distance of each trip. 93 94 ### Carbon footprint 95 96 We compute the CO2 fotprint following the 97 [labos1point5](https://labos1point5.org/ges-1point5) data, which is adapted from 98 the French agency [Ademe](https://www.ademe.fr/). 99 100 - For train, we count **37 gCO2e/pkm** (international train). This is pessimistic in France, very 101 pessimistic for TGV, but similar to the 41 gCO2e/pm for national (UK) rail 102 given by [Our World in 103 Data](https://ourworldindata.org/travel-carbon-footprint). 104 - Plane is counted following 105 [labos1point5](https://labos1point5.org/ges-1point5), including the effect 106 of contrails: 107 - 258 gCO2e/pkm for less than 1000km 108 - 187 gCO2e/pkm between 1001km and 3500km 109 - 152 gCO2e/pkm above 3500km. This value is consistent to the 150 gCO2e/pkm 110 value for long-haul flight given by [Our World in 111 Data](https://ourworldindata.org/travel-carbon-footprint) (also including 112 contrails) 113 - For bus/coach, we count 28 gCO2e/pkm as the coach value given by [Our World in 114 Data](https://ourworldindata.org/travel-carbon-footprint) as there is no 115 value in labos1point5. 116 117 We then sum the total emissions to arrive at the final value. 118 119 ## Highlights'22 methodology 120 121 ### Data collection 122 123 The [Highlights registration 124 form](https://framaforms.org/highlights2022-on-site-registration-1652701135) 125 ([archive](https://web.archive.org/web/20220622164245/https://framaforms.org/highlights2022-on-site-registration-1652701135)) 126 asked particiants: 127 128 - "To estimate the carbon footprint of this edition of Highlights, please give 129 us some information about your travel" 130 - "Arriving from": city and country, free text 131 - "Arriving by": other / plane / train / bus or coach / car / local transportation (for locals) 132 - ditto for departure 133 - Extended stays: we asked whether: 134 - They participated to a co-located conference 135 - They participated to an extended stay support scheme 136 - They were "extending their stay for scientific reasons by another way" 137 138 The fields were optional, but almost everyone filled them. 139 140 ### Adjusting for other scientific reasons 141 142 In the original carbon footprint given at the conference, to account for 143 participants whose stay had other scientific justifications (no matter which), 144 we counted only the longest of the two trips. The effect is basically to halve 145 their emissions by considering that the conference carries half the 146 responsibility. The reason why we do this instead of dividing the total by two 147 is to make sure that we account for one of the "long trips" required between 148 their institution and conference venue: indeed, some participants gave details 149 of these long trips, whereas other gave details of one long trip and one trip to 150 a neighboring place, e.g., for an extended stay. 151 152 Because of differing opinions on the method, the code presented here no longer 153 does this computation, i.e., it forgets about extended stay information. 154 155 ### Anonymized data 156 157 The file `trips_anonymized.csv` in this repository describes the trips of 158 Highlights'22 participants, computed by running the script `run.sh` above. 159 160 Each line describes one individual trip (not a return trip), with the declared 161 mode of transportation, and the distance in meters with a multiplicative noise 162 of `1.2` (i.e., each distance `d` was replaced by a value between `0.8 d` and 163 `1.2 d` chosen uniformly at random). 164 165 The total CO2 footprint of the file `trips_anonymized.csv` accounts for 42 tons 166 of CO2e, which (after rounding) is the same value as the [publicly released 167 value](https://highlights-conference.org/2022/#discussion) computed on the data 168 without noise. 169