@digital4better/data 1.3.71 → 1.3.73

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,189 +1,213 @@
1
- # Cloud Reference Notes
1
+ # Cloud Reference Data
2
2
 
3
- These catalogs retain historical regions and machine types, including retired offers. An entry is a reference configuration, not a promise of current capacity or availability in every region. A cloud region can contain several datacenters; Scaleway entries use availability-zone identifiers.
3
+ Cloud regions, virtual machines, modeled hosts, CPUs and accelerators for AWS, Azure, GCP, Oracle, OVHcloud and Scaleway. Historical offers are retained; an entry does not guarantee current availability.
4
4
 
5
- ## November 2026 Refresh
5
+ ## Files
6
6
 
7
- Reviewed on **2026-11-10**, against the official public catalogs below. This README records sources, capacity units, limitations and approved corrections; the Git history identifies individual additions and changes.
7
+ Each provider has separate region, VM and host catalogs, available as JSON and flat CSV.
8
8
 
9
- | Provider | Machine additions | Region/zone additions | Main coverage |
10
- | --- | ---: | ---: | --- |
11
- | AWS | 241 | 0 | M/C/R9g, Intel network/EBS variants, T8i, G7 and missing sizes in existing families |
12
- | Azure | 316 | 1 | Intel v7, AMD variants, confidential VMs, storage, GPU and memory families; Southeast Asia 3 |
13
- | GCP | 203 | 3 | N4A/N4D, C4N, M4/M4N, X5, Z4M/Z4D and fractional G4; Bangkok, Stockholm and Queretaro |
14
- | Oracle | 6 | 0 | Fixed bare-metal Ax shapes, RTX PRO and B300 |
15
- | OVHcloud | 11 | 0 | H200 and missing historical T1/T2 GPU sizes |
16
- | Scaleway | 80 | 3 | BASIC2/3, STANDARD2/3, COMPUTE3, MEMORY3, POP2 intermediate sizes and B300; Milan zones |
9
+ | Provider | Regions | VMs | Hosts |
10
+ | --- | --- | --- | --- |
11
+ | AWS | [JSON](./aws-regions.json) · [CSV](./aws-regions.csv) | [JSON](./aws-vms.json) · [CSV](./aws-vms.csv) | [JSON](./aws-hosts.json) · [CSV](./aws-hosts.csv) |
12
+ | Azure | [JSON](./azure-regions.json) · [CSV](./azure-regions.csv) | [JSON](./azure-vms.json) · [CSV](./azure-vms.csv) | [JSON](./azure-hosts.json) · [CSV](./azure-hosts.csv) |
13
+ | GCP | [JSON](./gcp-regions.json) · [CSV](./gcp-regions.csv) | [JSON](./gcp-vms.json) · [CSV](./gcp-vms.csv) | [JSON](./gcp-hosts.json) · [CSV](./gcp-hosts.csv) |
14
+ | Oracle | [JSON](./oracle-regions.json) · [CSV](./oracle-regions.csv) | [JSON](./oracle-vms.json) · [CSV](./oracle-vms.csv) | [JSON](./oracle-hosts.json) · [CSV](./oracle-hosts.csv) |
15
+ | OVHcloud | [JSON](./ovhcloud-regions.json) · [CSV](./ovhcloud-regions.csv) | [JSON](./ovhcloud-vms.json) · [CSV](./ovhcloud-vms.csv) | [JSON](./ovhcloud-hosts.json) · [CSV](./ovhcloud-hosts.csv) |
16
+ | Scaleway | [JSON](./scaleway-regions.json) · [CSV](./scaleway-regions.csv) | [JSON](./scaleway-vms.json) · [CSV](./scaleway-vms.csv) | [JSON](./scaleway-hosts.json) · [CSV](./scaleway-hosts.csv) |
17
17
 
18
- No existing identifiers were removed or renamed. Existing records were left unchanged except these reviewed RAM corrections:
18
+ Shared hardware references: CPUs ([JSON](./cpus.json), [CSV](./cpus.csv)) and accelerators ([JSON](./accelerators.json), [CSV](./accelerators.csv)).
19
19
 
