Device
End-user hardware (smartphone, laptop, set-top box, screen) on which a UsageJourney is performed. Contributes both fabrication and electricity-use emissions to each UsagePattern that runs on it.
Usage from Python
Pass a list of Devices to UsagePattern.devices. Use the archetype helpers (Device.smartphone(), Device.laptop(), Device.box(), Device.screen()) for sensible defaults.
Common pitfalls
Device.fraction_of_usage_time is used to compute effective usage lifespan by multiplying with device lifespan in years. This effective usage lifespan is then used to compute fabrication amortization.
Params
name
A human readable description of the object.
carbon_footprint_fabrication
Embodied carbon emitted to manufacture one device, amortised over its lifespan.
Unit: kilogram.
power
Electrical power drawn by the device while a user is interacting with it.
Unit: watt.
lifespan
Expected time before the device is replaced. Embodied carbon is amortised over this duration.
Unit: year.
fraction_of_usage_time
Fraction of each calendar day during which the device is in use across all activities, used to scale lifespan in years to effective usage lifespan.
Unit: hour / day.
Backwards links
Calculated attributes
energy_footprint_per_usage_pattern
Hourly carbon emissions caused by the device's electricity use, broken down by usage pattern. Equal to the energy spent by concurrent journeys times the country's grid carbon intensity.
Example value: {
UsagePattern usage pattern (60c504): 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in g:
first 10 vals [9.92, 2.83, 4.25, 1.42, 7.08, 9.92, 8.5, 5.67, 11.3, 7.08],
last 10 vals [8.5, 4.25, 4.25, 5.67, 1.42, 7.08, 2.83, 8.5, 4.25, 7.08],
}
Depends directly on:
through the following calculations:
You can also visit the link to Usage footprint for usage pattern’s full calculation graph.
energy_footprint
Total hourly carbon emissions caused by the device's electricity use, summed across all usage patterns that run on this device.
Example value: 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in g:
first 10 vals [9.92, 2.83, 4.25, 1.42, 7.08, 9.92, 8.5, 5.67, 11.3, 7.08],
last 10 vals [8.5, 4.25, 4.25, 5.67, 1.42, 7.08, 2.83, 8.5, 4.25, 7.08]
Depends directly on:
through the following calculations:
You can also visit the link to Devices energy footprint’s full calculation graph.
instances_fabrication_footprint
Hourly fabrication-phase emissions of all devices in use, equal to one device's hourly amortised embodied carbon (lifespan and usage-time-adjusted) multiplied by the number of journeys concurrently in progress.
Example value: 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in g:
first 10 vals [23.7, 6.78, 10.2, 3.39, 16.9, 23.7, 20.3, 13.6, 27.1, 16.9],
last 10 vals [20.3, 10.2, 10.2, 13.6, 3.39, 16.9, 6.78, 20.3, 10.2, 16.9]
Depends directly on:
- usage pattern hourly nb of user journeys in parallel
- Carbon footprint fabrication
- Lifespan
- Fraction of usage time
through the following calculations:
You can also visit the link to Devices fabrication footprint’s full calculation graph.
fabrication_impact_repartition_weights
Per-UsageJourneyStep weight used to attribute the device's fabrication footprint to the steps that occupy it, proportional to step occurrences times user-time-spent times concurrent journeys.
Example value: {
UsageJourneyStep 20 min streaming (264451): 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in ·min:
first 10 vals [46.7, 13.3, 20, 6.67, 33.3, 46.7, 40, 26.7, 53.3, 33.3],
last 10 vals [40, 20, 20, 26.7, 6.67, 33.3, 13.3, 40, 20, 33.3],
}
Depends directly on:
through the following calculations:
You can also visit the link to 20 min streaming fabrication weight in impact repartition’s full calculation graph.
fabrication_impact_repartition_weight_sum
Sum of fabrication impact repartition weights, used as the denominator when normalising into per-container shares.
Example value: 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in ·min:
first 10 vals [46.7, 13.3, 20, 6.67, 33.3, 46.7, 40, 26.7, 53.3, 33.3],
last 10 vals [40, 20, 20, 26.7, 6.67, 33.3, 13.3, 40, 20, 33.3]
Depends directly on:
through the following calculations:
You can also visit the link to Fabrication impact repartition weights sum’s full calculation graph.
fabrication_impact_repartition
Normalised share of fabrication-phase emissions that this object attributes to each container.
Example value: {
UsageJourneyStep 20 min streaming (264451): 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in :
first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}
Depends directly on:
- 20 min streaming fabrication weight in impact repartition
- Fabrication impact repartition weights sum
through the following calculations:
You can also visit the link to fabrication impact attribution to 20 min streaming’s full calculation graph.
usage_impact_repartition_weights
Per-UsageJourneyStep weight used to attribute the device's electricity-use footprint to the steps that occupy it, weighted by per-pattern energy footprint and step occurrence count.
Example value: {
UsageJourneyStep 20 min streaming (264451): 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in kg·min:
first 10 vals [0.198, 0.0567, 0.085, 0.0283, 0.142, 0.198, 0.17, 0.113, 0.227, 0.142],
last 10 vals [0.17, 0.085, 0.085, 0.113, 0.0283, 0.142, 0.0567, 0.17, 0.085, 0.142],
}
Depends directly on:
through the following calculations:
You can also visit the link to 20 min streaming usage weight in impact repartition’s full calculation graph.
usage_impact_repartition_weight_sum
Sum of usage impact repartition weights, used as the denominator when normalising into per-container shares.
Example value: 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in kg·min:
first 10 vals [0.198, 0.0567, 0.085, 0.0283, 0.142, 0.198, 0.17, 0.113, 0.227, 0.142],
last 10 vals [0.17, 0.085, 0.085, 0.113, 0.0283, 0.142, 0.0567, 0.17, 0.085, 0.142]
Depends directly on:
through the following calculations:
You can also visit the link to Usage impact repartition weights sum’s full calculation graph.
usage_impact_repartition
Normalised share of usage-phase emissions that this object attributes to each container.
Example value: {
UsageJourneyStep 20 min streaming (264451): 26298 values from 2025-01-01 00:00:00+00:00 to 2028-01-01 18:00:00+00:00 in :
first 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
last 10 vals [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
}
Depends directly on:
through the following calculations:
You can also visit the link to usage impact attribution to 20 min streaming’s full calculation graph.