From 57b9321e14259cc7f67b82b3f754b0c0ee90abd4 Mon Sep 17 00:00:00 2001 From: nicolaspoffley Date: Wed, 5 Jun 2024 09:36:04 +0200 Subject: [PATCH 1/2] Co2eq tooltip --- docs/images/co2eqtooltip.png | Bin 0 -> 41432 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/co2eqtooltip.png diff --git a/docs/images/co2eqtooltip.png b/docs/images/co2eqtooltip.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe8787195623c55ec4ebcb5dc5dcda8edd4dcc8 GIT binary patch literal 41432 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 Cak%;b literal 0 HcmV?d00001 From fab864d1769946be0405094a40a98963d6fc4ab7 Mon Sep 17 00:00:00 2001 From: nicolaspoffley Date: Wed, 5 Jun 2024 09:38:15 +0200 Subject: [PATCH 2/2] Docs for CO2eq --- docs/hyperloop/co2eestimates.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docs/hyperloop/co2eestimates.md diff --git a/docs/hyperloop/co2eestimates.md b/docs/hyperloop/co2eestimates.md new file mode 100644 index 00000000..47ddd9ea --- /dev/null +++ b/docs/hyperloop/co2eestimates.md @@ -0,0 +1,33 @@ +--- +sort: 6 +title: CO2 equivalent estimates +--- + +## CO2 equivalent estimates + +
+ +
+
+ +* In Hyperloop, an estimate of the CO2eq produced by your trains is shown in order to give an idea of the environmental impact. We need to run analysis to achieve our scientific goals but we can optimize the code and sometimes work efficiently even with less trains. The displayed value should help educate the decision if a train is needed. +The value is shown before trains have been run (an estimate based using the wagon test) and then when a train run has finished. +* The estimate is visible in: + * Wagon test view and train submission view (an estimate based on the wagon test) + * Train test view (an estimate based on the train test. So, this estimate accounts for all wagons in the train) + * In the 'General' tab of the train view, when a train is in the state 'Done'. This estimate directly uses the CPU usage of the train run. + +## How is it calculated? + +Principle: +* There are a few studies for estimating CO2eq of computing, and there are many factors to consider such as the efficiency of the machines used and the power grid which the machines are on. +* Furthermore, grey energy (the energy to produce the machines) and the transfers of the data could be considered. +* It would be difficult to give justice to all these details and check for each train where exactly the jobs were running. +* Therefore, in Hyperloop, estimates of CO2eq are directly derived from CPU usage using an average conversion factor. + +Calculation input: +* Power per computing core: We use an optimistic value of 10 W/core for pure power consumption and assume a 50/50 split between the carbon from power and carbon from embodied / embedded emissions, therefore working effectively with 20 W/core. Some literature estimates up to 53 W/core for power alone in high-performance computing (see https://www.nature.com/articles/s41550-020-1169-1). +* Electricity emission factors (kgCO2eq per kWh) vary depending how electricity is produced. However, carbon is not everything and we do not want to enter a debate on how energy should be produced here. Therefore we use an average value from https://arxiv.org/pdf/2011.02839.pdf of 0.301 kgCO2eq / kWh, noting that even for the same country the estimates vary significantly depending on the source (e.g. comparing to https://arxiv.org/pdf/2101.02049). +* Hyperloop estimations do not account for the power consumption of data transfer, central infrastructure, or power for storage. The paper 'electricity intensity of internet data transmission', https://onlinelibrary.wiley.com/doi/pdf/10.1111/jiec.12630, estimates 0.06kWh/GB in data transfer. This would mean that a petabyte of data transfer needs 18 tCO2eq. Additionally, the carbon produced by storing the data would not be negligible. For simplicity, we do not account for these aspects, so that our estimates are more directly linked to individual train runs, and not the wider Grid infrastructure. +* At 20W per core, and 0.301 kgCO2eq / kWh, this gives us: **6t CO2eq per 1MCPUh** or **1 CPU year = 53.3 kgCO2eq** +* In order to compare these emissions to something we know, we use CO2eq produced by flights based on curb6.com \ No newline at end of file