20
- | Provider / machine | Previous RAM | Corrected RAM | Official evidence |
21
- | --- | ---: | ---: | --- |
22
- | AWS `d2.8xlarge` | 36 | 244 GiB | [EC2 storage specifications](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html) |
23
- | OVHcloud `a10-45` | 45 | 42 GB | [Public Cloud prices](https://www.ovhcloud.com/en/public-cloud/prices/) |
24
- | OVHcloud `a10-90` | 90 | 85 GB | [Public Cloud prices](https://www.ovhcloud.com/en/public-cloud/prices/) |
25
- | OVHcloud `a10-180` | 180 | 170 GB | [Public Cloud prices](https://www.ovhcloud.com/en/public-cloud/prices/) |
20
+ ## File Structure and Units
26
21
 
27
- ## Verified Values And Missing Fields
22
+ Every JSON file contains an array of objects; its CSV counterpart has one row per object. Optional fields may be absent or empty. Some historical numeric values are decimal strings: preserve their value when parsing. Hardware zeros can be legacy placeholders rather than verified measurements.
28
23
 
29
- - Hardware specifications come from provider/manufacturer documents or explicitly identified observations below. Unknown specifications and environmental indicators remain absent, not zero. Manufacturing-impact fields are modeled exceptions: the allocation method, legacy compatibility and fallback profiles are documented below. CSV exports represent omissions as empty cells.
30
- - CPU and GPU descriptions may be available in the linked provider specifications even when a matching hardware identifier is not available in the shared catalog. Do not substitute a different chip merely because its generation is similar.
31
- - Capacity numbers retain the provider's published scale, as existing catalogs do. **GB and GiB are not interchangeable**: consult the unit table below for this refresh. TB and TiB totals are reduced to GB and GiB respectively; historical values were not globally converted.
32
- - `ssd`/`hdd` describe included local storage, not the maximum attachable network disks. Optional disk capacity is not assumed to be installed. Azure per-device quantities are multiplied only where the provider's table definitions establish that interpretation; ambiguous totals remain absent.
33
- - Fractional accelerator values, such as `0.125`, represent a documented GPU slice, not that many physical boards. Bare-metal configurations have `virtual: false`.
34
- - The new regions/zones have verified identities and city/country locations, but no newly inferred coordinates. Without coordinates they remain usable in tables/downloads but are not plotted on the map.
35
- - New GCP regions Stockholm and Queretaro have the regional CFE fraction published by Google. Bangkok has no verified value in that table. PUE/WUE and Scaleway Milan sustainability values remain absent where no regional disclosure was verified.
24
+ <details>
25
+ <summary>Regions: identifiers, locations and environmental indicators</summary>
26
+
27
+ | Field | Type / unit | Meaning |
28
+ | --- | --- | --- |
29
+ | `id`, `name`, `provider` | Text | Region identifier, display name and provider. |
30
+ | `location` | Text | Locality, not a datacenter address. |
31
+ | `country`, `subdivision` | Text codes | Geographic identifiers; country codes generally use lowercase ISO alpha-2. |
32
+ | `lat`, `lon` | Decimal degrees | Approximate latitude and longitude. |
33
+ | `pue` | Dimensionless ratio | Facility energy divided by IT energy. |
34
+ | `wue` | L/kWh | Water usage per IT energy; check the source boundary. |
35
+ | `ref` | Fraction, 0 to 1 | Renewable-energy reference or documented CFE proxy. |
36
+ | `aliases` | String array | Alternative region identifiers (JSON-only). |
37
+ | `partition` | Text | Provider partition, when specified (JSON-only). |
38
+ | `sources`, `notes` | URL array / text | Evidence and interpretation limits (JSON-only). |
36
39
 
37
- ## Host Profiles And Instance Manufacturing Impact
40
+ </details>
38
41
 
39
- Each provider has a separate host catalog and flat CSV:
42
+ <details>
43
+ <summary>VMs: capacity and allocated manufacturing impact</summary>
40
44
 
41
- | Provider | JSON | CSV |
45
+ | Field | Type / unit | Meaning |
42
46
  | --- | --- | --- |
43
- | aws | [aws-hosts.json](./aws-hosts.json) | [aws-hosts.csv](./aws-hosts.csv) |
44
- | azure | [azure-hosts.json](./azure-hosts.json) | [azure-hosts.csv](./azure-hosts.csv) |
45
- | gcp | [gcp-hosts.json](./gcp-hosts.json) | [gcp-hosts.csv](./gcp-hosts.csv) |
46
- | oracle | [oracle-hosts.json](./oracle-hosts.json) | [oracle-hosts.csv](./oracle-hosts.csv) |
47
- | ovhcloud | [ovhcloud-hosts.json](./ovhcloud-hosts.json) | [ovhcloud-hosts.csv](./ovhcloud-hosts.csv) |
48
- | scaleway | [scaleway-hosts.json](./scaleway-hosts.json) | [scaleway-hosts.csv](./scaleway-hosts.csv) |
47
+ | `id`, `name`, `family`, `category` | Text | Identifier, offer name, family and usage category. |
48
+ | `vcpus` | Count | Virtual CPUs, not necessarily physical cores. |
49
+ | `memory` | GB or GiB | Instance RAM in the source convention; see Capacity Units below. |
50
+ | `ssd`, `hdd` | GB or GiB | Included local storage capacity, not drive count. |
51
+ | `cpu` | ID or array of IDs | Alternative CPU references; CSV joins arrays with commas. |
52
+ | `accelerator` | ID | Reference in `accelerators.json`. |
53
+ | `accelerators` | Count, possibly fractional | Allocated accelerator units; slices need not be whole boards. |
54
+ | `embodied_allocated` | tCO2e | Manufacturing impact allocated to this instance before time amortization. |
55
+ | `embodied` | tCO2e | Deprecated compatibility value; historical allocation scope varies. |
56
+ | `host` | ID | Profile in the same provider's host catalog. |
57
+ | `host_instances` | Positive integer | Maximum modeled number of identical instances per host. |
58
+ | `virtual` | Boolean | `false` for bare metal (JSON-only). |
59
+ | `provider`, `shape` | Text | Provider or original shape, when specified (JSON-only). |
60
+ | `ocpus` | Oracle OCPU count | Provider allocation unit; conversion to vCPUs depends on platform (JSON-only). |
61
+ | `flex` | Boolean | A selected configuration of a flexible shape (JSON-only). |
49
62
 
50
- 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.
63
+ </details>
51
64
 
52
- **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.
65
+ <details>
66
+ <summary>Hosts: modeled physical capacity and manufacturing impact</summary>
53
67
 
54
- `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.
68
+ | Field | Type / unit | Meaning |
69
+ | --- | --- | --- |
70
+ | `id`, `name`, `provider` | Text | Host profile identifier, label and provider. |
71
+ | `basis`, `method` | Text codes | Profile origin and calculation version. |
72
+ | `vcpus` | Count | Modeled allocatable vCPU capacity. |
73
+ | `memory` | GB or GiB | Modeled host RAM, retaining the source convention. |
74
+ | `sockets` | Integer count | Modeled physical CPU sockets. |
75
+ | `cpu` | Array of IDs | Alternative CPU references; CSV joins them with commas. |
76
+ | `ssd_count`, `hdd_count` | Integer counts | Modeled physical drives. |
77
+ | `ssd_capacity`, `hdd_capacity` | GB or GiB | Known local storage capacities used as allocation limits. |
78
+ | `accelerator`, `accelerators` | ID / integer count | Accelerator reference and modeled board count. |
79
+ | `accelerator_memory` | GB per board | Memory used by the manufacturing model. |
80
+ | `embodied` | tCO2e | Whole-host manufacturing impact; this field is not deprecated on hosts. |
81
+ | `sources`, `assumptions` | URL array / code array | Evidence and modeling choices; CSV uses ` | ` between items. |
55
82
 
56
- 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. JSON sources/assumptions are arrays; flat CSV joins them with ` | `. Other optional hardware fields can still be absent.
83
+ </details>
57
84
 
58
- ### Assumption Codes
85
+ <details>
86
+ <summary>CPUs and accelerators: shared hardware references</summary>
59
87
 
60
- `assumptions` is an array of enum codes, not free text. Numeric choices live in the host fields; evidence URLs live in `sources`. Several codes can apply to one profile. Profiles and their IDs describe modeled hardware, not a methodology author.
88
+ | Field | Type / unit | Meaning |
89
+ | --- | --- | --- |
90
+ | `id`, `manufacturer`, `serie`, `model` | Identifiers / labels | Component identity; some historical model labels are numeric. |
91
+ | `architecture`, `platform` | Text | Architecture (CPU) and platform/generation. |
92
+ | `type` | Text | Accelerator class, such as GPU, ASIC or FPGA. |
93
+ | `cores`, `threads` | Counts | Hardware cores and CPU threads; accelerator cores are not CPU-equivalent. |
94
+ | `memory` | GB | Accelerator memory; verify whether the reference describes a chip or a multi-chip board. |
95
+ | `tdp` | W | Thermal design envelope, not measured workload power. |
96
+ | `process` | nm convention | Reported process node, not a measured physical feature size. |
97
+ | `die` | mm2 | Reported die area; legacy chiplet/package boundaries can differ. |
98
+ | `transistors` | Millions | Reported transistor count. |
99
+ | `smp` | Socket count | CPU maximum socket support, not installed host sockets. |
61
100
 
62
- | Code | Meaning |
63
- | --- | --- |
64
- | `historical-host` | Historical source configuration, not inferred from the previous impact. |
65
- | `cpu-proxy` | Instance CPU references are model inputs, not verified host inventory. |
66
- | `max-impact` | Highest allocated result among compatible modeled candidates, not a proven upper bound. |
67
- | `published-sockets` | Socket count from a compatible dedicated-host family. |
68
- | `inferred-sockets` | Sockets inferred from CPU capacity, with architecture defaults when unknown. |
69
- | `baremetal-proxy` | Bare-metal resources proxy the host; placement and reserved capacity remain unknown. |
70
- | `family-proxy` | Compatible family configuration proxies the host; actual deployment is unverified. |
71
- | `largest-size-vcpu` | Largest matching SKU supplies the vCPU envelope, without another SMT multiplier. |
72
- | `catalog-proxy` | Largest matching SKU proxies the host, using exposed RAM and inferred components. |
73
- | `dedicated-host-proxy` | Published dedicated-host capacity proxies ordinary VM hosting. |
74
- | `sole-tenant-proxy` | Published sole-tenant capacity and sockets proxy ordinary VM hosting. |
75
- | `dedicated-fallback` | Unknown mapping: dedicated-equivalent envelope allocated at 100%. |
76
- | `desktop-fallback` | Rack-equivalent desktop proxy, not a product LCA or proven upper bound. |
77
- | `one-ssd` | One physical local SSD assumed; guest partitions are not physical drives. |
78
- | `one-hdd` | One physical local HDD assumed; actual count is unknown. |
79
- | `storage-proxy` | Physical drive count is modeled, not the guest partition count. |
80
- | `non-gpu-proxy` | ASIC/FPGA uses GPU board/memory coefficients and board-equivalent quantities. |
81
- | `accelerator-memory-default` | Unknown accelerator memory uses a 16 GB placeholder. |
82
- | `gpu-host-proxy` | Full GPU-family configuration proxies the host; numeric assumptions are in its fields. |
83
- | `hbm-ram-proxy` | HBM uses the ordinary RAM coefficient. |
84
- | `installed-ram-proxy` | Installed RAM is modeled from the family envelope, not guest-available RAM. |
85
- | `storage-pools` | Diskless and local-storage variants use separate modeled host pools. |
86
- | `cpu-generation-proxy` | Host envelope is specific to the modeled CPU generation. |
87
- | `interconnect-excluded` | Additional interconnect hardware is excluded. |
88
- | `installed-vram` | Installed GPU memory replaces guest-usable memory. |
89
- | `remote-storage-excluded` | Remote block storage is excluded from host manufacturing impact. |
101
+ </details>
102
+
103
+ ## Using the Data
90
104
 
91
- `basis` summarizes the profile origin: `historical-source-reconstruction`, `family-bare-metal-proxy`, `documented-host-reconstruction`, `documented-host-proxy`, `explicit-refresh-scenario`, `catalog-family-scenario`, `dedicated-equivalent-fallback` or `desktop-rack-equivalent`. `method` identifies the calculation version (`d4b-host-v1`).
105
+ - Join a VM's `host` to an `id` in the same provider's host catalog. CPU and accelerator IDs refer to the shared hardware catalogs.
106
+ - **Use VM `embodied_allocated` for manufacturing impact**, in tCO2e before lifetime/time amortization. Host `embodied` describes the whole modeled host.
107
+ - **VM `embodied` is deprecated.** Previously populated values are retained; previously missing values use the allocated impact. Its historical scope is inconsistent: do not assume it always describes a host or a VM.
108
+ - Missing properties and empty CSV cells mean unavailable data, not zero. Regions without coordinates are usable in downloads but not plotted on the map.
109
+ - CPU arrays list alternative processors, not socket counts. Fractional accelerator quantities describe VM allocations; host counts describe physical board equivalents. Bare metal uses `virtual: false`.
110
+ - `ssd` and `hdd` describe included local storage, not optional network disks. Host `sources` and `assumptions` arrays are joined with ` | ` in CSV.
92
111
 
93
- ### Calculation And Allocation
112
+ ### Capacity Units
94
113
 
95
- The Digital4Better method `d4b-host-v1` adapts the historical Teads / Benjamin Davy coefficients: [original article](https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac), [Scope 3 Ratios spreadsheet](https://docs.google.com/spreadsheets/d/1DqYgQnEDLQVQm5acMAhLgHLD8xXCG9BIrk-_Nv6jF3k/edit), CC BY 4.0. It is our own method, not Teads certification. Host kgCO2e = 1000 + max(0, RAM - 16) * 1.3869 + (sockets - 1) * 100 + SSD count * 100 + HDD count * 50 + accelerator count * (150 + max(0, accelerator_memory - 16) * 1.3869). Divide by 1000 for tCO2e. The VRAM extension and use of the same board/memory proxy for ASIC/FPGA are explicit D4B approximations, not manufacturer LCAs. Unknown accelerator memory uses a documented 16 GB placeholder. No Boavizta factors or legacy embodied donors are used in the new calculation.
114
+ Capacity numbers retain their source convention: **GB and GiB are not interchangeable**. The following conventions apply to reviewed specifications, not every historical entry.
115
+
116
+ | Provider | RAM | Local storage |
117
+ | --- | --- | --- |
118
+ | AWS | GiB | GB |
119
+ | Azure | Mostly GiB; some series publish GB | GB or GiB depending on series |
120
+ | GCP | GB | GiB |
121
+ | Oracle | GB | GB |
122
+ | OVHcloud | GB | GB |
123
+ | Scaleway | GiB | Check the individual source |
96
124
 
97
- Allocation assumes homogeneous packing: N is the integer floor of the minimum host/instance CPU, RAM and accelerator capacity ratios, also constrained by known local storage capacity and documented placement limits. All residual host impact is divided by N. This is at least as high as proportional CPU/component allocation for the same profile; it does not assume an arbitrary 50% fleet occupancy. Among explicitly compatible candidate hosts, select the highest allocated impact, not the largest server independently. Real heterogeneous placement, utilization and idle-capacity attribution can differ.
125
+ Azure GB RAM exceptions include Dnsv6, Dnlsv6, Ensv6, HBv5, Esv7, Ebsv6, Ebdsv6, Ecasv6 and Ecadsv6. Local storage is GB for Lsv4, Lasv4 and Lasv5/Laosv5; GiB for Ddsv7, Dldsv7, Daldsv7, Dcadsv6, Famdsv7 and Faldsv7. TB/TiB totals are reduced to GB/GiB respectively.
98
126
 
99
- Where mapping is unknown, managed services use an explicit dedicated-equivalent envelope with 100% attribution. Apple desktops use a documented rack-equivalent proxy, not an Apple LCA. Both are deliberately conservative policies, not proven physical upper bounds. Other family profiles may use a largest-size proxy or inferred sockets. Read each host's `basis` and `assumptions`; populated values do not mean verified hardware. The original coefficients are dated, and network/rack interconnects and process-node differences are not separately modeled. Apply lifetime/time allocation separately when computing a usage-period footprint.
127
+ Region `pue` is a ratio, `wue` is L/kWh and `ref` is a fraction. Reporting boundaries differ: Google's CFE fraction is not interchangeable with renewable-energy matching. AWS `ref = 0` and Oracle `wue = 0` are dataset conventions, not verified absence of renewable energy or water use. See the [full reference](https://digital4better.github.io/data/llms-full.txt) for provider-specific rules.
100
128
 
101
- For example, the modeled Azure Dsv6-Type1 host has 192 vCPUs, 1024 GiB RAM and two assumed sockets, giving 2.4979952 tCO2e. Microsoft's [Dsv6-Type1 packing table](https://learn.microsoft.com/en-us/azure/virtual-machines/dedicated-hosts/general-purpose-skus#dsv6) limits D2s_v6 to 32 instances: `host_instances = 32`, `host_share = 1/32`, and `embodied_allocated = 0.07806235` tCO2e. D16s_v6 has a limit of 12 and receives approximately 0.2081662667 tCO2e. The host includes two modeled sockets; the page does not independently confirm that socket count.
129
+ ## Methodology
102
130
 
103
- Host vCPU capacity means the allocatable envelope, not a guessed core count multiplied by SMT. The 16 GB RAM baseline remains inside the 1000 kg host base. Source GB/GiB numerical conventions are retained for continuity; they are not asserted equivalent units. A local virtual disk is not automatically a physical drive. Capacity limits are applied only where represented by a coherent profile, and missing hardware facts remain assumptions rather than new claims in the VM records.
131
+ The D4B method `d4b-host-v1` estimates host manufacturing impact from its modeled components:
104
132
 
105
- ### Provenance And Migration
133
+ ```text
134
+ host kgCO2e = 1000
135
+ + (RAM - 16) × 1.3869
136
+ + (sockets - 1) × 100
137
+ + SSD count × 100
138
+ + HDD count × 50
139
+ + accelerator count × (150 + max(0, accelerator memory - 16) × 1.3869)
106
140
 
107
- The [pinned inputs](https://github.com/digital4better/data/blob/main/scripts/cloud-host-inputs.json) retain the pre-migration legacy values (including missing ones), the exact source host/placement mappings and reviewed profiles. The [calculator](https://github.com/digital4better/data/blob/main/scripts/cloud-hosts.cjs) reproduces all host and allocated impacts and refuses to alter a populated legacy value. Maintenance scripts and snapshots are outside the published datasets; the provider host JSON/CSV files are public reference datasets.
141
+ embodied_allocated = host.embodied / host_instances
142
+ ```
108
143
 
109
- Legacy compatibility is intentional: `embodied` is deprecated only on VM records. Historical values remain unchanged even when they disagree with the new method; previously missing values receive the new allocated impact in both columns. Consumers must opt into `embodied_allocated`; this is not a silent change to every old calculation. The old gap-filling experiment and comparative reports remain historical analyses, not the active publishing method.
144
+ Host RAM is at least 16 GB; the base already includes those 16 GB and one socket. Divide kgCO2e by 1000 for tCO2e. Accelerator memory is per modeled board. The VRAM extension and its application to ASIC/FPGA are D4B approximations; unknown accelerator memory uses a documented 16 GB placeholder.
110
145
 
111
- ## Hardware Corrections Reviewed Before Embodied Recalculation
146
+ `host_instances` is the maximum modeled number of **identical** VMs fitting the host, constrained by CPU, RAM, accelerators, known local storage and documented placement limits. The whole host impact, including unused capacity, is divided among those instances. Bare metal and dedicated-equivalent fallbacks use one. Do not allocate the host share a second time or treat this count as observed occupancy.
112
147
 
113
- The November 11 review corrects documented hardware inputs without changing populated legacy `embodied` values. The [correction log](https://github.com/digital4better/data/blob/main/scripts/cloud-hardware-corrections.json) retains each identifier, previous value, replacement and official source outside the published datasets. Historical identifiers are retained, including retired VM sizes.
148
+ Among compatible modeled hosts, the method selects the highest per-instance impact. This is a conservative policy, not a proven physical upper bound.
114
149
 
115
- | Scope | Correction | Official evidence |
116
- | --- | --- | --- |
117
- | AWS P6e-GB200 | 4 GPUs rather than 36; local SSD capacity is 3 x 7500 GB rather than zero | [EC2 accelerated instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html) |
118
- | Azure M8ms / M16ms | RAM 218.75 / 437.5 GiB, without integer rounding | [M series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/m-series) |
119
- | Azure Mv3 high memory | M416ds/s_6 RAM 5696 GiB; M832ds_12 and M832ids_16 RAM 11400 / 15200 GiB (previously reversed) | [Mdsv3](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/mdsv3-hm-series), [Msv3](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/msv3-hm-series) |
120
- | Azure NCasT4_v3 | EPYC 7V12 rather than 9V74; NC64 RAM 440 GiB; local SSD capacity follows each official size | [NCasT4_v3](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/ncast4v3-series) |
121
- | Azure NDm A100 / ND MI300X | RAM 1900 / 1850 GiB; A100 local SSD 6400 GiB | [NDm A100](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/ndma100v4-series), [ND MI300X](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/ndmi300xv5-series) |
122
- | Azure NP | RAM 168 / 336 / 672 GiB and local SSD 736 / 1474 / 2948 GiB | [NP series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/fpga-accelerated/np-series) |
123
- | Azure NV | NV6 / NV12 / NV24 allocate 0.5 / 1 / 2 of the catalog's 16 GB dual-GPU M60 boards | [NV series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nv-series) |
124
- | GCP X4 | Xeon Platinum 8490H rather than 8477C | [CPU platforms](https://docs.cloud.google.com/compute/docs/cpu-platforms?hl=en) |
150
+ **Example:** a modeled Azure Dsv6-Type1 host has an impact of 2.4979952 tCO2e. Microsoft's [placement table](https://learn.microsoft.com/en-us/azure/virtual-machines/dedicated-hosts/general-purpose-skus#dsv6) allows 32 D2s_v6 instances, giving 0.07806235 tCO2e per instance. The profile assumes two sockets; the table does not independently verify them.
125
151
 
126
- Native provider capacity units are retained; these are not GB/GiB conversions. Old AWS M1/R3/T1 RAM values are retained where the current documentation merely rounds them. The inconsistent storage-unit labels on the ND MI300X page are not used to silently change its SSD capacity. These targeted corrections do not certify that all remaining hardware or physical-host assumptions are verified. The new allocated field uses the explicit host profiles and limitations described above.
152
+ ### Assumption Codes
127
153
 
128
- ## CPU And Accelerator References
154
+ `basis` describes the profile's origin; `method` identifies the calculation version. `assumptions` contains short codes, while numeric choices remain in the host fields and evidence URLs in `sources`.
129
155
 
130
- References added in this pass distinguish an exact SKU from a published processor family. Family-only entries (`amd-epyc-9004`, `intel-xeon-sapphire-rapids`, `intel-xeon-granite-rapids-ap`) intentionally omit unverified core counts, TDP and silicon characteristics. `intel-xeon-6-72c-oracle` describes the documented 72-core CPU class, not a guessed commercial SKU. CPU arrays list supported alternatives, not the number of installed sockets. New unknown hardware properties are omitted rather than populated with zero. Intel's marketed "Intel 3" process name is not converted into an asserted physical 3 nm feature size.
156
+ <details>
157
+ <summary>Assumption code glossary</summary>
131
158
 
132
- | Reference / mapping | Evidence and limits |
159
+ | Code | Meaning |
133
160
  | --- | --- |
134
- | AWS M/C/R9g -> `aws-graviton-5` | [EC2 general-purpose specifications](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html), [Amazon Science](https://www.amazon.science/blog/graviton5s-improved-design-increases-speed-and-energy-efficiency-beyond-moores-law): 192 cores, Neoverse V3. |
135
- | AWS Mac variants -> `apple-m3-ultra-28`, `apple-m4-max-16` | [EC2 specifications](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html) identify the specific 28/16-core variants. No inferred TDP. |
136
- | AWS M7i-flex / C7i-flex -> Xeon 8488C | [AWS general-purpose](https://aws.amazon.com/ec2/instance-types/general-purpose/) and [compute-optimized](https://aws.amazon.com/ec2/instance-types/compute-optimized/) pages. Recouped with [Vantage](https://instances.vantage.sh/aws/ec2/m7i-flex.xlarge) and [Cloud Mercato](https://pcr.cloud-mercato.com/providers/aws/flavors/m7i-flex.8xlarge). Trainium2's CPU remains at the published Sapphire Rapids family level. |
137
- | Azure new Intel D/E v7 -> `intel-xeon-6973pc`; other new series -> 8573C / 8490H / published family | The per-series Microsoft specification links below identify the CPU. No retail SKU substituted for unpublished custom parts. |
138
- | GCP C4 -> 6985P-C or 8581C | [Google CPU platforms](https://docs.cloud.google.com/compute/docs/cpu-platforms), [C4 configurations](https://docs.cloud.google.com/compute/docs/general-purpose-machines): local-SSD, bare-metal and 144/288-vCPU variants use Granite Rapids; other new C4 variants use Emerald Rapids. |
139
- | GCP C4A / N4A -> Axion V2 / N3; N4D, Z4D, H4D and G4 -> EPYC 9B45 | [Google CPU platforms](https://docs.cloud.google.com/compute/docs/cpu-platforms). Existing `google-axion.platform` corrected from `neoverse n2` to `neoverse v2`; N4A gets a distinct `google-axion-n3` reference. Other historical Axion fields were not revalidated. |
140
- | GCP M4/M4N, C4N, Z4M -> 8581C; Z3 -> 8481C; X5 -> 6788P | [Google CPU platforms](https://docs.cloud.google.com/compute/docs/cpu-platforms), [Intel 6788P](https://www.intel.com/content/www/us/en/products/sku/241837/intel-xeon-6788p-processor-336m-cache-2-00-ghz/specifications.html). |
141
- | OCI Ax -> 6987P-C / AmpereOne M 192-36M; RTX PRO -> Xeon 6 72-core class | [Oracle shape specifications](https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm). A4 Ax is not assigned the A06-36M used by non-Ax A4. |
142
- | Scaleway generation 3 -> EPYC 9555P; generation 2 Arm -> M128-30; B300 -> Xeon 6776P | [Scaleway datasheet](https://www.scaleway.com/en/docs/instances/reference-content/instances-datasheet/), [AMD 9555P](https://www.amd.com/en/products/processors/server/epyc/9005-series/amd-epyc-9555p.html), [Intel 6776P](https://www.intel.com/content/www/us/en/products/sku/243691/intel-xeon-6776p-processor-336m-cache-2-30-ghz/specifications.html). |
143
- | OVHcloud T1 -> Xeon Silver 4214; T2 / T2-LE -> Xeon Gold 6226R | Observed guest CPU models from Spare Cores: [T1-45](https://sparecores.com/server/ovh/t1-45), [T1-90](https://sparecores.com/server/ovh/t1-90), [T1-180](https://sparecores.com/server/ovh/t1-180), [T2-45](https://sparecores.com/server/ovh/t2-45), [T2-90](https://sparecores.com/server/ovh/t2-90), [T2-180](https://sparecores.com/server/ovh/t2-180), [LE-45](https://sparecores.com/server/ovh/t2-le-45), [LE-90](https://sparecores.com/server/ovh/t2-le-90), [LE-180](https://sparecores.com/server/ovh/t2-le-180). These are observed configurations, **not provider-wide guarantees**. Silicon specifications are not derived from guest vCPU counts. [Intel 4214](https://www.intel.com/content/www/us/en/products/sku/193385/intel-xeon-silver-4214-processor-16-5m-cache-2-20-ghz/specifications.html). |
144
- | AWS G7 -> RTX PRO 4500 Blackwell Server; OVHcloud T2 -> V100S 32 GB | [AWS accelerated specifications](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html), [NVIDIA RTX PRO 4500](https://www.nvidia.com/en-gb/data-center/rtx-pro-4500-blackwell-server-edition/), [OVHcloud prices](https://www.ovhcloud.com/en/public-cloud/prices/), [PNY V100S](https://www.pny.com/en-eu/tesla-v100s-32gb). V100S is not silently merged with V100. |
145
- | Azure ND GB200 / GB300 -> B200 192 GB / B300 | [ND GB200](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nd-gb200-v6-series), [ND GB300](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nd-gb300-v6-series). GPU references are per GPU, not the whole Grace-Blackwell superchip. B200's 192 GB variant is distinct from the existing 180 GB reference. |
146
-
147
- The H200 OVHcloud CPU and three Scaleway POP2-HN CPU references remain absent: the reviewed sources do not identify them reliably. Secondary catalogs can expose useful measured CPU names, but their storage counts, guest topology and availability can differ from official specifications; those fields were not copied wholesale.
148
-
149
- ### Capacity Units For This Refresh
150
-
151
- These are the units printed by the sources for the newly added configurations, not a normalization of historical entries. An absent storage value remains unknown or not included; it does not imply zero.
152
-
153
- | Provider | RAM | Included local storage, when recorded |
154
- | --- | --- | --- |
155
- | AWS | GiB | GB |
156
- | Azure | GiB, except GB in Dnsv6, Dnlsv6, Ensv6, HBv5, Esv7, Ebsv6, Ebdsv6, Ecasv6 and Ecadsv6 tables | GB for Lsv4, Lasv4 and Lasv5/Laosv5; GiB for Ddsv7, Dldsv7, Daldsv7, Dcadsv6, Famdsv7 and Faldsv7 |
157
- | GCP | GB | GiB |
158
- | Oracle | GB | GB |
159
- | OVHcloud | GB | GB |
160
- | Scaleway | GiB | No local-storage quantities added |
161
+ | `historical-host` | Historical source configuration, not inferred from an old impact. |
162
+ | `cpu-proxy` | Instance CPU reference used as a host proxy. |
163
+ | `max-impact` | Highest allocated result among compatible modeled candidates. |
164
+ | `published-sockets` | Socket count from a compatible dedicated-host family. |
165
+ | `inferred-sockets` | Sockets inferred from CPU capacity or architecture defaults. |
166
+ | `baremetal-proxy` | Bare-metal resources proxy the physical host. |
167
+ | `family-proxy` | Compatible family configuration proxies the host. |
168
+ | `largest-size-vcpu` | Largest matching SKU supplies vCPU capacity, without another SMT multiplier. |
169
+ | `catalog-proxy` | Largest matching SKU supplies the modeled host configuration. |
170
+ | `dedicated-host-proxy` | Dedicated-host capacity proxies ordinary VM hosting. |
171
+ | `sole-tenant-proxy` | Sole-tenant capacity and sockets proxy ordinary VM hosting. |
172
+ | `dedicated-fallback` | Unknown mapping: dedicated-equivalent envelope allocated at 100%. |
173
+ | `desktop-fallback` | Desktop uses a rack-equivalent base, not a product LCA. |
174
+ | `one-ssd` | One physical local SSD assumed. |
175
+ | `one-hdd` | One physical local HDD assumed. |
176
+ | `storage-proxy` | Physical drive count is modeled, not a count of guest partitions. |
177
+ | `non-gpu-proxy` | ASIC/FPGA uses the GPU board/memory coefficients. |
178
+ | `accelerator-memory-default` | Unknown accelerator memory uses 16 GB. |
179
+ | `gpu-host-proxy` | Full GPU-family configuration proxies the host. |
180
+ | `hbm-ram-proxy` | HBM uses the ordinary RAM coefficient. |
181
+ | `installed-ram-proxy` | Installed RAM is modeled rather than copied from guest-available RAM. |
182
+ | `storage-pools` | Diskless and local-storage variants use separate host pools. |
183
+ | `cpu-generation-proxy` | Host envelope is specific to the modeled CPU generation. |
184
+ | `interconnect-excluded` | Additional interconnect hardware is excluded. |
185
+ | `installed-vram` | Installed GPU memory is used instead of guest-usable memory. |
186
+ | `remote-storage-excluded` | Remote block storage is excluded. |
161
187
 
162
- ## Scope And Follow-up
188
+ </details>
189
+
190
+ ## Sources and Attribution
163
191
 
164
- | Provider | Region source | Machine source |
192
+ | Provider | Regions | Machines |
165
193
  | --- | --- | --- |
166
- | AWS | [Available regions](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html) | [EC2 instance types](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html), all six current-generation specification tables |
167
- | Azure | [Region list](https://learn.microsoft.com/en-us/azure/reliability/regions-list) | [Size families](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/overview), missing series and memory variants |
168
- | GCP | [Regions and zones](https://docs.cloud.google.com/compute/docs/regions-zones?hl=en) | [Machine families](https://docs.cloud.google.com/compute/docs/machine-resource?hl=en), general, memory, storage, compute, network and GPU tables |
194
+ | AWS | [Region catalog](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html) | [EC2 specifications](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html) |
195
+ | Azure | [Region catalog](https://learn.microsoft.com/en-us/azure/reliability/regions-list) | [VM sizes](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/overview) |
196
+ | GCP | [Regions and zones](https://docs.cloud.google.com/compute/docs/regions-zones) | [Machine families](https://docs.cloud.google.com/compute/docs/machine-resource), [CPU platforms](https://docs.cloud.google.com/compute/docs/cpu-platforms) |
169
197
  | Oracle | [Regions](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm) | [Compute shapes](https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm) |
170
- | OVHcloud | [Public Cloud availability](https://www.ovhcloud.com/en/public-cloud/regions-availability/) | [Public Cloud prices](https://www.ovhcloud.com/en/public-cloud/prices/) |
171
- | Scaleway | [Region/zone identifiers](https://www.scaleway.com/en/developers/cli/config), [Milan opening](https://www.scaleway.com/en/docs/container-registry/) | [Instance datasheet](https://www.scaleway.com/en/docs/instances/reference-content/instances-datasheet/) |
198
+ | OVHcloud | [Public Cloud availability](https://www.ovhcloud.com/en/public-cloud/regions-availability/) | [Prices and specifications](https://www.ovhcloud.com/en/public-cloud/prices/) |
199
+ | Scaleway | [Region identifiers](https://www.scaleway.com/en/developers/cli/config) | [Instance datasheet](https://www.scaleway.com/en/docs/instances/reference-content/instances-datasheet/) |
172
200
 
173
- <details>
174
- <summary>Detailed specification sources used for this refresh</summary>
201
+ Hardware references also use manufacturer specifications and, where explicitly identified, observed guest CPU models from [Spare Cores](https://sparecores.com/), [Vantage](https://instances.vantage.sh/) and [Cloud Mercato](https://pcr.cloud-mercato.com/). OVHcloud T1/T2 guest CPU observations are not provider-wide guarantees.
175
202
 
176
- - **aws**: [gp](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html), [co](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html), [mo](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html), [so](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html), [ac](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html).
177
- - **azure**: [dcedsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dcedsv6-series), [dnsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/dnsv6-series), [dnlsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/dnlsv6-series), [ensv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/ensv6-series), [laosv5-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/storage-optimized/laosv5-series), [lasv5-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/storage-optimized/lasv5-series), [lsv4-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/storage-optimized/lsv4-series), [lasv4-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/storage-optimized/lasv4-series), [laosv4-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/storage-optimized/laosv4-series), [nc-rtxpro6000-bse-v6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nc-rtxpro6000-bse-v6-series), [nd-gb300-v6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nd-gb300-v6-series), [nd-gb200-v6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/gpu-accelerated/nd-gb200-v6-series), [hbv5-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/high-performance-compute/hbv5-series), [dsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dsv7-series), [ddsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/ddsv7-series), [dlsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dlsv7-series), [dldsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dldsv7-series), [dalsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dalsv7-series), [daldsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/daldsv7-series), [dcasv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dcasv6-series), [dcadsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dcadsv6-series), [dcesv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dcesv6-series), [famsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/compute-optimized/famsv7-series), [famdsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/compute-optimized/famdsv7-series), [falsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/compute-optimized/falsv7-series), [faldsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/compute-optimized/faldsv7-series), [esv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/esv7-series), [edsv7-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/edsv7-series), [ebsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/ebsv6-series), [ebdsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/ebdsv6-series), [ecasv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/ecasv6-series), [ecadsv6-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/ecadsv6-series), [msv3-mm-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/msv3-mm-series), [mdsv3-mm-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/mdsv3-mm-series), [msv3-hm-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/msv3-hm-series), [mdsv3-hm-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/mdsv3-hm-series), [mdsv3-vhm-series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/memory-optimized/mdsv3-vhm-series), [regions](https://learn.microsoft.com/en-us/azure/reliability/regions-list).
178
- - **gcp**: [general-purpose](https://docs.cloud.google.com/compute/docs/general-purpose-machines?hl=en), [memory-optimized](https://docs.cloud.google.com/compute/docs/memory-optimized-machines?hl=en), [storage-optimized](https://docs.cloud.google.com/compute/docs/storage-optimized-machines?hl=en), [compute-optimized](https://docs.cloud.google.com/compute/docs/compute-optimized-machines?hl=en), [network-optimized](https://docs.cloud.google.com/compute/docs/network-optimized-machines?hl=en), [gpus](https://docs.cloud.google.com/compute/docs/accelerator-optimized-machines?hl=en), [regions](https://docs.cloud.google.com/compute/docs/regions-zones?hl=en), [carbon](https://cloud.google.com/sustainability/region-carbon).
179
- - **scaleway**: [datasheet](https://www.scaleway.com/en/docs/instances/reference-content/instances-datasheet/), [zones](https://www.scaleway.com/en/developers/cli/config).
180
- - **ovhcloud**: [prices](https://www.ovhcloud.com/en/public-cloud/prices/).
181
- - **oracle**: [shapes](https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm).
203
+ The manufacturing coefficients adapt Teads / Benjamin Davy's [article](https://medium.com/teads-engineering/building-an-aws-ec2-carbon-emissions-dataset-3f0fd76c98ac) and [Scope 3 Ratios spreadsheet](https://docs.google.com/spreadsheets/d/1DqYgQnEDLQVQm5acMAhLgHLD8xXCG9BIrk-_Nv6jF3k/edit), CC BY 4.0. Extensions and allocation rules are Digital4Better assumptions, not vendor-certified LCAs.
182
204
 
183
- </details>
205
+ For reproducibility, see the [calculation inputs](https://github.com/digital4better/data/blob/main/sources/cloud/host-inputs.json), [calculator](https://github.com/digital4better/data/blob/main/scripts/cloud-hosts.ts) and [hardware source evidence](https://github.com/digital4better/data/blob/main/sources/cloud/host-evidence.json). Detailed changes remain in [Git history](https://github.com/digital4better/data/commits/main/data/cloud) and the [correction log](https://github.com/digital4better/data/blob/main/sources/cloud/hardware-corrections.json).
206
+
207
+ ## Limitations
184
208
 
185
- The AWS and OCI public region lists reviewed were already represented. Announced regions, every local/edge zone, private/government realms, quota-dependent availability and the Cartesian product of customizable sizes are not claimed to be exhaustive. Historical entries absent from today's sources remain in place.
209
+ Host profiles are calculation scenarios, **not a verified inventory of deployed servers**. Actual placement, reserved resources and heterogeneous workloads can differ. Unknown mappings use explicit fallbacks; Apple desktops use a rack-equivalent proxy. Neither is a measured product footprint. Interconnects and process-node differences are not separately modeled.
186
210
 
187
- New OCI flexible Ax shapes (`VM.Standard4.Ax.Flex`, `VM.Standard.E6.Ax.Flex`, `VM.Standard.A4.Ax.Flex`, `VM.DenseIO.E6.Ax.Flex`) need a separate configuration-selection decision. A shape's maximum CPU and maximum RAM do not establish a default configuration. They are not represented by invented fixed-size combinations in this refresh.
211
+ Regions may contain several datacenters; Scaleway uses availability-zone identifiers. Local/edge zones, private realms, quota-dependent availability and every customizable VM combination are not exhaustively covered. Maximum CPU and RAM for a flexible shape do not establish a default configuration.
188
212
 
189
- Existing sustainability values and modeling assumptions are retained, not re-certified by this machine inventory. The [AWS CSV](https://sustainability.aboutamazon.com/aws-wue-pue.csv) still exposes data through 2024; [Scaleway's calculation reference](https://www.scaleway.com/en/docs/environmental-footprint/additional-content/calculation-values-reference/) has no Milan rows. Google's [regional CFE table](https://cloud.google.com/sustainability/region-carbon) supports the two new fractions. A full PUE/WUE/REF reporting-year review, historical placeholder cleanup and hardware-factor recalculation require a separate reviewed audit.
213
+ Environmental disclosures have different dates and boundaries. Missing metrics remain absent; existing estimates are not re-certified by a hardware catalog update. Apply lifetime and usage-time allocation separately when calculating a period's footprint.