From addeca68e9464108befd76deb3d0372a5861b24c Mon Sep 17 00:00:00 2001 From: da-ekchajzer Date: Sun, 24 Sep 2023 14:30:42 +0200 Subject: [PATCH 1/5] implement IoT devices impacts --- boaviztapi/data/archetypes/iot_device.csv | 6 + boaviztapi/data/config.yml | 1 + .../data/crowdsourcing/iot_factors_tide.csv | 38 + boaviztapi/data/factors.yml | 1530 +++++++++++++++++ boaviztapi/data/utils/jsonifyer.py | 30 +- boaviztapi/dto/component/other.py | 8 +- boaviztapi/dto/device/iot.py | 29 + boaviztapi/dto/device/user_terminal.py | 14 +- boaviztapi/main.py | 7 +- .../model/component/functional_block.py | 105 ++ boaviztapi/model/device/device.py | 6 +- boaviztapi/model/device/iot.py | 75 + boaviztapi/model/impact.py | 34 +- boaviztapi/routers/iot_router.py | 83 + boaviztapi/service/archetype.py | 27 +- boaviztapi/service/factor_provider.py | 29 +- .../functional_blocks.md} | 0 docs/docs/Explanations/components/img.png | Bin 0 -> 321232 bytes docs/docs/Explanations/components/img_1.png | Bin 0 -> 96332 bytes docs/docs/Explanations/devices/iot_devices.md | 70 + docs/docs/Reference/format/iot_device.md | 0 tests/api/test_iot.py | 0 tests/data/archetypes/iot_device.csv | 6 + 23 files changed, 2071 insertions(+), 27 deletions(-) create mode 100644 boaviztapi/data/archetypes/iot_device.csv create mode 100644 boaviztapi/data/crowdsourcing/iot_factors_tide.csv create mode 100644 boaviztapi/dto/device/iot.py create mode 100644 boaviztapi/model/component/functional_block.py create mode 100644 boaviztapi/model/device/iot.py create mode 100644 boaviztapi/routers/iot_router.py rename docs/docs/Explanations/{configuration.md => components/functional_blocks.md} (100%) create mode 100644 docs/docs/Explanations/components/img.png create mode 100644 docs/docs/Explanations/components/img_1.png create mode 100644 docs/docs/Explanations/devices/iot_devices.md create mode 100644 docs/docs/Reference/format/iot_device.md create mode 100644 tests/api/test_iot.py create mode 100644 tests/data/archetypes/iot_device.csv diff --git a/boaviztapi/data/archetypes/iot_device.csv b/boaviztapi/data/archetypes/iot_device.csv new file mode 100644 index 00000000..d2a07e4b --- /dev/null +++ b/boaviztapi/data/archetypes/iot_device.csv @@ -0,0 +1,6 @@ +id,ACTUATORS.hsl_level,CASING.hsl_level,CONNECTIVITY.hsl_level,MEMORY.hsl_level,OTHERS.hsl_level,PCB.hsl_level,POWER_SUPPLY.hsl_level,PROCESSING.hsl_level,SECURITY.hsl_level,SENSING.hsl_level,USER_INTERFACE.hsl_level,USAGE.use_time_ratio,USAGE.hours_life_time,USAGE.avg_power +occupancy_sensor,,HSL-1,,,,,HSL-1,,,HSL-2,HSL-1,1,350401, +home_connected_assistant_mini,,HSL-1,HSL-1,HSL-2,HSL-3,HSL-2,,HSL-1,,HSL-1,HSL-2,1,35040 +drone_mini,HSL-3,HSL-1,HSL-1,HSL-1,HSL-3,HSL-2,HSL-3,HSL-2,,HSL-3,HSL-1,1,35040 +smart_watch,,HSL-1,HSL-2,HSL-3,HSL-3,HSL-1,HSL-2,HSL-2,,HSL-2,HSL-3,1,35040 +iot-device-default,,,,,,,,,,,,1,35040, \ No newline at end of file diff --git a/boaviztapi/data/config.yml b/boaviztapi/data/config.yml index 3c7550c2..53d7072d 100644 --- a/boaviztapi/data/config.yml +++ b/boaviztapi/data/config.yml @@ -25,6 +25,7 @@ default_box: "box-default" default_usb_stick: "usb-stick-default" default_external_ssd: "external-ssd-default" default_external_hdd: "hdd-default" +default_iot_device: "iot-device-default" default_criteria: ["gwp", "adp", "pe"] diff --git a/boaviztapi/data/crowdsourcing/iot_factors_tide.csv b/boaviztapi/data/crowdsourcing/iot_factors_tide.csv new file mode 100644 index 00000000..dead31c8 --- /dev/null +++ b/boaviztapi/data/crowdsourcing/iot_factors_tide.csv @@ -0,0 +1,38 @@ +name,Fab - Particulate Matter,Fab - Eutrophication marine,"Fab - Eutrophication, terrestrial",Fab - Acidification,Fab - Climate change,"Fab - Ecotoxicity, freshwater","Fab - Human toxicity, cancer","Fab - Eutrophication, freshwater","Fab - Human toxicity, non-cancer","Fab - Ionising radiation, human health",Fab - Land use,Fab - Ozone depletion,Fab - Photochemical ozone formation - human health,"Fab - Resource use, fossils","Fab - Resource use, minerals and metals",Fab - Water use,Fab - Total Primary Energy,Fab - Net use of freshwater,EoL - Particulate Matter,EoL - Eutrophication marine,"EoL - Eutrophication, terrestrial",EoL - Acidification,EoL - Climate change,"EoL - Ecotoxicity, freshwater","EoL - Human toxicity, cancer","EoL - Eutrophication, freshwater","EoL - Human toxicity, non-cancer","EoL - Ionising radiation, human health",EoL - Land use,EoL - Ozone depletion,EoL - Photochemical ozone formation - human health,"EoL - Resource use, fossils","EoL - Resource use, minerals and metals",EoL - Water use,EoL - Total Primary Energy,EoL - Net use of freshwater +api_name,fab-pm,fab-epm,fab-ept,fab-ap,fab-gwp,fab-ctue,fab-ctuh_c,fab-epf,fab-ctuh_nc,fab-ir,fab-lu,fab-odp,fab-pocp,fab-adpf,fab-adpe,fab-wu,fab-pe,fab-fw,eol-pm,eol-epm,eol-ept,eol-ap,eol-gwp,eol-ctue,eol-ctuh_c,eol-epf,eol-ctuh_nc,eol-ir,eol-lu,eol-odp,eol-pocp,eol-adpf,eol-adpe,eol-wu,eol-pe,eol-fw +Unit,Disease occurrence,kg N eq.,mol N eq.,mol H+ eq.,kg CO2 eq.,CTUe,CTUh,kg P eq.,CTUh,kBq U235 eq.,No dimension,kg CFC-11 eq.,kg NMVOC eq.,MJ,kg SB eq.,m3 eq.,MJ,m3,Disease occurrence,kg N eq.,mol N eq.,mol H+ eq.,kg CO2 eq.,CTUe,CTUh,kg P eq.,CTUh,kBq U235 eq.,No dimension,kg CFC-11 eq.,kg NMVOC eq.,MJ,kg SB eq.,m3 eq.,MJ,m3 +actuators - HSL-1,1.98E-09,1.41E-05,1.32E-04,1.23E-04,1.73E-02,6.81E-01,6.02E-12,5.16E-08,5.10E-10,3.73E-02,2.13E-04,2.85E-09,4.77E-05,2.70E-01,8.97E-07,7.24E-03,2.79E-01,1.68E-04,1.10E-10,6.01E-06,1.98E-05,1.47E-05,2.01E-03,2.15E-01,2.09E-12,3.97E-08,8.48E-11,2.16E-04,6.94E-03,2.29E-10,5.99E-06,3.15E-02,8.05E-09,5.28E-01,3.42E-02,1.48E-02 +actuators - HSL-2,1.01E-08,1.47E-04,1.38E-03,1.78E-03,1.64E-01,3.12E+00,2.78E-11,7.71E-08,1.29E-09,1.94E-02,0.00E+00,5.59E-09,4.66E-04,2.32E+00,1.18E-05,2.66E-02,2.42E+00,6.20E-04,1.69E-11,4.97E-06,3.02E-06,6.99E-06,3.14E-04,1.73E-01,5.77E-13,4.41E-09,5.38E-11,2.27E-05,1.17E-03,2.58E-11,1.10E-06,3.12E-03,1.11E-10,9.45E-02,3.56E-03,2.50E-03 +actuators - HSL-3,2.03E-07,1.50E-03,1.42E-02,1.32E-02,1.88E+00,6.98E+01,6.17E-10,5.42E-06,5.19E-08,3.73E+00,2.15E-02,3.17E-07,5.10E-03,2.87E+01,9.06E-05,7.67E-01,2.96E+01,1.79E-02,1.10E-08,6.03E-04,1.98E-03,1.47E-03,2.01E-01,2.16E+01,2.09E-10,3.97E-06,8.50E-09,2.16E-02,6.95E-01,2.29E-08,6.00E-04,3.15E+00,8.05E-07,5.28E+01,3.42E+00,1.48E+00 +casing - HSL-1,1.72E-08,4.35E-04,4.66E-03,2.44E-03,4.31E-01,1.68E+01,8.38E-11,1.20E-06,3.34E-09,9.79E-02,0.00E+00,2.05E-08,1.40E-03,9.72E+00,3.99E-07,8.46E-02,9.97E+00,1.97E-03,4.99E-09,8.35E-05,9.44E-04,4.57E-04,9.12E-02,1.69E+00,4.22E-11,1.13E-06,8.65E-10,6.75E-03,2.10E-01,1.03E-08,2.85E-04,1.35E+00,5.85E-07,1.44E+01,1.43E+00,4.00E-01 +casing - HSL-2,1.38E-07,3.48E-03,3.73E-02,1.95E-02,3.45E+00,1.35E+02,6.70E-10,9.61E-06,2.67E-08,7.83E-01,0.00E+00,1.64E-07,1.12E-02,7.78E+01,3.19E-06,6.77E-01,7.98E+01,1.58E-02,3.99E-08,6.68E-04,7.56E-03,3.66E-03,7.29E-01,1.35E+01,3.38E-10,9.04E-06,6.92E-09,5.40E-02,1.68E+00,8.24E-08,2.28E-03,1.08E+01,4.68E-06,1.15E+02,1.14E+01,3.20E+00 +casing - HSL-3,2.75E-07,6.96E-03,7.46E-02,3.91E-02,6.89E+00,2.69E+02,1.34E-09,1.92E-05,5.34E-08,1.57E+00,0.00E+00,3.28E-07,2.25E-02,1.56E+02,6.39E-06,1.35E+00,1.60E+02,3.15E-02,7.99E-08,1.34E-03,1.51E-02,7.32E-03,1.46E+00,2.70E+01,6.75E-10,1.81E-05,1.38E-08,1.08E-01,3.35E+00,1.65E-07,4.56E-03,2.16E+01,9.36E-06,2.31E+02,2.28E+01,6.39E+00 +connectivity - HSL-1,7.84E-09,1.71E-04,1.78E-03,1.42E-03,2.58E-01,3.29E+00,2.42E-11,7.94E-07,1.40E-09,2.15E-03,1.01E-03,1.11E-07,5.60E-04,3.37E+00,7.13E-09,1.31E-01,3.44E+00,3.05E-03,5.92E-13,1.74E-07,1.06E-07,2.44E-07,1.10E-05,6.06E-03,2.02E-14,1.54E-10,1.88E-12,7.92E-07,4.10E-05,9.01E-13,3.84E-08,1.09E-04,3.88E-12,3.30E-03,1.25E-04,8.75E-05 +connectivity - HSL-2,3.97E-08,6.36E-04,6.70E-03,6.97E-03,9.03E-01,1.21E+01,3.81E-10,2.66E-06,3.39E-08,3.62E+00,3.34E-03,3.76E-07,2.21E-03,1.20E+01,1.71E-05,5.33E-01,1.23E+01,1.24E-02,8.02E-09,1.83E-04,1.60E-03,7.37E-04,1.08E-01,8.51E+00,9.63E-11,3.91E-07,1.61E-09,9.45E-03,2.84E-01,1.84E-08,4.31E-04,1.82E+00,1.26E-07,1.61E+01,1.94E+00,5.28E-01 +connectivity - HSL-3,6.02E-08,1.08E-03,1.14E-02,1.07E-02,1.58E+00,2.07E+01,4.44E-10,4.74E-06,3.76E-08,3.62E+00,5.99E-03,6.66E-07,3.68E-03,2.09E+01,1.71E-05,8.75E-01,2.13E+01,2.04E-02,8.03E-09,1.83E-04,1.60E-03,7.37E-04,1.08E-01,8.52E+00,9.64E-11,3.91E-07,1.61E-09,9.45E-03,2.84E-01,1.84E-08,4.31E-04,1.82E+00,1.26E-07,1.61E+01,1.94E+00,5.28E-01 +memory - HSL-1,8.49E-09,1.85E-04,1.93E-03,1.54E-03,2.79E-01,3.57E+00,2.62E-11,8.64E-07,1.51E-09,2.34E-03,1.10E-03,1.21E-07,6.06E-04,3.65E+00,7.71E-09,1.23E-01,3.72E+00,2.87E-03,5.15E-13,1.51E-07,9.19E-08,2.13E-07,9.55E-06,5.27E-03,1.75E-14,1.34E-10,1.64E-12,6.89E-07,3.56E-05,7.84E-13,3.34E-08,9.47E-05,3.37E-12,2.87E-03,1.08E-04,7.61E-05 +memory - HSL-2,9.79E-08,2.14E-03,2.23E-02,1.78E-02,3.22E+00,4.11E+01,3.02E-10,9.97E-06,1.75E-08,2.69E-02,1.27E-02,1.40E-06,6.99E-03,4.21E+01,8.90E-08,1.45E+00,4.30E+01,3.37E-02,5.12E-12,1.50E-06,9.15E-07,2.12E-06,9.50E-05,5.25E-02,1.75E-13,1.34E-09,1.63E-11,6.86E-06,3.55E-04,7.80E-12,3.32E-07,9.43E-04,3.35E-11,2.86E-02,1.08E-03,7.58E-04 +memory - HSL-3,2.06E-07,4.49E-03,4.68E-02,3.73E-02,6.77E+00,8.64E+01,6.35E-10,2.09E-05,3.67E-08,5.66E-02,2.68E-02,2.93E-06,1.47E-02,8.85E+01,1.87E-07,3.01E+00,9.03E+01,7.02E-02,9.56E-12,2.80E-06,1.71E-06,3.95E-06,1.77E-04,9.79E-02,3.26E-13,2.49E-09,3.04E-11,1.28E-05,6.62E-04,1.46E-11,6.20E-07,1.76E-03,6.26E-11,5.33E-02,2.01E-03,1.41E-03 +others - HSL-0,1.15E-08,2.21E-04,2.38E-03,2.11E-03,3.17E-01,6.13E+00,6.59E-11,1.88E-07,4.70E-09,5.17E+00,0.00E+00,7.61E-08,9.29E-04,5.80E+00,2.44E-05,3.97E-02,5.85E+00,9.24E-04,4.89E-10,1.43E-04,8.73E-05,2.02E-04,9.07E-03,5.01E+00,1.67E-11,1.27E-07,1.55E-09,6.54E-04,3.38E-02,7.44E-10,3.17E-05,8.99E-02,3.20E-09,2.73E+00,1.03E-01,7.23E-02 +others - HSL-1,2.24E-08,4.14E-04,4.46E-03,3.90E-03,5.89E-01,1.14E+01,1.20E-10,3.92E-07,8.91E-09,1.03E+01,0.00E+00,1.45E-07,1.72E-03,1.05E+01,3.94E-05,7.72E-02,1.06E+01,1.80E-03,1.01E-09,2.97E-04,1.81E-04,4.18E-04,1.88E-02,1.04E+01,3.45E-11,2.64E-07,3.21E-09,1.35E-03,7.00E-02,1.54E-09,6.56E-05,1.86E-01,6.62E-09,5.64E+00,2.13E-01,1.50E-01 +others - HSL-2,4.49E-08,8.54E-04,9.23E-03,8.04E-03,1.21E+00,2.48E+01,2.68E-10,6.66E-07,2.04E-08,2.58E+01,0.00E+00,3.26E-07,3.64E-03,2.29E+01,9.02E-05,1.42E-01,2.31E+01,3.30E-03,2.29E-09,6.73E-04,4.10E-04,9.48E-04,4.26E-02,2.35E+01,7.82E-11,5.98E-07,7.29E-09,3.07E-03,1.59E-01,3.49E-09,1.49E-04,4.22E-01,1.50E-08,1.28E+01,4.83E-01,3.39E-01 +others - HSL-3,7.56E-08,1.41E-03,1.53E-02,1.36E-02,2.00E+00,4.09E+01,6.45E-10,1.13E-06,3.46E-08,4.39E+01,0.00E+00,5.60E-07,6.16E-03,3.82E+01,1.55E-04,2.18E-01,3.84E+01,5.09E-03,3.73E-09,1.10E-03,6.67E-04,1.54E-03,6.93E-02,3.83E+01,1.27E-10,9.73E-07,1.19E-08,5.00E-03,2.59E-01,5.68E-09,2.42E-04,6.87E-01,2.44E-08,2.08E+01,7.86E-01,5.52E-01 +pcb - HSL-0,3.97E-09,7.96E-05,8.69E-04,7.32E-04,9.29E-02,1.49E+00,1.76E-11,4.17E-08,1.12E-09,3.01E-02,0.00E+00,1.12E-08,3.18E-04,1.93E+00,4.75E-06,1.46E-02,1.93E+00,3.40E-04,2.73E-10,8.02E-05,4.88E-05,1.13E-04,5.07E-03,2.80E+00,9.32E-12,7.12E-08,8.68E-10,3.66E-04,1.89E-02,4.16E-10,1.77E-05,5.03E-02,1.79E-09,1.53E+00,5.75E-02,4.04E-02 +pcb - HSL-1,1.40E-08,2.81E-04,3.07E-03,2.58E-03,3.28E-01,5.24E+00,6.20E-11,1.47E-07,3.94E-09,1.06E-01,0.00E+00,3.94E-08,1.12E-03,6.79E+00,1.76E-05,5.22E-02,6.80E+00,1.21E-03,9.61E-10,2.82E-04,1.72E-04,3.97E-04,1.78E-02,9.85E+00,3.28E-11,2.51E-07,3.05E-09,1.29E-03,6.66E-02,1.46E-09,6.23E-05,1.77E-01,6.29E-09,5.36E+00,2.02E-01,1.42E-01 +pcb - HSL-2,3.11E-08,5.26E-04,5.74E-03,5.63E-03,6.14E-01,1.07E+01,1.24E-10,3.68E-07,8.72E-09,1.89E-01,0.00E+00,8.94E-08,2.15E-03,1.29E+01,3.61E-05,1.17E-01,1.29E+01,2.73E-03,1.72E-09,5.06E-04,3.08E-04,7.12E-04,3.20E-02,1.77E+01,5.87E-11,4.49E-07,5.48E-09,2.31E-03,1.19E-01,2.62E-09,1.12E-04,3.17E-01,1.13E-08,9.62E+00,3.63E-01,2.55E-01 +pcb - HSL-3,7.42E-08,1.25E-03,1.37E-02,1.34E-02,1.46E+00,2.56E+01,2.96E-10,8.79E-07,2.08E-08,4.53E-01,0.00E+00,2.14E-07,5.13E-03,3.08E+01,8.24E-05,2.77E-01,3.09E+01,6.44E-03,4.13E-09,1.21E-03,7.37E-04,1.71E-03,7.66E-02,4.23E+01,1.41E-10,1.08E-06,1.31E-08,5.53E-03,2.86E-01,6.29E-09,2.68E-04,7.60E-01,2.70E-08,2.30E+01,8.69E-01,6.11E-01 +power_supply - HSL-0,1.71E-07,3.24E-03,3.44E-02,3.11E-02,4.43E+00,6.27E+01,8.27E-10,5.05E-06,6.15E-08,4.23E+00,5.10E-04,4.58E-07,1.12E-02,5.46E+01,2.92E-04,8.59E-01,5.68E+01,2.00E-02,3.69E-09,1.14E-03,5.89E-04,1.59E-03,5.94E-02,4.00E+01,1.18E-10,1.02E-06,1.22E-08,4.76E-03,2.64E-01,5.51E-09,2.29E-04,6.82E-01,2.23E-08,2.16E+01,7.83E-01,5.71E-01 +power_supply - HSL-1,5.51E-09,1.20E-04,1.31E-03,9.46E-04,1.04E-01,6.83E+00,1.01E-10,4.97E-07,2.18E-08,1.83E+00,0.00E+00,2.21E-08,4.22E-04,2.08E+00,1.08E-05,7.48E-02,2.08E+00,1.74E-03,1.11E-09,1.61E-05,1.76E-04,2.01E-04,1.81E-02,2.08E-01,4.98E-12,4.81E-09,2.44E-10,5.52E-03,0.00E+00,2.16E-09,6.80E-05,4.46E-01,3.53E-09,3.01E-03,4.47E-01,7.01E-05 +power_supply - HSL-2,1.65E-07,4.83E-03,3.72E-02,2.81E-02,4.64E+00,1.07E+02,1.14E-09,9.08E-04,1.93E-07,2.03E+00,6.77E-01,1.88E-06,1.24E-02,5.03E+01,1.49E-04,2.61E+01,5.23E+01,6.07E-01,1.80E-09,2.85E-04,3.95E-04,5.50E-04,4.57E-02,1.43E+02,3.32E-11,2.40E-07,3.19E-09,1.14E-02,6.05E-02,5.65E-09,1.49E-04,8.48E-01,6.07E-09,4.95E+00,8.71E-01,1.31E-01 +power_supply - HSL-3,1.76E-07,5.07E-03,3.96E-02,3.00E-02,4.99E+00,1.11E+02,1.17E-09,9.09E-04,1.95E-07,2.03E+00,6.78E-01,2.04E-06,1.32E-02,5.49E+01,1.49E-04,2.63E+01,5.70E+01,6.12E-01,1.80E-09,2.85E-04,3.95E-04,5.50E-04,4.57E-02,1.43E+02,3.33E-11,2.40E-07,3.19E-09,1.14E-02,6.06E-02,5.65E-09,1.49E-04,8.48E-01,6.08E-09,4.96E+00,8.71E-01,1.31E-01 +processing - HSL-0,7.84E-09,1.71E-04,1.78E-03,1.42E-03,2.58E-01,3.29E+00,2.42E-11,7.94E-07,1.40E-09,2.15E-03,1.01E-03,1.11E-07,5.60E-04,3.37E+00,7.13E-09,1.31E-01,3.44E+00,3.05E-03,5.92E-13,1.74E-07,1.06E-07,2.44E-07,1.10E-05,6.06E-03,2.02E-14,1.54E-10,1.88E-12,7.92E-07,4.10E-05,9.01E-13,3.84E-08,1.09E-04,3.88E-12,3.30E-03,1.25E-04,8.75E-05 +processing - HSL-1,5.27E-08,1.15E-03,1.20E-02,9.55E-03,1.73E+00,2.21E+01,1.62E-10,5.39E-06,9.39E-09,1.45E-02,6.89E-03,7.55E-07,3.76E-03,2.26E+01,4.79E-08,6.81E-01,2.31E+01,1.59E-02,2.37E-12,6.95E-07,4.23E-07,9.79E-07,4.40E-05,2.43E-02,8.08E-14,6.18E-10,7.53E-12,3.17E-06,1.64E-04,3.61E-12,1.54E-07,4.36E-04,1.55E-11,1.32E-02,4.99E-04,3.50E-04 +processing - HSL-2,1.07E-07,2.34E-03,2.44E-02,1.95E-02,3.53E+00,4.51E+01,3.31E-10,1.10E-05,1.91E-08,2.96E-02,1.41E-02,1.54E-06,7.66E-03,4.61E+01,9.75E-08,1.35E+00,4.71E+01,3.15E-02,4.14E-12,1.21E-06,7.39E-07,1.71E-06,7.68E-05,4.24E-02,1.41E-13,1.08E-09,1.32E-11,5.54E-06,2.87E-04,6.30E-12,2.68E-07,7.62E-04,2.71E-11,2.31E-02,8.71E-04,6.12E-04 +processing - HSL-3,1.93E-07,4.20E-03,4.37E-02,3.49E-02,6.33E+00,8.08E+01,5.93E-10,1.97E-05,3.43E-08,5.30E-02,2.52E-02,2.76E-06,1.37E-02,8.27E+01,1.75E-07,2.40E+00,8.43E+01,5.58E-02,4.82E-12,1.41E-06,8.60E-07,1.99E-06,8.93E-05,4.94E-02,1.64E-13,1.26E-09,1.53E-11,6.45E-06,3.34E-04,7.33E-12,3.12E-07,8.86E-04,3.15E-11,2.69E-02,1.01E-03,7.12E-04 +security - HSL-1,1.34E-09,2.91E-05,3.04E-04,2.42E-04,4.39E-02,5.62E-01,4.13E-12,1.35E-07,2.39E-10,3.67E-04,1.72E-04,1.89E-08,9.54E-05,5.75E-01,1.22E-09,2.42E-02,5.87E-01,5.63E-04,1.19E-13,3.48E-08,2.12E-08,4.90E-08,2.20E-06,1.21E-03,4.04E-15,3.09E-11,3.77E-13,1.59E-07,8.21E-06,1.80E-13,7.69E-09,2.18E-05,7.76E-13,6.62E-04,2.49E-05,1.75E-05 +sensing - HSL-1,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00,0.00E+00 +sensing - HSL-2,1.40E-09,3.05E-05,3.19E-04,2.54E-04,4.60E-02,5.90E-01,4.33E-12,1.39E-07,2.51E-10,3.83E-04,1.78E-04,1.95E-08,1.00E-04,6.04E-01,1.28E-09,3.24E-02,6.17E-01,7.55E-04,1.78E-13,5.22E-08,3.18E-08,7.34E-08,3.30E-06,1.82E-03,6.06E-15,4.63E-11,5.65E-13,2.38E-07,1.23E-05,2.71E-13,1.15E-08,3.27E-05,1.16E-12,9.92E-04,3.74E-05,2.63E-05 +sensing - HSL-3,2.42E-08,5.28E-04,5.51E-03,4.39E-03,7.96E-01,1.02E+01,7.47E-11,2.44E-06,4.32E-09,6.64E-03,3.12E-03,3.42E-07,1.73E-03,1.04E+01,2.20E-08,4.45E-01,1.06E+01,1.04E-02,1.96E-12,5.74E-07,3.49E-07,8.08E-07,3.63E-05,2.00E-02,6.67E-14,5.10E-10,6.22E-12,2.62E-06,1.35E-04,2.98E-12,1.27E-07,3.60E-04,1.28E-11,1.09E-02,4.12E-04,2.89E-04 +user_interface - HSL-1,7.19E-09,1.22E-04,1.19E-03,1.13E-03,1.45E-01,3.18E+00,3.41E-11,2.63E-07,1.27E-09,3.68E+00,0.00E+00,3.12E-08,4.61E-04,2.34E+00,2.97E-05,4.09E-02,2.38E+00,9.52E-04,3.35E-10,1.03E-04,5.46E-05,1.44E-04,5.54E-03,3.60E+00,1.09E-11,9.18E-08,1.10E-09,4.36E-04,2.39E-02,5.02E-10,2.10E-05,6.20E-02,2.05E-09,1.95E+00,7.11E-02,5.15E-02 +user_interface - HSL-2,1.66E-08,2.93E-04,2.91E-03,2.66E-03,3.62E-01,7.43E+00,7.58E-11,7.38E-07,3.15E-09,7.55E+00,2.60E-04,9.13E-08,1.09E-03,5.65E+00,5.94E-05,1.21E-01,5.75E+00,2.81E-03,7.17E-10,2.06E-04,1.18E-04,2.92E-04,1.20E-02,7.21E+00,2.29E-11,2.10E-07,2.23E-09,9.41E-04,5.01E-02,1.11E-09,4.43E-05,1.38E-01,7.38E-09,4.21E+00,1.58E-01,1.12E-01 +user_interface - HSL-3,3.49E-08,6.94E-04,6.89E-03,6.00E-03,8.23E-01,1.75E+01,3.27E-10,2.94E-06,1.48E-08,1.18E+01,1.11E-02,1.29E-07,2.48E-03,1.40E+01,1.62E-04,4.28E-01,1.43E+01,9.97E-03,1.12E-09,3.03E-04,1.93E-04,4.28E-04,1.94E-02,1.05E+01,3.37E-11,2.67E-07,3.23E-09,1.54E-03,7.03E-02,1.83E-09,6.98E-05,2.21E-01,8.96E-09,5.92E+00,2.49E-01,1.62E-01 diff --git a/boaviztapi/data/factors.yml b/boaviztapi/data/factors.yml index 02097c91..097114a0 100644 --- a/boaviztapi/data/factors.yml +++ b/boaviztapi/data/factors.yml @@ -1389,6 +1389,1536 @@ } } +"IoT": { + "actuators": { + "HSL-1": { + "manufacture": { + "gwp": 0.0173, + "pe": 0.279, + "ir": 0.0373, + "lu": 0.000213, + "odp": 2.85e-09, + "pm": 1.98e-09, + "pocp": 4.77e-05, + "wu": 0.00724, + "adpe": 8.97e-07, + "adpf": 0.27, + "ap": 0.000123, + "ctue": 0.681, + "ctuh_c": 6.02e-12, + "ctuh_nc": 5.1e-10, + "epf": 5.16e-08, + "epm": 1.41e-05, + "ept": 0.000132, + "fw": 0.000168 + }, + "eol": { + "gwp": 0.00201, + "pe": 0.0342, + "ir": 0.000216, + "lu": 0.00694, + "odp": 2.29e-10, + "pm": 1.1e-10, + "pocp": 5.99e-06, + "wu": 0.528, + "adpe": 8.05e-09, + "adpf": 0.0315, + "ap": 1.47e-05, + "ctue": 0.215, + "ctuh_c": 2.09e-12, + "ctuh_nc": 8.48e-11, + "epf": 3.97e-08, + "epm": 6.01e-06, + "ept": 1.98e-05, + "fw": 0.0148 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.164, + "pe": 2.42, + "ir": 0.0194, + "lu": 0.0, + "odp": 5.59e-09, + "pm": 1.01e-08, + "pocp": 0.000466, + "wu": 0.0266, + "adpe": 1.18e-05, + "adpf": 2.32, + "ap": 0.00178, + "ctue": 3.12, + "ctuh_c": 2.78e-11, + "ctuh_nc": 1.29e-09, + "epf": 7.71e-08, + "epm": 0.000147, + "ept": 0.00138, + "fw": 0.00062 + }, + "eol": { + "gwp": 0.000314, + "pe": 0.00356, + "ir": 2.27e-05, + "lu": 0.00117, + "odp": 2.58e-11, + "pm": 1.69e-11, + "pocp": 1.1e-06, + "wu": 0.0945, + "adpe": 1.11e-10, + "adpf": 0.00312, + "ap": 6.99e-06, + "ctue": 0.173, + "ctuh_c": 5.77e-13, + "ctuh_nc": 5.38e-11, + "epf": 4.41e-09, + "epm": 4.97e-06, + "ept": 3.02e-06, + "fw": 0.0025 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 1.88, + "pe": 29.6, + "ir": 3.73, + "lu": 0.0215, + "odp": 3.17e-07, + "pm": 2.03e-07, + "pocp": 0.0051, + "wu": 0.767, + "adpe": 9.06e-05, + "adpf": 28.7, + "ap": 0.0132, + "ctue": 69.8, + "ctuh_c": 6.17e-10, + "ctuh_nc": 5.19e-08, + "epf": 5.42e-06, + "epm": 0.0015, + "ept": 0.0142, + "fw": 0.0179 + }, + "eol": { + "gwp": 0.201, + "pe": 3.42, + "ir": 0.0216, + "lu": 0.695, + "odp": 2.29e-08, + "pm": 1.1e-08, + "pocp": 0.0006, + "wu": 52.8, + "adpe": 8.05e-07, + "adpf": 3.15, + "ap": 0.00147, + "ctue": 21.6, + "ctuh_c": 2.09e-10, + "ctuh_nc": 8.5e-09, + "epf": 3.97e-06, + "epm": 0.000603, + "ept": 0.00198, + "fw": 1.48 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "casing": { + "HSL-1": { + "manufacture": { + "gwp": 0.431, + "pe": 9.97, + "ir": 0.0979, + "lu": 0.0, + "odp": 2.05e-08, + "pm": 1.72e-08, + "pocp": 0.0014, + "wu": 0.0846, + "adpe": 3.99e-07, + "adpf": 9.72, + "ap": 0.00244, + "ctue": 16.8, + "ctuh_c": 8.38e-11, + "ctuh_nc": 3.34e-09, + "epf": 1.2e-06, + "epm": 0.000435, + "ept": 0.00466, + "fw": 0.00197 + }, + "eol": { + "gwp": 0.0912, + "pe": 1.43, + "ir": 0.00675, + "lu": 0.21, + "odp": 1.03e-08, + "pm": 4.99e-09, + "pocp": 0.000285, + "wu": 14.4, + "adpe": 5.85e-07, + "adpf": 1.35, + "ap": 0.000457, + "ctue": 1.69, + "ctuh_c": 4.22e-11, + "ctuh_nc": 8.65e-10, + "epf": 1.13e-06, + "epm": 8.35e-05, + "ept": 0.000944, + "fw": 0.4 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 3.45, + "pe": 79.8, + "ir": 0.783, + "lu": 0.0, + "odp": 1.64e-07, + "pm": 1.38e-07, + "pocp": 0.0112, + "wu": 0.677, + "adpe": 3.19e-06, + "adpf": 77.8, + "ap": 0.0195, + "ctue": 135.0, + "ctuh_c": 6.7e-10, + "ctuh_nc": 2.67e-08, + "epf": 9.61e-06, + "epm": 0.00348, + "ept": 0.0373, + "fw": 0.0158 + }, + "eol": { + "gwp": 0.729, + "pe": 11.4, + "ir": 0.054, + "lu": 1.68, + "odp": 8.24e-08, + "pm": 3.99e-08, + "pocp": 0.00228, + "wu": 115.0, + "adpe": 4.68e-06, + "adpf": 10.8, + "ap": 0.00366, + "ctue": 13.5, + "ctuh_c": 3.38e-10, + "ctuh_nc": 6.92e-09, + "epf": 9.04e-06, + "epm": 0.000668, + "ept": 0.00756, + "fw": 3.2 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 6.89, + "pe": 160.0, + "ir": 1.57, + "lu": 0.0, + "odp": 3.28e-07, + "pm": 2.75e-07, + "pocp": 0.0225, + "wu": 1.35, + "adpe": 6.39e-06, + "adpf": 156.0, + "ap": 0.0391, + "ctue": 269.0, + "ctuh_c": 1.34e-09, + "ctuh_nc": 5.34e-08, + "epf": 1.92e-05, + "epm": 0.00696, + "ept": 0.0746, + "fw": 0.0315 + }, + "eol": { + "gwp": 1.46, + "pe": 22.8, + "ir": 0.108, + "lu": 3.35, + "odp": 1.65e-07, + "pm": 7.99e-08, + "pocp": 0.00456, + "wu": 231.0, + "adpe": 9.36e-06, + "adpf": 21.6, + "ap": 0.00732, + "ctue": 27.0, + "ctuh_c": 6.75e-10, + "ctuh_nc": 1.38e-08, + "epf": 1.81e-05, + "epm": 0.00134, + "ept": 0.0151, + "fw": 6.39 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "connectivity": { + "HSL-1": { + "manufacture": { + "gwp": 0.258, + "pe": 3.44, + "ir": 0.00215, + "lu": 0.00101, + "odp": 1.11e-07, + "pm": 7.84e-09, + "pocp": 0.00056, + "wu": 0.131, + "adpe": 7.13e-09, + "adpf": 3.37, + "ap": 0.00142, + "ctue": 3.29, + "ctuh_c": 2.42e-11, + "ctuh_nc": 1.4e-09, + "epf": 7.94e-07, + "epm": 0.000171, + "ept": 0.00178, + "fw": 0.00305 + }, + "eol": { + "gwp": 1.1e-05, + "pe": 0.000125, + "ir": 7.92e-07, + "lu": 4.1e-05, + "odp": 9.01e-13, + "pm": 5.92e-13, + "pocp": 3.84e-08, + "wu": 0.0033, + "adpe": 3.88e-12, + "adpf": 0.000109, + "ap": 2.44e-07, + "ctue": 0.00606, + "ctuh_c": 2.02e-14, + "ctuh_nc": 1.88e-12, + "epf": 1.54e-10, + "epm": 1.74e-07, + "ept": 1.06e-07, + "fw": 8.75e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.903, + "pe": 12.3, + "ir": 3.62, + "lu": 0.00334, + "odp": 3.76e-07, + "pm": 3.97e-08, + "pocp": 0.00221, + "wu": 0.533, + "adpe": 1.71e-05, + "adpf": 12.0, + "ap": 0.00697, + "ctue": 12.1, + "ctuh_c": 3.81e-10, + "ctuh_nc": 3.39e-08, + "epf": 2.66e-06, + "epm": 0.000636, + "ept": 0.0067, + "fw": 0.0124 + }, + "eol": { + "gwp": 0.108, + "pe": 1.94, + "ir": 0.00945, + "lu": 0.284, + "odp": 1.84e-08, + "pm": 8.02e-09, + "pocp": 0.000431, + "wu": 16.1, + "adpe": 1.26e-07, + "adpf": 1.82, + "ap": 0.000737, + "ctue": 8.51, + "ctuh_c": 9.63e-11, + "ctuh_nc": 1.61e-09, + "epf": 3.91e-07, + "epm": 0.000183, + "ept": 0.0016, + "fw": 0.528 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 1.58, + "pe": 21.3, + "ir": 3.62, + "lu": 0.00599, + "odp": 6.66e-07, + "pm": 6.02e-08, + "pocp": 0.00368, + "wu": 0.875, + "adpe": 1.71e-05, + "adpf": 20.9, + "ap": 0.0107, + "ctue": 20.7, + "ctuh_c": 4.44e-10, + "ctuh_nc": 3.76e-08, + "epf": 4.74e-06, + "epm": 0.00108, + "ept": 0.0114, + "fw": 0.0204 + }, + "eol": { + "gwp": 0.108, + "pe": 1.94, + "ir": 0.00945, + "lu": 0.284, + "odp": 1.84e-08, + "pm": 8.03e-09, + "pocp": 0.000431, + "wu": 16.1, + "adpe": 1.26e-07, + "adpf": 1.82, + "ap": 0.000737, + "ctue": 8.52, + "ctuh_c": 9.64e-11, + "ctuh_nc": 1.61e-09, + "epf": 3.91e-07, + "epm": 0.000183, + "ept": 0.0016, + "fw": 0.528 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "memory": { + "HSL-1": { + "manufacture": { + "gwp": 0.279, + "pe": 3.72, + "ir": 0.00234, + "lu": 0.0011, + "odp": 1.21e-07, + "pm": 8.49e-09, + "pocp": 0.000606, + "wu": 0.123, + "adpe": 7.71e-09, + "adpf": 3.65, + "ap": 0.00154, + "ctue": 3.57, + "ctuh_c": 2.62e-11, + "ctuh_nc": 1.51e-09, + "epf": 8.64e-07, + "epm": 0.000185, + "ept": 0.00193, + "fw": 0.00287 + }, + "eol": { + "gwp": 9.55e-06, + "pe": 0.000108, + "ir": 6.89e-07, + "lu": 3.56e-05, + "odp": 7.84e-13, + "pm": 5.15e-13, + "pocp": 3.34e-08, + "wu": 0.00287, + "adpe": 3.37e-12, + "adpf": 9.47e-05, + "ap": 2.13e-07, + "ctue": 0.00527, + "ctuh_c": 1.75e-14, + "ctuh_nc": 1.64e-12, + "epf": 1.34e-10, + "epm": 1.51e-07, + "ept": 9.19e-08, + "fw": 7.61e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 3.22, + "pe": 43.0, + "ir": 0.0269, + "lu": 0.0127, + "odp": 1.4e-06, + "pm": 9.79e-08, + "pocp": 0.00699, + "wu": 1.45, + "adpe": 8.9e-08, + "adpf": 42.1, + "ap": 0.0178, + "ctue": 41.1, + "ctuh_c": 3.02e-10, + "ctuh_nc": 1.75e-08, + "epf": 9.97e-06, + "epm": 0.00214, + "ept": 0.0223, + "fw": 0.0337 + }, + "eol": { + "gwp": 9.5e-05, + "pe": 0.00108, + "ir": 6.86e-06, + "lu": 0.000355, + "odp": 7.8e-12, + "pm": 5.12e-12, + "pocp": 3.32e-07, + "wu": 0.0286, + "adpe": 3.35e-11, + "adpf": 0.000943, + "ap": 2.12e-06, + "ctue": 0.0525, + "ctuh_c": 1.75e-13, + "ctuh_nc": 1.63e-11, + "epf": 1.34e-09, + "epm": 1.5e-06, + "ept": 9.15e-07, + "fw": 0.000758 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 6.77, + "pe": 90.3, + "ir": 0.0566, + "lu": 0.0268, + "odp": 2.93e-06, + "pm": 2.06e-07, + "pocp": 0.0147, + "wu": 3.01, + "adpe": 1.87e-07, + "adpf": 88.5, + "ap": 0.0373, + "ctue": 86.4, + "ctuh_c": 6.35e-10, + "ctuh_nc": 3.67e-08, + "epf": 2.09e-05, + "epm": 0.00449, + "ept": 0.0468, + "fw": 0.0702 + }, + "eol": { + "gwp": 0.000177, + "pe": 0.00201, + "ir": 1.28e-05, + "lu": 0.000662, + "odp": 1.46e-11, + "pm": 9.56e-12, + "pocp": 6.2e-07, + "wu": 0.0533, + "adpe": 6.26e-11, + "adpf": 0.00176, + "ap": 3.95e-06, + "ctue": 0.0979, + "ctuh_c": 3.26e-13, + "ctuh_nc": 3.04e-11, + "epf": 2.49e-09, + "epm": 2.8e-06, + "ept": 1.71e-06, + "fw": 0.00141 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "others": { + "HSL-0": { + "manufacture": { + "gwp": 0.317, + "pe": 5.85, + "ir": 5.17, + "lu": 0.0, + "odp": 7.61e-08, + "pm": 1.15e-08, + "pocp": 0.000929, + "wu": 0.0397, + "adpe": 2.44e-05, + "adpf": 5.8, + "ap": 0.00211, + "ctue": 6.13, + "ctuh_c": 6.59e-11, + "ctuh_nc": 4.7e-09, + "epf": 1.88e-07, + "epm": 0.000221, + "ept": 0.00238, + "fw": 0.000924 + }, + "eol": { + "gwp": 0.00907, + "pe": 0.103, + "ir": 0.000654, + "lu": 0.0338, + "odp": 7.44e-10, + "pm": 4.89e-10, + "pocp": 3.17e-05, + "wu": 2.73, + "adpe": 3.2e-09, + "adpf": 0.0899, + "ap": 0.000202, + "ctue": 5.01, + "ctuh_c": 1.67e-11, + "ctuh_nc": 1.55e-09, + "epf": 1.27e-07, + "epm": 0.000143, + "ept": 8.73e-05, + "fw": 0.0723 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 0.589, + "pe": 10.6, + "ir": 10.3, + "lu": 0.0, + "odp": 1.45e-07, + "pm": 2.24e-08, + "pocp": 0.00172, + "wu": 0.0772, + "adpe": 3.94e-05, + "adpf": 10.5, + "ap": 0.0039, + "ctue": 11.4, + "ctuh_c": 1.2e-10, + "ctuh_nc": 8.91e-09, + "epf": 3.92e-07, + "epm": 0.000414, + "ept": 0.00446, + "fw": 0.0018 + }, + "eol": { + "gwp": 0.0188, + "pe": 0.213, + "ir": 0.00135, + "lu": 0.07, + "odp": 1.54e-09, + "pm": 1.01e-09, + "pocp": 6.56e-05, + "wu": 5.64, + "adpe": 6.62e-09, + "adpf": 0.186, + "ap": 0.000418, + "ctue": 10.4, + "ctuh_c": 3.45e-11, + "ctuh_nc": 3.21e-09, + "epf": 2.64e-07, + "epm": 0.000297, + "ept": 0.000181, + "fw": 0.15 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 1.21, + "pe": 23.1, + "ir": 25.8, + "lu": 0.0, + "odp": 3.26e-07, + "pm": 4.49e-08, + "pocp": 0.00364, + "wu": 0.142, + "adpe": 9.02e-05, + "adpf": 22.9, + "ap": 0.00804, + "ctue": 24.8, + "ctuh_c": 2.68e-10, + "ctuh_nc": 2.04e-08, + "epf": 6.66e-07, + "epm": 0.000854, + "ept": 0.00923, + "fw": 0.0033 + }, + "eol": { + "gwp": 0.0426, + "pe": 0.483, + "ir": 0.00307, + "lu": 0.159, + "odp": 3.49e-09, + "pm": 2.29e-09, + "pocp": 0.000149, + "wu": 12.8, + "adpe": 1.5e-08, + "adpf": 0.422, + "ap": 0.000948, + "ctue": 23.5, + "ctuh_c": 7.82e-11, + "ctuh_nc": 7.29e-09, + "epf": 5.98e-07, + "epm": 0.000673, + "ept": 0.00041, + "fw": 0.339 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 2.0, + "pe": 38.4, + "ir": 43.9, + "lu": 0.0, + "odp": 5.6e-07, + "pm": 7.56e-08, + "pocp": 0.00616, + "wu": 0.218, + "adpe": 0.000155, + "adpf": 38.2, + "ap": 0.0136, + "ctue": 40.9, + "ctuh_c": 6.45e-10, + "ctuh_nc": 3.46e-08, + "epf": 1.13e-06, + "epm": 0.00141, + "ept": 0.0153, + "fw": 0.00509 + }, + "eol": { + "gwp": 0.0693, + "pe": 0.786, + "ir": 0.005, + "lu": 0.259, + "odp": 5.68e-09, + "pm": 3.73e-09, + "pocp": 0.000242, + "wu": 20.8, + "adpe": 2.44e-08, + "adpf": 0.687, + "ap": 0.00154, + "ctue": 38.3, + "ctuh_c": 1.27e-10, + "ctuh_nc": 1.19e-08, + "epf": 9.73e-07, + "epm": 0.0011, + "ept": 0.000667, + "fw": 0.552 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "pcb": { + "HSL-0": { + "manufacture": { + "gwp": 0.0929, + "pe": 1.93, + "ir": 0.0301, + "lu": 0.0, + "odp": 1.12e-08, + "pm": 3.97e-09, + "pocp": 0.000318, + "wu": 0.0146, + "adpe": 4.75e-06, + "adpf": 1.93, + "ap": 0.000732, + "ctue": 1.49, + "ctuh_c": 1.76e-11, + "ctuh_nc": 1.12e-09, + "epf": 4.17e-08, + "epm": 7.96e-05, + "ept": 0.000869, + "fw": 0.00034 + }, + "eol": { + "gwp": 0.00507, + "pe": 0.0575, + "ir": 0.000366, + "lu": 0.0189, + "odp": 4.16e-10, + "pm": 2.73e-10, + "pocp": 1.77e-05, + "wu": 1.53, + "adpe": 1.79e-09, + "adpf": 0.0503, + "ap": 0.000113, + "ctue": 2.8, + "ctuh_c": 9.32e-12, + "ctuh_nc": 8.68e-10, + "epf": 7.12e-08, + "epm": 8.02e-05, + "ept": 4.88e-05, + "fw": 0.0404 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 0.328, + "pe": 6.8, + "ir": 0.106, + "lu": 0.0, + "odp": 3.94e-08, + "pm": 1.4e-08, + "pocp": 0.00112, + "wu": 0.0522, + "adpe": 1.76e-05, + "adpf": 6.79, + "ap": 0.00258, + "ctue": 5.24, + "ctuh_c": 6.2e-11, + "ctuh_nc": 3.94e-09, + "epf": 1.47e-07, + "epm": 0.000281, + "ept": 0.00307, + "fw": 0.00121 + }, + "eol": { + "gwp": 0.0178, + "pe": 0.202, + "ir": 0.00129, + "lu": 0.0666, + "odp": 1.46e-09, + "pm": 9.61e-10, + "pocp": 6.23e-05, + "wu": 5.36, + "adpe": 6.29e-09, + "adpf": 0.177, + "ap": 0.000397, + "ctue": 9.85, + "ctuh_c": 3.28e-11, + "ctuh_nc": 3.05e-09, + "epf": 2.51e-07, + "epm": 0.000282, + "ept": 0.000172, + "fw": 0.142 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.614, + "pe": 12.9, + "ir": 0.189, + "lu": 0.0, + "odp": 8.94e-08, + "pm": 3.11e-08, + "pocp": 0.00215, + "wu": 0.117, + "adpe": 3.61e-05, + "adpf": 12.9, + "ap": 0.00563, + "ctue": 10.7, + "ctuh_c": 1.24e-10, + "ctuh_nc": 8.72e-09, + "epf": 3.68e-07, + "epm": 0.000526, + "ept": 0.00574, + "fw": 0.00273 + }, + "eol": { + "gwp": 0.032, + "pe": 0.363, + "ir": 0.00231, + "lu": 0.119, + "odp": 2.62e-09, + "pm": 1.72e-09, + "pocp": 0.000112, + "wu": 9.62, + "adpe": 1.13e-08, + "adpf": 0.317, + "ap": 0.000712, + "ctue": 17.7, + "ctuh_c": 5.87e-11, + "ctuh_nc": 5.48e-09, + "epf": 4.49e-07, + "epm": 0.000506, + "ept": 0.000308, + "fw": 0.255 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 1.46, + "pe": 30.9, + "ir": 0.453, + "lu": 0.0, + "odp": 2.14e-07, + "pm": 7.42e-08, + "pocp": 0.00513, + "wu": 0.277, + "adpe": 8.24e-05, + "adpf": 30.8, + "ap": 0.0134, + "ctue": 25.6, + "ctuh_c": 2.96e-10, + "ctuh_nc": 2.08e-08, + "epf": 8.79e-07, + "epm": 0.00125, + "ept": 0.0137, + "fw": 0.00644 + }, + "eol": { + "gwp": 0.0766, + "pe": 0.869, + "ir": 0.00553, + "lu": 0.286, + "odp": 6.29e-09, + "pm": 4.13e-09, + "pocp": 0.000268, + "wu": 23.0, + "adpe": 2.7e-08, + "adpf": 0.76, + "ap": 0.00171, + "ctue": 42.3, + "ctuh_c": 1.41e-10, + "ctuh_nc": 1.31e-08, + "epf": 1.08e-06, + "epm": 0.00121, + "ept": 0.000737, + "fw": 0.611 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "power_supply": { + "HSL-0": { + "manufacture": { + "gwp": 4.43, + "pe": 56.8, + "ir": 4.23, + "lu": 0.00051, + "odp": 4.58e-07, + "pm": 1.71e-07, + "pocp": 0.0112, + "wu": 0.859, + "adpe": 0.000292, + "adpf": 54.6, + "ap": 0.0311, + "ctue": 62.7, + "ctuh_c": 8.27e-10, + "ctuh_nc": 6.15e-08, + "epf": 5.05e-06, + "epm": 0.00324, + "ept": 0.0344, + "fw": 0.02 + }, + "eol": { + "gwp": 0.0594, + "pe": 0.783, + "ir": 0.00476, + "lu": 0.264, + "odp": 5.51e-09, + "pm": 3.69e-09, + "pocp": 0.000229, + "wu": 21.6, + "adpe": 2.23e-08, + "adpf": 0.682, + "ap": 0.00159, + "ctue": 40.0, + "ctuh_c": 1.18e-10, + "ctuh_nc": 1.22e-08, + "epf": 1.02e-06, + "epm": 0.00114, + "ept": 0.000589, + "fw": 0.571 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 0.104, + "pe": 2.08, + "ir": 1.83, + "lu": 0.0, + "odp": 2.21e-08, + "pm": 5.51e-09, + "pocp": 0.000422, + "wu": 0.0748, + "adpe": 1.08e-05, + "adpf": 2.08, + "ap": 0.000946, + "ctue": 6.83, + "ctuh_c": 1.01e-10, + "ctuh_nc": 2.18e-08, + "epf": 4.97e-07, + "epm": 0.00012, + "ept": 0.00131, + "fw": 0.00174 + }, + "eol": { + "gwp": 0.0181, + "pe": 0.447, + "ir": 0.00552, + "lu": 0.0, + "odp": 2.16e-09, + "pm": 1.11e-09, + "pocp": 6.8e-05, + "wu": 0.00301, + "adpe": 3.53e-09, + "adpf": 0.446, + "ap": 0.000201, + "ctue": 0.208, + "ctuh_c": 4.98e-12, + "ctuh_nc": 2.44e-10, + "epf": 4.81e-09, + "epm": 1.61e-05, + "ept": 0.000176, + "fw": 7.01e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 4.64, + "pe": 52.3, + "ir": 2.03, + "lu": 0.677, + "odp": 1.88e-06, + "pm": 1.65e-07, + "pocp": 0.0124, + "wu": 26.1, + "adpe": 0.000149, + "adpf": 50.3, + "ap": 0.0281, + "ctue": 107.0, + "ctuh_c": 1.14e-09, + "ctuh_nc": 1.93e-07, + "epf": 0.000908, + "epm": 0.00483, + "ept": 0.0372, + "fw": 0.607 + }, + "eol": { + "gwp": 0.0457, + "pe": 0.871, + "ir": 0.0114, + "lu": 0.0605, + "odp": 5.65e-09, + "pm": 1.8e-09, + "pocp": 0.000149, + "wu": 4.95, + "adpe": 6.07e-09, + "adpf": 0.848, + "ap": 0.00055, + "ctue": 143.0, + "ctuh_c": 3.32e-11, + "ctuh_nc": 3.19e-09, + "epf": 2.4e-07, + "epm": 0.000285, + "ept": 0.000395, + "fw": 0.131 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 4.99, + "pe": 57.0, + "ir": 2.03, + "lu": 0.678, + "odp": 2.04e-06, + "pm": 1.76e-07, + "pocp": 0.0132, + "wu": 26.3, + "adpe": 0.000149, + "adpf": 54.9, + "ap": 0.03, + "ctue": 111.0, + "ctuh_c": 1.17e-09, + "ctuh_nc": 1.95e-07, + "epf": 0.000909, + "epm": 0.00507, + "ept": 0.0396, + "fw": 0.612 + }, + "eol": { + "gwp": 0.0457, + "pe": 0.871, + "ir": 0.0114, + "lu": 0.0606, + "odp": 5.65e-09, + "pm": 1.8e-09, + "pocp": 0.000149, + "wu": 4.96, + "adpe": 6.08e-09, + "adpf": 0.848, + "ap": 0.00055, + "ctue": 143.0, + "ctuh_c": 3.33e-11, + "ctuh_nc": 3.19e-09, + "epf": 2.4e-07, + "epm": 0.000285, + "ept": 0.000395, + "fw": 0.131 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "processing": { + "HSL-0": { + "manufacture": { + "gwp": 0.258, + "pe": 3.44, + "ir": 0.00215, + "lu": 0.00101, + "odp": 1.11e-07, + "pm": 7.84e-09, + "pocp": 0.00056, + "wu": 0.131, + "adpe": 7.13e-09, + "adpf": 3.37, + "ap": 0.00142, + "ctue": 3.29, + "ctuh_c": 2.42e-11, + "ctuh_nc": 1.4e-09, + "epf": 7.94e-07, + "epm": 0.000171, + "ept": 0.00178, + "fw": 0.00305 + }, + "eol": { + "gwp": 1.1e-05, + "pe": 0.000125, + "ir": 7.92e-07, + "lu": 4.1e-05, + "odp": 9.01e-13, + "pm": 5.92e-13, + "pocp": 3.84e-08, + "wu": 0.0033, + "adpe": 3.88e-12, + "adpf": 0.000109, + "ap": 2.44e-07, + "ctue": 0.00606, + "ctuh_c": 2.02e-14, + "ctuh_nc": 1.88e-12, + "epf": 1.54e-10, + "epm": 1.74e-07, + "ept": 1.06e-07, + "fw": 8.75e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 1.73, + "pe": 23.1, + "ir": 0.0145, + "lu": 0.00689, + "odp": 7.55e-07, + "pm": 5.27e-08, + "pocp": 0.00376, + "wu": 0.681, + "adpe": 4.79e-08, + "adpf": 22.6, + "ap": 0.00955, + "ctue": 22.1, + "ctuh_c": 1.62e-10, + "ctuh_nc": 9.39e-09, + "epf": 5.39e-06, + "epm": 0.00115, + "ept": 0.012, + "fw": 0.0159 + }, + "eol": { + "gwp": 4.4e-05, + "pe": 0.000499, + "ir": 3.17e-06, + "lu": 0.000164, + "odp": 3.61e-12, + "pm": 2.37e-12, + "pocp": 1.54e-07, + "wu": 0.0132, + "adpe": 1.55e-11, + "adpf": 0.000436, + "ap": 9.79e-07, + "ctue": 0.0243, + "ctuh_c": 8.08e-14, + "ctuh_nc": 7.53e-12, + "epf": 6.18e-10, + "epm": 6.95e-07, + "ept": 4.23e-07, + "fw": 0.00035 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 3.53, + "pe": 47.1, + "ir": 0.0296, + "lu": 0.0141, + "odp": 1.54e-06, + "pm": 1.07e-07, + "pocp": 0.00766, + "wu": 1.35, + "adpe": 9.75e-08, + "adpf": 46.1, + "ap": 0.0195, + "ctue": 45.1, + "ctuh_c": 3.31e-10, + "ctuh_nc": 1.91e-08, + "epf": 1.1e-05, + "epm": 0.00234, + "ept": 0.0244, + "fw": 0.0315 + }, + "eol": { + "gwp": 7.68e-05, + "pe": 0.000871, + "ir": 5.54e-06, + "lu": 0.000287, + "odp": 6.3e-12, + "pm": 4.14e-12, + "pocp": 2.68e-07, + "wu": 0.0231, + "adpe": 2.71e-11, + "adpf": 0.000762, + "ap": 1.71e-06, + "ctue": 0.0424, + "ctuh_c": 1.41e-13, + "ctuh_nc": 1.32e-11, + "epf": 1.08e-09, + "epm": 1.21e-06, + "ept": 7.39e-07, + "fw": 0.000612 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 6.33, + "pe": 84.3, + "ir": 0.053, + "lu": 0.0252, + "odp": 2.76e-06, + "pm": 1.93e-07, + "pocp": 0.0137, + "wu": 2.4, + "adpe": 1.75e-07, + "adpf": 82.7, + "ap": 0.0349, + "ctue": 80.8, + "ctuh_c": 5.93e-10, + "ctuh_nc": 3.43e-08, + "epf": 1.97e-05, + "epm": 0.0042, + "ept": 0.0437, + "fw": 0.0558 + }, + "eol": { + "gwp": 8.93e-05, + "pe": 0.00101, + "ir": 6.45e-06, + "lu": 0.000334, + "odp": 7.33e-12, + "pm": 4.82e-12, + "pocp": 3.12e-07, + "wu": 0.0269, + "adpe": 3.15e-11, + "adpf": 0.000886, + "ap": 1.99e-06, + "ctue": 0.0494, + "ctuh_c": 1.64e-13, + "ctuh_nc": 1.53e-11, + "epf": 1.26e-09, + "epm": 1.41e-06, + "ept": 8.6e-07, + "fw": 0.000712 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "security": { + "HSL-1": { + "manufacture": { + "gwp": 0.0439, + "pe": 0.587, + "ir": 0.000367, + "lu": 0.000172, + "odp": 1.89e-08, + "pm": 1.34e-09, + "pocp": 9.54e-05, + "wu": 0.0242, + "adpe": 1.22e-09, + "adpf": 0.575, + "ap": 0.000242, + "ctue": 0.562, + "ctuh_c": 4.13e-12, + "ctuh_nc": 2.39e-10, + "epf": 1.35e-07, + "epm": 2.91e-05, + "ept": 0.000304, + "fw": 0.000563 + }, + "eol": { + "gwp": 2.2e-06, + "pe": 2.49e-05, + "ir": 1.59e-07, + "lu": 8.21e-06, + "odp": 1.8e-13, + "pm": 1.19e-13, + "pocp": 7.69e-09, + "wu": 0.000662, + "adpe": 7.76e-13, + "adpf": 2.18e-05, + "ap": 4.9e-08, + "ctue": 0.00121, + "ctuh_c": 4.04e-15, + "ctuh_nc": 3.77e-13, + "epf": 3.09e-11, + "epm": 3.48e-08, + "ept": 2.12e-08, + "fw": 1.75e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "sensing": { + "HSL-1": { + "manufacture": { + "gwp": 0.0, + "pe": 0.0, + "ir": 0.0, + "lu": 0.0, + "odp": 0.0, + "pm": 0.0, + "pocp": 0.0, + "wu": 0.0, + "adpe": 0.0, + "adpf": 0.0, + "ap": 0.0, + "ctue": 0.0, + "ctuh_c": 0.0, + "ctuh_nc": 0.0, + "epf": 0.0, + "epm": 0.0, + "ept": 0.0, + "fw": 0.0 + }, + "eol": { + "gwp": 0.0, + "pe": 0.0, + "ir": 0.0, + "lu": 0.0, + "odp": 0.0, + "pm": 0.0, + "pocp": 0.0, + "wu": 0.0, + "adpe": 0.0, + "adpf": 0.0, + "ap": 0.0, + "ctue": 0.0, + "ctuh_c": 0.0, + "ctuh_nc": 0.0, + "epf": 0.0, + "epm": 0.0, + "ept": 0.0, + "fw": 0.0 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.046, + "pe": 0.617, + "ir": 0.000383, + "lu": 0.000178, + "odp": 1.95e-08, + "pm": 1.4e-09, + "pocp": 0.0001, + "wu": 0.0324, + "adpe": 1.28e-09, + "adpf": 0.604, + "ap": 0.000254, + "ctue": 0.59, + "ctuh_c": 4.33e-12, + "ctuh_nc": 2.51e-10, + "epf": 1.39e-07, + "epm": 3.05e-05, + "ept": 0.000319, + "fw": 0.000755 + }, + "eol": { + "gwp": 3.3e-06, + "pe": 3.74e-05, + "ir": 2.38e-07, + "lu": 1.23e-05, + "odp": 2.71e-13, + "pm": 1.78e-13, + "pocp": 1.15e-08, + "wu": 0.000992, + "adpe": 1.16e-12, + "adpf": 3.27e-05, + "ap": 7.34e-08, + "ctue": 0.00182, + "ctuh_c": 6.06e-15, + "ctuh_nc": 5.65e-13, + "epf": 4.63e-11, + "epm": 5.22e-08, + "ept": 3.18e-08, + "fw": 2.63e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 0.796, + "pe": 10.6, + "ir": 0.00664, + "lu": 0.00312, + "odp": 3.42e-07, + "pm": 2.42e-08, + "pocp": 0.00173, + "wu": 0.445, + "adpe": 2.2e-08, + "adpf": 10.4, + "ap": 0.00439, + "ctue": 10.2, + "ctuh_c": 7.47e-11, + "ctuh_nc": 4.32e-09, + "epf": 2.44e-06, + "epm": 0.000528, + "ept": 0.00551, + "fw": 0.0104 + }, + "eol": { + "gwp": 3.63e-05, + "pe": 0.000412, + "ir": 2.62e-06, + "lu": 0.000135, + "odp": 2.98e-12, + "pm": 1.96e-12, + "pocp": 1.27e-07, + "wu": 0.0109, + "adpe": 1.28e-11, + "adpf": 0.00036, + "ap": 8.08e-07, + "ctue": 0.02, + "ctuh_c": 6.67e-14, + "ctuh_nc": 6.22e-12, + "epf": 5.1e-10, + "epm": 5.74e-07, + "ept": 3.49e-07, + "fw": 0.000289 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "user_interface": { + "HSL-1": { + "manufacture": { + "gwp": 0.145, + "pe": 2.38, + "ir": 3.68, + "lu": 0.0, + "odp": 3.12e-08, + "pm": 7.19e-09, + "pocp": 0.000461, + "wu": 0.0409, + "adpe": 2.97e-05, + "adpf": 2.34, + "ap": 0.00113, + "ctue": 3.18, + "ctuh_c": 3.41e-11, + "ctuh_nc": 1.27e-09, + "epf": 2.63e-07, + "epm": 0.000122, + "ept": 0.00119, + "fw": 0.000952 + }, + "eol": { + "gwp": 0.00554, + "pe": 0.0711, + "ir": 0.000436, + "lu": 0.0239, + "odp": 5.02e-10, + "pm": 3.35e-10, + "pocp": 2.1e-05, + "wu": 1.95, + "adpe": 2.05e-09, + "adpf": 0.062, + "ap": 0.000144, + "ctue": 3.6, + "ctuh_c": 1.09e-11, + "ctuh_nc": 1.1e-09, + "epf": 9.18e-08, + "epm": 0.000103, + "ept": 5.46e-05, + "fw": 0.0515 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.362, + "pe": 5.75, + "ir": 7.55, + "lu": 0.00026, + "odp": 9.13e-08, + "pm": 1.66e-08, + "pocp": 0.00109, + "wu": 0.121, + "adpe": 5.94e-05, + "adpf": 5.65, + "ap": 0.00266, + "ctue": 7.43, + "ctuh_c": 7.58e-11, + "ctuh_nc": 3.15e-09, + "epf": 7.38e-07, + "epm": 0.000293, + "ept": 0.00291, + "fw": 0.00281 + }, + "eol": { + "gwp": 0.012, + "pe": 0.158, + "ir": 0.000941, + "lu": 0.0501, + "odp": 1.11e-09, + "pm": 7.17e-10, + "pocp": 4.43e-05, + "wu": 4.21, + "adpe": 7.38e-09, + "adpf": 0.138, + "ap": 0.000292, + "ctue": 7.21, + "ctuh_c": 2.29e-11, + "ctuh_nc": 2.23e-09, + "epf": 2.1e-07, + "epm": 0.000206, + "ept": 0.000118, + "fw": 0.112 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 0.823, + "pe": 14.3, + "ir": 11.8, + "lu": 0.0111, + "odp": 1.29e-07, + "pm": 3.49e-08, + "pocp": 0.00248, + "wu": 0.428, + "adpe": 0.000162, + "adpf": 14.0, + "ap": 0.006, + "ctue": 17.5, + "ctuh_c": 3.27e-10, + "ctuh_nc": 1.48e-08, + "epf": 2.94e-06, + "epm": 0.000694, + "ept": 0.00689, + "fw": 0.00997 + }, + "eol": { + "gwp": 0.0194, + "pe": 0.249, + "ir": 0.00154, + "lu": 0.0703, + "odp": 1.83e-09, + "pm": 1.12e-09, + "pocp": 6.98e-05, + "wu": 5.92, + "adpe": 8.96e-09, + "adpf": 0.221, + "ap": 0.000428, + "ctue": 10.5, + "ctuh_c": 3.37e-11, + "ctuh_nc": 3.23e-09, + "epf": 2.67e-07, + "epm": 0.000303, + "ept": 0.000193, + "fw": 0.162 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + } +} + "electricity": { "WOR": { "country": "World", diff --git a/boaviztapi/data/utils/jsonifyer.py b/boaviztapi/data/utils/jsonifyer.py index ac998ff0..6406e7c1 100644 --- a/boaviztapi/data/utils/jsonifyer.py +++ b/boaviztapi/data/utils/jsonifyer.py @@ -4,8 +4,11 @@ import pandas as pd from boaviztapi import data_dir +from boaviztapi.model.impact import IMPACT_CRITERIAS _electricity_emission_factors_df = pd.read_csv(os.path.join(data_dir, 'crowdsourcing/electrical_mix.csv')) +_iot_impact_factors_df = pd.read_csv(os.path.join(data_dir, 'crowdsourcing/iot_factors_tide.csv'), header=1) + def electical_mix_jsonify(electrical_mix): json = {"min-max": {}} @@ -43,5 +46,30 @@ def electical_mix_jsonify(electrical_mix): return {"electricity": json} + +def iot_jsonify(df): + json = {"IoT": {}} + df[['functional_block', 'hsl_level']] = df['api_name'].str.split(' - ', expand=True) + df.index.names = ['api_name'] + for functional_block in df['functional_block'].unique(): + if functional_block == "Name" or functional_block == "api_name" or functional_block == "Unit": + continue + json["IoT"][functional_block] = {} + for hsl_level in df[df["functional_block"] == functional_block]['hsl_level'].unique(): + if hsl_level is None: + continue + json["IoT"][functional_block][hsl_level] = {} + json["IoT"][functional_block][hsl_level]["manufacture"] = {} + json["IoT"][functional_block][hsl_level]["eol"] = {} + json["IoT"][functional_block][hsl_level]["source"] = "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + + for impact in IMPACT_CRITERIAS: + if df[(df["functional_block"] == functional_block) & (df["hsl_level"] == hsl_level)].get(f"eol-{impact.name}") is None: + continue + json["IoT"][functional_block][hsl_level]["manufacture"][impact.name] = float(df[(df["functional_block"] == functional_block) & (df["hsl_level"] == hsl_level)].get(f"fab-{impact.name}").iloc[0]) + json["IoT"][functional_block][hsl_level]["eol"][impact.name] = float(df[(df["functional_block"] == functional_block) & (df["hsl_level"] == hsl_level)].get(f"eol-{impact.name}").iloc[0]) + + return json + if __name__ == '__main__': - print(electical_mix_jsonify(_electricity_emission_factors_df)) \ No newline at end of file + print(iot_jsonify(_iot_impact_factors_df)) diff --git a/boaviztapi/dto/component/other.py b/boaviztapi/dto/component/other.py index d4bf1e42..638b6386 100644 --- a/boaviztapi/dto/component/other.py +++ b/boaviztapi/dto/component/other.py @@ -19,7 +19,8 @@ class Case(ComponentDTO): case_type: str = None -def mapper_power_supply(power_supply_dto: PowerSupply, archetype=get_component_archetype(config["default_power_supply"], "power_supply")) -> ComponentPowerSupply: +def mapper_power_supply(power_supply_dto: PowerSupply, archetype=get_component_archetype(config["default_power_supply"], + "power_supply")) -> ComponentPowerSupply: power_supply_component = ComponentPowerSupply(archetype=archetype) power_supply_component.usage = mapper_usage(power_supply_dto.usage or Usage(), archetype=archetype.get("USAGE")) @@ -53,3 +54,8 @@ def mapper_case(case_dto: Case, archetype=get_component_archetype(config["defaul case_component.case_type.set_input(case_dto.case_type) return case_component + + +class FunctionalBlock(ComponentDTO): + hsl_level: str = None + type: str = None diff --git a/boaviztapi/dto/device/iot.py b/boaviztapi/dto/device/iot.py new file mode 100644 index 00000000..d3ad6538 --- /dev/null +++ b/boaviztapi/dto/device/iot.py @@ -0,0 +1,29 @@ +from typing import Optional, List + +from boaviztapi.dto.component.other import FunctionalBlock +from boaviztapi.dto.device import DeviceDTO +from boaviztapi.dto.usage import Usage +from boaviztapi.dto.usage.usage import mapper_usage +from boaviztapi.model.component.functional_block import get_functional_block +from boaviztapi.model.device.iot import DeviceIoT, ComponentFunctionalBlock +from boaviztapi.service.archetype import get_arch_component + + +class IoT(DeviceDTO): + functional_blocks: Optional[List[FunctionalBlock]] = [] + usage: Optional[Usage] = None + + +def mapper_iot_device(dto_iot: IoT, archetype): + model = DeviceIoT(archetype=archetype) + + for functional_block in dto_iot.functional_blocks: + class_functional_block = get_functional_block(functional_block.type.upper()) + model_functional_block = class_functional_block(archetype=get_arch_component(archetype, class_functional_block.NAME)) + model_functional_block.hsl_level.set_input(functional_block.hsl_level) + model.add_functional_block(model_functional_block) + + if dto_iot.usage is not None: + model.usage = mapper_usage(dto_iot.usage, archetype=get_arch_component(archetype, "USAGE")) + + return model diff --git a/boaviztapi/dto/device/user_terminal.py b/boaviztapi/dto/device/user_terminal.py index 8b21fc5b..ee14d04d 100644 --- a/boaviztapi/dto/device/user_terminal.py +++ b/boaviztapi/dto/device/user_terminal.py @@ -12,40 +12,52 @@ class UserTerminal(DeviceDTO): usage: Optional[Usage] = None + class Laptop(UserTerminal): type: Optional[str] = None + + class Desktop(UserTerminal): type: Optional[str] = None + class Tablet(UserTerminal): pass + class Smartphone(UserTerminal): pass + class Television(UserTerminal): type: Optional[str] = None + class Smartwatch(UserTerminal): pass + class Box(UserTerminal): pass + class UsbStick(UserTerminal): pass + class ExternalHDD(UserTerminal): pass + class Monitor(UserTerminal): pass + class ExternalSSD(UserTerminal): pass -def mapper_user_terminal(user_terminal_dto: UserTerminal, archetype) -> Device: +def mapper_user_terminal(user_terminal_dto: UserTerminal, archetype) -> Device: if type(user_terminal_dto) == Laptop: model = DeviceLaptop(archetype=archetype) model.type.set_input(user_terminal_dto.type) diff --git a/boaviztapi/main.py b/boaviztapi/main.py index 4f5beec6..571bd509 100644 --- a/boaviztapi/main.py +++ b/boaviztapi/main.py @@ -1,5 +1,4 @@ import json -import subprocess import markdown import toml @@ -9,8 +8,10 @@ from fastapi.openapi.utils import get_openapi from mangum import Mangum +from boaviztapi.routers import iot_router from boaviztapi.routers.component_router import component_router from boaviztapi.routers.consumption_profile_router import consumption_profile +from boaviztapi.routers.iot_router import iot from boaviztapi.routers.peripheral_router import peripheral_router from boaviztapi.routers.server_router import server_router from boaviztapi.routers.cloud_router import cloud_router @@ -41,8 +42,10 @@ app.include_router(terminal_router) app.include_router(peripheral_router) app.include_router(component_router) -app.include_router(utils_router) +app.include_router(iot) app.include_router(consumption_profile) +app.include_router(utils_router) + if __name__ == '__main__': import uvicorn diff --git a/boaviztapi/model/component/functional_block.py b/boaviztapi/model/component/functional_block.py new file mode 100644 index 00000000..985c4e20 --- /dev/null +++ b/boaviztapi/model/component/functional_block.py @@ -0,0 +1,105 @@ +from boaviztapi.model import ComputedImpacts +from boaviztapi.model.boattribute import Boattribute +from boaviztapi.model.component import Component +from boaviztapi.service.archetype import get_arch_value +from boaviztapi.service.factor_provider import get_iot_impact_factor + + +class ComponentFunctionalBlock(Component): + NAME = "FUNCTIONAL_BLOCK" + IMPACT_KEY = None + + def __init__(self, archetype=None, **kwargs): + super().__init__(archetype=archetype, **kwargs) + self.hsl_level = Boattribute( + unit="none", + default=get_arch_value(archetype, 'hsl_level', 'default'), + min=get_arch_value(archetype, 'hsl_level', 'min'), + max=get_arch_value(archetype, 'hsl_level', 'max') + ) + + def impact_embedded(self, impact_type: str) -> ComputedImpacts: + impact_factors = get_iot_impact_factor(self.IMPACT_KEY, self.hsl_level.value, impact_type) + return impact_factors, 5, impact_factors, impact_factors, [] + + +class ActuatorsFunctionalBlock(ComponentFunctionalBlock): + NAME = "ACTUATORS" + IMPACT_KEY = "actuators" + + +class CasingFunctionalBlock(ComponentFunctionalBlock): + NAME = "CASING" + IMPACT_KEY = "casing" + + +class ConnectivityFunctionalBlock(ComponentFunctionalBlock): + NAME = "CONNECTIVITY" + IMPACT_KEY = "connectivity" + + +class MemoryFunctionalBlock(ComponentFunctionalBlock): + NAME = "MEMORY" + IMPACT_KEY = "memory" + + +class OthersFunctionalBlock(ComponentFunctionalBlock): + NAME = "OTHERS" + IMPACT_KEY = "others" + + +class PcbFunctionalBlock(ComponentFunctionalBlock): + NAME = "PCB" + IMPACT_KEY = "pcb" + + +class PowerSupplyFunctionalBlock(ComponentFunctionalBlock): + NAME = "POWER_SUPPLY" + IMPACT_KEY = "power_supply" + + +class SecuritySupplyFunctionalBlock(ComponentFunctionalBlock): + NAME = "SECURITY" + IMPACT_KEY = "security" + + +class ProcessingSupplyFunctionalBlock(ComponentFunctionalBlock): + NAME = "PROCESSING" + IMPACT_KEY = "processing" + + +class SensingSupplyFunctionalBlock(ComponentFunctionalBlock): + NAME = "SENSING" + IMPACT_KEY = "sensing" + + +class UserInterfaceSupplyFunctionalBlock(ComponentFunctionalBlock): + NAME = "USER_INTERFACE" + IMPACT_KEY = "user_interface" + + +def get_functional_block(name): + if name == ActuatorsFunctionalBlock.NAME: + return ActuatorsFunctionalBlock + elif name == CasingFunctionalBlock.NAME: + return CasingFunctionalBlock + elif name == ConnectivityFunctionalBlock.NAME: + return ConnectivityFunctionalBlock + elif name == MemoryFunctionalBlock.NAME: + return MemoryFunctionalBlock + elif name == OthersFunctionalBlock.NAME: + return OthersFunctionalBlock + elif name == PcbFunctionalBlock.NAME: + return PcbFunctionalBlock + elif name == PowerSupplyFunctionalBlock.NAME: + return PowerSupplyFunctionalBlock + elif name == SecuritySupplyFunctionalBlock.NAME: + return SecuritySupplyFunctionalBlock + elif name == ProcessingSupplyFunctionalBlock.NAME: + return ProcessingSupplyFunctionalBlock + elif name == SensingSupplyFunctionalBlock.NAME: + return SensingSupplyFunctionalBlock + elif name == UserInterfaceSupplyFunctionalBlock.NAME: + return UserInterfaceSupplyFunctionalBlock + else: + raise ValueError("Unknown functional block name: {}".format(name)) \ No newline at end of file diff --git a/boaviztapi/model/device/device.py b/boaviztapi/model/device/device.py index 0cc18581..f9e85157 100644 --- a/boaviztapi/model/device/device.py +++ b/boaviztapi/model/device/device.py @@ -1,12 +1,11 @@ from abc import abstractmethod from typing import Tuple, List +from boaviztapi.model import ComputedImpacts from boaviztapi.model.boattribute import Boattribute from boaviztapi.model.component import Component from boaviztapi.model.usage import ModelUsage -ComputedImpacts = Tuple[float, int] - class Device: @@ -38,10 +37,9 @@ def impact_embedded(self, impact_type: str) -> ComputedImpacts: raise NotImplementedError @abstractmethod - def impact_use(self, impact_type: str, duration: float) -> ComputedImpacts: + def impact_use(self, impact_type: str, duration: float) -> ComputedImpacts: raise NotImplementedError def __iter__(self): for attr, value in self.__dict__.items(): yield attr, value - diff --git a/boaviztapi/model/device/iot.py b/boaviztapi/model/device/iot.py new file mode 100644 index 00000000..50bab1a5 --- /dev/null +++ b/boaviztapi/model/device/iot.py @@ -0,0 +1,75 @@ +from typing import List + +from boaviztapi import config +from boaviztapi.model import ComputedImpacts +from boaviztapi.model.boattribute import Boattribute +from boaviztapi.model.component import Component +from boaviztapi.model.component.functional_block import ComponentFunctionalBlock, get_functional_block +from boaviztapi.model.device import Device +from boaviztapi.model.usage import ModelUsage +from boaviztapi.service.archetype import get_arch_value, get_arch_component, get_iot_device_archetype +from boaviztapi.service.factor_provider import get_iot_impact_factor + + +class DeviceIoT(Device): + NAME = "IOT_DEVICE" + WARNINGS = ["Connected object, not including associated digital services (use of network, datacenter, " + "virtual machines or other terminals not included)", "Do not include the impact of distribution"] + + def __init__(self, archetype=get_iot_device_archetype(config["default_iot_device"]), + functional_block: List[ComponentFunctionalBlock] = None): + super().__init__(archetype=archetype) + + if functional_block is None: + functional_block = [] + + self._functional_block = functional_block + + def impact_embedded(self, impact_type: str) -> ComputedImpacts: + impacts = [] + min_impacts = [] + max_impacts = [] + warnings = self.WARNINGS + + for component in self.components: + impact, sign_fig, min_impact, max_impact, c_warning = getattr(component, f'impact_embedded')(impact_type) + impacts.append(impact * component.units.value) + min_impacts.append(min_impact * component.units.min) + max_impacts.append(max_impact * component.units.max) + warnings = warnings + c_warning + return sum(impacts), 5, sum(min_impacts), sum(max_impacts), warnings + + def impact_use(self, impact_type: str, duration: float) -> ComputedImpacts: + if self.usage.avg_power.value is None: + raise NotImplementedError + + impact_factor = self.usage.elec_factors[impact_type] + impact = impact_factor.value * (self.usage.avg_power.value / 1000) * self.usage.use_time_ratio.value * duration + min_impact = impact_factor.min * (self.usage.avg_power.min / 1000) * self.usage.use_time_ratio.min * duration + max_impact = impact_factor.max * (self.usage.avg_power.max / 1000) * self.usage.use_time_ratio.max * duration + + return impact, 5, min_impact, max_impact, [] + + @property + def components(self) -> List[ComponentFunctionalBlock]: + if not self._functional_block: + for fb in self.archetype: + if fb == "USAGE": + continue + if self.archetype[fb]["hsl_level"] != {}: + self._functional_block.append(get_functional_block(fb)( + archetype=get_arch_component(self.archetype, fb))) + return self._functional_block + + def add_functional_block(self, functional_block): + self._functional_block.append(functional_block) + + @property + def usage(self) -> ModelUsage: + if self._usage is None: + self._usage = ModelUsage(archetype=get_arch_component(self.archetype, "USAGE")) + return self._usage + + @usage.setter + def usage(self, value): + self._usage = value \ No newline at end of file diff --git a/boaviztapi/model/impact.py b/boaviztapi/model/impact.py index 093bf8bc..c7a03bde 100644 --- a/boaviztapi/model/impact.py +++ b/boaviztapi/model/impact.py @@ -3,12 +3,15 @@ import boaviztapi.utils.roundit as rd + @dataclass class ImpactCriteria: name: str unit: str description: str method: Optional[str] = None + + class Impact: def __init__(self, **kwargs): self.value = 0 @@ -20,15 +23,19 @@ def __init__(self, **kwargs): for attr, val in kwargs.items(): if val is not None: self.__setattr__(attr, val) + def add_warning(self, warn): self.warnings.append(warn) + def to_json(self): - json = {"value": rd.round_to_sigfig(self.value, self.significant_figures), "significant_figures": self.significant_figures} - if self.min or self.min==0: json['min'] = rd.round_to_sigfig(self.min, self.significant_figures) - if self.max or self.max==0: json['max'] = rd.round_to_sigfig(self.max, self.significant_figures) - if self.warnings: json['warnings'] = self.warnings + json = {"value": rd.round_to_sigfig(self.value, self.significant_figures), + "significant_figures": self.significant_figures} + if self.min or self.min == 0: json['min'] = rd.round_to_sigfig(self.min, self.significant_figures) + if self.max or self.max == 0: json['max'] = rd.round_to_sigfig(self.max, self.significant_figures) + if self.warnings: json['warnings'] = sorted(self.warnings) return json + def rounded_value(self): return rd.round_to_sigfig(self.value, self.significant_figures) @@ -36,9 +43,12 @@ def rounded_value(self): GWP = ImpactCriteria(name="gwp", unit="kgCO2eq", description="Total climate change") ADP = ImpactCriteria(name="adp", unit="kgSbeq", description="Use of minerals and fossil ressources") PE = ImpactCriteria(name="pe", unit="MJ", description="Consumption of primary energy") -GWPPb = ImpactCriteria(name="gwppb", unit="kg CO2 eq.", method="PEF", description="Climate change - Contribution of biogenic emissions") -GWPPf = ImpactCriteria(name="gwppf", unit="kg CO2 eq.", method="PEF", description="Climate change - Contribution of fossil fuel emissions") -GWPPlu = ImpactCriteria(name="gwpplu", unit="kg CO2 eq.", method="PEF", description="Climate change - Contribution of emissions from land use change") +GWPPb = ImpactCriteria(name="gwppb", unit="kg CO2 eq.", method="PEF", + description="Climate change - Contribution of biogenic emissions") +GWPPf = ImpactCriteria(name="gwppf", unit="kg CO2 eq.", method="PEF", + description="Climate change - Contribution of fossil fuel emissions") +GWPPlu = ImpactCriteria(name="gwpplu", unit="kg CO2 eq.", method="PEF", + description="Climate change - Contribution of emissions from land use change") IR = ImpactCriteria(name="ir", unit="kg U235 eq.", method="PEF", description="Emissions of radionizing substances") LU = ImpactCriteria(name="lu", unit="No dimension", method="PEF", description="Land use") ODP = ImpactCriteria(name="odp", unit="kg CFC-11 eq.", method="PEF", description="Depletion of the ozone layer") @@ -51,14 +61,18 @@ def rounded_value(self): AP = ImpactCriteria(name="ap", unit="mol H+ eq.", method="PEF", description="Acidification") CTUe = ImpactCriteria(name="ctue", unit="CTUe", method="PEF", description="Freshwater ecotoxicity") CTUh_c = ImpactCriteria(name="ctuh_c", unit="CTUh", method="PEF", description="Human Toxicity - Carcinogenic Effects") -CTUh_nc = ImpactCriteria(name="ctuh_nc", unit="CTUh", method="PEF", description="Human toxicity - non-carcinogenic effects") +CTUh_nc = ImpactCriteria(name="ctuh_nc", unit="CTUh", method="PEF", + description="Human toxicity - non-carcinogenic effects") Epf = ImpactCriteria(name="epf", unit="kg P eq.", method="PEF", description="Eutrophication of freshwater") Epm = ImpactCriteria(name="epm", unit="kg N eq.", method="PEF", description="Eutrophication of marine waters") Ept = ImpactCriteria(name="ept", unit="mol N eq.", method="PEF", description="Terrestrial eutrophication") +FW = ImpactCriteria(name="fw", unit="m3", method="", description="Net use of freshwater") -IMPACT_CRITERIAS = [GWP, ADP, PE, GWPPb, GWPPf, GWPPlu, IR, LU, ODP, PM, POCP, WU, MIPS, ADPe, ADPf, AP, CTUe, CTUh_c, CTUh_nc, Epf, Epm, Ept] +IMPACT_CRITERIAS = [GWP, ADP, PE, GWPPb, GWPPf, GWPPlu, IR, LU, ODP, PM, POCP, WU, MIPS, ADPe, ADPf, AP, CTUe, CTUh_c, + CTUh_nc, Epf, Epm, Ept, FW] IMPACT_PHASES = ["embedded", "use"] + class ImpactFactor: def __init__(self, **kwargs): self.value = 0 @@ -66,4 +80,4 @@ def __init__(self, **kwargs): self.max = 0 for attr, val in kwargs.items(): if val is not None: - self.__setattr__(attr, val) \ No newline at end of file + self.__setattr__(attr, val) diff --git a/boaviztapi/routers/iot_router.py b/boaviztapi/routers/iot_router.py new file mode 100644 index 00000000..3f015fa6 --- /dev/null +++ b/boaviztapi/routers/iot_router.py @@ -0,0 +1,83 @@ +import os +from typing import Optional, List + +import pandas as pd +from fastapi import APIRouter, Body, Query, HTTPException + +from boaviztapi import config, data_dir +from boaviztapi.dto.device.iot import IoT, mapper_iot_device +from boaviztapi.service.archetype import get_iot_device_archetype +from boaviztapi.service.bottom_up import bottom_up +from boaviztapi.service.verbose import verbose_device + +iot = APIRouter( + prefix='/v1/iot', + tags=['iot'] +) + + +@iot.get('/iot_device/archetypes', + description="") +async def iot_device_get_all_archetype_name(): + df = pd.read_csv(os.path.join(data_dir, "archetypes/iot_device.csv")) + return df['id'].tolist() + + +@iot.get('/iot_device/archetype_config', + description="") +async def get_archetype_config(archetype: str = Query(example=config["default_iot_device"])): + archetype_config = get_iot_device_archetype(archetype) + if not archetype_config: + raise HTTPException(status_code=404, detail=f"{archetype} not found") + return archetype_config + + +@iot.post('/iot_device', description="") +async def iot_device_impact(iot: IoT = Body(None, example=""), + verbose: bool = True, + duration: Optional[float] = config["default_duration"], + archetype: str = config["default_iot_device"], + criteria: List[str] = Query(config["default_criteria"])): + return await device_iot_impact(iot_dto=iot, + verbose=verbose, + duration=duration, + criteria=criteria, + archetype=archetype) + + +@iot.get('/iot_device', description="") +async def iot_device_impact(archetype: str = config["default_iot_device"], + verbose: bool = True, + duration: Optional[float] = config["default_duration"], + criteria: List[str] = Query(config["default_criteria"])): + return await device_iot_impact(iot_dto=IoT(), + verbose=verbose, + duration=duration, + criteria=criteria, + archetype=archetype) + + +async def device_iot_impact(iot_dto: IoT, + archetype: str, + verbose: bool, + duration: Optional[float] = config["default_duration"], + criteria: List[str] = Query(config["default_criteria"])) -> dict: + archetype_config = get_iot_device_archetype(archetype) + + if not archetype_config: + raise HTTPException(status_code=404, detail=f"{archetype} not found") + + device = mapper_iot_device(iot_dto, archetype=archetype_config) + + if duration is None: + duration = device.usage.hours_life_time.value + + impacts = bottom_up(model=device, selected_criteria=criteria, duration=duration) + + if verbose: + return { + "impacts": impacts, + "verbose": verbose_device(device, selected_criteria=criteria, duration=duration) + } + + return impacts diff --git a/boaviztapi/service/archetype.py b/boaviztapi/service/archetype.py index 2d6f164e..0b6f0c3a 100644 --- a/boaviztapi/service/archetype.py +++ b/boaviztapi/service/archetype.py @@ -7,17 +7,20 @@ from boaviztapi import data_dir + def get_device_archetype_lst(path): df = pd.read_csv(path) return df['id'].tolist() -def get_device_archetype_lst_with_type(path, name: str,) -> Union[dict, bool]: + +def get_device_archetype_lst_with_type(path, name: str, ) -> Union[dict, bool]: df = pd.read_csv(path) df = df[df['device_type'] == name] return df['id'].tolist() + def get_component_archetype(archetype_name: str, component_type: str) -> Union[dict, bool]: - arch = get_archetype(archetype_name, os.path.join(data_dir, "archetypes/components/"+component_type+".csv")) + arch = get_archetype(archetype_name, os.path.join(data_dir, "archetypes/components/" + component_type + ".csv")) if not arch: return False return arch @@ -29,16 +32,18 @@ def get_server_archetype(archetype_name: str) -> Union[dict, bool]: return False return arch + def get_user_terminal_archetype(archetype_name: str) -> Union[dict, bool]: arch = get_archetype(archetype_name, os.path.join(data_dir, "archetypes/user_terminal.csv")) if not arch: return False return arch + def get_cloud_instance_archetype(archetype_name: str, provider: str) -> Union[dict, bool]: arch = False - if os.path.exists(data_dir+"/archetypes/cloud/"+provider+".csv"): - arch = get_archetype(archetype_name, os.path.join(data_dir, "archetypes/cloud/"+provider+".csv")) + if os.path.exists(data_dir + "/archetypes/cloud/" + provider + ".csv"): + arch = get_archetype(archetype_name, os.path.join(data_dir, "archetypes/cloud/" + provider + ".csv")) if not arch: return False return arch @@ -51,6 +56,7 @@ def get_archetype(archetype_name: str, csv_path: str) -> Union[dict, bool]: return row2json(row) return False + def parse_to_boattribute_json(value): json = {} if value == "" or value is None: @@ -100,7 +106,8 @@ def set_list(obj): obj["configuration"]["ram"] = [obj["configuration"]["ram"]] return obj -def get_arch_value(archetype: dict, attribute: str, key: str, default = None): + +def get_arch_value(archetype: dict, attribute: str, key: str, default=None): if not archetype: return default if archetype.get(attribute) is not None: @@ -108,7 +115,8 @@ def get_arch_value(archetype: dict, attribute: str, key: str, default = None): return archetype.get(attribute).get(key) return default -def get_arch_component(archetype: dict, component_name: str, default = None): + +def get_arch_component(archetype: dict, component_name: str, default=None): if not archetype: return default if archetype.get(component_name) is not None: @@ -117,6 +125,13 @@ def get_arch_component(archetype: dict, component_name: str, default = None): return archetype.get(component_name) return default + +def get_iot_device_archetype(archetype_name: str) -> Union[dict, bool]: + arch = get_archetype(archetype_name, os.path.join(data_dir, "archetypes/iot_device.csv")) + if not arch: + return False + return arch + def convert(value): try: value_float = float(value) diff --git a/boaviztapi/service/factor_provider.py b/boaviztapi/service/factor_provider.py index 9f29dd5d..d9f3a3da 100644 --- a/boaviztapi/service/factor_provider.py +++ b/boaviztapi/service/factor_provider.py @@ -7,18 +7,22 @@ config_file = os.path.join(data_dir, 'factors.yml') impact_factors = yaml.safe_load(Path(config_file).read_text()) + + def get_impact_factor(item, impact_type) -> dict: if impact_factors.get(item): if impact_factors.get(item).get(impact_type): return impact_factors.get(item).get(impact_type) raise NotImplementedError + def get_electrical_impact_factor(usage_location, impact_type) -> dict: if impact_factors["electricity"].get(usage_location): if impact_factors["electricity"].get(usage_location).get(impact_type): return impact_factors["electricity"].get(usage_location).get(impact_type) raise NotImplementedError + def get_electrical_min_max(impact_type, type) -> float: if impact_factors["electricity"].get("min-max").get(impact_type): if impact_factors["electricity"].get("min-max").get(impact_type).get(type): @@ -26,12 +30,33 @@ def get_electrical_min_max(impact_type, type) -> float: raise NotImplementedError - def get_available_countries(reverse=False): if reverse: return {v: k for k, v in impact_factors["electricity"]["available_countries"].items()} return impact_factors["electricity"]["available_countries"] + +def get_available_iot_functional_block(): + if impact_factors.get("IoT"): + return impact_factors.get("IoT").keys() + + +def get_available_iot_hsl(): + response = {} + for functional_block in get_available_iot_functional_block(): + response[functional_block] = impact_factors.get("IoT").get(functional_block).keys() + return response + + +def get_iot_impact_factor(functional_block, hsl, impact_type): + if impact_factors["IoT"].get(functional_block): + if impact_factors["IoT"].get(functional_block).get(hsl): + if impact_factors["IoT"].get(functional_block).get(hsl)["manufacture"].get(impact_type) is not None and impact_factors["IoT"].get(functional_block).get(hsl)["eol"].get(impact_type) is not None: + return (impact_factors["IoT"].get(functional_block).get(hsl)["manufacture"][impact_type] + + impact_factors["IoT"].get(functional_block).get(hsl)["eol"][impact_type]) + raise NotImplementedError + + """ _electricity_emission_factors_df = pd.read_csv( os.path.join(data_dir, 'electricity/electricity_impact_factors.csv')) @@ -74,4 +99,4 @@ def _get_history(self, zone, date): return reponse def _location_to_em_zone(self, location): return location -""" \ No newline at end of file +""" diff --git a/docs/docs/Explanations/configuration.md b/docs/docs/Explanations/components/functional_blocks.md similarity index 100% rename from docs/docs/Explanations/configuration.md rename to docs/docs/Explanations/components/functional_blocks.md diff --git a/docs/docs/Explanations/components/img.png b/docs/docs/Explanations/components/img.png new file mode 100644 index 0000000000000000000000000000000000000000..323c91d4dfe56026ef27da0e3acab917626cde82 GIT binary patch literal 321232 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 DAN|1hF^*K?O7I_ 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%0DEkmX2?5?e1hsy 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%0A3OTE)$-u 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

2-jc=O7h{pl9JTxOQF5M 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 RicT?rKMdLyMKQS)`#+qX6ORA@ literal 0 HcmV?d00001 diff --git a/docs/docs/Explanations/devices/iot_devices.md b/docs/docs/Explanations/devices/iot_devices.md new file mode 100644 index 00000000..94ee585e --- /dev/null +++ b/docs/docs/Explanations/devices/iot_devices.md @@ -0,0 +1,70 @@ +# IoT device + + +!!!warning + Connected object, not including associated digital services (use of network, datacenter, virtual machines or other terminals not included) + +!!!warning + The impacts of distribution is not included in the functional block. + +## Characteristics + +| Name | Unit | Default value | Description | Example | +|-------------------|------|------------------------------------------------------------|----------------|---------| +| usage | None | See [general usage](../usage/usage.md) | | .. | +| functional_blocks | None | See [functional block](../components/functional_blocks.md) | | .. | + +## Embedded impacts + +### Impacts criteria + +| Criteria | Implemented | Source | +|----------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| gwp | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| adp | no | | +| pe | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| gwppb | | +| gwppf | no | | +| gwpplu | no | | +| ir | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| lu | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| odp | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| pm | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| pocp | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| wu | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| mips | no | | +| adpe | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| adpf | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ap | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ctue | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ctuh_c | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ctuh_nc | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| epf | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| epm | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ept | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | + +### Methodology + +IoT device impacts are the sum of the impacts of the [functional blocks](../components/functional_blocks.md) that compose them. + +$$ +\begin{equation} +\begin{aligned} +\text{server}_\text{embedded}^\text{criteria} & = \sum_{\set{\text{components}}}{\text{component}_ +\text{embedded}^\text{criteria}} \\ \\ +& = \text{cpu_units} * \text{CPU}_{embedded}^{criteria} \\ +& \quad + \ \text{functional_block} * \text{RAM}_{embedded}^{criteria} \\ +& \quad + \ \text{ssd_units} * \text{SSD}_{embedded}^{criteria} \\ +& \quad + \ \text{hdd_units} * \text{HDD}_{embedded}^{criteria} \\ +& \quad + \ \text{motherboard}_{embedded}^{criteria} \\ +& \quad + \ \text{power_supply_units} * \text{power_supply}_{embedded}^{criteria} \\ +& \quad + \ \text{assembly}_{embedded}^{criteria} \\ +& \quad + \ \text{enclosure}_{embedded}^{criteria} +\end{aligned} +\end{equation} +$$ + +## Usage impact + +Only [power consumption](../usage/elec_conso.md) is implemented. + diff --git a/docs/docs/Reference/format/iot_device.md b/docs/docs/Reference/format/iot_device.md new file mode 100644 index 00000000..e69de29b diff --git a/tests/api/test_iot.py b/tests/api/test_iot.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/data/archetypes/iot_device.csv b/tests/data/archetypes/iot_device.csv new file mode 100644 index 00000000..7ab82d27 --- /dev/null +++ b/tests/data/archetypes/iot_device.csv @@ -0,0 +1,6 @@ +id,actuators.hsl_level,actuators.type,casing.hsl_level,casing.type,connectivity.hsl_level,connectivity.type,memory.hsl_level,memory.type,others.hsl_level,others.type,pcb.hsl_level,pcb.type,power_supply.hsl_level,power_supply.type,processing.hsl_level,processing.type,security.hsl_level,security.type,sensing.hsl_level,sensing.type,user_interface.hsl_level,user_interface.type,USAGE.use_time_ratio,USAGE.hours_life_time,USAGE.avg_power +occupancy_sensor,,,HSL-1,casing,,,,,,,,,HSL-1,power_supply,,,,,HSL-2,sensing,HSL-1,user_interface,1,350401, +home_connected_assistant_mini,,,HSL-1,casing,HSL-1,connectivity,HSL-2,memory,HSL-3,others,HSL-2,pcb,,,HSL-1,processing,,,HSL-1,sensing,HSL-2,user_interface,1,35040 +drone_mini,HSL-3,actuators,HSL-1,casing,HSL-1,connectivity,HSL-1,memory,HSL-3,others,HSL-2,pcb,HSL-3,power_supply,HSL-2,processing,,,HSL-3,sensing,HSL-1,user_interface,1,35040 +smart_watch,,,HSL-1,casing,HSL-2,connectivity,HSL-3,memory,HSL-3,others,HSL-1,pcb,HSL-2,power_supply,HSL-2,processing,,,HSL-2,sensing,HSL-3,user_interface,1,35040 +iot-device-default,,,,,,,,,,,,,,,,,,,,,,,1,35040, \ No newline at end of file From 8df4d69cfd16e7c4c9ed4271342603e56f116340 Mon Sep 17 00:00:00 2001 From: da-ekchajzer Date: Sun, 24 Sep 2023 14:30:53 +0200 Subject: [PATCH 2/5] implement IoT devices impacts - documentation --- .../components/functional_blocks.md | 144 +++++++++++++++++ docs/docs/Explanations/devices/iot_devices.md | 10 +- docs/docs/Reference/format/iot_device.md | 36 +++++ docs/docs/Reference/routes.md | 150 +++++++++--------- docs/mkdocs.yml | 2 + 5 files changed, 260 insertions(+), 82 deletions(-) diff --git a/docs/docs/Explanations/components/functional_blocks.md b/docs/docs/Explanations/components/functional_blocks.md index e69de29b..f6f2eafa 100644 --- a/docs/docs/Explanations/components/functional_blocks.md +++ b/docs/docs/Explanations/components/functional_blocks.md @@ -0,0 +1,144 @@ +# Functional block + +!!!warning + Connected object, not including associated digital services (use of network, datacenter, virtual machines or other terminals not included) + +!!!warning + The impacts of distribution is not included in the functional block. + + +## Characteristics + +| Name | Unit | Default value | Description | Example | +|-----------|----------|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|---------| +| hsl_level | (None) | See [functional block](../components/functional_blocks.md) | "The hardware specification level (HSL) gives details about the hardware available within a functional block." (Pirson & Bol, 2021) | HSL-1 | + +hsl_level is described in the following table for each functional block. + +![img.png](img.png) + +## Embedded impacts + +We use the screening approach proposed by Pirson and Bol in : ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966). +Each functional block can be described by its hardware specification level (hsl_level). + +![img_1.png](img_1.png) + +We invite you to read the paper for more details. This approach was initially designed for gwp. It has been adapted to other impacts criteria by TIDE. + +### Impacts criteria + +| Criteria | Implemented | Source | +|----------|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| gwp | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| adp | no | | +| pe | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| gwppb | | +| gwppf | no | | +| gwpplu | no | | +| ir | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| lu | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| odp | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| pm | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| pocp | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| wu | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| mips | no | | +| adpe | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| adpf | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ap | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ctue | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ctuh_c | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ctuh_nc | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| epf | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| epm | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | +| ept | yes | Adapted by [Tide](https://www.linkedin.com/company/tide-env/) from ['Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)](https://doi.org/10.1016/j.jclepro.2021.128966) | + +### Methodology + +Embedded impacts of a functional block is the sum of the manufacturing and end of life impacts which are described in the following tables : + +#### Manufacture + +| Functional_blocks - HSL_LEVEL | Particulate Matter | Eutrophication marine | Eutrophication, terrestrial | Acidification | Climate change | Ecotoxicity, freshwater | Human toxicity, cancer | Eutrophication, freshwater | Human toxicity, non-cancer | Ionising radiation, human health | Land use | Ozone depletion | +|-------------------------------|--------------------|-----------------------|-----------------------------|-----------------|-----------------|-------------------------|------------------------|------------------------------|----------------------------|----------------------------------|----------------|-------------------| +| Unit | Disease occurrence | kg N eq. | mol N eq. | mol H+ eq. | kg CO2 eq. | CTUe | CTUh | kg P eq. | CTUh | kBq U235 eq. | No dimension | kg CFC-11 eq. | +| Actuators - HSL-1 | 1.98E-09 | 1.41E-05 | 1.32E-04 | 1.23E-04 | 1.73E-02 | 6.81E-01 | 6.02E-12 | 5.16E-08 | 5.10E-10 | 3.73E-02 | 2.13E-04 | 2.85E-09 | +| Actuators - HSL-2 | 1.01E-08 | 1.47E-04 | 1.38E-03 | 1.78E-03 | 1.64E-01 | 3.12E+00 | 2.78E-11 | 7.71E-08 | 1.29E-09 | 1.94E-02 | 0.00E+00 | 5.59E-09 | +| Actuators - HSL-3 | 2.03E-07 | 1.50E-03 | 1.42E-02 | 1.32E-02 | 1.88E+00 | 6.98E+01 | 6.17E-10 | 5.42E-06 | 5.19E-08 | 3.73E+00 | 2.15E-02 | 3.17E-07 | +| Casing - HSL-1 | 1.72E-08 | 4.35E-04 | 4.66E-03 | 2.44E-03 | 4.31E-01 | 1.68E+01 | 8.38E-11 | 1.20E-06 | 3.34E-09 | 9.79E-02 | 0.00E+00 | 2.05E-08 | +| Casing - HSL-2 | 1.38E-07 | 3.48E-03 | 3.73E-02 | 1.95E-02 | 3.45E+00 | 1.35E+02 | 6.70E-10 | 9.61E-06 | 2.67E-08 | 7.83E-01 | 0.00E+00 | 1.64E-07 | +| Casing - HSL-3 | 2.75E-07 | 6.96E-03 | 7.46E-02 | 3.91E-02 | 6.89E+00 | 2.69E+02 | 1.34E-09 | 1.92E-05 | 5.34E-08 | 1.57E+00 | 0.00E+00 | 3.28E-07 | +| Connectivity - HSL-1 | 7.84E-09 | 1.71E-04 | 1.78E-03 | 1.42E-03 | 2.58E-01 | 3.29E+00 | 2.42E-11 | 7.94E-07 | 1.40E-09 | 2.15E-03 | 1.01E-03 | 1.11E-07 | +| Connectivity - HSL-2 | 3.97E-08 | 6.36E-04 | 6.70E-03 | 6.97E-03 | 9.03E-01 | 1.21E+01 | 3.81E-10 | 2.66E-06 | 3.39E-08 | 3.62E+00 | 3.34E-03 | 3.76E-07 | +| Connectivity - HSL-3 | 6.02E-08 | 1.08E-03 | 1.14E-02 | 1.07E-02 | 1.58E+00 | 2.07E+01 | 4.44E-10 | 4.74E-06 | 3.76E-08 | 3.62E+00 | 5.99E-03 | 6.66E-07 | +| Memory - HSL-1 | 8.49E-09 | 1.85E-04 | 1.93E-03 | 1.54E-03 | 2.79E-01 | 3.57E+00 | 2.62E-11 | 8.64E-07 | 1.51E-09 | 2.34E-03 | 1.10E-03 | 1.21E-07 | +| Memory - HSL-2 | 9.79E-08 | 2.14E-03 | 2.23E-02 | 1.78E-02 | 3.22E+00 | 4.11E+01 | 3.02E-10 | 9.97E-06 | 1.75E-08 | 2.69E-02 | 1.27E-02 | 1.40E-06 | +| Memory - HSL-3 | 2.06E-07 | 4.49E-03 | 4.68E-02 | 3.73E-02 | 6.77E+00 | 8.64E+01 | 6.35E-10 | 2.09E-05 | 3.67E-08 | 5.66E-02 | 2.68E-02 | 2.93E-06 | +| Others - HSL-0 | 1.15E-08 | 2.21E-04 | 2.38E-03 | 2.11E-03 | 3.17E-01 | 6.13E+00 | 6.59E-11 | 1.88E-07 | 4.70E-09 | 5.17E+00 | 0.00E+00 | 7.61E-08 | +| Others - HSL-1 | 2.24E-08 | 4.14E-04 | 4.46E-03 | 3.90E-03 | 5.89E-01 | 1.14E+01 | 1.20E-10 | 3.92E-07 | 8.91E-09 | 1.03E+01 | 0.00E+00 | 1.45E-07 | +| Others - HSL-2 | 4.49E-08 | 8.54E-04 | 9.23E-03 | 8.04E-03 | 1.21E+00 | 2.48E+01 | 2.68E-10 | 6.66E-07 | 2.04E-08 | 2.58E+01 | 0.00E+00 | 3.26E-07 | +| Others - HSL-3 | 7.56E-08 | 1.41E-03 | 1.53E-02 | 1.36E-02 | 2.00E+00 | 4.09E+01 | 6.45E-10 | 1.13E-06 | 3.46E-08 | 4.39E+01 | 0.00E+00 | 5.60E-07 | +| PCB - HSL-0 | 3.97E-09 | 7.96E-05 | 8.69E-04 | 7.32E-04 | 9.29E-02 | 1.49E+00 | 1.76E-11 | 4.17E-08 | 1.12E-09 | 3.01E-02 | 0.00E+00 | 1.12E-08 | +| PCB - HSL-1 | 1.40E-08 | 2.81E-04 | 3.07E-03 | 2.58E-03 | 3.28E-01 | 5.24E+00 | 6.20E-11 | 1.47E-07 | 3.94E-09 | 1.06E-01 | 0.00E+00 | 3.94E-08 | +| PCB - HSL-2 | 3.11E-08 | 5.26E-04 | 5.74E-03 | 5.63E-03 | 6.14E-01 | 1.07E+01 | 1.24E-10 | 3.68E-07 | 8.72E-09 | 1.89E-01 | 0.00E+00 | 8.94E-08 | +| PCB - HSL-3 | 7.42E-08 | 1.25E-03 | 1.37E-02 | 1.34E-02 | 1.46E+00 | 2.56E+01 | 2.96E-10 | 8.79E-07 | 2.08E-08 | 4.53E-01 | 0.00E+00 | 2.14E-07 | +| Power supply - HSL-0 | 1.71E-07 | 3.24E-03 | 3.44E-02 | 3.11E-02 | 4.43E+00 | 6.27E+01 | 8.27E-10 | 5.05E-06 | 6.15E-08 | 4.23E+00 | 5.10E-04 | 4.58E-07 | +| Power supply - HSL-1 | 5.51E-09 | 1.20E-04 | 1.31E-03 | 9.46E-04 | 1.04E-01 | 6.83E+00 | 1.01E-10 | 4.97E-07 | 2.18E-08 | 1.83E+00 | 0.00E+00 | 2.21E-08 | +| Power supply - HSL-2 | 1.65E-07 | 4.83E-03 | 3.72E-02 | 2.81E-02 | 4.64E+00 | 1.07E+02 | 1.14E-09 | 9.08E-04 | 1.93E-07 | 2.03E+00 | 6.77E-01 | 1.88E-06 | +| Power supply - HSL-3 | 1.76E-07 | 5.07E-03 | 3.96E-02 | 3.00E-02 | 4.99E+00 | 1.11E+02 | 1.17E-09 | 9.09E-04 | 1.95E-07 | 2.03E+00 | 6.78E-01 | 2.04E-06 | +| Processing - HSL-0 | 7.84E-09 | 1.71E-04 | 1.78E-03 | 1.42E-03 | 2.58E-01 | 3.29E+00 | 2.42E-11 | 7.94E-07 | 1.40E-09 | 2.15E-03 | 1.01E-03 | 1.11E-07 | +| Processing - HSL-1 | 5.27E-08 | 1.15E-03 | 1.20E-02 | 9.55E-03 | 1.73E+00 | 2.21E+01 | 1.62E-10 | 5.39E-06 | 9.39E-09 | 1.45E-02 | 6.89E-03 | 7.55E-07 | +| Processing - HSL-2 | 1.07E-07 | 2.34E-03 | 2.44E-02 | 1.95E-02 | 3.53E+00 | 4.51E+01 | 3.31E-10 | 1.10E-05 | 1.91E-08 | 2.96E-02 | 1.41E-02 | 1.54E-06 | +| Processing - HSL-3 | 1.93E-07 | 4.20E-03 | 4.37E-02 | 3.49E-02 | 6.33E+00 | 8.08E+01 | 5.93E-10 | 1.97E-05 | 3.43E-08 | 5.30E-02 | 2.52E-02 | 2.76E-06 | +| Security - HSL-1 | 1.34E-09 | 2.91E-05 | 3.04E-04 | 2.42E-04 | 4.39E-02 | 5.62E-01 | 4.13E-12 | 1.35E-07 | 2.39E-10 | 3.67E-04 | 1.72E-04 | 1.89E-08 | +| Sensing - HSL-1 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | +| Sensing - HSL-2 | 1.40E-09 | 3.05E-05 | 3.19E-04 | 2.54E-04 | 4.60E-02 | 5.90E-01 | 4.33E-12 | 1.39E-07 | 2.51E-10 | 3.83E-04 | 1.78E-04 | 1.95E-08 | +| Sensing - HSL-3 | 2.42E-08 | 5.28E-04 | 5.51E-03 | 4.39E-03 | 7.96E-01 | 1.02E+01 | 7.47E-11 | 2.44E-06 | 4.32E-09 | 6.64E-03 | 3.12E-03 | 3.42E-07 | +| User interface - HSL-1 | 7.19E-09 | 1.22E-04 | 1.19E-03 | 1.13E-03 | 1.45E-01 | 3.18E+00 | 3.41E-11 | 2.63E-07 | 1.27E-09 | 3.68E+00 | 0.00E+00 | 3.12E-08 | +| User interface - HSL-2 | 1.66E-08 | 2.93E-04 | 2.91E-03 | 2.66E-03 | 3.62E-01 | 7.43E+00 | 7.58E-11 | 7.38E-07 | 3.15E-09 | 7.55E+00 | 2.60E-04 | 9.13E-08 | +| User interface - HSL-3 | 3.49E-08 | 6.94E-04 | 6.89E-03 | 6.00E-03 | 8.23E-01 | 1.75E+01 | 3.27E-10 | 2.94E-06 | 1.48E-08 | 1.18E+01 | 1.11E-02 | 1.29E-07 | + +#### End of life + +| Functional_blocks - HSL_LEVEL | Particulate Matter | Eutrophication marine | Eutrophication, terrestrial | Acidification | Climate change | Ecotoxicity, freshwater | Human toxicity, cancer | Eutrophication, freshwater | Human toxicity, non-cancer | Ionising radiation, human health | Land use | Ozone depletion | Photochemical ozone formation - human health | Resource use, fossils | Resource use, minerals and metals | Water use | Total Primary Energy | Net use of freshwater | +|--------------------------------|---------------------|------------------------|-----------------------------|-----------------|------------------|-------------------------|------------------------|----------------------------|----------------------------|----------------------------------|---------------|-----------------|----------------------------------------------|-----------------------|-----------------------------------|------------|----------------------|-----------------------| +| Name or Shortname | Disease occurrence | kg N eq. | mol N eq. | mol H+ eq. | kg CO2 eq. | CTUe | CTUh | kg P eq. | CTUh | kBq U235 eq. | No dimension | kg CFC-11 eq. | kg NMVOC eq. | MJ | kg SB eq. | m3 eq. | MJ | m3 | +| Actuators - HSL-1 | 1.10E-10 | 6.01E-06 | 1.98E-05 | 1.47E-05 | 2.01E-03 | 2.15E-01 | 2.09E-12 | 3.97E-08 | 8.48E-11 | 2.16E-04 | 6.94E-03 | 2.29E-10 | 5.99E-06 | 3.15E-02 | 8.05E-09 | 5.28E-01 | 3.42E-02 | 1.48E-02 | +| Actuators - HSL-2 | 1.69E-11 | 4.97E-06 | 3.02E-06 | 6.99E-06 | 3.14E-04 | 1.73E-01 | 5.77E-13 | 4.41E-09 | 5.38E-11 | 2.27E-05 | 1.17E-03 | 2.58E-11 | 1.10E-06 | 3.12E-03 | 1.11E-10 | 9.45E-02 | 3.56E-03 | 2.50E-03 | +| Actuators - HSL-3 | 1.10E-08 | 6.03E-04 | 1.98E-03 | 1.47E-03 | 2.01E-01 | 2.16E+01 | 2.09E-10 | 3.97E-06 | 8.50E-09 | 2.16E-02 | 6.95E-01 | 2.29E-08 | 6.00E-04 | 3.15E+00 | 8.05E-07 | 5.28E+01 | 3.42E+00 | 1.48E+00 | +| Casing - HSL-1 | 4.99E-09 | 8.35E-05 | 9.44E-04 | 4.57E-04 | 9.12E-02 | 1.69E+00 | 4.22E-11 | 1.13E-06 | 8.65E-10 | 6.75E-03 | 2.10E-01 | 1.03E-08 | 2.85E-04 | 1.35E+00 | 5.85E-07 | 1.44E+01 | 1.43E+00 | 4.00E-01 | +| Casing - HSL-2 | 3.99E-08 | 6.68E-04 | 7.56E-03 | 3.66E-03 | 7.29E-01 | 1.35E+01 | 3.38E-10 | 9.04E-06 | 6.92E-09 | 5.40E-02 | 1.68E+00 | 8.24E-08 | 2.28E-03 | 1.08E+01 | 4.68E-06 | 1.15E+02 | 1.14E+01 | 3.20E+00 | +| Casing - HSL-3 | 7.99E-08 | 1.34E-03 | 1.51E-02 | 7.32E-03 | 1.46E+00 | 2.70E+01 | 6.75E-10 | 1.81E-05 | 1.38E-08 | 1.08E-01 | 3.35E+00 | 1.65E-07 | 4.56E-03 | 2.16E+01 | 9.36E-06 | 2.31E+02 | 2.28E+01 | 6.39E+00 | +| Connectivity - HSL-1 | 5.92E-13 | 1.74E-07 | 1.06E-07 | 2.44E-07 | 1.10E-05 | 6.06E-03 | 2.02E-14 | 1.54E-10 | 1.88E-12 | 7.92E-07 | 4.10E-05 | 9.01E-13 | 3.84E-08 | 1.09E-04 | 3.88E-12 | 3.30E-03 | 1.25E-04 | 8.75E-05 | +| Connectivity - HSL-2 | 8.02E-09 | 1.83E-04 | 1.60E-03 | 7.37E-04 | 1.08E-01 | 8.51E+00 | 9.63E-11 | 3.91E-07 | 1.61E-09 | 9.45E-03 | 2.84E-01 | 1.84E-08 | 4.31E-04 | 1.82E+00 | 1.26E-07 | 1.61E+01 | 1.94E+00 | 5.28E-01 | +| Connectivity - HSL-3 | 8.03E-09 | 1.83E-04 | 1.60E-03 | 7.37E-04 | 1.08E-01 | 8.52E+00 | 9.64E-11 | 3.91E-07 | 1.61E-09 | 9.45E-03 | 2.84E-01 | 1.84E-08 | 4.31E-04 | 1.82E+00 | 1.26E-07 | 1.61E+01 | 1.94E+00 | 5.28E-01 | +| Memory - HSL-1 | 5.15E-13 | 1.51E-07 | 9.19E-08 | 2.13E-07 | 9.55E-06 | 5.27E-03 | 1.75E-14 | 1.34E-10 | 1.64E-12 | 6.89E-07 | 3.56E-05 | 7.84E-13 | 3.34E-08 | 9.47E-05 | 3.37E-12 | 2.87E-03 | 1.08E-04 | 7.61E-05 | +| Memory - HSL-2 | 5.12E-12 | 1.50E-06 | 9.15E-07 | 2.12E-06 | 9.50E-05 | 5.25E-02 | 1.75E-13 | 1.34E-09 | 1.63E-11 | 6.86E-06 | 3.55E-04 | 7.80E-12 | 3.32E-07 | 9.43E-04 | 3.35E-11 | 2.86E-02 | 1.08E-03 | 7.58E-04 | +| Memory - HSL-3 | 9.56E-12 | 2.80E-06 | 1.71E-06 | 3.95E-06 | 1.77E-04 | 9.79E-02 | 3.26E-13 | 2.49E-09 | 3.04E-11 | 1.28E-05 | 6.62E-04 | 1.46E-11 | 6.20E-07 | 1.76E-03 | 6.26E-11 | 5.33E-02 | 2.01E-03 | 1.41E-03 | +| Others - HSL-0 | 4.89E-10 | 1.43E-04 | 8.73E-05 | 2.02E-04 | 9.07E-03 | 5.01E+00 | 1.67E-11 | 1.27E-07 | 1.55E-09 | 6.54E-04 | 3.38E-02 | 7.44E-10 | 3.17E-05 | 8.99E-02 | 3.20E-09 | 2.73E+00 | 1.03E-01 | 7.23E-02 | +| Others - HSL-1 | 1.01E-09 | 2.97E-04 | 1.81E-04 | 4.18E-04 | 1.88E-02 | 1.04E+01 | 3.45E-11 | 2.64E-07 | 3.21E-09 | 1.35E-03 | 7.00E-02 | 1.54E-09 | 6.56E-05 | 1.86E-01 | 6.62E-09 | 5.64E+00 | 2.13E-01 | 1.50E-01 | +| Others - HSL-2 | 2.29E-09 | 6.73E-04 | 4.10E-04 | 9.48E-04 | 4.26E-02 | 2.35E+01 | 7.82E-11 | 5.98E-07 | 7.29E-09 | 3.07E-03 | 1.59E-01 | 3.49E-09 | 1.49E-04 | 4.22E-01 | 1.50E-08 | 1.28E+01 | 4.83E-01 | 3.39E-01 | +| Others - HSL-3 | 3.73E-09 | 1.10E-03 | 6.67E-04 | 1.54E-03 | 6.93E-02 | 3.83E+01 | 1.27E-10 | 9.73E-07 | 1.19E-08 | 5.00E-03 | 2.59E-01 | 5.68E-09 | 2.42E-04 | 6.87E-01 | 2.44E-08 | 2.08E+01 | 7.86E-01 | 5.52E-01 | +| PCB - HSL-0 | 2.73E-10 | 8.02E-05 | 4.88E-05 | 1.13E-04 | 5.07E-03 | 2.80E+00 | 9.32E-12 | 7.12E-08 | 8.68E-10 | 3.66E-04 | 1.89E-02 | 4.16E-10 | 1.77E-05 | 5.03E-02 | 1.79E-09 | 1.53E+00 | 5.75E-02 | 4.04E-02 | +| PCB - HSL-1 | 9.61E-10 | 2.82E-04 | 1.72E-04 | 3.97E-04 | 1.78E-02 | 9.85E+00 | 3.28E-11 | 2.51E-07 | 3.05E-09 | 1.29E-03 | 6.66E-02 | 1.46E-09 | 6.23E-05 | 1.77E-01 | 6.29E-09 | 5.36E+00 | 2.02E-01 | 1.42E-01 | +| PCB - HSL-2 | 1.72E-09 | 5.06E-04 | 3.08E-04 | 7.12E-04 | 3.20E-02 | 1.77E+01 | 5.87E-11 | 4.49E-07 | 5.48E-09 | 2.31E-03 | 1.19E-01 | 2.62E-09 | 1.12E-04 | 3.17E-01 | 1.13E-08 | 9.62E+00 | 3.63E-01 | 2.55E-01 | +| PCB - HSL-3 | 4.13E-09 | 1.21E-03 | 7.37E-04 | 1.71E-03 | 7.66E-02 | 4.23E+01 | 1.41E-10 | 1.08E-06 | 1.31E-08 | 5.53E-03 | 2.86E-01 | 6.29E-09 | 2.68E-04 | 7.60E-01 | 2.70E-08 | 2.30E+01 | 8.69E-01 | 6.11E-01 | +| Power supply - HSL-0 | 3.69E-09 | 1.14E-03 | 5.89E-04 | 1.59E-03 | 5.94E-02 | 4.00E+01 | 1.18E-10 | 1.02E-06 | 1.22E-08 | 4.76E-03 | 2.64E-01 | 5.51E-09 | 2.29E-04 | 6.82E-01 | 2.23E-08 | 2.16E+01 | 7.83E-01 | 5.71E-01 | +| Power supply - HSL-1 | 1.11E-09 | 1.61E-05 | 1.76E-04 | 2.01E-04 | 1.81E-02 | 2.08E-01 | 4.98E-12 | 4.81E-09 | 2.44E-10 | 5.52E-03 | 0.00E+00 | 2.16E-09 | 6.80E-05 | 4.46E-01 | 3.53E-09 | 3.01E-03 | 4.47E-01 | 7.01E-05 | +| Power supply - HSL-2 | 1.80E-09 | 2.85E-04 | 3.95E-04 | 5.50E-04 | 4.57E-02 | 1.43E+02 | 3.32E-11 | 2.40E-07 | 3.19E-09 | 1.14E-02 | 6.05E-02 | 5.65E-09 | 1.49E-04 | 8.48E-01 | 6.07E-09 | 4.95E+00 | 8.71E-01 | 1.31E-01 | +| Power supply - HSL-3 | 1.80E-09 | 2.85E-04 | 3.95E-04 | 5.50E-04 | 4.57E-02 | 1.43E+02 | 3.33E-11 | 2.40E-07 | 3.19E-09 | 1.14E-02 | 6.06E-02 | 5.65E-09 | 1.49E-04 | 8.48E-01 | 6.08E-09 | 4.96E+00 | 8.71E-01 | 1.31E-01 | +| Processing - HSL-0 | 5.92E-13 | 1.74E-07 | 1.06E-07 | 2.44E-07 | 1.10E-05 | 6.06E-03 | 2.02E-14 | 1.54E-10 | 1.88E-12 | 7.92E-07 | 4.10E-05 | 9.01E-13 | 3.84E-08 | 1.09E-04 | 3.88E-12 | 3.30E-03 | 1.25E-04 | 8.75E-05 | +| Processing - HSL-1 | 2.37E-12 | 6.95E-07 | 4.23E-07 | 9.79E-07 | 4.40E-05 | 2.43E-02 | 8.08E-14 | 6.18E-10 | 7.53E-12 | 3.17E-06 | 1.64E-04 | 3.61E-12 | 1.54E-07 | 4.36E-04 | 1.55E-11 | 1.32E-02 | 4.99E-04 | 3.50E-04 | +| Processing - HSL-2 | 4.14E-12 | 1.21E-06 | 7.39E-07 | 1.71E-06 | 7.68E-05 | 4.24E-02 | 1.41E-13 | 1.08E-09 | 1.32E-11 | 5.54E-06 | 2.87E-04 | 6.30E-12 | 2.68E-07 | 7.62E-04 | 2.71E-11 | 2.31E-02 | 8.71E-04 | 6.12E-04 | +| Processing - HSL-3 | 4.82E-12 | 1.41E-06 | 8.60E-07 | 1.99E-06 | 8.93E-05 | 4.94E-02 | 1.64E-13 | 1.26E-09 | 1.53E-11 | 6.45E-06 | 3.34E-04 | 7.33E-12 | 3.12E-07 | 8.86E-04 | 3.15E-11 | 2.69E-02 | 1.01E-03 | 7.12E-04 | +| Security - HSL-1 | 1.19E-13 | 3.48E-08 | 2.12E-08 | 4.90E-08 | 2.20E-06 | 1.21E-03 | 4.04E-15 | 3.09E-11 | 3.77E-13 | 1.59E-07 | 8.21E-06 | 1.80E-13 | 7.69E-09 | 2.18E-05 | 7.76E-13 | 6.62E-04 | 2.49E-05 | 1.75E-05 | +| Sensing - HSL-1 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | 0.00E+00 | +| Sensing - HSL-2 | 1.78E-13 | 5.22E-08 | 3.18E-08 | 7.34E-08 | 3.30E-06 | 1.82E-03 | 6.06E-15 | 4.63E-11 | 5.65E-13 | 2.38E-07 | 1.23E-05 | 2.71E-13 | 1.15E-08 | 3.27E-05 | 1.16E-12 | 9.92E-04 | 3.74E-05 | 2.63E-05 | +| Sensing - HSL-3 | 1.96E-12 | 5.74E-07 | 3.49E-07 | 8.08E-07 | 3.63E-05 | 2.00E-02 | 6.67E-14 | 5.10E-10 | 6.22E-12 | 2.62E-06 | 1.35E-04 | 2.98E-12 | 1.27E-07 | 3.60E-04 | 1.28E-11 | 1.09E-02 | 4.12E-04 | 2.89E-04 | +| User interface - HSL-1 | 3.35E-10 | 1.03E-04 | 5.46E-05 | 1.44E-04 | 5.54E-03 | 3.60E+00 | 1.09E-11 | 9.18E-08 | 1.10E-09 | 4.36E-04 | 2.39E-02 | 5.02E-10 | 2.10E-05 | 6.20E-02 | 2.05E-09 | 1.95E+00 | 7.11E-02 | 5.15E-02 | +| User interface - HSL-2 | 7.17E-10 | 2.06E-04 | 1.18E-04 | 2.92E-04 | 1.20E-02 | 7.21E+00 | 2.29E-11 | 2.10E-07 | 2.23E-09 | 9.41E-04 | 5.01E-02 | 1.11E-09 | 4.43E-05 | 1.38E-01 | 7.38E-09 | 4.21E+00 | 1.58E-01 | 1.12E-01 | +| User interface - HSL-3 | 1.12E-09 | 3.03E-04 | 1.93E-04 | 4.28E-04 | 1.94E-02 | 1.05E+01 | 3.37E-11 | 2.67E-07 | 3.23E-09 | 1.54E-03 | 7.03E-02 | 1.83E-09 | 6.98E-05 | 2.21E-01 | 8.96E-09 | 5.92E+00 | 2.49E-01 | 1.62E-01 | + +## Usage impact + +Usage impacts are not implemented at functional level, but at the level of the [iot device](../devices/iot_devices.md). diff --git a/docs/docs/Explanations/devices/iot_devices.md b/docs/docs/Explanations/devices/iot_devices.md index 94ee585e..6177d252 100644 --- a/docs/docs/Explanations/devices/iot_devices.md +++ b/docs/docs/Explanations/devices/iot_devices.md @@ -50,16 +50,8 @@ IoT device impacts are the sum of the impacts of the [functional blocks](../comp $$ \begin{equation} \begin{aligned} -\text{server}_\text{embedded}^\text{criteria} & = \sum_{\set{\text{components}}}{\text{component}_ +\text{iot_device}_\text{embedded}^\text{criteria} & = \sum_{\set{\text{functional_blocks}}}{\text{functional_block}_ \text{embedded}^\text{criteria}} \\ \\ -& = \text{cpu_units} * \text{CPU}_{embedded}^{criteria} \\ -& \quad + \ \text{functional_block} * \text{RAM}_{embedded}^{criteria} \\ -& \quad + \ \text{ssd_units} * \text{SSD}_{embedded}^{criteria} \\ -& \quad + \ \text{hdd_units} * \text{HDD}_{embedded}^{criteria} \\ -& \quad + \ \text{motherboard}_{embedded}^{criteria} \\ -& \quad + \ \text{power_supply_units} * \text{power_supply}_{embedded}^{criteria} \\ -& \quad + \ \text{assembly}_{embedded}^{criteria} \\ -& \quad + \ \text{enclosure}_{embedded}^{criteria} \end{aligned} \end{equation} $$ diff --git a/docs/docs/Reference/format/iot_device.md b/docs/docs/Reference/format/iot_device.md index e69de29b..c4302c3e 100644 --- a/docs/docs/Reference/format/iot_device.md +++ b/docs/docs/Reference/format/iot_device.md @@ -0,0 +1,36 @@ +# IoT device routes + +## POST ```/v1/user_terminal/``` + +You can send an empty device. In this case, archetype's values will be used + +``` json +{} +``` + +You can also describe an IoT device by its functional blocks + +``` json +{ + "functional_blocks":[ + { + "type":"security", + "hsl_level":"HSL-1" + }, + { + "type":"user_interface", + "hsl_level":"HSL-2" + } + ] +} +``` + +## Usage + +``` json +{ + "usage":{...} +} +``` + +See [usage](usage.md) \ No newline at end of file diff --git a/docs/docs/Reference/routes.md b/docs/docs/Reference/routes.md index 772cbab3..7f128724 100644 --- a/docs/docs/Reference/routes.md +++ b/docs/docs/Reference/routes.md @@ -38,33 +38,35 @@ Requesting the route with a GET method will return the impacts with the values t | GET | /v1/component/motherboard | Retrieve the impacts of a motherboard | | GET | /v1/component/power_supply | Retrieve the impacts of a power_supply | | GET | /v1/component/case | Retrieve the impacts of a case | +| GET | /v1/iot/iot_device | Retrieve the impacts of an IoT device | ### POST Requesting the route with a POST method will return the impacts with the values taken from the body. Missing values will be taken from the archetype or set by default. The format section of the documentation details the format of the body for each route. -| Method | Routes | Description | -|----------|-----------------------------|-----------------------------------------------------------------------------------------| -| POST | /v1/server | Retrieve the impacts of a given usage and configuration for a server | -| POST | /v1/cloud | Retrieve the impacts of a given usage for a cloud instance | -| POST | /v1/terminal/laptop | Retrieve the impacts of a given usage and configuration for a laptop | -| POST | /v1/terminal/desktop | Retrieve the impacts of a given usage and configuration for a desktop (without screen) | -| POST | /v1/terminal/smartphone | Retrieve the impacts of a given usage and configuration for a smartphone | -| POST | /v1/terminal/tablet | Retrieve the impacts of a given usage and configuration for a tablet | -| POST | /v1/terminal/television | Retrieve the impacts of a given usage and configuration for a television | -| POST | /v1/terminal/box | Retrieve the impacts of a given usage and configuration for a box | -| POST | /v1/peripheral/monitor | Retrieve the impacts of a given usage and configuration for a monitor (computer screen) | -| POST | /v1/peripheral/usb_stick | Retrieve the impacts of a given usage and configuration for a usb_stick | -| POST | /v1/peripheral/external_ssd | Retrieve the impacts of a given usage and configuration for a external_ssd | -| POST | /v1/peripheral/external_hdd | Retrieve the impacts of a given usage and configuration for a external_hdd | -| POST | /v1/component/cpu | Retrieve the impacts of a given usage and configuration for a cpu | -| POST | /v1/component/ssd | Retrieve the impacts of a given usage and configuration for a ssd | -| POST | /v1/component/ram | Retrieve the impacts of a given usage and configuration for a ram | -| POST | /v1/component/hdd | Retrieve the impacts of a given usage and configuration for a hdd | -| POST | /v1/component/motherboard | Retrieve the impacts of a given usage and configuration for a motherboard | -| POST | /v1/component/power_supply | Retrieve the impacts of a given usage and configuration for a power_supply | -| POST | /v1/component/case | Retrieve the impacts of a given usage and configuration for a case | +| Method | Routes | Description | +|--------|-----------------------------|-----------------------------------------------------------------------------------------| +| POST | /v1/server | Retrieve the impacts of a given usage and configuration for a server | +| POST | /v1/cloud | Retrieve the impacts of a given usage for a cloud instance | +| POST | /v1/terminal/laptop | Retrieve the impacts of a given usage and configuration for a laptop | +| POST | /v1/terminal/desktop | Retrieve the impacts of a given usage and configuration for a desktop (without screen) | +| POST | /v1/terminal/smartphone | Retrieve the impacts of a given usage and configuration for a smartphone | +| POST | /v1/terminal/tablet | Retrieve the impacts of a given usage and configuration for a tablet | +| POST | /v1/terminal/television | Retrieve the impacts of a given usage and configuration for a television | +| POST | /v1/terminal/box | Retrieve the impacts of a given usage and configuration for a box | +| POST | /v1/peripheral/monitor | Retrieve the impacts of a given usage and configuration for a monitor (computer screen) | +| POST | /v1/peripheral/usb_stick | Retrieve the impacts of a given usage and configuration for a usb_stick | +| POST | /v1/peripheral/external_ssd | Retrieve the impacts of a given usage and configuration for a external_ssd | +| POST | /v1/peripheral/external_hdd | Retrieve the impacts of a given usage and configuration for a external_hdd | +| POST | /v1/component/cpu | Retrieve the impacts of a given usage and configuration for a cpu | +| POST | /v1/component/ssd | Retrieve the impacts of a given usage and configuration for a ssd | +| POST | /v1/component/ram | Retrieve the impacts of a given usage and configuration for a ram | +| POST | /v1/component/hdd | Retrieve the impacts of a given usage and configuration for a hdd | +| POST | /v1/component/motherboard | Retrieve the impacts of a given usage and configuration for a motherboard | +| POST | /v1/component/power_supply | Retrieve the impacts of a given usage and configuration for a power_supply | +| POST | /v1/component/case | Retrieve the impacts of a given usage and configuration for a case | +| POST | /v1/iot/iot_device | Retrieve the impacts of an IoT device | ## Consumption profile routes @@ -76,55 +78,57 @@ The format section of the documentation details the format of the body for each Utils routes are used to retrieve the list of possible values for some parameters, to retrieve the list of archetypes for a given asset or to use some specific features. -| Method | Routes | parameters | Description | -|--------|--------------------------------------------------|-----------------|--------------------------------------------------------------------| -| GET | /v1/server/archetypes | | Get all available server archetype | -| GET | /v1/server/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/cloud/all_instances | ```provider``` | Get all available cloud instances for a given provider | -| GET | /v1/cloud/all_providers | | Get all available cloud providers | -| GET | /v1/server/archetype_config | ```instance``` | Get the config of a given instance | -| GET | /v1/terminal/all | | Get all available terminal with their route prefix | -| GET | /v1/terminal/laptop/archetypes | | Get all available archetype for a given laptop name | -| GET | /v1/terminal/laptop/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/terminal/desktop/archetypes | | Get all available archetype for a given desktop name | -| GET | /v1/terminal/desktop/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/terminal/smartphone/archetypes | | Get all available archetype for a given smartphone name | -| GET | /v1/terminal/smartphone/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/terminal/tablet/archetypes | | Get all available archetype for a given tablet name | -| GET | /v1/terminal/tablet/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/terminal/television/archetypes | | Get all available archetype for a given television name | -| GET | /v1/terminal/television/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/terminal/box/archetypes | | Get all available archetype for a given box name | -| GET | /v1/terminal/box/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/peripheral/all | | Get all available peripheral with their route prefix | -| GET | /v1/peripheral/monitor/archetypes | | Get all available archetype for a given monitor name | -| GET | /v1/peripheral/monitor/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/peripheral/usb_stick/archetypes | | Get all available archetype for a given usb_stick name | -| GET | /v1/peripheral/usb_stick/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/peripheral/external_hdd/archetypes | | Get all available archetype for a given external_hdd name | -| GET | /v1/peripheral/external_hdd/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/peripheral/external_ssd/archetypes | | Get all available archetype for a given external_ssd name | -| GET | /v1/peripheral/external_ssd/archetype_config | ```archetype``` | Get the config of a given archetype | -| GET | /v1/component/all | | Get all available components with their route prefix | -| GET | /v1/component/cpu/archetypes | | Get all available archetype for a cpu | -| GET | /v1/component/cpu/archetype_config | ```archetype``` | Get the config of a given cpu archetype | -| GET | /v1/component/ram/archetypes | | Get all available archetype for a ram | -| GET | /v1/component/ram/archetype_config | ```archetype``` | Get the config of a given ram archetype | -| GET | /v1/component/ssd/archetypes | | Get all available archetype for a ssd | -| GET | /v1/component/ssd/archetype_config | ```archetype``` | Get the config of a given ssd archetype | -| GET | /v1/component/hdd/archetypes | | Get all available archetype for a hdd | -| GET | /v1/component/hdd/archetype_config | ```archetype``` | Get the config of a given hdd archetype | -| GET | /v1/component/motherboard/archetypes | | Get all available archetype for a motherboard | -| GET | /v1/component/motherboard/archetype_config | ```archetype``` | Get the config of a given motherboard archetype | -| GET | /v1/component/case/archetypes | | Get all available archetype for a case | -| GET | /v1/component/case/archetype_config | ```archetype``` | Get the config of a given case archetype | -| GET | /v1/component/power_supply/archetypes | | Get all available archetype for a power_supply | -| GET | /v1/component/power_supply/archetype_config | ```archetype``` | Get the config of a given power_supply archetype | -| GET | /v1/utils/country_code | | Get all available country code associated to its country name | -| GET | /v1/utils/cpu_model_range | | Get all available model_range | -| GET | /v1/utils/ssd_manufacturer | | Get all available ssd manufacturer | -| GET | /v1/utils/ram_manufacturer | | Get all available ram manufacturer | -| GET | /v1/utils/case_type | | Get all available case type | -| GET | /v1/utils/name_to_cpu | ```cpu_name``` | Get a description of a CPU from its name | -| GET | /v1/utils/cpu_name | | Get all available cpu name | -| GET | /v1/utils/impact_criteria | | Get all available impact criteria (name, code, description, unit) | \ No newline at end of file +| Method | Routes | parameters | Description | +|--------|----------------------------------------------|-----------------|----------------------------------------------------------------------| +| GET | /v1/server/archetypes | | Get all available server archetype | +| GET | /v1/server/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/cloud/all_instances | ```provider``` | Get all available cloud instances for a given provider | +| GET | /v1/cloud/all_providers | | Get all available cloud providers | +| GET | /v1/server/archetype_config | ```instance``` | Get the config of a given instance | +| GET | /v1/terminal/all | | Get all available terminal with their route prefix | +| GET | /v1/terminal/laptop/archetypes | | Get all available archetype for a given laptop name | +| GET | /v1/terminal/laptop/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/terminal/desktop/archetypes | | Get all available archetype for a given desktop name | +| GET | /v1/terminal/desktop/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/terminal/smartphone/archetypes | | Get all available archetype for a given smartphone name | +| GET | /v1/terminal/smartphone/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/terminal/tablet/archetypes | | Get all available archetype for a given tablet name | +| GET | /v1/terminal/tablet/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/terminal/television/archetypes | | Get all available archetype for a given television name | +| GET | /v1/terminal/television/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/terminal/box/archetypes | | Get all available archetype for a given box name | +| GET | /v1/terminal/box/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/peripheral/all | | Get all available peripheral with their route prefix | +| GET | /v1/peripheral/monitor/archetypes | | Get all available archetype for a given monitor name | +| GET | /v1/peripheral/monitor/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/peripheral/usb_stick/archetypes | | Get all available archetype for a given usb_stick name | +| GET | /v1/peripheral/usb_stick/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/peripheral/external_hdd/archetypes | | Get all available archetype for a given external_hdd name | +| GET | /v1/peripheral/external_hdd/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/peripheral/external_ssd/archetypes | | Get all available archetype for a given external_ssd name | +| GET | /v1/peripheral/external_ssd/archetype_config | ```archetype``` | Get the config of a given archetype | +| GET | /v1/component/all | | Get all available components with their route prefix | +| GET | /v1/component/cpu/archetypes | | Get all available archetype for a cpu | +| GET | /v1/component/cpu/archetype_config | ```archetype``` | Get the config of a given cpu archetype | +| GET | /v1/component/ram/archetypes | | Get all available archetype for a ram | +| GET | /v1/component/ram/archetype_config | ```archetype``` | Get the config of a given ram archetype | +| GET | /v1/component/ssd/archetypes | | Get all available archetype for a ssd | +| GET | /v1/component/ssd/archetype_config | ```archetype``` | Get the config of a given ssd archetype | +| GET | /v1/component/hdd/archetypes | | Get all available archetype for a hdd | +| GET | /v1/component/hdd/archetype_config | ```archetype``` | Get the config of a given hdd archetype | +| GET | /v1/component/motherboard/archetypes | | Get all available archetype for a motherboard | +| GET | /v1/component/motherboard/archetype_config | ```archetype``` | Get the config of a given motherboard archetype | +| GET | /v1/component/case/archetypes | | Get all available archetype for a case | +| GET | /v1/component/case/archetype_config | ```archetype``` | Get the config of a given case archetype | +| GET | /v1/component/power_supply/archetypes | | Get all available archetype for a power_supply | +| GET | /v1/component/power_supply/archetype_config | ```archetype``` | Get the config of a given power_supply archetype | +| GET | /v1/iot/iot_device/archetypes | | Get all available archetype for an iot device | +| GET | /v1/iot/iot_device/archetype_config | ```archetype``` | Get the config of a given iot device archetype | +| GET | /v1/utils/country_code | | Get all available country code associated to its country name | +| GET | /v1/utils/cpu_model_range | | Get all available model_range | +| GET | /v1/utils/ssd_manufacturer | | Get all available ssd manufacturer | +| GET | /v1/utils/ram_manufacturer | | Get all available ram manufacturer | +| GET | /v1/utils/case_type | | Get all available case type | +| GET | /v1/utils/name_to_cpu | ```cpu_name``` | Get a description of a CPU from its name | +| GET | /v1/utils/cpu_name | | Get all available cpu name | +| GET | /v1/utils/impact_criteria | | Get all available impact criteria (name, code, description, unit) | \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 27da9046..2675917f 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -54,11 +54,13 @@ nav: - Power supply: Explanations/components/power_supply.md - Assembly: Explanations/components/assembly.md - Case: Explanations/components/case.md + - Functional block (IoT): Explanations/components/functional_blocks.md - Devices: - Devices: Explanations/devices/devices.md - Server: Explanations/devices/server.md - Cloud instances: Explanations/devices/cloud.md - End user devices : Explanations/devices/terminals_&_peripherals.md + - IoT device : Explanations/devices/iot_devices.md - Useful resources: Explanations/useful_resources.md - Reference: - Routes: Reference/routes.md From fe1b705b796359717c001794ab76eb4c1006f93a Mon Sep 17 00:00:00 2001 From: da-ekchajzer Date: Sun, 24 Sep 2023 14:31:01 +0200 Subject: [PATCH 3/5] implement IoT devices impacts - tests --- tests/api/test_iot.py | 516 +++++++++ tests/data/archetypes/iot_device.csv | 12 +- tests/data/config.yml | 1 + tests/data/factors.yml | 1530 ++++++++++++++++++++++++++ 4 files changed, 2053 insertions(+), 6 deletions(-) diff --git a/tests/api/test_iot.py b/tests/api/test_iot.py index e69de29b..467de07b 100644 --- a/tests/api/test_iot.py +++ b/tests/api/test_iot.py @@ -0,0 +1,516 @@ +import pytest +from httpx import AsyncClient + +from boaviztapi.main import app + +pytest_plugins = ('pytest_asyncio',) + + +@pytest.mark.asyncio +async def test_empty_iot_device(): + async with AsyncClient(app=app, base_url="http://test") as ac: + res = await ac.get('/v1/iot/iot_device?verbose=false') + + assert res.json() == {'adp': {'description': 'Use of minerals and fossil ressources', + 'embedded': {'max': 0.0, + 'min': 0.0, + 'significant_figures': 5, + 'value': 0.0, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of ' + 'distribution']}, + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate change', + 'embedded': {'max': 0.0, + 'min': 0.0, + 'significant_figures': 5, + 'value': 0.0, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of ' + 'distribution']}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of primary energy', + 'embedded': {'max': 0.0, + 'min': 0.0, + 'significant_figures': 5, + 'value': 0.0, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of distribution']}, + 'unit': 'MJ', + 'use': 'not implemented'}} + + +@pytest.mark.asyncio +async def test_drone_mini(): + async with AsyncClient(app=app, base_url="http://test") as ac: + res = await ac.get('/v1/iot/iot_device?verbose=false&archetype=drone_mini&criteria=gwp') + + assert res.json() == {'gwp': {'description': 'Total climate change', + 'embedded': {'max': 15.368, + 'min': 15.368, + 'significant_figures': 5, + 'value': 15.368, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of ' + 'distribution']}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}} + + +@pytest.mark.asyncio +async def test_drone_mini_verbose(): + async with AsyncClient(app=app, base_url="http://test") as ac: + res = await ac.get('/v1/iot/iot_device?verbose=true&archetype=drone_mini') + + assert res.json() == {'impacts': {'adp': {'description': 'Use of minerals and fossil ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate change', + 'embedded': {'max': 15.368, + 'min': 15.368, + 'significant_figures': 5, + 'value': 15.368, + 'warnings': ['Connected object, not ' + 'including associated digital ' + 'services (use of network, ' + 'datacenter, virtual machines ' + 'or other terminals not ' + 'included)', + 'Do not include the impact of ' + 'distribution']}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of primary energy', + 'embedded': {'max': 222.05, + 'min': 222.05, + 'significant_figures': 5, + 'value': 222.05, + 'warnings': ['Connected object, not including ' + 'associated digital services ' + '(use of network, datacenter, ' + 'virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of ' + 'distribution']}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'verbose': {'ACTUATORS-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-3'}, + 'impacts': {'adp': {'description': 'Use of ' + 'minerals and ' + 'fossil ' + 'ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate ' + 'change', + 'embedded': {'max': 2.081, + 'min': 2.081, + 'significant_figures': 5, + 'value': 2.081}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of ' + 'primary energy', + 'embedded': {'max': 33.02, + 'min': 33.02, + 'significant_figures': 5, + 'value': 33.02}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'CASING-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-1'}, + 'impacts': {'adp': {'description': 'Use of minerals ' + 'and fossil ' + 'ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate ' + 'change', + 'embedded': {'max': 0.5222, + 'min': 0.5222, + 'significant_figures': 5, + 'value': 0.5222}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of ' + 'primary energy', + 'embedded': {'max': 11.4, + 'min': 11.4, + 'significant_figures': 5, + 'value': 11.4}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'CONNECTIVITY-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-1'}, + 'impacts': {'adp': {'description': 'Use of ' + 'minerals ' + 'and fossil ' + 'ressources', + 'embedded': 'not ' + 'implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total ' + 'climate ' + 'change', + 'embedded': {'max': 0.25801, + 'min': 0.25801, + 'significant_figures': 5, + 'value': 0.25801}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption ' + 'of primary ' + 'energy', + 'embedded': {'max': 3.4401, + 'min': 3.4401, + 'significant_figures': 5, + 'value': 3.4401}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'MEMORY-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-1'}, + 'impacts': {'adp': {'description': 'Use of minerals ' + 'and fossil ' + 'ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate ' + 'change', + 'embedded': {'max': 0.27901, + 'min': 0.27901, + 'significant_figures': 5, + 'value': 0.27901}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of ' + 'primary energy', + 'embedded': {'max': 3.7201, + 'min': 3.7201, + 'significant_figures': 5, + 'value': 3.7201}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'OTHERS-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-3'}, + 'impacts': {'adp': {'description': 'Use of minerals ' + 'and fossil ' + 'ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate ' + 'change', + 'embedded': {'max': 2.0693, + 'min': 2.0693, + 'significant_figures': 5, + 'value': 2.0693}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of ' + 'primary energy', + 'embedded': {'max': 39.186, + 'min': 39.186, + 'significant_figures': 5, + 'value': 39.186}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'PCB-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-2'}, + 'impacts': {'adp': {'description': 'Use of minerals and ' + 'fossil ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate ' + 'change', + 'embedded': {'max': 0.646, + 'min': 0.646, + 'significant_figures': 5, + 'value': 0.646}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of ' + 'primary energy', + 'embedded': {'max': 13.263, + 'min': 13.263, + 'significant_figures': 5, + 'value': 13.263}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'POWER_SUPPLY-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-3'}, + 'impacts': {'adp': {'description': 'Use of ' + 'minerals ' + 'and fossil ' + 'ressources', + 'embedded': 'not ' + 'implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total ' + 'climate ' + 'change', + 'embedded': {'max': 5.0357, + 'min': 5.0357, + 'significant_figures': 5, + 'value': 5.0357}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption ' + 'of primary ' + 'energy', + 'embedded': {'max': 57.871, + 'min': 57.871, + 'significant_figures': 5, + 'value': 57.871}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'PROCESSING-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-2'}, + 'impacts': {'adp': {'description': 'Use of ' + 'minerals and ' + 'fossil ' + 'ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total ' + 'climate ' + 'change', + 'embedded': {'max': 3.5301, + 'min': 3.5301, + 'significant_figures': 5, + 'value': 3.5301}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption ' + 'of primary ' + 'energy', + 'embedded': {'max': 47.101, + 'min': 47.101, + 'significant_figures': 5, + 'value': 47.101}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'SENSING-1': {'duration': {'unit': 'hours', 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-3'}, + 'impacts': {'adp': {'description': 'Use of minerals ' + 'and fossil ' + 'ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total climate ' + 'change', + 'embedded': {'max': 0.79604, + 'min': 0.79604, + 'significant_figures': 5, + 'value': 0.79604}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption of ' + 'primary energy', + 'embedded': {'max': 10.6, + 'min': 10.6, + 'significant_figures': 5, + 'value': 10.6}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'USER_INTERFACE-1': {'duration': {'unit': 'hours', + 'value': 35040.0}, + 'hsl_level': {'status': 'ARCHETYPE', + 'unit': 'none', + 'value': 'HSL-1'}, + 'impacts': {'adp': {'description': 'Use of ' + 'minerals ' + 'and ' + 'fossil ' + 'ressources', + 'embedded': 'not ' + 'implemented', + 'unit': 'kgSbeq', + 'use': 'not implemented'}, + 'gwp': {'description': 'Total ' + 'climate ' + 'change', + 'embedded': {'max': 0.15054, + 'min': 0.15054, + 'significant_figures': 5, + 'value': 0.15054}, + 'unit': 'kgCO2eq', + 'use': 'not implemented'}, + 'pe': {'description': 'Consumption ' + 'of ' + 'primary ' + 'energy', + 'embedded': {'max': 2.4511, + 'min': 2.4511, + 'significant_figures': 5, + 'value': 2.4511}, + 'unit': 'MJ', + 'use': 'not implemented'}}, + 'units': {'max': 1, + 'min': 1, + 'status': 'ARCHETYPE', + 'value': 1}}, + 'duration': {'unit': 'hours', 'value': 35040.0}, + 'hours_life_time': {'max': 35040.0, + 'min': 35040.0, + 'status': 'ARCHETYPE', + 'unit': 'hours', + 'value': 35040.0}, + 'units': {'max': 1, 'min': 1, 'status': 'ARCHETYPE', 'value': 1}}} + + +@pytest.mark.asyncio +async def test_drone_mini_costume_usage(): + async with AsyncClient(app=app, base_url="http://test") as ac: + res = await ac.post('/v1/iot/iot_device?verbose=false&archetype=drone_mini&duration=1', json={ + "usage": { + "avg_power": 100, + "usage_location": "FRA" + } + }) + + assert res.json() == {'adp': {'description': 'Use of minerals and fossil ressources', + 'embedded': 'not implemented', + 'unit': 'kgSbeq', + 'use': {'max': 4.858e-09, + 'min': 4.858e-09, + 'significant_figures': 5, + 'value': 4.858e-09}}, + 'gwp': {'description': 'Total climate change', + 'embedded': {'max': 0.00043858, + 'min': 0.00043858, + 'significant_figures': 5, + 'value': 0.00043858, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of ' + 'distribution']}, + 'unit': 'kgCO2eq', + 'use': {'max': 0.0098, + 'min': 0.0098, + 'significant_figures': 5, + 'value': 0.0098}}, + 'pe': {'description': 'Consumption of primary energy', + 'embedded': {'max': 0.0063371, + 'min': 0.0063371, + 'significant_figures': 5, + 'value': 0.0063371, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of distribution']}, + 'unit': 'MJ', + 'use': {'max': 1.1289, + 'min': 1.1289, + 'significant_figures': 5, + 'value': 1.1289}}} + + +@pytest.mark.asyncio +async def test_custom_iot(): + async with AsyncClient(app=app, base_url="http://test") as ac: + res = await ac.post('/v1/iot/iot_device?verbose=false&criteria=lu', json={ + "configuration": [ + { + "hsl_level": "HSL-1", + "type": "security" + }, + { + "hsl_level": "HSL-1", + "type": "pcb" + } + ] + }) + + assert res.json() == {'lu': {'description': 'Land use', + 'embedded': {'max': 0.06678, + 'min': 0.06678, + 'significant_figures': 5, + 'value': 0.06678, + 'warnings': ['Connected object, not including associated ' + 'digital services (use of network, ' + 'datacenter, virtual machines or other ' + 'terminals not included)', + 'Do not include the impact of distribution']}, + 'unit': 'No dimension', + 'use': 'not implemented'}} diff --git a/tests/data/archetypes/iot_device.csv b/tests/data/archetypes/iot_device.csv index 7ab82d27..d2a07e4b 100644 --- a/tests/data/archetypes/iot_device.csv +++ b/tests/data/archetypes/iot_device.csv @@ -1,6 +1,6 @@ -id,actuators.hsl_level,actuators.type,casing.hsl_level,casing.type,connectivity.hsl_level,connectivity.type,memory.hsl_level,memory.type,others.hsl_level,others.type,pcb.hsl_level,pcb.type,power_supply.hsl_level,power_supply.type,processing.hsl_level,processing.type,security.hsl_level,security.type,sensing.hsl_level,sensing.type,user_interface.hsl_level,user_interface.type,USAGE.use_time_ratio,USAGE.hours_life_time,USAGE.avg_power -occupancy_sensor,,,HSL-1,casing,,,,,,,,,HSL-1,power_supply,,,,,HSL-2,sensing,HSL-1,user_interface,1,350401, -home_connected_assistant_mini,,,HSL-1,casing,HSL-1,connectivity,HSL-2,memory,HSL-3,others,HSL-2,pcb,,,HSL-1,processing,,,HSL-1,sensing,HSL-2,user_interface,1,35040 -drone_mini,HSL-3,actuators,HSL-1,casing,HSL-1,connectivity,HSL-1,memory,HSL-3,others,HSL-2,pcb,HSL-3,power_supply,HSL-2,processing,,,HSL-3,sensing,HSL-1,user_interface,1,35040 -smart_watch,,,HSL-1,casing,HSL-2,connectivity,HSL-3,memory,HSL-3,others,HSL-1,pcb,HSL-2,power_supply,HSL-2,processing,,,HSL-2,sensing,HSL-3,user_interface,1,35040 -iot-device-default,,,,,,,,,,,,,,,,,,,,,,,1,35040, \ No newline at end of file +id,ACTUATORS.hsl_level,CASING.hsl_level,CONNECTIVITY.hsl_level,MEMORY.hsl_level,OTHERS.hsl_level,PCB.hsl_level,POWER_SUPPLY.hsl_level,PROCESSING.hsl_level,SECURITY.hsl_level,SENSING.hsl_level,USER_INTERFACE.hsl_level,USAGE.use_time_ratio,USAGE.hours_life_time,USAGE.avg_power +occupancy_sensor,,HSL-1,,,,,HSL-1,,,HSL-2,HSL-1,1,350401, +home_connected_assistant_mini,,HSL-1,HSL-1,HSL-2,HSL-3,HSL-2,,HSL-1,,HSL-1,HSL-2,1,35040 +drone_mini,HSL-3,HSL-1,HSL-1,HSL-1,HSL-3,HSL-2,HSL-3,HSL-2,,HSL-3,HSL-1,1,35040 +smart_watch,,HSL-1,HSL-2,HSL-3,HSL-3,HSL-1,HSL-2,HSL-2,,HSL-2,HSL-3,1,35040 +iot-device-default,,,,,,,,,,,,1,35040, \ No newline at end of file diff --git a/tests/data/config.yml b/tests/data/config.yml index 63d04745..0e8fa980 100644 --- a/tests/data/config.yml +++ b/tests/data/config.yml @@ -23,6 +23,7 @@ default_box: "box-default" default_usb_stick: "usb-stick-default" default_external_ssd: "external-ssd-default" default_external_hdd: "hdd-default" +default_iot_device: "iot-device-default" default_criteria: ["gwp", "adp", "pe"] diff --git a/tests/data/factors.yml b/tests/data/factors.yml index b53d61a2..93739cd8 100644 --- a/tests/data/factors.yml +++ b/tests/data/factors.yml @@ -17561,4 +17561,1534 @@ "Albania": "ALB", "United Arab Emirates": "ARE" } +} + +"IoT": { + "actuators": { + "HSL-1": { + "manufacture": { + "gwp": 0.0173, + "pe": 0.279, + "ir": 0.0373, + "lu": 0.000213, + "odp": 2.85e-09, + "pm": 1.98e-09, + "pocp": 4.77e-05, + "wu": 0.00724, + "adpe": 8.97e-07, + "adpf": 0.27, + "ap": 0.000123, + "ctue": 0.681, + "ctuh_c": 6.02e-12, + "ctuh_nc": 5.1e-10, + "epf": 5.16e-08, + "epm": 1.41e-05, + "ept": 0.000132, + "fw": 0.000168 + }, + "eol": { + "gwp": 0.00201, + "pe": 0.0342, + "ir": 0.000216, + "lu": 0.00694, + "odp": 2.29e-10, + "pm": 1.1e-10, + "pocp": 5.99e-06, + "wu": 0.528, + "adpe": 8.05e-09, + "adpf": 0.0315, + "ap": 1.47e-05, + "ctue": 0.215, + "ctuh_c": 2.09e-12, + "ctuh_nc": 8.48e-11, + "epf": 3.97e-08, + "epm": 6.01e-06, + "ept": 1.98e-05, + "fw": 0.0148 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.164, + "pe": 2.42, + "ir": 0.0194, + "lu": 0.0, + "odp": 5.59e-09, + "pm": 1.01e-08, + "pocp": 0.000466, + "wu": 0.0266, + "adpe": 1.18e-05, + "adpf": 2.32, + "ap": 0.00178, + "ctue": 3.12, + "ctuh_c": 2.78e-11, + "ctuh_nc": 1.29e-09, + "epf": 7.71e-08, + "epm": 0.000147, + "ept": 0.00138, + "fw": 0.00062 + }, + "eol": { + "gwp": 0.000314, + "pe": 0.00356, + "ir": 2.27e-05, + "lu": 0.00117, + "odp": 2.58e-11, + "pm": 1.69e-11, + "pocp": 1.1e-06, + "wu": 0.0945, + "adpe": 1.11e-10, + "adpf": 0.00312, + "ap": 6.99e-06, + "ctue": 0.173, + "ctuh_c": 5.77e-13, + "ctuh_nc": 5.38e-11, + "epf": 4.41e-09, + "epm": 4.97e-06, + "ept": 3.02e-06, + "fw": 0.0025 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 1.88, + "pe": 29.6, + "ir": 3.73, + "lu": 0.0215, + "odp": 3.17e-07, + "pm": 2.03e-07, + "pocp": 0.0051, + "wu": 0.767, + "adpe": 9.06e-05, + "adpf": 28.7, + "ap": 0.0132, + "ctue": 69.8, + "ctuh_c": 6.17e-10, + "ctuh_nc": 5.19e-08, + "epf": 5.42e-06, + "epm": 0.0015, + "ept": 0.0142, + "fw": 0.0179 + }, + "eol": { + "gwp": 0.201, + "pe": 3.42, + "ir": 0.0216, + "lu": 0.695, + "odp": 2.29e-08, + "pm": 1.1e-08, + "pocp": 0.0006, + "wu": 52.8, + "adpe": 8.05e-07, + "adpf": 3.15, + "ap": 0.00147, + "ctue": 21.6, + "ctuh_c": 2.09e-10, + "ctuh_nc": 8.5e-09, + "epf": 3.97e-06, + "epm": 0.000603, + "ept": 0.00198, + "fw": 1.48 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "casing": { + "HSL-1": { + "manufacture": { + "gwp": 0.431, + "pe": 9.97, + "ir": 0.0979, + "lu": 0.0, + "odp": 2.05e-08, + "pm": 1.72e-08, + "pocp": 0.0014, + "wu": 0.0846, + "adpe": 3.99e-07, + "adpf": 9.72, + "ap": 0.00244, + "ctue": 16.8, + "ctuh_c": 8.38e-11, + "ctuh_nc": 3.34e-09, + "epf": 1.2e-06, + "epm": 0.000435, + "ept": 0.00466, + "fw": 0.00197 + }, + "eol": { + "gwp": 0.0912, + "pe": 1.43, + "ir": 0.00675, + "lu": 0.21, + "odp": 1.03e-08, + "pm": 4.99e-09, + "pocp": 0.000285, + "wu": 14.4, + "adpe": 5.85e-07, + "adpf": 1.35, + "ap": 0.000457, + "ctue": 1.69, + "ctuh_c": 4.22e-11, + "ctuh_nc": 8.65e-10, + "epf": 1.13e-06, + "epm": 8.35e-05, + "ept": 0.000944, + "fw": 0.4 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 3.45, + "pe": 79.8, + "ir": 0.783, + "lu": 0.0, + "odp": 1.64e-07, + "pm": 1.38e-07, + "pocp": 0.0112, + "wu": 0.677, + "adpe": 3.19e-06, + "adpf": 77.8, + "ap": 0.0195, + "ctue": 135.0, + "ctuh_c": 6.7e-10, + "ctuh_nc": 2.67e-08, + "epf": 9.61e-06, + "epm": 0.00348, + "ept": 0.0373, + "fw": 0.0158 + }, + "eol": { + "gwp": 0.729, + "pe": 11.4, + "ir": 0.054, + "lu": 1.68, + "odp": 8.24e-08, + "pm": 3.99e-08, + "pocp": 0.00228, + "wu": 115.0, + "adpe": 4.68e-06, + "adpf": 10.8, + "ap": 0.00366, + "ctue": 13.5, + "ctuh_c": 3.38e-10, + "ctuh_nc": 6.92e-09, + "epf": 9.04e-06, + "epm": 0.000668, + "ept": 0.00756, + "fw": 3.2 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 6.89, + "pe": 160.0, + "ir": 1.57, + "lu": 0.0, + "odp": 3.28e-07, + "pm": 2.75e-07, + "pocp": 0.0225, + "wu": 1.35, + "adpe": 6.39e-06, + "adpf": 156.0, + "ap": 0.0391, + "ctue": 269.0, + "ctuh_c": 1.34e-09, + "ctuh_nc": 5.34e-08, + "epf": 1.92e-05, + "epm": 0.00696, + "ept": 0.0746, + "fw": 0.0315 + }, + "eol": { + "gwp": 1.46, + "pe": 22.8, + "ir": 0.108, + "lu": 3.35, + "odp": 1.65e-07, + "pm": 7.99e-08, + "pocp": 0.00456, + "wu": 231.0, + "adpe": 9.36e-06, + "adpf": 21.6, + "ap": 0.00732, + "ctue": 27.0, + "ctuh_c": 6.75e-10, + "ctuh_nc": 1.38e-08, + "epf": 1.81e-05, + "epm": 0.00134, + "ept": 0.0151, + "fw": 6.39 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "connectivity": { + "HSL-1": { + "manufacture": { + "gwp": 0.258, + "pe": 3.44, + "ir": 0.00215, + "lu": 0.00101, + "odp": 1.11e-07, + "pm": 7.84e-09, + "pocp": 0.00056, + "wu": 0.131, + "adpe": 7.13e-09, + "adpf": 3.37, + "ap": 0.00142, + "ctue": 3.29, + "ctuh_c": 2.42e-11, + "ctuh_nc": 1.4e-09, + "epf": 7.94e-07, + "epm": 0.000171, + "ept": 0.00178, + "fw": 0.00305 + }, + "eol": { + "gwp": 1.1e-05, + "pe": 0.000125, + "ir": 7.92e-07, + "lu": 4.1e-05, + "odp": 9.01e-13, + "pm": 5.92e-13, + "pocp": 3.84e-08, + "wu": 0.0033, + "adpe": 3.88e-12, + "adpf": 0.000109, + "ap": 2.44e-07, + "ctue": 0.00606, + "ctuh_c": 2.02e-14, + "ctuh_nc": 1.88e-12, + "epf": 1.54e-10, + "epm": 1.74e-07, + "ept": 1.06e-07, + "fw": 8.75e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.903, + "pe": 12.3, + "ir": 3.62, + "lu": 0.00334, + "odp": 3.76e-07, + "pm": 3.97e-08, + "pocp": 0.00221, + "wu": 0.533, + "adpe": 1.71e-05, + "adpf": 12.0, + "ap": 0.00697, + "ctue": 12.1, + "ctuh_c": 3.81e-10, + "ctuh_nc": 3.39e-08, + "epf": 2.66e-06, + "epm": 0.000636, + "ept": 0.0067, + "fw": 0.0124 + }, + "eol": { + "gwp": 0.108, + "pe": 1.94, + "ir": 0.00945, + "lu": 0.284, + "odp": 1.84e-08, + "pm": 8.02e-09, + "pocp": 0.000431, + "wu": 16.1, + "adpe": 1.26e-07, + "adpf": 1.82, + "ap": 0.000737, + "ctue": 8.51, + "ctuh_c": 9.63e-11, + "ctuh_nc": 1.61e-09, + "epf": 3.91e-07, + "epm": 0.000183, + "ept": 0.0016, + "fw": 0.528 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 1.58, + "pe": 21.3, + "ir": 3.62, + "lu": 0.00599, + "odp": 6.66e-07, + "pm": 6.02e-08, + "pocp": 0.00368, + "wu": 0.875, + "adpe": 1.71e-05, + "adpf": 20.9, + "ap": 0.0107, + "ctue": 20.7, + "ctuh_c": 4.44e-10, + "ctuh_nc": 3.76e-08, + "epf": 4.74e-06, + "epm": 0.00108, + "ept": 0.0114, + "fw": 0.0204 + }, + "eol": { + "gwp": 0.108, + "pe": 1.94, + "ir": 0.00945, + "lu": 0.284, + "odp": 1.84e-08, + "pm": 8.03e-09, + "pocp": 0.000431, + "wu": 16.1, + "adpe": 1.26e-07, + "adpf": 1.82, + "ap": 0.000737, + "ctue": 8.52, + "ctuh_c": 9.64e-11, + "ctuh_nc": 1.61e-09, + "epf": 3.91e-07, + "epm": 0.000183, + "ept": 0.0016, + "fw": 0.528 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "memory": { + "HSL-1": { + "manufacture": { + "gwp": 0.279, + "pe": 3.72, + "ir": 0.00234, + "lu": 0.0011, + "odp": 1.21e-07, + "pm": 8.49e-09, + "pocp": 0.000606, + "wu": 0.123, + "adpe": 7.71e-09, + "adpf": 3.65, + "ap": 0.00154, + "ctue": 3.57, + "ctuh_c": 2.62e-11, + "ctuh_nc": 1.51e-09, + "epf": 8.64e-07, + "epm": 0.000185, + "ept": 0.00193, + "fw": 0.00287 + }, + "eol": { + "gwp": 9.55e-06, + "pe": 0.000108, + "ir": 6.89e-07, + "lu": 3.56e-05, + "odp": 7.84e-13, + "pm": 5.15e-13, + "pocp": 3.34e-08, + "wu": 0.00287, + "adpe": 3.37e-12, + "adpf": 9.47e-05, + "ap": 2.13e-07, + "ctue": 0.00527, + "ctuh_c": 1.75e-14, + "ctuh_nc": 1.64e-12, + "epf": 1.34e-10, + "epm": 1.51e-07, + "ept": 9.19e-08, + "fw": 7.61e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 3.22, + "pe": 43.0, + "ir": 0.0269, + "lu": 0.0127, + "odp": 1.4e-06, + "pm": 9.79e-08, + "pocp": 0.00699, + "wu": 1.45, + "adpe": 8.9e-08, + "adpf": 42.1, + "ap": 0.0178, + "ctue": 41.1, + "ctuh_c": 3.02e-10, + "ctuh_nc": 1.75e-08, + "epf": 9.97e-06, + "epm": 0.00214, + "ept": 0.0223, + "fw": 0.0337 + }, + "eol": { + "gwp": 9.5e-05, + "pe": 0.00108, + "ir": 6.86e-06, + "lu": 0.000355, + "odp": 7.8e-12, + "pm": 5.12e-12, + "pocp": 3.32e-07, + "wu": 0.0286, + "adpe": 3.35e-11, + "adpf": 0.000943, + "ap": 2.12e-06, + "ctue": 0.0525, + "ctuh_c": 1.75e-13, + "ctuh_nc": 1.63e-11, + "epf": 1.34e-09, + "epm": 1.5e-06, + "ept": 9.15e-07, + "fw": 0.000758 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 6.77, + "pe": 90.3, + "ir": 0.0566, + "lu": 0.0268, + "odp": 2.93e-06, + "pm": 2.06e-07, + "pocp": 0.0147, + "wu": 3.01, + "adpe": 1.87e-07, + "adpf": 88.5, + "ap": 0.0373, + "ctue": 86.4, + "ctuh_c": 6.35e-10, + "ctuh_nc": 3.67e-08, + "epf": 2.09e-05, + "epm": 0.00449, + "ept": 0.0468, + "fw": 0.0702 + }, + "eol": { + "gwp": 0.000177, + "pe": 0.00201, + "ir": 1.28e-05, + "lu": 0.000662, + "odp": 1.46e-11, + "pm": 9.56e-12, + "pocp": 6.2e-07, + "wu": 0.0533, + "adpe": 6.26e-11, + "adpf": 0.00176, + "ap": 3.95e-06, + "ctue": 0.0979, + "ctuh_c": 3.26e-13, + "ctuh_nc": 3.04e-11, + "epf": 2.49e-09, + "epm": 2.8e-06, + "ept": 1.71e-06, + "fw": 0.00141 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "others": { + "HSL-0": { + "manufacture": { + "gwp": 0.317, + "pe": 5.85, + "ir": 5.17, + "lu": 0.0, + "odp": 7.61e-08, + "pm": 1.15e-08, + "pocp": 0.000929, + "wu": 0.0397, + "adpe": 2.44e-05, + "adpf": 5.8, + "ap": 0.00211, + "ctue": 6.13, + "ctuh_c": 6.59e-11, + "ctuh_nc": 4.7e-09, + "epf": 1.88e-07, + "epm": 0.000221, + "ept": 0.00238, + "fw": 0.000924 + }, + "eol": { + "gwp": 0.00907, + "pe": 0.103, + "ir": 0.000654, + "lu": 0.0338, + "odp": 7.44e-10, + "pm": 4.89e-10, + "pocp": 3.17e-05, + "wu": 2.73, + "adpe": 3.2e-09, + "adpf": 0.0899, + "ap": 0.000202, + "ctue": 5.01, + "ctuh_c": 1.67e-11, + "ctuh_nc": 1.55e-09, + "epf": 1.27e-07, + "epm": 0.000143, + "ept": 8.73e-05, + "fw": 0.0723 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 0.589, + "pe": 10.6, + "ir": 10.3, + "lu": 0.0, + "odp": 1.45e-07, + "pm": 2.24e-08, + "pocp": 0.00172, + "wu": 0.0772, + "adpe": 3.94e-05, + "adpf": 10.5, + "ap": 0.0039, + "ctue": 11.4, + "ctuh_c": 1.2e-10, + "ctuh_nc": 8.91e-09, + "epf": 3.92e-07, + "epm": 0.000414, + "ept": 0.00446, + "fw": 0.0018 + }, + "eol": { + "gwp": 0.0188, + "pe": 0.213, + "ir": 0.00135, + "lu": 0.07, + "odp": 1.54e-09, + "pm": 1.01e-09, + "pocp": 6.56e-05, + "wu": 5.64, + "adpe": 6.62e-09, + "adpf": 0.186, + "ap": 0.000418, + "ctue": 10.4, + "ctuh_c": 3.45e-11, + "ctuh_nc": 3.21e-09, + "epf": 2.64e-07, + "epm": 0.000297, + "ept": 0.000181, + "fw": 0.15 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 1.21, + "pe": 23.1, + "ir": 25.8, + "lu": 0.0, + "odp": 3.26e-07, + "pm": 4.49e-08, + "pocp": 0.00364, + "wu": 0.142, + "adpe": 9.02e-05, + "adpf": 22.9, + "ap": 0.00804, + "ctue": 24.8, + "ctuh_c": 2.68e-10, + "ctuh_nc": 2.04e-08, + "epf": 6.66e-07, + "epm": 0.000854, + "ept": 0.00923, + "fw": 0.0033 + }, + "eol": { + "gwp": 0.0426, + "pe": 0.483, + "ir": 0.00307, + "lu": 0.159, + "odp": 3.49e-09, + "pm": 2.29e-09, + "pocp": 0.000149, + "wu": 12.8, + "adpe": 1.5e-08, + "adpf": 0.422, + "ap": 0.000948, + "ctue": 23.5, + "ctuh_c": 7.82e-11, + "ctuh_nc": 7.29e-09, + "epf": 5.98e-07, + "epm": 0.000673, + "ept": 0.00041, + "fw": 0.339 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 2.0, + "pe": 38.4, + "ir": 43.9, + "lu": 0.0, + "odp": 5.6e-07, + "pm": 7.56e-08, + "pocp": 0.00616, + "wu": 0.218, + "adpe": 0.000155, + "adpf": 38.2, + "ap": 0.0136, + "ctue": 40.9, + "ctuh_c": 6.45e-10, + "ctuh_nc": 3.46e-08, + "epf": 1.13e-06, + "epm": 0.00141, + "ept": 0.0153, + "fw": 0.00509 + }, + "eol": { + "gwp": 0.0693, + "pe": 0.786, + "ir": 0.005, + "lu": 0.259, + "odp": 5.68e-09, + "pm": 3.73e-09, + "pocp": 0.000242, + "wu": 20.8, + "adpe": 2.44e-08, + "adpf": 0.687, + "ap": 0.00154, + "ctue": 38.3, + "ctuh_c": 1.27e-10, + "ctuh_nc": 1.19e-08, + "epf": 9.73e-07, + "epm": 0.0011, + "ept": 0.000667, + "fw": 0.552 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "pcb": { + "HSL-0": { + "manufacture": { + "gwp": 0.0929, + "pe": 1.93, + "ir": 0.0301, + "lu": 0.0, + "odp": 1.12e-08, + "pm": 3.97e-09, + "pocp": 0.000318, + "wu": 0.0146, + "adpe": 4.75e-06, + "adpf": 1.93, + "ap": 0.000732, + "ctue": 1.49, + "ctuh_c": 1.76e-11, + "ctuh_nc": 1.12e-09, + "epf": 4.17e-08, + "epm": 7.96e-05, + "ept": 0.000869, + "fw": 0.00034 + }, + "eol": { + "gwp": 0.00507, + "pe": 0.0575, + "ir": 0.000366, + "lu": 0.0189, + "odp": 4.16e-10, + "pm": 2.73e-10, + "pocp": 1.77e-05, + "wu": 1.53, + "adpe": 1.79e-09, + "adpf": 0.0503, + "ap": 0.000113, + "ctue": 2.8, + "ctuh_c": 9.32e-12, + "ctuh_nc": 8.68e-10, + "epf": 7.12e-08, + "epm": 8.02e-05, + "ept": 4.88e-05, + "fw": 0.0404 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 0.328, + "pe": 6.8, + "ir": 0.106, + "lu": 0.0, + "odp": 3.94e-08, + "pm": 1.4e-08, + "pocp": 0.00112, + "wu": 0.0522, + "adpe": 1.76e-05, + "adpf": 6.79, + "ap": 0.00258, + "ctue": 5.24, + "ctuh_c": 6.2e-11, + "ctuh_nc": 3.94e-09, + "epf": 1.47e-07, + "epm": 0.000281, + "ept": 0.00307, + "fw": 0.00121 + }, + "eol": { + "gwp": 0.0178, + "pe": 0.202, + "ir": 0.00129, + "lu": 0.0666, + "odp": 1.46e-09, + "pm": 9.61e-10, + "pocp": 6.23e-05, + "wu": 5.36, + "adpe": 6.29e-09, + "adpf": 0.177, + "ap": 0.000397, + "ctue": 9.85, + "ctuh_c": 3.28e-11, + "ctuh_nc": 3.05e-09, + "epf": 2.51e-07, + "epm": 0.000282, + "ept": 0.000172, + "fw": 0.142 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.614, + "pe": 12.9, + "ir": 0.189, + "lu": 0.0, + "odp": 8.94e-08, + "pm": 3.11e-08, + "pocp": 0.00215, + "wu": 0.117, + "adpe": 3.61e-05, + "adpf": 12.9, + "ap": 0.00563, + "ctue": 10.7, + "ctuh_c": 1.24e-10, + "ctuh_nc": 8.72e-09, + "epf": 3.68e-07, + "epm": 0.000526, + "ept": 0.00574, + "fw": 0.00273 + }, + "eol": { + "gwp": 0.032, + "pe": 0.363, + "ir": 0.00231, + "lu": 0.119, + "odp": 2.62e-09, + "pm": 1.72e-09, + "pocp": 0.000112, + "wu": 9.62, + "adpe": 1.13e-08, + "adpf": 0.317, + "ap": 0.000712, + "ctue": 17.7, + "ctuh_c": 5.87e-11, + "ctuh_nc": 5.48e-09, + "epf": 4.49e-07, + "epm": 0.000506, + "ept": 0.000308, + "fw": 0.255 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 1.46, + "pe": 30.9, + "ir": 0.453, + "lu": 0.0, + "odp": 2.14e-07, + "pm": 7.42e-08, + "pocp": 0.00513, + "wu": 0.277, + "adpe": 8.24e-05, + "adpf": 30.8, + "ap": 0.0134, + "ctue": 25.6, + "ctuh_c": 2.96e-10, + "ctuh_nc": 2.08e-08, + "epf": 8.79e-07, + "epm": 0.00125, + "ept": 0.0137, + "fw": 0.00644 + }, + "eol": { + "gwp": 0.0766, + "pe": 0.869, + "ir": 0.00553, + "lu": 0.286, + "odp": 6.29e-09, + "pm": 4.13e-09, + "pocp": 0.000268, + "wu": 23.0, + "adpe": 2.7e-08, + "adpf": 0.76, + "ap": 0.00171, + "ctue": 42.3, + "ctuh_c": 1.41e-10, + "ctuh_nc": 1.31e-08, + "epf": 1.08e-06, + "epm": 0.00121, + "ept": 0.000737, + "fw": 0.611 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "power_supply": { + "HSL-0": { + "manufacture": { + "gwp": 4.43, + "pe": 56.8, + "ir": 4.23, + "lu": 0.00051, + "odp": 4.58e-07, + "pm": 1.71e-07, + "pocp": 0.0112, + "wu": 0.859, + "adpe": 0.000292, + "adpf": 54.6, + "ap": 0.0311, + "ctue": 62.7, + "ctuh_c": 8.27e-10, + "ctuh_nc": 6.15e-08, + "epf": 5.05e-06, + "epm": 0.00324, + "ept": 0.0344, + "fw": 0.02 + }, + "eol": { + "gwp": 0.0594, + "pe": 0.783, + "ir": 0.00476, + "lu": 0.264, + "odp": 5.51e-09, + "pm": 3.69e-09, + "pocp": 0.000229, + "wu": 21.6, + "adpe": 2.23e-08, + "adpf": 0.682, + "ap": 0.00159, + "ctue": 40.0, + "ctuh_c": 1.18e-10, + "ctuh_nc": 1.22e-08, + "epf": 1.02e-06, + "epm": 0.00114, + "ept": 0.000589, + "fw": 0.571 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 0.104, + "pe": 2.08, + "ir": 1.83, + "lu": 0.0, + "odp": 2.21e-08, + "pm": 5.51e-09, + "pocp": 0.000422, + "wu": 0.0748, + "adpe": 1.08e-05, + "adpf": 2.08, + "ap": 0.000946, + "ctue": 6.83, + "ctuh_c": 1.01e-10, + "ctuh_nc": 2.18e-08, + "epf": 4.97e-07, + "epm": 0.00012, + "ept": 0.00131, + "fw": 0.00174 + }, + "eol": { + "gwp": 0.0181, + "pe": 0.447, + "ir": 0.00552, + "lu": 0.0, + "odp": 2.16e-09, + "pm": 1.11e-09, + "pocp": 6.8e-05, + "wu": 0.00301, + "adpe": 3.53e-09, + "adpf": 0.446, + "ap": 0.000201, + "ctue": 0.208, + "ctuh_c": 4.98e-12, + "ctuh_nc": 2.44e-10, + "epf": 4.81e-09, + "epm": 1.61e-05, + "ept": 0.000176, + "fw": 7.01e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 4.64, + "pe": 52.3, + "ir": 2.03, + "lu": 0.677, + "odp": 1.88e-06, + "pm": 1.65e-07, + "pocp": 0.0124, + "wu": 26.1, + "adpe": 0.000149, + "adpf": 50.3, + "ap": 0.0281, + "ctue": 107.0, + "ctuh_c": 1.14e-09, + "ctuh_nc": 1.93e-07, + "epf": 0.000908, + "epm": 0.00483, + "ept": 0.0372, + "fw": 0.607 + }, + "eol": { + "gwp": 0.0457, + "pe": 0.871, + "ir": 0.0114, + "lu": 0.0605, + "odp": 5.65e-09, + "pm": 1.8e-09, + "pocp": 0.000149, + "wu": 4.95, + "adpe": 6.07e-09, + "adpf": 0.848, + "ap": 0.00055, + "ctue": 143.0, + "ctuh_c": 3.32e-11, + "ctuh_nc": 3.19e-09, + "epf": 2.4e-07, + "epm": 0.000285, + "ept": 0.000395, + "fw": 0.131 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 4.99, + "pe": 57.0, + "ir": 2.03, + "lu": 0.678, + "odp": 2.04e-06, + "pm": 1.76e-07, + "pocp": 0.0132, + "wu": 26.3, + "adpe": 0.000149, + "adpf": 54.9, + "ap": 0.03, + "ctue": 111.0, + "ctuh_c": 1.17e-09, + "ctuh_nc": 1.95e-07, + "epf": 0.000909, + "epm": 0.00507, + "ept": 0.0396, + "fw": 0.612 + }, + "eol": { + "gwp": 0.0457, + "pe": 0.871, + "ir": 0.0114, + "lu": 0.0606, + "odp": 5.65e-09, + "pm": 1.8e-09, + "pocp": 0.000149, + "wu": 4.96, + "adpe": 6.08e-09, + "adpf": 0.848, + "ap": 0.00055, + "ctue": 143.0, + "ctuh_c": 3.33e-11, + "ctuh_nc": 3.19e-09, + "epf": 2.4e-07, + "epm": 0.000285, + "ept": 0.000395, + "fw": 0.131 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "processing": { + "HSL-0": { + "manufacture": { + "gwp": 0.258, + "pe": 3.44, + "ir": 0.00215, + "lu": 0.00101, + "odp": 1.11e-07, + "pm": 7.84e-09, + "pocp": 0.00056, + "wu": 0.131, + "adpe": 7.13e-09, + "adpf": 3.37, + "ap": 0.00142, + "ctue": 3.29, + "ctuh_c": 2.42e-11, + "ctuh_nc": 1.4e-09, + "epf": 7.94e-07, + "epm": 0.000171, + "ept": 0.00178, + "fw": 0.00305 + }, + "eol": { + "gwp": 1.1e-05, + "pe": 0.000125, + "ir": 7.92e-07, + "lu": 4.1e-05, + "odp": 9.01e-13, + "pm": 5.92e-13, + "pocp": 3.84e-08, + "wu": 0.0033, + "adpe": 3.88e-12, + "adpf": 0.000109, + "ap": 2.44e-07, + "ctue": 0.00606, + "ctuh_c": 2.02e-14, + "ctuh_nc": 1.88e-12, + "epf": 1.54e-10, + "epm": 1.74e-07, + "ept": 1.06e-07, + "fw": 8.75e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-1": { + "manufacture": { + "gwp": 1.73, + "pe": 23.1, + "ir": 0.0145, + "lu": 0.00689, + "odp": 7.55e-07, + "pm": 5.27e-08, + "pocp": 0.00376, + "wu": 0.681, + "adpe": 4.79e-08, + "adpf": 22.6, + "ap": 0.00955, + "ctue": 22.1, + "ctuh_c": 1.62e-10, + "ctuh_nc": 9.39e-09, + "epf": 5.39e-06, + "epm": 0.00115, + "ept": 0.012, + "fw": 0.0159 + }, + "eol": { + "gwp": 4.4e-05, + "pe": 0.000499, + "ir": 3.17e-06, + "lu": 0.000164, + "odp": 3.61e-12, + "pm": 2.37e-12, + "pocp": 1.54e-07, + "wu": 0.0132, + "adpe": 1.55e-11, + "adpf": 0.000436, + "ap": 9.79e-07, + "ctue": 0.0243, + "ctuh_c": 8.08e-14, + "ctuh_nc": 7.53e-12, + "epf": 6.18e-10, + "epm": 6.95e-07, + "ept": 4.23e-07, + "fw": 0.00035 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 3.53, + "pe": 47.1, + "ir": 0.0296, + "lu": 0.0141, + "odp": 1.54e-06, + "pm": 1.07e-07, + "pocp": 0.00766, + "wu": 1.35, + "adpe": 9.75e-08, + "adpf": 46.1, + "ap": 0.0195, + "ctue": 45.1, + "ctuh_c": 3.31e-10, + "ctuh_nc": 1.91e-08, + "epf": 1.1e-05, + "epm": 0.00234, + "ept": 0.0244, + "fw": 0.0315 + }, + "eol": { + "gwp": 7.68e-05, + "pe": 0.000871, + "ir": 5.54e-06, + "lu": 0.000287, + "odp": 6.3e-12, + "pm": 4.14e-12, + "pocp": 2.68e-07, + "wu": 0.0231, + "adpe": 2.71e-11, + "adpf": 0.000762, + "ap": 1.71e-06, + "ctue": 0.0424, + "ctuh_c": 1.41e-13, + "ctuh_nc": 1.32e-11, + "epf": 1.08e-09, + "epm": 1.21e-06, + "ept": 7.39e-07, + "fw": 0.000612 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 6.33, + "pe": 84.3, + "ir": 0.053, + "lu": 0.0252, + "odp": 2.76e-06, + "pm": 1.93e-07, + "pocp": 0.0137, + "wu": 2.4, + "adpe": 1.75e-07, + "adpf": 82.7, + "ap": 0.0349, + "ctue": 80.8, + "ctuh_c": 5.93e-10, + "ctuh_nc": 3.43e-08, + "epf": 1.97e-05, + "epm": 0.0042, + "ept": 0.0437, + "fw": 0.0558 + }, + "eol": { + "gwp": 8.93e-05, + "pe": 0.00101, + "ir": 6.45e-06, + "lu": 0.000334, + "odp": 7.33e-12, + "pm": 4.82e-12, + "pocp": 3.12e-07, + "wu": 0.0269, + "adpe": 3.15e-11, + "adpf": 0.000886, + "ap": 1.99e-06, + "ctue": 0.0494, + "ctuh_c": 1.64e-13, + "ctuh_nc": 1.53e-11, + "epf": 1.26e-09, + "epm": 1.41e-06, + "ept": 8.6e-07, + "fw": 0.000712 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "security": { + "HSL-1": { + "manufacture": { + "gwp": 0.0439, + "pe": 0.587, + "ir": 0.000367, + "lu": 0.000172, + "odp": 1.89e-08, + "pm": 1.34e-09, + "pocp": 9.54e-05, + "wu": 0.0242, + "adpe": 1.22e-09, + "adpf": 0.575, + "ap": 0.000242, + "ctue": 0.562, + "ctuh_c": 4.13e-12, + "ctuh_nc": 2.39e-10, + "epf": 1.35e-07, + "epm": 2.91e-05, + "ept": 0.000304, + "fw": 0.000563 + }, + "eol": { + "gwp": 2.2e-06, + "pe": 2.49e-05, + "ir": 1.59e-07, + "lu": 8.21e-06, + "odp": 1.8e-13, + "pm": 1.19e-13, + "pocp": 7.69e-09, + "wu": 0.000662, + "adpe": 7.76e-13, + "adpf": 2.18e-05, + "ap": 4.9e-08, + "ctue": 0.00121, + "ctuh_c": 4.04e-15, + "ctuh_nc": 3.77e-13, + "epf": 3.09e-11, + "epm": 3.48e-08, + "ept": 2.12e-08, + "fw": 1.75e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "sensing": { + "HSL-1": { + "manufacture": { + "gwp": 0.0, + "pe": 0.0, + "ir": 0.0, + "lu": 0.0, + "odp": 0.0, + "pm": 0.0, + "pocp": 0.0, + "wu": 0.0, + "adpe": 0.0, + "adpf": 0.0, + "ap": 0.0, + "ctue": 0.0, + "ctuh_c": 0.0, + "ctuh_nc": 0.0, + "epf": 0.0, + "epm": 0.0, + "ept": 0.0, + "fw": 0.0 + }, + "eol": { + "gwp": 0.0, + "pe": 0.0, + "ir": 0.0, + "lu": 0.0, + "odp": 0.0, + "pm": 0.0, + "pocp": 0.0, + "wu": 0.0, + "adpe": 0.0, + "adpf": 0.0, + "ap": 0.0, + "ctue": 0.0, + "ctuh_c": 0.0, + "ctuh_nc": 0.0, + "epf": 0.0, + "epm": 0.0, + "ept": 0.0, + "fw": 0.0 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.046, + "pe": 0.617, + "ir": 0.000383, + "lu": 0.000178, + "odp": 1.95e-08, + "pm": 1.4e-09, + "pocp": 0.0001, + "wu": 0.0324, + "adpe": 1.28e-09, + "adpf": 0.604, + "ap": 0.000254, + "ctue": 0.59, + "ctuh_c": 4.33e-12, + "ctuh_nc": 2.51e-10, + "epf": 1.39e-07, + "epm": 3.05e-05, + "ept": 0.000319, + "fw": 0.000755 + }, + "eol": { + "gwp": 3.3e-06, + "pe": 3.74e-05, + "ir": 2.38e-07, + "lu": 1.23e-05, + "odp": 2.71e-13, + "pm": 1.78e-13, + "pocp": 1.15e-08, + "wu": 0.000992, + "adpe": 1.16e-12, + "adpf": 3.27e-05, + "ap": 7.34e-08, + "ctue": 0.00182, + "ctuh_c": 6.06e-15, + "ctuh_nc": 5.65e-13, + "epf": 4.63e-11, + "epm": 5.22e-08, + "ept": 3.18e-08, + "fw": 2.63e-05 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 0.796, + "pe": 10.6, + "ir": 0.00664, + "lu": 0.00312, + "odp": 3.42e-07, + "pm": 2.42e-08, + "pocp": 0.00173, + "wu": 0.445, + "adpe": 2.2e-08, + "adpf": 10.4, + "ap": 0.00439, + "ctue": 10.2, + "ctuh_c": 7.47e-11, + "ctuh_nc": 4.32e-09, + "epf": 2.44e-06, + "epm": 0.000528, + "ept": 0.00551, + "fw": 0.0104 + }, + "eol": { + "gwp": 3.63e-05, + "pe": 0.000412, + "ir": 2.62e-06, + "lu": 0.000135, + "odp": 2.98e-12, + "pm": 1.96e-12, + "pocp": 1.27e-07, + "wu": 0.0109, + "adpe": 1.28e-11, + "adpf": 0.00036, + "ap": 8.08e-07, + "ctue": 0.02, + "ctuh_c": 6.67e-14, + "ctuh_nc": 6.22e-12, + "epf": 5.1e-10, + "epm": 5.74e-07, + "ept": 3.49e-07, + "fw": 0.000289 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + }, + "user_interface": { + "HSL-1": { + "manufacture": { + "gwp": 0.145, + "pe": 2.38, + "ir": 3.68, + "lu": 0.0, + "odp": 3.12e-08, + "pm": 7.19e-09, + "pocp": 0.000461, + "wu": 0.0409, + "adpe": 2.97e-05, + "adpf": 2.34, + "ap": 0.00113, + "ctue": 3.18, + "ctuh_c": 3.41e-11, + "ctuh_nc": 1.27e-09, + "epf": 2.63e-07, + "epm": 0.000122, + "ept": 0.00119, + "fw": 0.000952 + }, + "eol": { + "gwp": 0.00554, + "pe": 0.0711, + "ir": 0.000436, + "lu": 0.0239, + "odp": 5.02e-10, + "pm": 3.35e-10, + "pocp": 2.1e-05, + "wu": 1.95, + "adpe": 2.05e-09, + "adpf": 0.062, + "ap": 0.000144, + "ctue": 3.6, + "ctuh_c": 1.09e-11, + "ctuh_nc": 1.1e-09, + "epf": 9.18e-08, + "epm": 0.000103, + "ept": 5.46e-05, + "fw": 0.0515 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-2": { + "manufacture": { + "gwp": 0.362, + "pe": 5.75, + "ir": 7.55, + "lu": 0.00026, + "odp": 9.13e-08, + "pm": 1.66e-08, + "pocp": 0.00109, + "wu": 0.121, + "adpe": 5.94e-05, + "adpf": 5.65, + "ap": 0.00266, + "ctue": 7.43, + "ctuh_c": 7.58e-11, + "ctuh_nc": 3.15e-09, + "epf": 7.38e-07, + "epm": 0.000293, + "ept": 0.00291, + "fw": 0.00281 + }, + "eol": { + "gwp": 0.012, + "pe": 0.158, + "ir": 0.000941, + "lu": 0.0501, + "odp": 1.11e-09, + "pm": 7.17e-10, + "pocp": 4.43e-05, + "wu": 4.21, + "adpe": 7.38e-09, + "adpf": 0.138, + "ap": 0.000292, + "ctue": 7.21, + "ctuh_c": 2.29e-11, + "ctuh_nc": 2.23e-09, + "epf": 2.1e-07, + "epm": 0.000206, + "ept": 0.000118, + "fw": 0.112 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + }, + "HSL-3": { + "manufacture": { + "gwp": 0.823, + "pe": 14.3, + "ir": 11.8, + "lu": 0.0111, + "odp": 1.29e-07, + "pm": 3.49e-08, + "pocp": 0.00248, + "wu": 0.428, + "adpe": 0.000162, + "adpf": 14.0, + "ap": 0.006, + "ctue": 17.5, + "ctuh_c": 3.27e-10, + "ctuh_nc": 1.48e-08, + "epf": 2.94e-06, + "epm": 0.000694, + "ept": 0.00689, + "fw": 0.00997 + }, + "eol": { + "gwp": 0.0194, + "pe": 0.249, + "ir": 0.00154, + "lu": 0.0703, + "odp": 1.83e-09, + "pm": 1.12e-09, + "pocp": 6.98e-05, + "wu": 5.92, + "adpe": 8.96e-09, + "adpf": 0.221, + "ap": 0.000428, + "ctue": 10.5, + "ctuh_c": 3.37e-11, + "ctuh_nc": 3.23e-09, + "epf": 2.67e-07, + "epm": 0.000303, + "ept": 0.000193, + "fw": 0.162 + }, + "source": "Adapted by Tide from 'Assessing the embodied carbon footprint of IoT edge devices with a bottom-up life-cycle approach', 2021; Thibault Pirson et David Bol (Université catholique de Louvain, ICTEAM/ECS, Louvain-la-Neuve, Belgique)" + } + } } \ No newline at end of file From 7f7b1a0a84cf0b07c18bd2fd5e30f964e85b1567 Mon Sep 17 00:00:00 2001 From: da-ekchajzer Date: Sun, 24 Sep 2023 14:38:11 +0200 Subject: [PATCH 4/5] correcting test test_custom_iot : configuration ==> functional_blocks --- tests/api/test_iot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/api/test_iot.py b/tests/api/test_iot.py index 467de07b..a33d14a9 100644 --- a/tests/api/test_iot.py +++ b/tests/api/test_iot.py @@ -490,7 +490,7 @@ async def test_drone_mini_costume_usage(): async def test_custom_iot(): async with AsyncClient(app=app, base_url="http://test") as ac: res = await ac.post('/v1/iot/iot_device?verbose=false&criteria=lu', json={ - "configuration": [ + "functional_blocks": [ { "hsl_level": "HSL-1", "type": "security" From 8b8b3aedf58da0dbf90b9a39a71edbd4671727e2 Mon Sep 17 00:00:00 2001 From: da-ekchajzer Date: Tue, 10 Oct 2023 00:35:36 +0200 Subject: [PATCH 5/5] merge rounding based on min/max --- .../model/component/functional_block.py | 2 +- boaviztapi/model/device/iot.py | 11 +- tests/api/test_iot.py | 178 ++++++++---------- 3 files changed, 80 insertions(+), 111 deletions(-) diff --git a/boaviztapi/model/component/functional_block.py b/boaviztapi/model/component/functional_block.py index 985c4e20..117aa83c 100644 --- a/boaviztapi/model/component/functional_block.py +++ b/boaviztapi/model/component/functional_block.py @@ -20,7 +20,7 @@ def __init__(self, archetype=None, **kwargs): def impact_embedded(self, impact_type: str) -> ComputedImpacts: impact_factors = get_iot_impact_factor(self.IMPACT_KEY, self.hsl_level.value, impact_type) - return impact_factors, 5, impact_factors, impact_factors, [] + return impact_factors, impact_factors, impact_factors, [] class ActuatorsFunctionalBlock(ComponentFunctionalBlock): diff --git a/boaviztapi/model/device/iot.py b/boaviztapi/model/device/iot.py index 50bab1a5..ff3224b3 100644 --- a/boaviztapi/model/device/iot.py +++ b/boaviztapi/model/device/iot.py @@ -2,13 +2,10 @@ from boaviztapi import config from boaviztapi.model import ComputedImpacts -from boaviztapi.model.boattribute import Boattribute -from boaviztapi.model.component import Component from boaviztapi.model.component.functional_block import ComponentFunctionalBlock, get_functional_block from boaviztapi.model.device import Device from boaviztapi.model.usage import ModelUsage -from boaviztapi.service.archetype import get_arch_value, get_arch_component, get_iot_device_archetype -from boaviztapi.service.factor_provider import get_iot_impact_factor +from boaviztapi.service.archetype import get_arch_component, get_iot_device_archetype class DeviceIoT(Device): @@ -32,12 +29,12 @@ def impact_embedded(self, impact_type: str) -> ComputedImpacts: warnings = self.WARNINGS for component in self.components: - impact, sign_fig, min_impact, max_impact, c_warning = getattr(component, f'impact_embedded')(impact_type) + impact, min_impact, max_impact, c_warning = getattr(component, f'impact_embedded')(impact_type) impacts.append(impact * component.units.value) min_impacts.append(min_impact * component.units.min) max_impacts.append(max_impact * component.units.max) warnings = warnings + c_warning - return sum(impacts), 5, sum(min_impacts), sum(max_impacts), warnings + return sum(impacts), sum(min_impacts), sum(max_impacts), warnings def impact_use(self, impact_type: str, duration: float) -> ComputedImpacts: if self.usage.avg_power.value is None: @@ -48,7 +45,7 @@ def impact_use(self, impact_type: str, duration: float) -> ComputedImpacts: min_impact = impact_factor.min * (self.usage.avg_power.min / 1000) * self.usage.use_time_ratio.min * duration max_impact = impact_factor.max * (self.usage.avg_power.max / 1000) * self.usage.use_time_ratio.max * duration - return impact, 5, min_impact, max_impact, [] + return impact, min_impact, max_impact, [] @property def components(self) -> List[ComponentFunctionalBlock]: diff --git a/tests/api/test_iot.py b/tests/api/test_iot.py index a33d14a9..fea52005 100644 --- a/tests/api/test_iot.py +++ b/tests/api/test_iot.py @@ -14,39 +14,46 @@ async def test_empty_iot_device(): assert res.json() == {'adp': {'description': 'Use of minerals and fossil ressources', 'embedded': {'max': 0.0, 'min': 0.0, - 'significant_figures': 5, 'value': 0.0, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, ' 'datacenter, virtual machines or other ' 'terminals not included)', - 'Do not include the impact of ' - 'distribution']}, + 'Do not include the impact of distribution', + 'Uncertainty from technical characteristics ' + 'is very important. Results should be ' + 'interpreted with caution (see min and max ' + 'values)']}, 'unit': 'kgSbeq', 'use': 'not implemented'}, 'gwp': {'description': 'Total climate change', 'embedded': {'max': 0.0, 'min': 0.0, - 'significant_figures': 5, 'value': 0.0, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, ' 'datacenter, virtual machines or other ' 'terminals not included)', - 'Do not include the impact of ' - 'distribution']}, + 'Do not include the impact of distribution', + 'Uncertainty from technical characteristics ' + 'is very important. Results should be ' + 'interpreted with caution (see min and max ' + 'values)']}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption of primary energy', 'embedded': {'max': 0.0, 'min': 0.0, - 'significant_figures': 5, 'value': 0.0, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, ' 'datacenter, virtual machines or other ' 'terminals not included)', - 'Do not include the impact of distribution']}, + 'Do not include the impact of distribution', + 'Uncertainty from technical characteristics ' + 'is very important. Results should be ' + 'interpreted with caution (see min and max ' + 'values)']}, 'unit': 'MJ', 'use': 'not implemented'}} @@ -57,10 +64,9 @@ async def test_drone_mini(): res = await ac.get('/v1/iot/iot_device?verbose=false&archetype=drone_mini&criteria=gwp') assert res.json() == {'gwp': {'description': 'Total climate change', - 'embedded': {'max': 15.368, - 'min': 15.368, - 'significant_figures': 5, - 'value': 15.368, + 'embedded': {'max': 15.37, + 'min': 15.37, + 'value': 15.37, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, ' 'datacenter, virtual machines or other ' @@ -81,10 +87,9 @@ async def test_drone_mini_verbose(): 'unit': 'kgSbeq', 'use': 'not implemented'}, 'gwp': {'description': 'Total climate change', - 'embedded': {'max': 15.368, - 'min': 15.368, - 'significant_figures': 5, - 'value': 15.368, + 'embedded': {'max': 15.37, + 'min': 15.37, + 'value': 15.37, 'warnings': ['Connected object, not ' 'including associated digital ' 'services (use of network, ' @@ -96,10 +101,9 @@ async def test_drone_mini_verbose(): 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption of primary energy', - 'embedded': {'max': 222.05, - 'min': 222.05, - 'significant_figures': 5, - 'value': 222.05, + 'embedded': {'max': 222.1, + 'min': 222.1, + 'value': 222.1, 'warnings': ['Connected object, not including ' 'associated digital services ' '(use of network, datacenter, ' @@ -124,7 +128,6 @@ async def test_drone_mini_verbose(): 'change', 'embedded': {'max': 2.081, 'min': 2.081, - 'significant_figures': 5, 'value': 2.081}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, @@ -132,7 +135,6 @@ async def test_drone_mini_verbose(): 'primary energy', 'embedded': {'max': 33.02, 'min': 33.02, - 'significant_figures': 5, 'value': 33.02}, 'unit': 'MJ', 'use': 'not implemented'}}, @@ -154,7 +156,6 @@ async def test_drone_mini_verbose(): 'change', 'embedded': {'max': 0.5222, 'min': 0.5222, - 'significant_figures': 5, 'value': 0.5222}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, @@ -162,7 +163,6 @@ async def test_drone_mini_verbose(): 'primary energy', 'embedded': {'max': 11.4, 'min': 11.4, - 'significant_figures': 5, 'value': 11.4}, 'unit': 'MJ', 'use': 'not implemented'}}, @@ -185,19 +185,17 @@ async def test_drone_mini_verbose(): 'gwp': {'description': 'Total ' 'climate ' 'change', - 'embedded': {'max': 0.25801, - 'min': 0.25801, - 'significant_figures': 5, - 'value': 0.25801}, + 'embedded': {'max': 0.258, + 'min': 0.258, + 'value': 0.258}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption ' 'of primary ' 'energy', - 'embedded': {'max': 3.4401, - 'min': 3.4401, - 'significant_figures': 5, - 'value': 3.4401}, + 'embedded': {'max': 3.44, + 'min': 3.44, + 'value': 3.44}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -216,18 +214,16 @@ async def test_drone_mini_verbose(): 'use': 'not implemented'}, 'gwp': {'description': 'Total climate ' 'change', - 'embedded': {'max': 0.27901, - 'min': 0.27901, - 'significant_figures': 5, - 'value': 0.27901}, + 'embedded': {'max': 0.279, + 'min': 0.279, + 'value': 0.279}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption of ' 'primary energy', - 'embedded': {'max': 3.7201, - 'min': 3.7201, - 'significant_figures': 5, - 'value': 3.7201}, + 'embedded': {'max': 3.72, + 'min': 3.72, + 'value': 3.72}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -246,18 +242,16 @@ async def test_drone_mini_verbose(): 'use': 'not implemented'}, 'gwp': {'description': 'Total climate ' 'change', - 'embedded': {'max': 2.0693, - 'min': 2.0693, - 'significant_figures': 5, - 'value': 2.0693}, + 'embedded': {'max': 2.069, + 'min': 2.069, + 'value': 2.069}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption of ' 'primary energy', - 'embedded': {'max': 39.186, - 'min': 39.186, - 'significant_figures': 5, - 'value': 39.186}, + 'embedded': {'max': 39.19, + 'min': 39.19, + 'value': 39.19}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -277,16 +271,14 @@ async def test_drone_mini_verbose(): 'change', 'embedded': {'max': 0.646, 'min': 0.646, - 'significant_figures': 5, 'value': 0.646}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption of ' 'primary energy', - 'embedded': {'max': 13.263, - 'min': 13.263, - 'significant_figures': 5, - 'value': 13.263}, + 'embedded': {'max': 13.26, + 'min': 13.26, + 'value': 13.26}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -308,19 +300,17 @@ async def test_drone_mini_verbose(): 'gwp': {'description': 'Total ' 'climate ' 'change', - 'embedded': {'max': 5.0357, - 'min': 5.0357, - 'significant_figures': 5, - 'value': 5.0357}, + 'embedded': {'max': 5.036, + 'min': 5.036, + 'value': 5.036}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption ' 'of primary ' 'energy', - 'embedded': {'max': 57.871, - 'min': 57.871, - 'significant_figures': 5, - 'value': 57.871}, + 'embedded': {'max': 57.87, + 'min': 57.87, + 'value': 57.87}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -341,19 +331,17 @@ async def test_drone_mini_verbose(): 'gwp': {'description': 'Total ' 'climate ' 'change', - 'embedded': {'max': 3.5301, - 'min': 3.5301, - 'significant_figures': 5, - 'value': 3.5301}, + 'embedded': {'max': 3.53, + 'min': 3.53, + 'value': 3.53}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption ' 'of primary ' 'energy', - 'embedded': {'max': 47.101, - 'min': 47.101, - 'significant_figures': 5, - 'value': 47.101}, + 'embedded': {'max': 47.1, + 'min': 47.1, + 'value': 47.1}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -372,17 +360,15 @@ async def test_drone_mini_verbose(): 'use': 'not implemented'}, 'gwp': {'description': 'Total climate ' 'change', - 'embedded': {'max': 0.79604, - 'min': 0.79604, - 'significant_figures': 5, - 'value': 0.79604}, + 'embedded': {'max': 0.796, + 'min': 0.796, + 'value': 0.796}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption of ' 'primary energy', 'embedded': {'max': 10.6, 'min': 10.6, - 'significant_figures': 5, 'value': 10.6}, 'unit': 'MJ', 'use': 'not implemented'}}, @@ -407,20 +393,18 @@ async def test_drone_mini_verbose(): 'gwp': {'description': 'Total ' 'climate ' 'change', - 'embedded': {'max': 0.15054, - 'min': 0.15054, - 'significant_figures': 5, - 'value': 0.15054}, + 'embedded': {'max': 0.1505, + 'min': 0.1505, + 'value': 0.1505}, 'unit': 'kgCO2eq', 'use': 'not implemented'}, 'pe': {'description': 'Consumption ' 'of ' 'primary ' 'energy', - 'embedded': {'max': 2.4511, - 'min': 2.4511, - 'significant_figures': 5, - 'value': 2.4511}, + 'embedded': {'max': 2.451, + 'min': 2.451, + 'value': 2.451}, 'unit': 'MJ', 'use': 'not implemented'}}, 'units': {'max': 1, @@ -449,15 +433,11 @@ async def test_drone_mini_costume_usage(): assert res.json() == {'adp': {'description': 'Use of minerals and fossil ressources', 'embedded': 'not implemented', 'unit': 'kgSbeq', - 'use': {'max': 4.858e-09, - 'min': 4.858e-09, - 'significant_figures': 5, - 'value': 4.858e-09}}, + 'use': {'max': 4.858e-09, 'min': 4.858e-09, 'value': 4.858e-09}}, 'gwp': {'description': 'Total climate change', - 'embedded': {'max': 0.00043858, - 'min': 0.00043858, - 'significant_figures': 5, - 'value': 0.00043858, + 'embedded': {'max': 0.0004386, + 'min': 0.0004386, + 'value': 0.0004386, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, ' 'datacenter, virtual machines or other ' @@ -465,25 +445,18 @@ async def test_drone_mini_costume_usage(): 'Do not include the impact of ' 'distribution']}, 'unit': 'kgCO2eq', - 'use': {'max': 0.0098, - 'min': 0.0098, - 'significant_figures': 5, - 'value': 0.0098}}, + 'use': {'max': 0.0098, 'min': 0.0098, 'value': 0.0098}}, 'pe': {'description': 'Consumption of primary energy', - 'embedded': {'max': 0.0063371, - 'min': 0.0063371, - 'significant_figures': 5, - 'value': 0.0063371, + 'embedded': {'max': 0.006337, + 'min': 0.006337, + 'value': 0.006337, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, ' 'datacenter, virtual machines or other ' 'terminals not included)', 'Do not include the impact of distribution']}, 'unit': 'MJ', - 'use': {'max': 1.1289, - 'min': 1.1289, - 'significant_figures': 5, - 'value': 1.1289}}} + 'use': {'max': 1.129, 'min': 1.129, 'value': 1.129}}} @pytest.mark.asyncio @@ -505,7 +478,6 @@ async def test_custom_iot(): assert res.json() == {'lu': {'description': 'Land use', 'embedded': {'max': 0.06678, 'min': 0.06678, - 'significant_figures': 5, 'value': 0.06678, 'warnings': ['Connected object, not including associated ' 'digital services (use of network, '