@digital4better/data 1.3.71 → 1.3.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,73 @@
1
- # Facility factors
1
+ # Facility Reference Data
2
2
 
3
3
  Annual environmental impact factors for purchased building energy. Values are expressed per kilowatt-hour (`kWh`). Calorific bases are encoded in factor identifiers (`-pci` or `-pcs`) to keep the shared data contract flat.
4
4
 
5
- ## Electricity
5
+ ## Files
6
+
7
+ | File | Purpose |
8
+ | --- | --- |
9
+ | [factors.json](./factors.json) · [factors.csv](./factors.csv) | Annual electricity and fuel impact factors |
10
+
11
+ ## File Structure and Units
12
+
13
+ JSON is an array of factor objects; CSV has one row per object. A record is identified by the combination of `id`, `location` and `period`, not `id` alone.
14
+
15
+ | Field | Type / unit | Meaning |
16
+ | --- | --- | --- |
17
+ | `id` | Text | Energy or travel-mode identifier. |
18
+ | `location` | Text code | Reference geography, such as `FR` or `EU`. |
19
+ | `period` | Year string (`YYYY`) | Reference period; check whether it is a source year or snapshot year. |
20
+ | `unit` | `kWh` | Purchased energy quantity. This is the denominator for every impact. |
21
+ | `source` | Text | Source name or description. |
22
+ | `sourceUrl` | URL | Source record, API request or underlying dataset. |
23
+ | Impact fields below | Numbers | Environmental impacts per functional unit. |
24
+
25
+ <details>
26
+ <summary>Environmental impact columns and units</summary>
27
+
28
+ | Field | Indicator | Numerator unit |
29
+ | --- | --- | --- |
30
+ | `adpe` | Resource use, minerals and metals | kg Sb eq |
31
+ | `ap` | Acidification | mol H+ eq |
32
+ | `ctue` | Freshwater ecotoxicity | CTUe |
33
+ | `ctuh-c` | Human toxicity, cancer | CTUh |
34
+ | `ctuh-nc` | Human toxicity, non-cancer | CTUh |
35
+ | `gwp` | Climate change | kg CO2 eq |
36
+ | `ir` | Ionising radiation | kBq U-235 eq |
37
+ | `pm` | Particulate matter | disease incidence |
38
+ | `wu` | Water use | m3 world eq |
39
+
40
+ Divide the numerator unit by the record's `unit`: for example, kg CO2 eq/kWh. Water-use equivalents are not physical litres of water. Electricity records expose all nine indicators; fuel records expose GWP only. Missing fields and empty cells mean unavailable, not zero.
41
+
42
+ </details>
43
+
44
+ ## Using the Data
45
+
46
+ Match the factor's location, period and energy basis to your consumption. Multiply each impact factor by energy in kWh. For example, `gwp` is in kgCO2e/kWh. Missing indicators are unavailable, not zero.
47
+
48
+ Fuel IDs ending in `-pci` use the lower calorific value; `-pcs` uses the higher value. Do not mix the two bases.
49
+
50
+ ## Methodology
51
+
52
+ ### Electricity
6
53
 
7
54
  `electricity-grid` records are copied without additional rounding from the generated Digital4Better Data annual factors:
8
55
 
9
56
  - `FR`: [`data/factor/country-yearly.json`](../factor/country-yearly.json), key `FR`;
10
57
  - `EU`: [`data/factor/continent-yearly.json`](../factor/continent-yearly.json), key `Europe`.
11
58
 
12
- All nine supported impacts are retained. Each build synchronizes these records with the freshly generated annual factors, including new periods, and exports both JSON and CSV. Missing or invalid source impacts still fail the build. Combustible factors remain manually maintained.
59
+ All nine supported impacts are retained. Electricity values follow the annual factors; fuel factors use their own source periods.
60
+
61
+ ### Fuels
13
62
 
14
- ## Combustibles
63
+ Fuel totals include combustion and upstream components. Only GWP is published because equivalent values for the other indicators are unavailable.
15
64
 
