Skip to content

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.

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:

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:

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.