Every producing facility placed on the dry / wet / other trichotomy, by offshore region. Bars are facility counts; the trailing figure is the regional total.
| Region | Dry | Wet | Other | Total | Typed % |
|---|---|---|---|---|---|
| North Sea & NW Europe | 155 | 69 | 11 | 235 | 95% |
| Asia-Pacific | 141 | 72 | 22 | 235 | 91% |
| US Gulf of Mexico | 64 | 23 | 1 | 88 | 99% |
| South America & Caribbean | 30 | 50 | 1 | 81 | 99% |
| West Africa | 31 | 40 | 6 | 77 | 92% |
| Mediterranean & N Africa | 31 | 9 | 4 | 44 | 91% |
| Caspian & Russia | 26 | 3 | 6 | 35 | 83% |
| Middle East | 29 | 0 | 4 | 33 | 88% |
| Atlantic Canada & Arctic | 7 | 0 | 1 | 8 | 88% |
"Typed %" = share of the region's facilities that map to a dry- or wet-tree concept (i.e. not an FSO/FSU, MOPU or artificial island). South America & Caribbean and West Africa read wet-tree-heavy — those are the FPSO provinces; the Middle East and Caspian read all-dry — shallow, benign, jacket country.
Restricted to the 738 facilities with a recorded water depth. Bars are normalised across producing trees only (dry + wet; the few non-tree hulls are excluded), so the navy segment is the dry-tree share of trees. Read top-to-bottom, shallow to deep — the navy shrinks at every step.
| Water-depth band | Dry | Wet | Other | Dry share of trees | n |
|---|---|---|---|---|---|
| 0-150 m (shallow shelf) | 350 | 86 | 44 | 80% | 480 |
| 150-500 m (deep shelf) | 53 | 48 | 4 | 52% | 105 |
| 500-1500 m (deepwater) | 40 | 68 | 0 | 37% | 108 |
| 1500-3000 m (ultra-deepwater) | 9 | 36 | 0 | 20% | 45 |
Below 1 500 m, dry trees are 9 of 45 trees (20%); above it, 443 of 645 (69%). The nine deep dry-tree facilities are the TLPs and spars that push surface access to its engineering limit.
| UK | 82 |
| US | 64 |
| Norway | 46 |
| Malaysia | 33 |
| China | 25 |
| Australia | 18 |
| Brazil | 49 |
| UK | 37 |
| Norway | 31 |
| Australia | 29 |
| US | 23 |
| Angola | 15 |
| Thailand | 7 |
| Nigeria | 5 |
| UK | 5 |
| Norway | 5 |
| Malaysia | 5 |
| Kazakhstan | 4 |
This universe is the curated production_facilities.csv
(836 standalone facilities). Two limits worth stating plainly:
worldenergydata.field_development.recommendation._DRY_TREE);
wet = {semisub_fps, fpso, flng, subsea_tieback, subsea_to_shore};
other = unmapped HOST_TYPE + null.
Method: build_portfolio() imports cleanly but covers only
the 115-field GoM matched set, so the all-region matrix is built directly
from the facility census with the mapping above.
Build: scripts/field_development/build_region_devtype_comparison.py
→ reports/field_development/region_devtype_matrix.csv. Counts are
facilities, not fields or wells; every figure on this page is computed from
the source rows (flag-don't-fake).