16
- Combustion factors come from valid generic `Elément` records in ADEME Base Carbone V23.6. The selected total includes the source's combustion and upstream components. Only GWP is published because the source does not expose the other supported impacts on the same perimeter.
65
+ ## Sources and Attribution
66
+
67
+ Electricity uses the Digital4Better annual factors linked above. Fuels use generic records from [ADEME Base Carbone](https://base-empreinte.ademe.fr/), version V23.6. Source years are retained rather than presented as current-year observations.
68
+
69
+ <details>
70
+ <summary>Fuel source records</summary>
17
71
 
18
72
  | Factor | Location | Period | Base Carbone element |
19
73
  | ------------------ | -------- | -----: | -------------------: |
@@ -27,4 +81,8 @@ Combustion factors come from valid generic `Elément` records in ADEME Base Carb
27
81
  | `propane-pci` | EU | 2017 | 13557 |
28
82
  | `wood-pellets-pci` | FR | 2025 | 34942 |
29
83
 
30
- No European wood-pellet factor is published because no equivalent valid generic record was identified. District heating and cooling are intentionally absent: their impacts depend on the local network and require a client-provided factor.
84
+ </details>
85
+
86
+ ## Limitations
87
+
88
+ No European wood-pellet factor is published because no equivalent valid generic record was identified. District heating and cooling are absent: their impacts depend on the local network and require a network-specific factor. Do not substitute another location or energy basis without an explicit methodological choice.
@@ -1,14 +1,62 @@
1
- # Transport factors
1
+ # Transport Reference Data
2
2
 
3
3
  Annual environmental impact factors for employee travel. Values are expressed per passenger-kilometre (`pkm`) for collective and active transport, or per vehicle-kilometre (`vkm`) for individual motor vehicles.
4
4
 
5
- ## Scope
5
+ ## Files
6
6
 
7
- The initial French catalogue comes from the ADEME Impact CO2 transport API. API calls omit `includeConstruction`, so construction impacts are excluded. Aviation values keep radiative forcing because the API default does not set `ignoreRadiativeForcing`.
7
+ | File | Purpose |
8
+ | --- | --- |
9
+ | [factors.json](./factors.json) · [factors.csv](./factors.csv) | Annual travel impact factors by mode |
10
+
11
+ ## File Structure and Units
12
+
13
+ JSON is an array of factor objects; CSV has one row per object. A record is identified by the combination of `id`, `location` and `period`. Use the aviation distance bands below to select a flight factor.
14
+
15
+ | Field | Type / unit | Meaning |
16
+ | --- | --- | --- |
17
+ | `id` | Text | Energy or travel-mode identifier. |
18
+ | `location` | Text code | Reference geography, such as `FR` or `EU`. |
19
+ | `period` | Year string (`YYYY`) | Reference period; check whether it is a source year or snapshot year. |
20
+ | `unit` | `pkm` or `vkm` | Passenger-kilometres or vehicle-kilometres. This is the denominator for every impact. |
21
+ | `source` | Text | Source name or description. |
22
+ | `sourceUrl` | URL | Source record, API request or underlying dataset. |
23
+ | Impact fields below | Numbers | Environmental impacts per functional unit. |
24
+
25
+ <details>
26
+ <summary>Environmental impact columns and units</summary>
27
+
28
+ | Field | Indicator | Numerator unit |
29
+ | --- | --- | --- |
30
+ | `adpe` | Resource use, minerals and metals | kg Sb eq |
31
+ | `ap` | Acidification | mol H+ eq |
32
+ | `ctue` | Freshwater ecotoxicity | CTUe |
33
+ | `ctuh-c` | Human toxicity, cancer | CTUh |
34
+ | `ctuh-nc` | Human toxicity, non-cancer | CTUh |
35
+ | `gwp` | Climate change | kg CO2 eq |
36
+ | `ir` | Ionising radiation | kBq U-235 eq |
37
+ | `pm` | Particulate matter | disease incidence |
38
+ | `wu` | Water use | m3 world eq |
39
+
40
+ Divide the numerator unit by the record's `unit`: for example, kg CO2 eq/pkm. Water-use equivalents are not physical litres of water. The JSON currently exposes GWP only. CSV retains the shared nine-indicator header; unsupported indicators are empty. Missing fields and empty cells mean unavailable, not zero.
41
+
42
+ </details>
43
+
44
+ ## Using the Data
45
+
46
+ Choose the travel mode, location and period, then multiply the factor by distance in its functional unit:
47
+
48
+ - `pkm`: passenger-kilometres for collective and active transport.
49
+ - `vkm`: vehicle-kilometres for individual motor vehicles, regardless of passenger count.
50
+
51
+ For example, `gwp` is kgCO2e/pkm or kgCO2e/vkm. Missing indicators are unavailable, not zero.
8
52
 
9
53
  `location` identifies the geographic context of the reference factor, not the origin or destination of a trip. A French factor may therefore be applied to a cross-border trip when the selected methodology is the ADEME French catalogue; itinerary locations remain usage data managed by the consuming application.
10
54
 
11
- The four aviation records use the official distance bands and are normalized to one kilometre:
55
+ ## Methodology
56
+
57
+ The French catalogue excludes vehicle construction and retains aviation radiative forcing. Source requests omit `includeConstruction` and do not set `ignoreRadiativeForcing`.
58
+
59
+ The four aviation records use the source distance bands and are normalized to one kilometre:
12
60
 
13
61
  | Factor | Impact CO2 distance | Impact CO2 label |
14
62
  | ------------------- | ------------------: | ------------------------- |
@@ -17,7 +65,14 @@ The four aviation records use the official distance bands and are normalized to
17
65
  | `plane-medium-long` | 3,000 km | Avion trajet moyen à long |
18
66
  | `plane-long` | 6,000 km | Avion trajet long |
19
67
 
20
- The other mappings are:
68
+ Average car factors use the source's 2025 model. Other factors use a 2026 source snapshot because a more specific annual validity period is unavailable.
69
+
70
+ ## Sources and Attribution
71
+
72
+ Factors come from the [ADEME Impact CO2 transport API](https://impactco2.fr/outils/transport). The table below preserves source identifiers for verification.
73
+
74
+ <details>
75
+ <summary>Transport source records</summary>
21
76
 
22
77
  | Factor | Impact CO2 ID | Impact CO2 label |
23
78
  | -------------------- | ------------: | -------------------------------------------- |
@@ -43,6 +98,8 @@ The other mappings are:
43
98
  | `bicycle` | 7 | Vélo mécanique |
44
99
  | `electric-bicycle` | 8 | Vélo à assistance électrique |
45
100
 
46
- Average car values use the source's 2025 model. Other values use the 2026 published snapshot because the API does not expose a more specific annual validity period.
101
+ </details>
102
+
103
+ ## Limitations
47
104
 
48
- No European transport value is published in this first version. The Base Carbone entries with an explicit European location do not provide an unambiguous equivalent for the selected professional catalogue and system boundary. French values are never used as an implicit European fallback.
105
+ No equivalent European catalogue is published for the same modes and system boundary. French factors are never used as an implicit European fallback. These are reference averages, not measurements of a particular vehicle or journey.
package/llms-full.txt CHANGED
@@ -147,7 +147,7 @@ Values are shares, normally between 0 and 1, rather than percentages or impact f
147
147
 
148
148
  The provider prefixes are `aws`, `azure`, `gcp`, `oracle`, `ovhcloud` and `scaleway`. Each has `<provider>-regions.json`, `<provider>-vms.json` and `<provider>-hosts.json`, with matching CSV files. Shared [cpus.json](./data/cloud/cpus.json) and [accelerators.json](./data/cloud/accelerators.json) describe hardware. JSON roots are arrays of records. Provider catalogs describe reference offerings and may include historical entries, not a real-time availability check.
149
149
 
150
- The [cloud reference notes](./data/cloud/README.md) record refresh scope, source URLs, capacity units, limitations and approved before/after corrections. Git history provides the per-record changes. Old identifiers are retained even when offers retire. New unverified fields are omitted (empty CSV cells), never silently filled with zero or a neighboring offer's values. A missing coordinate prevents map placement, not use in tables; a missing environmental factor prevents that calculation unless a separately justified fallback is chosen.
150
+ The [cloud reference notes](./data/cloud/README.md) explain file selection, capacity units, manufacturing-impact allocation, assumption codes, sources and limitations. Git history and the linked audit artifacts retain individual changes. Old identifiers remain available when offers retire. Unverified hardware specifications and regional metrics are omitted (empty CSV cells), not silently replaced with zero. Manufacturing impacts use documented modeling assumptions. A missing coordinate prevents map placement, not use in tables; a missing environmental factor prevents that calculation unless a separately justified fallback is chosen.
151
151
 
152
152
  ### Regions
153
153
 
@@ -173,11 +173,11 @@ Host catalogs (JSON and matching flat CSV): [aws](./data/cloud/aws-hosts.json) /
173
173
 
174
174
  ### Machines and hardware
175
175
 
176
- Machine fields include `id`, `name`, `family`, `category`, `vcpus`, `ocpus`, `memory`, `ssd`, `hdd`, `cpu`, `accelerator`, `accelerators`, `virtual`, `embodied`, `embodied_allocated`, `host`, `host_share` and `host_instances`. Some catalogs include bare metal or managed-service references. Native GB/GiB capacity conventions are retained, not globally converted. Optional network disks are excluded. Fractional accelerator quantities describe instance allocations, not fractional physical boards.
176
+ Machine fields include `id`, `name`, `family`, `category`, `vcpus`, `ocpus`, `memory`, `ssd`, `hdd`, `cpu`, `accelerator`, `accelerators`, `virtual`, `embodied`, `embodied_allocated`, `host` and `host_instances`. Some catalogs include bare metal or managed-service references. Native GB/GiB capacity conventions are retained, not globally converted. Optional network disks are excluded. Fractional accelerator quantities describe instance allocations, not fractional physical boards.
177
177
 
178
178
  **Deprecated VM field:** `embodied` retains previously published values unchanged. For records missing that field at migration, it equals the new `embodied_allocated`. Its historical scope is heterogeneous; do not assume it is consistently host-level or VM-level and do not use it as the denominator for allocation. Both impact fields are populated for every instance. New calculations should use `embodied_allocated`, in tCO2e per instance reservation over the modeled host lifetime, before any time amortization. Do not apply the host share twice.
179
179
 
180
- `host` references an `id` in the same provider's `<provider>-hosts.json`. Host `embodied` is NOT deprecated: it is the total modeled physical-host manufacturing impact in tCO2e. `host_share` is the fraction of that impact assigned to the instance; `host_instances` is the modeled maximum number of identical instances per host. The relationship is `embodied_allocated = host.embodied * host_share` (rounding tolerance 1e-10 tCO2e), and `host_share = 1 / host_instances`. Bare metal and explicit dedicated-equivalent fallbacks use one.
180
+ `host` references an `id` in the same provider's `<provider>-hosts.json`. Host `embodied` is NOT deprecated: it is the total modeled physical-host manufacturing impact in tCO2e. `host_instances` is the modeled maximum number of identical instances per host, not observed occupancy. The relationship is `embodied_allocated = host.embodied / host_instances` (rounding tolerance 1e-10 tCO2e). Bare metal and explicit dedicated-equivalent fallbacks use one.
181
181
 
182
182
  Host profiles contain `id`, `provider`, `name`, `basis`, `method`, `vcpus`, `memory`, `sockets`, optional `cpu` references, `ssd_count`, `hdd_count`, optional local `ssd_capacity`/`hdd_capacity`, optional `accelerator`, `accelerators`, `accelerator_memory`, `embodied`, `sources` and `assumptions`. Counts refer to modeled physical components; capacities retain the associated provider's numerical convention. `accelerator_memory` is GB per modeled accelerator. These are calculation profiles, not a verified physical-server inventory. CPU lists are alternatives, not socket counts. `sources` contains URLs; `assumptions` contains short enum codes defined in the [cloud reference notes](./data/cloud/README.md#assumption-codes), not prose. Flat CSV joins both arrays with ` | `. Other optional hardware fields can still be absent.
183
183
 
package/llms.txt CHANGED
@@ -32,4 +32,4 @@ Before reporting missing data, inspect the relevant collection and check the exa
32
32
  - [Website documentation index](https://digital4better.github.io/data/llms.txt): Bilingual collection pages and guides for the current website snapshot.
33
33
  - [Website catalog](https://digital4better.github.io/data/catalog.json): Current published dataset metadata and download URLs; check against the installed package before use.
34
34
 
35
- For cloud instances, prefer `embodied_allocated`; VM `embodied` is deprecated. Resolve `host` in the same provider's `*-hosts.json`. Host impacts and instance impacts are distinct; read the full reference before applying lifetime allocation.
35
+ For cloud instances, prefer `embodied_allocated`; VM `embodied` is deprecated. Resolve `host` in the same provider's `*-hosts.json`. `host_instances` is the modeled maximum number of identical instances per host; allocated impact equals host impact divided by this count. Read the full reference before applying lifetime allocation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digital4better/data",
3
- "version": "1.3.71",
3
+ "version": "1.3.72",
4
4
  "description": "Digital4Better Open Data",
5
5
  "license": "ODbL-1.0",
6
6
  "repository": {
@@ -44,6 +44,6 @@
44
44
  "llms-full.txt",
45
45
  "LICENSE"
46
46
  ],
47
- "releaseDate": "2026-11-11T16:27:29.995Z",
47
+ "releaseDate": "2026-11-11T17:14:01.357Z",
48
48
  "packageManager": "yarn@1.22.21+sha512.ca75da26c00327d26267ce33536e5790f18ebd53266796fbb664d2a4a5116308042dd8ee7003b276a20eace7d3c5561c3577bdd71bcb67071187af124779620a"
49
49
  }