{
  "assets": [
    {
      "name": "Crude charge tank",
      "note": "Floating roof, so the vapor space stays small as the level moves. Inventory here is what the unit draws against between cargo receipts.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Crude oil storage and charge surge for CDU-100. One of twelve crude tanks in the reference tank farm.",
      "status": "Normal",
      "tag": "TK-1001",
      "type": "Floating roof tank",
      "values": [
        {
          "amp": 1.2,
          "base": 68.2,
          "decimals": 1,
          "label": "Level",
          "unit": "%"
        },
        {
          "amp": 0.8,
          "base": 31.5,
          "decimals": 1,
          "label": "Oil temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 900,
          "base": 148500,
          "decimals": 0,
          "label": "Inventory",
          "unit": "bbl"
        }
      ]
    },
    {
      "name": "Crude charge pump A",
      "note": "Runs in parallel with P-101B. Either pump can be pulled for seal work without stopping the unit.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Moves crude from TK-1001 through the preheat train to the desalter. Duty pump.",
      "status": "Normal",
      "tag": "P-101A",
      "type": "Centrifugal pump",
      "values": [
        {
          "amp": 0.3,
          "base": 24.6,
          "decimals": 1,
          "label": "Discharge pressure",
          "unit": "barg"
        },
        {
          "amp": 2.5,
          "base": 71,
          "decimals": 0,
          "label": "Motor load",
          "unit": "%"
        },
        {
          "amp": 1.5,
          "base": 52,
          "decimals": 0,
          "label": "Flow share",
          "unit": "%"
        }
      ]
    },
    {
      "name": "Crude charge pump B",
      "note": "Kept warm and loaded so a trip on the A pump is a flow dip, not a unit shutdown.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Second crude charge pump, run in parallel with P-101A.",
      "status": "Normal",
      "tag": "P-101B",
      "type": "Centrifugal pump",
      "values": [
        {
          "amp": 0.3,
          "base": 24.4,
          "decimals": 1,
          "label": "Discharge pressure",
          "unit": "barg"
        },
        {
          "amp": 2.5,
          "base": 68,
          "decimals": 0,
          "label": "Motor load",
          "unit": "%"
        },
        {
          "amp": 1.5,
          "base": 48,
          "decimals": 0,
          "label": "Flow share",
          "unit": "%"
        }
      ]
    },
    {
      "name": "Preheat exchanger 1",
      "note": "The train recovers heat from the unit's own product streams, so the furnace only has to finish the job.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "First exchanger in the crude preheat train. Cold crude against hot gas oil.",
      "status": "Normal",
      "tag": "E-101A",
      "type": "Shell and tube exchanger",
      "values": [
        {
          "amp": 1.5,
          "base": 148,
          "decimals": 0,
          "label": "Crude outlet",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.08,
          "base": 1.8,
          "decimals": 2,
          "label": "Pressure drop",
          "unit": "bar"
        }
      ]
    },
    {
      "name": "Preheat exchanger 2",
      "note": "Bundles in this train are the classic fouling watch items on any crude unit.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Second exchanger in the preheat train. Cold crude against hot diesel.",
      "status": "Normal",
      "tag": "E-101B",
      "type": "Shell and tube exchanger",
      "values": [
        {
          "amp": 1.5,
          "base": 186,
          "decimals": 0,
          "label": "Crude outlet",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.08,
          "base": 2.0,
          "decimals": 2,
          "label": "Pressure drop",
          "unit": "bar"
        }
      ]
    },
    {
      "name": "Preheat exchanger 3",
      "note": "Flagged on purpose in this reference twin: the outlet is running cool for its position in the train and the pressure drop is climbing, the classic fouling signature. On a real unit this flag is what puts a bundle cleaning on the next turnaround list.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Third exchanger in the preheat train. Cold crude against atmospheric residue.",
      "status": "Fouling watch",
      "tag": "E-101C",
      "type": "Shell and tube exchanger",
      "values": [
        {
          "amp": 1.2,
          "base": 205,
          "decimals": 0,
          "label": "Crude outlet",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.4,
          "base": 214,
          "decimals": 0,
          "label": "Expected outlet",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.1,
          "base": 3.9,
          "decimals": 2,
          "label": "Pressure drop",
          "unit": "bar"
        }
      ]
    },
    {
      "name": "Preheat exchanger 4",
      "note": "Crude leaves the train here at desalter temperature, around 230 \u00b0C on this design basis.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Last exchanger before the desalter. Cold crude against hot kerosene pumparound.",
      "status": "Normal",
      "tag": "E-101D",
      "type": "Shell and tube exchanger",
      "values": [
        {
          "amp": 1.5,
          "base": 232,
          "decimals": 0,
          "label": "Crude outlet",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.08,
          "base": 2.1,
          "decimals": 2,
          "label": "Pressure drop",
          "unit": "bar"
        }
      ]
    },
    {
      "name": "Desalter",
      "note": "Salt left in crude becomes corrosion in the column overhead. This vessel is cheap insurance for the whole unit.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Washes salts and solids out of the crude with water and an electric grid before the furnace.",
      "status": "Normal",
      "tag": "V-101",
      "type": "Horizontal vessel",
      "values": [
        {
          "amp": 0.25,
          "base": 21.5,
          "decimals": 1,
          "label": "Pressure",
          "unit": "barg"
        },
        {
          "amp": 1.8,
          "base": 46,
          "decimals": 0,
          "label": "Interface level",
          "unit": "%"
        },
        {
          "amp": 0.2,
          "base": 5.5,
          "decimals": 1,
          "label": "Wash water",
          "unit": "% of charge"
        }
      ]
    },
    {
      "name": "Crude furnace",
      "note": "The biggest single energy consumer on the unit. Every degree the preheat train recovers is a degree this furnace does not burn for.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Raises desalted crude from preheat temperature to column flash temperature on fuel gas.",
      "status": "Normal",
      "tag": "F-101",
      "type": "Fired heater",
      "values": [
        {
          "amp": 1.6,
          "base": 365,
          "decimals": 0,
          "label": "Outlet temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.7,
          "base": 4,
          "decimals": 1,
          "label": "Pass spread",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.12,
          "base": 3.1,
          "decimals": 2,
          "label": "Fuel gas",
          "unit": "t/h"
        }
      ]
    },
    {
      "name": "Atmospheric column",
      "note": "The heart of the refinery and the tallest structure on the plot. Every product stream on the slate bar leaves this column or its stabilizer.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Separates crude into gas, naphtha, kerosene, diesel, gas oil and residue by boiling range at near atmospheric pressure.",
      "status": "Normal",
      "tag": "T-101",
      "type": "Fractionation column",
      "values": [
        {
          "amp": 1.4,
          "base": 118,
          "decimals": 0,
          "label": "Top temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.04,
          "base": 1.35,
          "decimals": 2,
          "label": "Top pressure",
          "unit": "barg"
        },
        {
          "amp": 1.8,
          "base": 348,
          "decimals": 0,
          "label": "Bottom temperature",
          "unit": "\u00b0C"
        }
      ]
    },
    {
      "name": "Overhead condenser",
      "note": "Sets the column top temperature, which sets how much naphtha goes up instead of coming out the kerosene draw.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Condenses the column overhead vapor against cooling water.",
      "status": "Normal",
      "tag": "E-102",
      "type": "Shell and tube exchanger",
      "values": [
        {
          "amp": 1.0,
          "base": 58,
          "decimals": 0,
          "label": "Outlet temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.4,
          "base": 8.5,
          "decimals": 1,
          "label": "Cooling water rise",
          "unit": "\u00b0C"
        }
      ]
    },
    {
      "name": "Reflux drum",
      "note": "Level control here is the column's shock absorber: swings in this drum are the first sign of an upset upstairs.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Collects condensed overhead liquid and gas. Liquid splits to reflux and naphtha product.",
      "status": "Normal",
      "tag": "V-102",
      "type": "Horizontal vessel",
      "values": [
        {
          "amp": 2.0,
          "base": 54,
          "decimals": 0,
          "label": "Level",
          "unit": "%"
        },
        {
          "amp": 0.04,
          "base": 1.28,
          "decimals": 2,
          "label": "Pressure",
          "unit": "barg"
        },
        {
          "amp": 1.0,
          "base": 55,
          "decimals": 0,
          "label": "Temperature",
          "unit": "\u00b0C"
        }
      ]
    },
    {
      "name": "Reflux pump",
      "note": "Reflux rate is the operator's main handle on separation quality at the top of the column.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Returns reflux to the top of T-101 and sends naphtha forward to the stabilizer.",
      "status": "Normal",
      "tag": "P-102",
      "type": "Centrifugal pump",
      "values": [
        {
          "amp": 0.2,
          "base": 6.8,
          "decimals": 1,
          "label": "Discharge pressure",
          "unit": "barg"
        },
        {
          "amp": 9,
          "base": 385,
          "decimals": 0,
          "label": "Reflux flow",
          "unit": "m\u00b3/h"
        }
      ]
    },
    {
      "name": "Stabilizer",
      "note": "A small column doing a safety job: naphtha that still carries butane is a storage hazard, not a product.",
      "pid": "CDU-100 P&ID, sheet 1 of 1 (this page)",
      "service": "Strips light ends out of the naphtha: LPG overhead, stabilized naphtha from the bottom.",
      "status": "Normal",
      "tag": "T-102",
      "type": "Fractionation column",
      "values": [
        {
          "amp": 1.2,
          "base": 62,
          "decimals": 0,
          "label": "Top temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 1.6,
          "base": 168,
          "decimals": 0,
          "label": "Bottom temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 1.4,
          "base": 41,
          "decimals": 0,
          "label": "LPG overhead",
          "unit": "t/h"
        }
      ]
    },
    {
      "name": "Flare stack",
      "note": "The flame in the model is animated for orientation only. A lit pilot and a small purge flow is the normal state; a big flare event is an upset, not a routine.",
      "pid": "Site utilities, shown on this page",
      "service": "Burns relief and purge gas safely at height. The refinery's last line of defense on pressure.",
      "status": "Normal",
      "tag": "FL-1001",
      "type": "Elevated flare",
      "values": [
        {
          "amp": 0,
          "base": 1,
          "decimals": 0,
          "display": "Lit",
          "label": "Pilot status",
          "unit": ""
        },
        {
          "amp": 0.15,
          "base": 0.8,
          "decimals": 2,
          "label": "Flare gas flow",
          "unit": "t/h"
        },
        {
          "amp": 14,
          "base": 240,
          "decimals": 0,
          "label": "Tip temperature",
          "unit": "\u00b0C"
        }
      ]
    },
    {
      "name": "Cooling tower 1",
      "note": "One of two towers on the reference plot. Cooling duty is the quiet limit on summer crude rates.",
      "pid": "Site utilities, shown on this page",
      "service": "Cools the circulating water that condenses the column overhead and the product rundowns.",
      "status": "Normal",
      "tag": "CT-1001",
      "type": "Cooling tower",
      "values": [
        {
          "amp": 0.7,
          "base": 31,
          "decimals": 0,
          "label": "Supply temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 0.8,
          "base": 41,
          "decimals": 0,
          "label": "Return temperature",
          "unit": "\u00b0C"
        },
        {
          "amp": 3,
          "base": 78,
          "decimals": 0,
          "label": "Fan load",
          "unit": "%"
        }
      ]
    }
  ],
  "designBasis": {
    "crudeChargeBblPerDay": 250000,
    "note": "Reference design basis chosen by xGRIDx for this model. It is not the design basis of any real plant."
  },
  "feedLabel": "Simulated process feed \u2014 reference model values, not live plant data.",
  "productSlate": [
    {
      "name": "LPG",
      "pct": 4
    },
    {
      "name": "Naphtha",
      "pct": 18
    },
    {
      "name": "Kerosene",
      "pct": 12
    },
    {
      "name": "Diesel",
      "pct": 28
    },
    {
      "name": "Gas oil",
      "pct": 22
    },
    {
      "name": "Residue",
      "pct": 16
    }
  ],
  "twin": "xGRIDx Reference Refinery Twin",
  "unit": "CDU-100 Crude Distillation Unit",
  "version": "full-plant-depth-v2",
  "scope": "Full-plant reference register with depth layers: 21 units for a 250,000 bbl/day conversion refinery; materials library and per-class / per-asset materials with API RP 571 damage mechanisms; component decomposition (stationary / moving / wear) as 29 class templates and instance trees for the 16 CDU-100 assets; resource inventory (catalysts, chemicals, utilities, critical spares); five protection layers modeled as design requirements (cyber and command, emanations, directed energy / EMP, storm, quantum-safe locking). Reference values only, not a real plant. Protection statuses mean the design requirement is modeled in this register; they are not a claim that any real plant is protected.",
  "units": [
    {
      "id": "CDU-100",
      "name": "Crude Distillation Unit",
      "tagPrefix": "CDU",
      "designCapacity": {
        "value": 250000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Crude oil from tank farm",
      "products": [
        "Fuel gas",
        "LPG",
        "Naphtha",
        "Kerosene",
        "Diesel / LGO",
        "Atmospheric gas oil",
        "Atmospheric residue"
      ],
      "flowOrder": 1,
      "description": "Atmospheric separation of crude by boiling range. Detailed unit in v0: 16 individually tagged assets, P&ID and simulated feed.",
      "assetClassCounts": {
        "columnsTowers": 2,
        "vesselsDrumsSeparators": 3,
        "reactors": 0,
        "heatExchangersShellTube": 12,
        "airCoolers": 4,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 18,
        "compressors": 1,
        "steamTurbines": 0,
        "fansBlowers": 2,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 420,
          "gate": 147,
          "globe": 63,
          "ball": 105,
          "check": 42,
          "control": 42,
          "psv": 21
        },
        "instruments": 180,
        "motors": 22,
        "pipingKm": 4.2,
        "flangesEstimate": 924,
        "elbowsEstimate": 756,
        "teesEstimate": 189
      },
      "designData": {
        "designPressureBarg": 18,
        "designTempC": 365,
        "materialClass": "Carbon steel, 5Cr-0.5Mo furnace tubes"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Crude charge",
            "base": 10417,
            "amp": 90,
            "decimals": 0,
            "unit": "bbl/h"
          },
          {
            "label": "Furnace outlet",
            "base": 365,
            "amp": 2,
            "decimals": 0,
            "unit": "\u00b0C"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal except E-101C Fouling watch",
        "foulingIndicator": "E-101C high",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 12,
        "powerMW": 4.5,
        "fuelMMBtuPerH": 180
      },
      "emissions": {
        "co2TPerDay": 420,
        "flareTPerDay": 0.8
      },
      "damageMechanisms": [
        "Naphthenic Acid Corrosion",
        "Sulfidation",
        "Ammonium Bisulfide Corrosion (overhead)",
        "Corrosion Under Insulation (CUI)"
      ],
      "materialsSummary": "Carbon steel with 5Cr-0.5Mo furnace tubes, 316L clad hot sections, duplex overhead condenser tubes"
    },
    {
      "id": "VDU-200",
      "name": "Vacuum Distillation Unit",
      "tagPrefix": "VDU",
      "designCapacity": {
        "value": 110000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Atmospheric residue from CDU-100",
      "products": [
        "LVGO",
        "HVGO",
        "Vacuum residue",
        "Vacuum gas"
      ],
      "flowOrder": 2,
      "description": "Distills atmospheric residue under vacuum to recover gas oil without cracking.",
      "assetClassCounts": {
        "columnsTowers": 1,
        "vesselsDrumsSeparators": 4,
        "reactors": 0,
        "heatExchangersShellTube": 14,
        "airCoolers": 3,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 14,
        "compressors": 0,
        "steamTurbines": 1,
        "fansBlowers": 1,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 310,
          "gate": 108,
          "globe": 46,
          "ball": 78,
          "check": 31,
          "control": 31,
          "psv": 16
        },
        "instruments": 130,
        "motors": 16,
        "pipingKm": 3.1,
        "flangesEstimate": 682,
        "elbowsEstimate": 558,
        "teesEstimate": 140
      },
      "designData": {
        "designPressureBarg": 10,
        "designTempC": 400,
        "materialClass": "Carbon steel / low alloy"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Vacuum",
            "base": 25,
            "amp": 3,
            "decimals": 0,
            "unit": "mmHg abs"
          },
          {
            "label": "Heater outlet",
            "base": 395,
            "amp": 2,
            "decimals": 0,
            "unit": "\u00b0C"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate in vacuum heater",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 18,
        "powerMW": 3.2,
        "fuelMMBtuPerH": 95
      },
      "emissions": {
        "co2TPerDay": 210
      },
      "damageMechanisms": [
        "Sulfidation",
        "Naphthenic Acid Corrosion",
        "Fouling (heater coking)"
      ],
      "materialsSummary": "Carbon steel / low alloy; P5 vacuum heater tubes"
    },
    {
      "id": "NHT-300",
      "name": "Naphtha Hydrotreater",
      "tagPrefix": "NHT",
      "designCapacity": {
        "value": 45000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Straight-run naphtha from CDU-100",
      "products": [
        "Treated naphtha to reformer / isomerization",
        "H2S to amine"
      ],
      "flowOrder": 3,
      "description": "Removes sulfur, nitrogen and metals from naphtha over catalyst with hydrogen.",
      "assetClassCounts": {
        "columnsTowers": 1,
        "vesselsDrumsSeparators": 3,
        "reactors": 2,
        "heatExchangersShellTube": 8,
        "airCoolers": 2,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 10,
        "compressors": 2,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 260,
          "gate": 91,
          "globe": 39,
          "ball": 65,
          "check": 26,
          "control": 26,
          "psv": 13
        },
        "instruments": 120,
        "motors": 14,
        "pipingKm": 2.4,
        "flangesEstimate": 572,
        "elbowsEstimate": 432,
        "teesEstimate": 108
      },
      "designData": {
        "designPressureBarg": 45,
        "designTempC": 340,
        "materialClass": "Low alloy steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Reactor inlet",
            "base": 320,
            "amp": 3,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Pressure",
            "base": 38,
            "amp": 1,
            "decimals": 0,
            "unit": "barg"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 6,
        "powerMW": 2.8,
        "fuelMMBtuPerH": 55
      },
      "emissions": {
        "co2TPerDay": 110
      },
      "damageMechanisms": [
        "High Temperature Hydrogen Attack (within API RP 941 limits by alloy)",
        "Ammonium Chloride Corrosion",
        "Polythionic Acid SCC (internals)"
      ],
      "materialsSummary": "1.25Cr-0.5Mo reactors with 304L clad"
    },
    {
      "id": "REF-400",
      "name": "Catalytic Reformer",
      "tagPrefix": "REF",
      "designCapacity": {
        "value": 38000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Treated naphtha from NHT-300",
      "products": [
        "High-octane reformate",
        "Hydrogen (net producer)",
        "LPG",
        "Fuel gas"
      ],
      "flowOrder": 4,
      "description": "Rearranges naphtha molecules to high-octane gasoline blendstock and produces hydrogen.",
      "assetClassCounts": {
        "columnsTowers": 2,
        "vesselsDrumsSeparators": 4,
        "reactors": 4,
        "heatExchangersShellTube": 10,
        "airCoolers": 3,
        "firedHeaters": 4,
        "boilers": 0,
        "pumps": 12,
        "compressors": 2,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 340,
          "gate": 119,
          "globe": 51,
          "ball": 85,
          "check": 34,
          "control": 34,
          "psv": 17
        },
        "instruments": 160,
        "motors": 16,
        "pipingKm": 3.0,
        "flangesEstimate": 748,
        "elbowsEstimate": 540,
        "teesEstimate": 135
      },
      "designData": {
        "designPressureBarg": 25,
        "designTempC": 520,
        "materialClass": "Low alloy / stainless internals"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Reactor inlet avg",
            "base": 500,
            "amp": 4,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "H2 production",
            "base": 18,
            "amp": 1,
            "decimals": 0,
            "unit": "MMSCFD"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Moderate - chloride watch",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 8,
        "powerMW": 3.5,
        "fuelMMBtuPerH": 210
      },
      "emissions": {
        "co2TPerDay": 380
      },
      "damageMechanisms": [
        "Chloride Stress Corrosion Cracking (watch)",
        "Polythionic Acid SCC (internals)",
        "Oxidation (heater tubes)"
      ],
      "materialsSummary": "Low alloy reactors; stabilized stainless internals; multi-cell fired heaters"
    },
    {
      "id": "DHT-500",
      "name": "Diesel Hydrotreater",
      "tagPrefix": "DHT",
      "designCapacity": {
        "value": 70000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Diesel / LGO from CDU + LCO from FCC",
      "products": [
        "ULSD diesel",
        "H2S to amine",
        "Naphtha wild"
      ],
      "flowOrder": 5,
      "description": "Hydrodesulfurizes diesel to ultra-low sulfur diesel.",
      "assetClassCounts": {
        "columnsTowers": 1,
        "vesselsDrumsSeparators": 3,
        "reactors": 2,
        "heatExchangersShellTube": 12,
        "airCoolers": 3,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 12,
        "compressors": 2,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 300,
          "gate": 105,
          "globe": 45,
          "ball": 75,
          "check": 30,
          "control": 30,
          "psv": 15
        },
        "instruments": 140,
        "motors": 16,
        "pipingKm": 2.8,
        "flangesEstimate": 660,
        "elbowsEstimate": 504,
        "teesEstimate": 126
      },
      "designData": {
        "designPressureBarg": 65,
        "designTempC": 380,
        "materialClass": "Low alloy steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Reactor temp",
            "base": 355,
            "amp": 3,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Product sulfur",
            "base": 8,
            "amp": 2,
            "decimals": 0,
            "unit": "ppm (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 9,
        "powerMW": 3.8,
        "fuelMMBtuPerH": 70
      },
      "emissions": {
        "co2TPerDay": 150
      },
      "damageMechanisms": [
        "High Temperature Hydrogen Attack (within RP 941 limits)",
        "Ammonium Bisulfide Corrosion",
        "Sulfidation"
      ],
      "materialsSummary": "1.25Cr / 2.25Cr reactors with 316L clad"
    },
    {
      "id": "FCC-600",
      "name": "Fluid Catalytic Cracking Unit",
      "tagPrefix": "FCC",
      "designCapacity": {
        "value": 65000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "HVGO / LVGO from VDU, deasphalted oil",
      "products": [
        "Gasoline (FCC naphtha)",
        "LCO",
        "Slurry / decant oil",
        "LPG / propylene",
        "Fuel gas",
        "Coke burned in regenerator"
      ],
      "flowOrder": 6,
      "description": "Cracks heavy gas oil over fluid catalyst to gasoline and LPG olefins.",
      "assetClassCounts": {
        "columnsTowers": 2,
        "vesselsDrumsSeparators": 6,
        "reactors": 2,
        "heatExchangersShellTube": 16,
        "airCoolers": 4,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 22,
        "compressors": 3,
        "steamTurbines": 1,
        "fansBlowers": 3,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 520,
          "gate": 182,
          "globe": 78,
          "ball": 130,
          "check": 52,
          "control": 52,
          "psv": 26
        },
        "instruments": 240,
        "motors": 30,
        "pipingKm": 5.0,
        "flangesEstimate": 1144,
        "elbowsEstimate": 900,
        "teesEstimate": 225
      },
      "designData": {
        "designPressureBarg": 20,
        "designTempC": 540,
        "materialClass": "Carbon steel, refractory lined reactor/regenerator"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Reactor temp",
            "base": 520,
            "amp": 4,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Regenerator temp",
            "base": 690,
            "amp": 6,
            "decimals": 0,
            "unit": "\u00b0C"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate - slurry system",
        "corrosionIndicator": "Moderate",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": -25,
        "powerMW": 6.5,
        "fuelMMBtuPerH": 0,
        "note": "Steam exporter from regenerator heat recovery"
      },
      "emissions": {
        "co2TPerDay": 890,
        "note": "Includes coke burn CO2, largest single unit emitter (reference estimate)"
      },
      "damageMechanisms": [
        "Erosion (catalyst)",
        "Refractory degradation",
        "Sulfidation",
        "Thermal Fatigue (regen cycles)"
      ],
      "materialsSummary": "Carbon steel, refractory-lined reactor / regenerator; erosion-resistant refractory system"
    },
    {
      "id": "HCU-700",
      "name": "Hydrocracker",
      "tagPrefix": "HCU",
      "designCapacity": {
        "value": 40000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "HVGO from VDU, hydrogen",
      "products": [
        "Jet / kerosene",
        "Diesel",
        "Unconverted oil to FCC/lubes",
        "Naphtha",
        "LPG"
      ],
      "flowOrder": 7,
      "description": "High-pressure hydrocracking to jet and diesel.",
      "assetClassCounts": {
        "columnsTowers": 2,
        "vesselsDrumsSeparators": 5,
        "reactors": 3,
        "heatExchangersShellTube": 14,
        "airCoolers": 4,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 16,
        "compressors": 3,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 380,
          "gate": 133,
          "globe": 57,
          "ball": 95,
          "check": 38,
          "control": 38,
          "psv": 19
        },
        "instruments": 190,
        "motors": 22,
        "pipingKm": 3.6,
        "flangesEstimate": 836,
        "elbowsEstimate": 648,
        "teesEstimate": 162
      },
      "designData": {
        "designPressureBarg": 150,
        "designTempC": 420,
        "materialClass": "2.25Cr-1Mo, stainless clad"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Reactor pressure",
            "base": 140,
            "amp": 3,
            "decimals": 0,
            "unit": "barg"
          },
          {
            "label": "Conversion",
            "base": 65,
            "amp": 2,
            "decimals": 0,
            "unit": "%"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 10,
        "powerMW": 5.2,
        "fuelMMBtuPerH": 60
      },
      "emissions": {
        "co2TPerDay": 180
      },
      "damageMechanisms": [
        "High Temperature Hydrogen Attack (governing)",
        "Temper Embrittlement",
        "Ammonium Bisulfide Corrosion (effluent)"
      ],
      "materialsSummary": "2.25Cr-1Mo with 316L clad; Alloy 825 reactor effluent air cooler"
    },
    {
      "id": "ALK-800",
      "name": "Alkylation Unit",
      "tagPrefix": "ALK",
      "designCapacity": {
        "value": 18000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Isobutane + butylene/propylene from FCC",
      "products": [
        "Alkylate (high-octane gasoline)",
        "n-Butane",
        "Propane"
      ],
      "flowOrder": 8,
      "description": "Combines isobutane with olefins (HF or sulfuric acid or ionic liquid - reference assumes sulfuric) to alkylate.",
      "assetClassCounts": {
        "columnsTowers": 3,
        "vesselsDrumsSeparators": 4,
        "reactors": 1,
        "heatExchangersShellTube": 10,
        "airCoolers": 2,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 14,
        "compressors": 1,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 280,
          "gate": 98,
          "globe": 42,
          "ball": 70,
          "check": 28,
          "control": 28,
          "psv": 14
        },
        "instruments": 130,
        "motors": 18,
        "pipingKm": 2.2,
        "flangesEstimate": 616,
        "elbowsEstimate": 396,
        "teesEstimate": 99
      },
      "designData": {
        "designPressureBarg": 22,
        "designTempC": 40,
        "materialClass": "Carbon steel, acid resistant lining in contactor"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Contactor temp",
            "base": 8,
            "amp": 1,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Alkylate",
            "base": 750,
            "amp": 20,
            "decimals": 0,
            "unit": "bbl/h"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "High watch - acid system",
        "inspectionIntervalMonths": 24
      },
      "energy": {
        "steamTPerH": 7,
        "powerMW": 2.4,
        "fuelMMBtuPerH": 20
      },
      "emissions": {
        "co2TPerDay": 60
      },
      "damageMechanisms": [
        "Sulfuric Acid Corrosion",
        "Caustic Corrosion (treating)"
      ],
      "materialsSummary": "Carbon steel; acid-resistant lining in contactor; Monel 400 acid trim"
    },
    {
      "id": "ISO-900",
      "name": "Isomerization Unit",
      "tagPrefix": "ISO",
      "designCapacity": {
        "value": 22000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Light naphtha from NHT",
      "products": [
        "Isomerate (high-octane, benzene-lean)",
        "Fuel gas"
      ],
      "flowOrder": 9,
      "description": "Isomerizes light naphtha to higher octane isomerate.",
      "assetClassCounts": {
        "columnsTowers": 2,
        "vesselsDrumsSeparators": 3,
        "reactors": 2,
        "heatExchangersShellTube": 7,
        "airCoolers": 2,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 8,
        "compressors": 1,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 190,
          "gate": 66,
          "globe": 28,
          "ball": 48,
          "check": 19,
          "control": 19,
          "psv": 10
        },
        "instruments": 90,
        "motors": 10,
        "pipingKm": 1.6,
        "flangesEstimate": 418,
        "elbowsEstimate": 288,
        "teesEstimate": 72
      },
      "designData": {
        "designPressureBarg": 30,
        "designTempC": 180,
        "materialClass": "Carbon steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Reactor temp",
            "base": 150,
            "amp": 3,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Isomerate RON",
            "base": 88,
            "amp": 0.5,
            "decimals": 1,
            "unit": "RON (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 4,
        "powerMW": 1.6,
        "fuelMMBtuPerH": 35
      },
      "emissions": {
        "co2TPerDay": 70
      },
      "damageMechanisms": [
        "Chloride Corrosion (watch)",
        "Catalyst poisoning (resource-side watch)"
      ],
      "materialsSummary": "Carbon steel; stainless feed-guard sections"
    },
    {
      "id": "DCU-1000",
      "name": "Delayed Coker",
      "tagPrefix": "DCU",
      "designCapacity": {
        "value": 35000,
        "unit": "bbl/day",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Vacuum residue from VDU",
      "products": [
        "Coker naphtha",
        "Coker diesel / gas oil",
        "Fuel gas / LPG",
        "Petroleum coke (fuel / anode grade, reference: fuel grade)"
      ],
      "flowOrder": 10,
      "description": "Thermal cracking of vacuum residue to lighter products and solid coke.",
      "assetClassCounts": {
        "columnsTowers": 1,
        "vesselsDrumsSeparators": 6,
        "reactors": 2,
        "heatExchangersShellTube": 9,
        "airCoolers": 3,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 16,
        "compressors": 1,
        "steamTurbines": 0,
        "fansBlowers": 1,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 340,
          "gate": 119,
          "globe": 51,
          "ball": 85,
          "check": 34,
          "control": 34,
          "psv": 17
        },
        "instruments": 150,
        "motors": 20,
        "pipingKm": 3.2,
        "flangesEstimate": 748,
        "elbowsEstimate": 576,
        "teesEstimate": 144
      },
      "designData": {
        "designPressureBarg": 15,
        "designTempC": 480,
        "materialClass": "Low alloy, coke drums Cr-Mo"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Heater outlet",
            "base": 480,
            "amp": 3,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Drum cycle",
            "base": 18,
            "amp": 1,
            "decimals": 0,
            "unit": "h"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "High by design - coke formation managed by cycle",
        "corrosionIndicator": "Moderate",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 14,
        "powerMW": 3.0,
        "fuelMMBtuPerH": 110
      },
      "emissions": {
        "co2TPerDay": 260
      },
      "damageMechanisms": [
        "Thermal Fatigue (coke drum cycling)",
        "Sulfidation",
        "Coking (by design)"
      ],
      "materialsSummary": "Cr-Mo clad coke drums (1.25Cr / 2.25Cr class)"
    },
    {
      "id": "AMN-1100",
      "name": "Amine Treating",
      "tagPrefix": "AMN",
      "designCapacity": {
        "value": 450,
        "unit": "GPM amine circulation",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Sour fuel gas and LPG from process units",
      "products": [
        "Sweet fuel gas / LPG",
        "Acid gas to SRU"
      ],
      "flowOrder": 11,
      "description": "Absorbs H2S (and CO2) from gas/LPG into amine, regenerates amine.",
      "assetClassCounts": {
        "columnsTowers": 3,
        "vesselsDrumsSeparators": 3,
        "reactors": 0,
        "heatExchangersShellTube": 6,
        "airCoolers": 1,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 8,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 150,
          "gate": 52,
          "globe": 22,
          "ball": 38,
          "check": 15,
          "control": 15,
          "psv": 8
        },
        "instruments": 80,
        "motors": 8,
        "pipingKm": 1.4,
        "flangesEstimate": 330,
        "elbowsEstimate": 252,
        "teesEstimate": 63
      },
      "designData": {
        "designPressureBarg": 25,
        "designTempC": 130,
        "materialClass": "Carbon steel, amine corrosion resistant"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Lean amine temp",
            "base": 45,
            "amp": 2,
            "decimals": 0,
            "unit": "\u00b0C"
          },
          {
            "label": "Acid gas H2S",
            "base": 85,
            "amp": 2,
            "decimals": 0,
            "unit": "% (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate - amine fouling watch",
        "corrosionIndicator": "Moderate",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 28,
        "powerMW": 1.2,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 30
      },
      "damageMechanisms": [
        "Amine Corrosion",
        "Wet H2S Damage",
        "Amine fouling"
      ],
      "materialsSummary": "Carbon steel, amine-service PWHT class; 316L regenerator overhead"
    },
    {
      "id": "SRU-1200",
      "name": "Sulfur Recovery + Tail Gas",
      "tagPrefix": "SRU",
      "designCapacity": {
        "value": 250,
        "unit": "t/day sulfur",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Acid gas from AMN + SWS",
      "products": [
        "Molten sulfur",
        "Tail gas to incinerator / SCOT",
        "SO2 within permit (reference)"
      ],
      "flowOrder": 12,
      "description": "Claus conversion of H2S to elemental sulfur, tail gas treating.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 4,
        "reactors": 3,
        "heatExchangersShellTube": 6,
        "airCoolers": 0,
        "firedHeaters": 1,
        "boilers": 1,
        "pumps": 6,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 2,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 160,
          "gate": 56,
          "globe": 24,
          "ball": 40,
          "check": 16,
          "control": 16,
          "psv": 8
        },
        "instruments": 90,
        "motors": 8,
        "pipingKm": 1.5,
        "flangesEstimate": 352,
        "elbowsEstimate": 270,
        "teesEstimate": 68
      },
      "designData": {
        "designPressureBarg": 5,
        "designTempC": 340,
        "materialClass": "Refractory lined, carbon steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Sulfur production",
            "base": 240,
            "amp": 8,
            "decimals": 0,
            "unit": "t/day (sim)"
          },
          {
            "label": "Recovery",
            "base": 99.5,
            "amp": 0.2,
            "decimals": 1,
            "unit": "% (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate - sulfur plugging watch",
        "corrosionIndicator": "Moderate",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": -12,
        "powerMW": 1.0,
        "fuelMMBtuPerH": 15
      },
      "emissions": {
        "co2TPerDay": 40,
        "so2Note": "Reference estimate only, not permit data"
      },
      "damageMechanisms": [
        "Sulfur Dew Point Corrosion",
        "Refractory degradation",
        "Sulfidation"
      ],
      "materialsSummary": "Refractory-lined reaction furnace; carbon steel converters, alumina catalyst"
    },
    {
      "id": "SWS-1300",
      "name": "Sour Water Stripper",
      "tagPrefix": "SWS",
      "designCapacity": {
        "value": 800,
        "unit": "GPM",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Sour water from process units",
      "products": [
        "Stripped water to reuse / wastewater",
        "Acid gas to SRU"
      ],
      "flowOrder": 13,
      "description": "Strips H2S and ammonia from sour water with steam.",
      "assetClassCounts": {
        "columnsTowers": 1,
        "vesselsDrumsSeparators": 2,
        "reactors": 0,
        "heatExchangersShellTube": 4,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 6,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 90,
          "gate": 31,
          "globe": 14,
          "ball": 22,
          "check": 9,
          "control": 9,
          "psv": 4
        },
        "instruments": 50,
        "motors": 6,
        "pipingKm": 0.9,
        "flangesEstimate": 198,
        "elbowsEstimate": 162,
        "teesEstimate": 40
      },
      "designData": {
        "designPressureBarg": 10,
        "designTempC": 160,
        "materialClass": "Carbon steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Feed",
            "base": 750,
            "amp": 30,
            "decimals": 0,
            "unit": "GPM (sim)"
          },
          {
            "label": "Stripped NH3",
            "base": 30,
            "amp": 5,
            "decimals": 0,
            "unit": "ppm (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate",
        "corrosionIndicator": "Moderate",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 16,
        "powerMW": 0.6,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 15
      },
      "damageMechanisms": [
        "Wet H2S Damage",
        "Ammonium Bisulfide Corrosion"
      ],
      "materialsSummary": "Carbon steel with 316L overhead class"
    },
    {
      "id": "HGN-1400",
      "name": "Hydrogen Plant (SMR)",
      "tagPrefix": "HGN",
      "designCapacity": {
        "value": 120,
        "unit": "MMSCFD H2",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Natural gas + steam",
      "products": [
        "Hydrogen to hydrotreaters / hydrocracker",
        "CO2 vent / capture-ready (reference: vent, labeled)",
        "Export steam"
      ],
      "flowOrder": 14,
      "description": "Steam methane reforming and shift, PSA purification.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 4,
        "reactors": 3,
        "heatExchangersShellTube": 10,
        "airCoolers": 0,
        "firedHeaters": 1,
        "boilers": 0,
        "pumps": 8,
        "compressors": 2,
        "steamTurbines": 0,
        "fansBlowers": 2,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 220,
          "gate": 77,
          "globe": 33,
          "ball": 55,
          "check": 22,
          "control": 22,
          "psv": 11
        },
        "instruments": 120,
        "motors": 12,
        "pipingKm": 1.8,
        "flangesEstimate": 484,
        "elbowsEstimate": 324,
        "teesEstimate": 81
      },
      "designData": {
        "designPressureBarg": 30,
        "designTempC": 850,
        "materialClass": "High alloy reformer tubes"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "H2 production",
            "base": 115,
            "amp": 3,
            "decimals": 0,
            "unit": "MMSCFD (sim)"
          },
          {
            "label": "Reformer outlet",
            "base": 820,
            "amp": 8,
            "decimals": 0,
            "unit": "\u00b0C"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": -20,
        "powerMW": 2.2,
        "fuelMMBtuPerH": 320
      },
      "emissions": {
        "co2TPerDay": 620,
        "note": "SMR is a major CO2 source, reference estimate"
      },
      "damageMechanisms": [
        "Creep / Stress Rupture (reformer tubes)",
        "Metal Dusting (watch, syngas cooling)",
        "HTHA (hot sections)"
      ],
      "materialsSummary": "HP-Nb cast reformer tubes; Cr-Mo hot lines"
    },
    {
      "id": "UTL-1500",
      "name": "Utilities - Boilers, Steam, Power, Cooling, Air, Nitrogen",
      "tagPrefix": "UTL",
      "designCapacity": {
        "value": 600000,
        "unit": "lb/h steam / 80 MW power",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Natural gas, refinery fuel gas, raw water",
      "products": [
        "Steam (HP/MP/LP)",
        "Electric power (co-gen + grid import reference)",
        "Cooling water",
        "Instrument air",
        "Nitrogen",
        "Boiler feed water / demin water"
      ],
      "flowOrder": 15,
      "description": "Plant utilities island: boilers, cogeneration, cooling towers, air and nitrogen, water treatment.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 0,
        "reactors": 0,
        "heatExchangersShellTube": 8,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 4,
        "pumps": 28,
        "compressors": 4,
        "steamTurbines": 3,
        "fansBlowers": 6,
        "tanks": 6,
        "spheres": 0,
        "valves": {
          "total": 380,
          "gate": 133,
          "globe": 57,
          "ball": 95,
          "check": 38,
          "control": 38,
          "psv": 19
        },
        "instruments": 200,
        "motors": 36,
        "pipingKm": 4.5,
        "flangesEstimate": 836,
        "elbowsEstimate": 810,
        "teesEstimate": 202
      },
      "designData": {
        "designPressureBarg": 65,
        "designTempC": 480,
        "materialClass": "Carbon / low alloy"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Steam header",
            "base": 42,
            "amp": 1,
            "decimals": 0,
            "unit": "barg"
          },
          {
            "label": "Power generation",
            "base": 62,
            "amp": 3,
            "decimals": 0,
            "unit": "MW (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 0,
        "powerMW": -55,
        "fuelMMBtuPerH": 650,
        "note": "Net power generation reference; plant net import/export varies"
      },
      "emissions": {
        "co2TPerDay": 1150
      },
      "damageMechanisms": [
        "Caustic Corrosion / oxygen pitting (water-side)",
        "Creep (superheaters)",
        "Flue Gas Dew Point Corrosion (cold ends)"
      ],
      "materialsSummary": "Carbon / low alloy boiler steels; CRGO-and-oil transformers"
    },
    {
      "id": "WWT-1600",
      "name": "Wastewater Treatment",
      "tagPrefix": "WWT",
      "designCapacity": {
        "value": 1200,
        "unit": "GPM",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Oily water, stripped water, stormwater",
      "products": [
        "Treated water to discharge / reuse (permit reference)",
        "Recovered oil to slop",
        "Oily sludge to disposal"
      ],
      "flowOrder": 16,
      "description": "API separation, dissolved air flotation, biological treatment, clarifiers.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 6,
        "reactors": 0,
        "heatExchangersShellTube": 0,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 14,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 2,
        "tanks": 4,
        "spheres": 0,
        "valves": {
          "total": 140,
          "gate": 49,
          "globe": 21,
          "ball": 35,
          "check": 14,
          "control": 14,
          "psv": 7
        },
        "instruments": 70,
        "motors": 16,
        "pipingKm": 1.2,
        "flangesEstimate": 308,
        "elbowsEstimate": 216,
        "teesEstimate": 54
      },
      "designData": {
        "designPressureBarg": 5,
        "designTempC": 40,
        "materialClass": "Carbon steel, concrete basins"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Inlet oil",
            "base": 120,
            "amp": 20,
            "decimals": 0,
            "unit": "ppm (sim)"
          },
          {
            "label": "Outlet oil",
            "base": 8,
            "amp": 2,
            "decimals": 0,
            "unit": "ppm (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Moderate - oily sludge",
        "corrosionIndicator": "Moderate",
        "inspectionIntervalMonths": 24
      },
      "energy": {
        "steamTPerH": 1,
        "powerMW": 1.4,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 10
      },
      "damageMechanisms": [
        "Microbiologically Influenced Corrosion (MIC)",
        "CO2 Corrosion",
        "Concrete degradation"
      ],
      "materialsSummary": "Carbon steel and concrete basins; coatings in splash zones"
    },
    {
      "id": "TKF-1700",
      "name": "Tank Farm",
      "tagPrefix": "TKF",
      "designCapacity": {
        "value": 3200000,
        "unit": "bbl total storage",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Crude receipts, unit rundowns",
      "products": [
        "Crude to CDU",
        "Intermediates to units",
        "Finished products to blending/loading"
      ],
      "flowOrder": 17,
      "description": "Crude (12 tanks), intermediate, product (9+ tanks) and LPG spheres (reference counts). Capacities are reference estimates.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 0,
        "reactors": 0,
        "heatExchangersShellTube": 0,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 36,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 42,
        "spheres": 8,
        "valves": {
          "total": 680,
          "gate": 238,
          "globe": 102,
          "ball": 170,
          "check": 68,
          "control": 68,
          "psv": 34
        },
        "instruments": 220,
        "motors": 36,
        "pipingKm": 6.5,
        "flangesEstimate": 1496,
        "elbowsEstimate": 1170,
        "teesEstimate": 292
      },
      "designData": {
        "designPressureBarg": 2,
        "designTempC": 80,
        "materialClass": "Carbon steel API 650 tanks, API 2510 spheres"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Crude inventory",
            "base": 1450000,
            "amp": 20000,
            "decimals": 0,
            "unit": "bbl (sim)"
          },
          {
            "label": "Product inventory",
            "base": 980000,
            "amp": 15000,
            "decimals": 0,
            "unit": "bbl (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Moderate - tank floor inspection program",
        "inspectionIntervalMonths": 120
      },
      "energy": {
        "steamTPerH": 3,
        "powerMW": 1.8,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 5,
        "fugitiveNote": "Tank seals and valves are LDAR-relevant, counts in taxonomy"
      },
      "damageMechanisms": [
        "Soil-side bottom corrosion",
        "Atmospheric Corrosion",
        "MIC (water bottoms)"
      ],
      "materialsSummary": "API 650 plate; cathodic protection on floors; aluminum internal floating roofs"
    },
    {
      "id": "BLD-1800",
      "name": "Product Blending",
      "tagPrefix": "BLD",
      "designCapacity": {
        "value": 180000,
        "unit": "bbl/day blended",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Reformate, alkylate, isomerate, FCC naphtha, butane, ethanol (reference)",
      "products": "Finished gasoline grades, diesel, jet to tankage / loading",
      "flowOrder": 18,
      "description": "In-line blending of gasoline and distillates to specification.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 2,
        "reactors": 0,
        "heatExchangersShellTube": 2,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 18,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 6,
        "spheres": 0,
        "valves": {
          "total": 240,
          "gate": 84,
          "globe": 36,
          "ball": 60,
          "check": 24,
          "control": 24,
          "psv": 12
        },
        "instruments": 110,
        "motors": 18,
        "pipingKm": 2.0,
        "flangesEstimate": 528,
        "elbowsEstimate": 360,
        "teesEstimate": 90
      },
      "designData": {
        "designPressureBarg": 15,
        "designTempC": 40,
        "materialClass": "Carbon steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Gasoline blend",
            "base": 7200,
            "amp": 200,
            "decimals": 0,
            "unit": "bbl/h (sim)"
          },
          {
            "label": "Diesel blend",
            "base": 3800,
            "amp": 120,
            "decimals": 0,
            "unit": "bbl/h (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 48
      },
      "energy": {
        "steamTPerH": 0,
        "powerMW": 1.1,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 5
      },
      "damageMechanisms": [
        "Atmospheric Corrosion",
        "General corrosion (mild service)"
      ],
      "materialsSummary": "Carbon steel throughout"
    },
    {
      "id": "LDG-1900",
      "name": "Loading - Truck, Rail, Pipeline (Marine optional)",
      "tagPrefix": "LDG",
      "designCapacity": {
        "value": 45000,
        "unit": "bbl/day truck+rail, pipeline primary",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Finished products from tank farm",
      "products": [
        "Truck loading",
        "Rail loading",
        "Pipeline shipment",
        "Marine loading - OPTIONAL, not in reference plot, requires waterfront"
      ],
      "flowOrder": 19,
      "description": "Rack loading and pipeline origin. Marine is labeled optional and not modeled geometrically in v1 full model.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 1,
        "reactors": 0,
        "heatExchangersShellTube": 0,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 12,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 180,
          "gate": 63,
          "globe": 27,
          "ball": 45,
          "check": 18,
          "control": 18,
          "psv": 9
        },
        "instruments": 80,
        "motors": 12,
        "pipingKm": 1.8,
        "flangesEstimate": 396,
        "elbowsEstimate": 324,
        "teesEstimate": 81
      },
      "designData": {
        "designPressureBarg": 15,
        "designTempC": 40,
        "materialClass": "Carbon steel"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Truck loading",
            "base": 420,
            "amp": 40,
            "decimals": 0,
            "unit": "bbl/h (sim)"
          },
          {
            "label": "Pipeline",
            "base": 5200,
            "amp": 150,
            "decimals": 0,
            "unit": "bbl/h (sim)"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Low",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 0,
        "powerMW": 0.7,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 5
      },
      "damageMechanisms": [
        "Atmospheric Corrosion",
        "Erosion at loading arms"
      ],
      "materialsSummary": "Carbon steel; stainless loading-arm swivel class"
    },
    {
      "id": "FLR-2000",
      "name": "Flare System",
      "tagPrefix": "FLR",
      "designCapacity": {
        "value": 1200000,
        "unit": "lb/h relief design (reference)",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Relief and purge gas from all units",
      "products": [
        "Combusted relief gas",
        "Pilot / purge (continuous small flow, reference)"
      ],
      "flowOrder": 20,
      "description": "Elevated flare, knockout drums, flare headers, seal and pilots. FL-1001 in CDU detail is the visible stack.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 3,
        "reactors": 0,
        "heatExchangersShellTube": 0,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 2,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 0,
        "spheres": 0,
        "valves": {
          "total": 60,
          "gate": 21,
          "globe": 9,
          "ball": 15,
          "check": 6,
          "control": 6,
          "psv": 3
        },
        "instruments": 40,
        "motors": 2,
        "pipingKm": 3.8,
        "flangesEstimate": 132,
        "elbowsEstimate": 684,
        "teesEstimate": 171
      },
      "designData": {
        "designPressureBarg": 5,
        "designTempC": 300,
        "materialClass": "Carbon steel header, stainless tip"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Flare flow",
            "base": 0.8,
            "amp": 0.15,
            "decimals": 2,
            "unit": "t/h"
          },
          {
            "label": "Pilot",
            "base": 1,
            "amp": 0,
            "decimals": 0,
            "unit": "Lit"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal, pilot lit",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Moderate - header liquids watch",
        "inspectionIntervalMonths": 36
      },
      "energy": {
        "steamTPerH": 2,
        "powerMW": 0.3,
        "fuelMMBtuPerH": 12
      },
      "emissions": {
        "co2TPerDay": 45,
        "flareVolumeTPerDay": 1.2
      },
      "damageMechanisms": [
        "High-temperature oxidation / thermal fatigue (tip)",
        "Header low-point corrosion"
      ],
      "materialsSummary": "Carbon steel header; 310 stainless flare tip"
    },
    {
      "id": "FWS-2100",
      "name": "Firewater System",
      "tagPrefix": "FWS",
      "designCapacity": {
        "value": 12000,
        "unit": "GPM design",
        "basis": "Reference design estimate, not a real plant rating"
      },
      "feed": "Raw water / firewater tank",
      "products": [
        "Firewater ring main",
        "Hydrants / monitors / foam systems"
      ],
      "flowOrder": 21,
      "description": "Firewater pumps (electric + diesel), jockey, ring main, foam for tank farm.",
      "assetClassCounts": {
        "columnsTowers": 0,
        "vesselsDrumsSeparators": 0,
        "reactors": 0,
        "heatExchangersShellTube": 0,
        "airCoolers": 0,
        "firedHeaters": 0,
        "boilers": 0,
        "pumps": 4,
        "compressors": 0,
        "steamTurbines": 0,
        "fansBlowers": 0,
        "tanks": 2,
        "spheres": 0,
        "valves": {
          "total": 120,
          "gate": 42,
          "globe": 18,
          "ball": 30,
          "check": 12,
          "control": 12,
          "psv": 6
        },
        "instruments": 30,
        "motors": 3,
        "pipingKm": 4.0,
        "flangesEstimate": 264,
        "elbowsEstimate": 720,
        "teesEstimate": 180
      },
      "designData": {
        "designPressureBarg": 12,
        "designTempC": 40,
        "materialClass": "Carbon steel, galvanized branches"
      },
      "operatingData": {
        "source": "simulated",
        "label": "Simulated process feed \u2014 reference model values, not live plant data.",
        "values": [
          {
            "label": "Ring pressure",
            "base": 9.5,
            "amp": 0.3,
            "decimals": 1,
            "unit": "barg"
          },
          {
            "label": "Tank level",
            "base": 82,
            "amp": 1,
            "decimals": 0,
            "unit": "%"
          }
        ]
      },
      "condition": {
        "healthStatus": "Normal, tested weekly (reference)",
        "foulingIndicator": "Low",
        "corrosionIndicator": "Moderate - ring main inspection",
        "inspectionIntervalMonths": 12
      },
      "energy": {
        "steamTPerH": 0,
        "powerMW": 0.4,
        "fuelMMBtuPerH": 0
      },
      "emissions": {
        "co2TPerDay": 1
      },
      "damageMechanisms": [
        "Microbiologically Influenced Corrosion (MIC)",
        "Stagnant-leg corrosion"
      ],
      "materialsSummary": "Carbon steel ring main; galvanized branches"
    }
  ],
  "taxonomy": [
    {
      "category": "Static equipment",
      "classes": [
        {
          "dexpiClass": "FractionationColumn / Tower",
          "iso15926": "Column",
          "scanClassCLOI": "- (vessel class)",
          "scanClassPipework": "Column / tower",
          "plantCount": 21,
          "depthTemplateIds": [
            "column"
          ]
        },
        {
          "dexpiClass": "Vessel / Drum / Separator",
          "iso15926": "Vessel",
          "scanClassCLOI": "Vessel (inferred)",
          "scanClassPipework": "Vessel",
          "plantCount": 66,
          "depthTemplateIds": [
            "vessel"
          ]
        },
        {
          "dexpiClass": "Reactor",
          "iso15926": "Reactor",
          "scanClassCLOI": "-",
          "scanClassPipework": "Reactor",
          "plantCount": 24,
          "depthTemplateIds": [
            "reactor"
          ]
        },
        {
          "dexpiClass": "StorageTank",
          "iso15926": "Tank",
          "scanClassCLOI": "Tank",
          "scanClassPipework": "Tank",
          "plantCount": 60,
          "depthTemplateIds": [
            "storage-tank"
          ]
        },
        {
          "dexpiClass": "PressureSphere",
          "iso15926": "Sphere",
          "scanClassCLOI": "-",
          "scanClassPipework": "Sphere",
          "plantCount": 8,
          "depthTemplateIds": [
            "sphere"
          ]
        },
        {
          "dexpiClass": "ShellAndTubeHeatExchanger",
          "iso15926": "Heat exchanger",
          "scanClassCLOI": "-",
          "scanClassPipework": "Heat exchanger",
          "plantCount": 148,
          "depthTemplateIds": [
            "exchanger-st"
          ]
        },
        {
          "dexpiClass": "AirCooler",
          "iso15926": "Air cooler",
          "scanClassCLOI": "-",
          "scanClassPipework": "Air cooler",
          "plantCount": 31,
          "depthTemplateIds": [
            "air-cooler"
          ]
        },
        {
          "dexpiClass": "FiredHeater / Furnace",
          "iso15926": "Fired heater",
          "scanClassCLOI": "-",
          "scanClassPipework": "Furnace",
          "plantCount": 12,
          "depthTemplateIds": [
            "fired-heater"
          ]
        },
        {
          "dexpiClass": "Boiler",
          "iso15926": "Boiler",
          "scanClassCLOI": "-",
          "scanClassPipework": "Boiler",
          "plantCount": 5,
          "depthTemplateIds": [
            "boiler"
          ]
        }
      ]
    },
    {
      "category": "Rotating equipment",
      "classes": [
        {
          "dexpiClass": "CentrifugalPump",
          "iso15926": "Pump",
          "scanClassCLOI": "-",
          "scanClassPipework": "Pump",
          "plantCount": 284,
          "depthTemplateIds": [
            "pump-centrifugal"
          ]
        },
        {
          "dexpiClass": "Compressor",
          "iso15926": "Compressor",
          "scanClassCLOI": "-",
          "scanClassPipework": "Compressor",
          "plantCount": 22,
          "depthTemplateIds": [
            "compressor"
          ]
        },
        {
          "dexpiClass": "SteamTurbine",
          "iso15926": "Turbine",
          "scanClassCLOI": "-",
          "scanClassPipework": "-",
          "plantCount": 5,
          "depthTemplateIds": [
            "steam-turbine"
          ]
        },
        {
          "dexpiClass": "Fan / Blower",
          "iso15926": "Fan",
          "scanClassCLOI": "-",
          "scanClassPipework": "-",
          "plantCount": 19,
          "depthTemplateIds": [
            "fan-blower"
          ]
        }
      ]
    },
    {
      "category": "Piping components",
      "classes": [
        {
          "dexpiClass": "Pipe / PipeRun",
          "iso15926": "Pipe",
          "scanClassCLOI": "Pipe",
          "scanClassPipework": "Pipe",
          "plantCount": 60.5,
          "unit": "km (reference estimate)",
          "depthTemplateIds": [
            "pipe-run"
          ]
        },
        {
          "dexpiClass": "Elbow",
          "iso15926": "Pipe elbow",
          "scanClassCLOI": "Elbow",
          "scanClassPipework": "Elbow",
          "plantCount": 10890,
          "depthTemplateIds": [
            "elbow"
          ]
        },
        {
          "dexpiClass": "Tee",
          "iso15926": "Pipe tee",
          "scanClassCLOI": "-",
          "scanClassPipework": "Tee",
          "plantCount": 2722,
          "depthTemplateIds": [
            "tee"
          ]
        },
        {
          "dexpiClass": "Reducer",
          "iso15926": "Reducer",
          "scanClassCLOI": "-",
          "scanClassPipework": "Reducer",
          "plantCount": 1331,
          "depthTemplateIds": [
            "reducer"
          ]
        },
        {
          "dexpiClass": "Flange",
          "iso15926": "Flange",
          "scanClassCLOI": "Flange",
          "scanClassPipework": "Flange",
          "plantCount": 12672,
          "depthTemplateIds": [
            "flange"
          ]
        },
        {
          "dexpiClass": "Valve (all types)",
          "iso15926": "Valve",
          "scanClassCLOI": "Valve",
          "scanClassPipework": "Valve",
          "plantCount": 5760,
          "depthTemplateIds": [
            "valve-block",
            "valve-control"
          ]
        }
      ]
    },
    {
      "category": "Instrumentation",
      "classes": [
        {
          "dexpiClass": "ProcessInstrumentationFunction",
          "iso15926": "Instrument",
          "scanClassCLOI": "- (too small for TLS class)",
          "scanClassPipework": "-",
          "plantCount": 2620,
          "note": "Includes FT/PT/TT/LT, analyzers, control valves counted in valves, DCS/SIS points estimated at ~2.2x field instruments",
          "depthTemplateIds": [
            "instrument-loop"
          ]
        }
      ]
    },
    {
      "category": "Electrical",
      "classes": [
        {
          "dexpiClass": "Electrical (outside DEXPI P&ID scope, ISO 15926)",
          "iso15926": "Motor / Transformer / Switchgear",
          "scanClassCLOI": "-",
          "scanClassPipework": "-",
          "plantCount": 341,
          "note": "Motors counted; substations 6, transformers 18, switchgear lineups 24, MCCs 32 are reference estimates for the plant",
          "depthTemplateIds": [
            "motor",
            "transformer",
            "switchgear-mcc"
          ]
        }
      ]
    },
    {
      "category": "Structures / Civil",
      "classes": [
        {
          "dexpiClass": "Structure (DEXPI supporting)",
          "iso15926": "Structure",
          "scanClassCLOI": "I-beam / Channel",
          "scanClassPipework": "Steel structure",
          "plantCount": "Pipe racks ~9 km, foundations per equipment count, buildings 8, bunds per tank area",
          "note": "Quantified by length/count in register notes, not a single equipment count",
          "depthTemplateIds": [
            "structure"
          ]
        }
      ]
    },
    {
      "category": "Safety / Environmental",
      "classes": [
        {
          "dexpiClass": "PressureSafetyValve",
          "iso15926": "PSV",
          "scanClassCLOI": "Valve (PSV subset)",
          "scanClassPipework": "Valve",
          "plantCount": 288,
          "depthTemplateIds": [
            "psv"
          ]
        },
        {
          "dexpiClass": "FlareSystem",
          "iso15926": "Flare",
          "scanClassCLOI": "-",
          "scanClassPipework": "-",
          "plantCount": 1,
          "depthTemplateIds": [
            "flare"
          ]
        },
        {
          "dexpiClass": "Firewater / Detector / Foam",
          "iso15926": "Safety system",
          "scanClassCLOI": "-",
          "scanClassPipework": "-",
          "plantCount": "Firewater pumps 4, detectors ~420 (reference), foam systems 18",
          "depthTemplateIds": [
            "firewater",
            "detection-foam"
          ]
        }
      ]
    }
  ],
  "materialsLibrary": [
    {
      "id": "sa516-70",
      "name": "Carbon steel plate, SA-516 Gr.70",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-516 Grade 70 (ASTM A516)",
      "service": "Column shells, vessel shells and heads, drums, reactor shells in mild service",
      "notes": "The default pressure-boundary plate of the plant. Normalized for thicker / lower-temperature sections."
    },
    {
      "id": "sa106-sa105",
      "name": "Carbon steel pipe and forgings, SA-106 / SA-105",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-106 Gr.B pipe; ASME SA-105 flanges and forgings",
      "service": "Process piping, valve bodies, flange facings across carbon-steel line classes",
      "notes": "Paired with SA-516 plate as the plant carbon steel system."
    },
    {
      "id": "api650-plate",
      "name": "Tank plate, carbon steel (API 650)",
      "group": "Pressure-boundary metals",
      "specification": "ASTM A36 / ASME SA-516 Gr.70 shell plate to API 650; SA-283 intermediate grades in older classes",
      "service": "Atmospheric storage tank shells, bottoms and roofs",
      "notes": "Floating and fixed roof tanks. Bottom plates get corrosion allowance and cathodic protection."
    },
    {
      "id": "crmo-125",
      "name": "1.25Cr-0.5Mo low alloy steel",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-387 Gr.11 plate; SA-335 P11 pipe; SA-182 F11 forgings",
      "service": "Hot oil and moderate-temperature hydrogen service: VDU, hot separator and furnace transfer lines",
      "notes": "Step up from carbon steel where sulfidation and temperature rule carbon steel out."
    },
    {
      "id": "crmo-225",
      "name": "2.25Cr-1Mo low alloy steel",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-387 Gr.22 plate; SA-335 P22 pipe; SA-182 F22 forgings",
      "service": "High-pressure, high-temperature hydrogen service: hydrocracker and hydrotreater reactor shells, hot high-pressure separators",
      "notes": "Governed by API RP 941 (Nelson curves) for high-temperature hydrogen attack. Often stainless-clad inside."
    },
    {
      "id": "crmo-5",
      "name": "5Cr-0.5Mo alloy steel",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-335 P5 pipe; SA-387 Gr.5 plate",
      "service": "Fired heater tubes and hot transfer lines in crude, vacuum and coker service",
      "notes": "Sulfidation resistance at temperature where carbon steel and 1.25Cr thin too fast."
    },
    {
      "id": "crmo-9",
      "name": "9Cr-1Mo alloy steel",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-335 P9 pipe; SA-387 Gr.9 plate",
      "service": "Coker and visbreaker hot lines, high-temperature sulfidic service",
      "notes": "Top of the Cr-Mo ladder used in this reference plant short of stainless."
    },
    {
      "id": "hp-nb-reformer",
      "name": "HP-modified cast alloy, reformer tubes",
      "group": "Pressure-boundary metals",
      "specification": "ASTM A297 Gr. HP Nb-modified (HP40Nb class) centrifugally cast tubes",
      "service": "SMR reformer catalyst tubes at 800-900 C tube metal temperature",
      "notes": "Creep-governed. Tube life is managed by temperature history and remaining-life assessment, not calendar."
    },
    {
      "id": "ss-304l",
      "name": "Stainless steel 304/304L",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-240 TP304/304L plate; SA-312 TP304L pipe; SA-213 TP304 tubes",
      "service": "Cladding, column internals, trays, and moderate corrosive service",
      "notes": "Chloride stress corrosion cracking is the governing watch item above about 60 C in chloride presence."
    },
    {
      "id": "ss-316l",
      "name": "Stainless steel 316L",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-240 TP316L; SA-312 TP316L; SA-213 TP316L tubes",
      "service": "Sour water, amine-adjacent, and aqueous corrosive service; cladding on Cr-Mo reactors",
      "notes": "Molybdenum grade for pitting resistance over 304L."
    },
    {
      "id": "ss-321-347",
      "name": "Stabilized stainless 321 / 347",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-240 TP321 / TP347; SA-312 TP347 pipe",
      "service": "Reformer and FCC high-temperature internals, transfer lines, polythionic-acid-exposed service",
      "notes": "Stabilization resists sensitization; the standard answer where polythionic acid SCC is credible."
    },
    {
      "id": "duplex-2205",
      "name": "Duplex stainless 2205",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-240 S32205; SA-790 S32205 pipe; SA-789 tubes",
      "service": "Crude overhead, desalter brine, cooling-water and chloride services too aggressive for 316L",
      "notes": "High strength plus chloride SCC resistance; watch 475 C embrittlement range in fabrication and service."
    },
    {
      "id": "alloy-825-625",
      "name": "High-nickel alloys 825 / 625",
      "group": "Pressure-boundary metals",
      "specification": "ASME SB-424 Alloy 825 plate; SB-443 Alloy 625; weld overlay per ASME IX",
      "service": "Weld overlay and solid alloy in the worst sour and high-temperature spots: hydrocracker effluent, SRU and reactor effluent air coolers",
      "notes": "Used as overlay or cladding on carbon / Cr-Mo substrate, not solid construction, in this reference design."
    },
    {
      "id": "clad-cs-316l",
      "name": "Clad plate, carbon steel + 316L",
      "group": "Pressure-boundary metals",
      "specification": "ASME SA-516 Gr.70 substrate with SA-240 TP316L cladding (roll or explosion bonded, SA-263/264 class)",
      "service": "Hydrotreater and hydrocracker reactor and vessel internals surfaces",
      "notes": "Strength from the substrate, corrosion resistance from the clad layer; clad integrity is an inspection item."
    },
    {
      "id": "monel-400",
      "name": "Monel 400 (Ni-Cu alloy)",
      "group": "Pressure-boundary metals",
      "specification": "ASME SB-127 Alloy 400 plate; SB-164 bar; trim and bolting",
      "service": "Alkylation acid-service valve trim, pump trim and instrument parts",
      "notes": "The classic acid-handling trim alloy; used at trim scale, not vessel scale, in this plant."
    },
    {
      "id": "cast-ci-di",
      "name": "Cast iron / ductile iron, utility service",
      "group": "Pressure-boundary metals",
      "specification": "ASTM A126 cast iron; ASTM A536 ductile iron",
      "service": "Cooling water, firewater branches, air and low-hazard utility valves and pump casings",
      "notes": "Utility-only material class; never in hydrocarbon pressure boundary in this design."
    },
    {
      "id": "refr-fcc",
      "name": "Erosion-resistant refractory, FCC",
      "group": "Refractory and hot-face linings",
      "specification": "High-alumina castable (85% Al2O3 class) over hexmesh / hexsteel anchors, API RP 982 inspection class",
      "service": "FCC reactor, regenerator, cyclones and transfer lines",
      "notes": "Erosion by circulating catalyst is the design driver; lining thickness and anchor pattern are the model attributes."
    },
    {
      "id": "refr-sru",
      "name": "High-alumina refractory, SRU reaction furnace",
      "group": "Refractory and hot-face linings",
      "specification": "High-alumina brick and castable (90% Al2O3 class hot face) with insulating backup layer",
      "service": "Claus reaction furnace and waste heat boiler tube sheet protection",
      "notes": "Hot-face temperatures in the 1,300 C class; sulfur dew point corrosion behind the lining is the hidden watch item."
    },
    {
      "id": "refr-heater",
      "name": "Heater refractory: insulating firebrick + ceramic fiber",
      "group": "Refractory and hot-face linings",
      "specification": "IFB 2600 class brick; ceramic fiber modules (1,260 C class) on walls and roofs",
      "service": "Fired heaters, boilers, SMR furnace box (outside the catalyst tubes)",
      "notes": "Fiber modules cut heat loss; burner tiles and peep sights are the wear points."
    },
    {
      "id": "tube-cs",
      "name": "Exchanger tubes, carbon steel SA-179",
      "group": "Exchanger tube metallurgy",
      "specification": "ASME SA-179 seamless cold-drawn carbon steel tubes",
      "service": "General hydrocarbon / hydrocarbon preheat and condensing duty",
      "notes": "Default tube material where neither side is corrosive enough to rule it out."
    },
    {
      "id": "tube-ss",
      "name": "Exchanger tubes, stainless SA-213",
      "group": "Exchanger tube metallurgy",
      "specification": "ASME SA-213 TP316L / TP321 seamless tubes",
      "service": "Corrosive process sides: reactor effluent, sour and high-temperature services",
      "notes": "Paired with stainless or clad tubesheets to avoid galvanic mismatch."
    },
    {
      "id": "tube-duplex-ti",
      "name": "Exchanger tubes, duplex / titanium for cooling water",
      "group": "Exchanger tube metallurgy",
      "specification": "ASME SA-789 S32205 duplex; SB-338 titanium Gr.2 for brackish / seawater class duty",
      "service": "Cooling-water condensers and coolers, including CDU overhead service",
      "notes": "The standard answer to cooling-water-side pitting and MIC; titanium where chlorides are highest."
    },
    {
      "id": "bolt-b7-2h",
      "name": "Bolting, B7 studs / 2H nuts",
      "group": "Bolting, gaskets and packing",
      "specification": "ASME SA-193 Gr.B7 studs; ASME SA-194 Gr.2H nuts",
      "service": "General flanged joints in carbon and low-alloy steel systems",
      "notes": "PTFE or anti-seize coated sets in corrosive atmospheres; controlled torque / tensioning is the modeled procedure."
    },
    {
      "id": "bolt-b8m",
      "name": "Bolting, B8M stainless",
      "group": "Bolting, gaskets and packing",
      "specification": "ASME SA-193 Gr.B8M Class 2 studs; SA-194 Gr.8M nuts",
      "service": "Stainless flanged joints and low-temperature / corrosive-atmosphere joints",
      "notes": "Galling control (lubricant, hardness differential) is the modeled assembly requirement."
    },
    {
      "id": "gasket-spiral-rtj",
      "name": "Gaskets: spiral wound and RTJ ring",
      "group": "Bolting, gaskets and packing",
      "specification": "ASME B16.20 spiral-wound, 316L winding with graphite filler; octagonal RTJ rings, soft iron / 316 by class",
      "service": "Spiral wound as the plant default; RTJ metal rings in high-pressure hydrogen and reactor systems",
      "notes": "Gaskets are single-use sacrificial components in this model: replaced at every joint break."
    },
    {
      "id": "packing-graphite",
      "name": "Valve packing: die-formed graphite / PTFE",
      "group": "Bolting, gaskets and packing",
      "specification": "Die-formed flexible graphite sets with carbon-fiber anti-extrusion rings; braided PTFE for light service",
      "service": "Rising-stem valve stem sealing, fugitive-emission (low-E) class packing on control and block valves",
      "notes": "Packing condition is a modeled LDAR attribute, tied to the emissions layer."
    },
    {
      "id": "seal-faces",
      "name": "Mechanical seal faces: SiC / carbon",
      "group": "Seals and elastomers",
      "specification": "Reaction-bonded silicon carbide vs resin-impregnated carbon graphite faces; tungsten carbide in abrasive duty",
      "service": "Pump and compressor shaft sealing (API RP 682 seal plans)",
      "notes": "Seal face pair is a wear component; seal support system (Plan 52/53/54) is modeled with the pump."
    },
    {
      "id": "elastomers",
      "name": "Elastomers: FKM, FFKM, EPDM, NBR by service",
      "group": "Seals and elastomers",
      "specification": "FKM (general hydrocarbon), FFKM (severe chemical / amine), EPDM (steam and water), NBR (mild oil)",
      "service": "O-rings and gaskets in seals, instruments and rotating equipment",
      "notes": "Elastomer selection is by chemical compatibility class in the register; wrong-elastomer is a named failure mode."
    },
    {
      "id": "insulation",
      "name": "Insulation: mineral wool and calcium silicate",
      "group": "Insulation and coatings",
      "specification": "Mineral wool (ASTM C547) and calcium silicate (ASTM C533) with aluminum jacketing",
      "service": "Hot piping and equipment conservation; personnel protection; cold service uses cellular glass class",
      "notes": "Jacketing integrity is the CUI control: damaged jacketing is a modeled condition flag, not a cosmetic item."
    },
    {
      "id": "coatings-tsa",
      "name": "Coating systems and thermal-spray aluminum",
      "group": "Insulation and coatings",
      "specification": "High-temperature epoxy / phenolic coating systems; thermal-spray aluminum (TSA) under insulation in CUI-critical service",
      "service": "External corrosion protection of carbon steel, especially under insulation and in splash zones",
      "notes": "Coating system and surface preparation grade are register attributes per line class."
    },
    {
      "id": "cu-xlpe",
      "name": "Conductors: copper with XLPE / EPR insulation",
      "group": "Electrical materials",
      "specification": "Copper conductors, XLPE or EPR insulation, armored tray cable (IEEE/ICEA class), 600 V and 5-15 kV classes",
      "service": "Power and control cabling plant-wide; fiber-optic for command links (see protection layer)",
      "notes": "Cable insulation class and routing (tray, conduit, buried) are modeled attributes; critical command runs are fiber."
    },
    {
      "id": "crgo-oil",
      "name": "Transformer materials: CRGO core, mineral oil / ester",
      "group": "Electrical materials",
      "specification": "Cold-rolled grain-oriented core steel; mineral insulating oil (ASTM D3487) or natural ester fluid",
      "service": "Power transformers plant-wide",
      "notes": "Oil condition (dissolved gas analysis) is the modeled health attribute for transformers."
    },
    {
      "id": "cat-fcc",
      "name": "FCC catalyst: USY zeolite (qualitative class)",
      "group": "Catalyst materials (qualitative class only)",
      "specification": "Ultrastable Y zeolite in an alumina / silica-alumina matrix with clay filler; rare-earth exchanged class",
      "service": "FCC-600 reactor / regenerator circulating inventory",
      "notes": "Composition class only. No proprietary formulation is modeled or claimed."
    },
    {
      "id": "cat-hds",
      "name": "Hydrotreating catalyst: CoMo / NiMo on alumina (qualitative class)",
      "group": "Catalyst materials (qualitative class only)",
      "specification": "Cobalt-molybdenum or nickel-molybdenum oxides on gamma-alumina support, sulfided in service",
      "service": "NHT-300, DHT-500, HCU-700 first stage, SRU tail-gas hydrogenation",
      "notes": "Composition class only. No proprietary formulation is modeled or claimed."
    },
    {
      "id": "cat-hcu",
      "name": "Hydrocracking catalyst: NiMo / zeolite (qualitative class)",
      "group": "Catalyst materials (qualitative class only)",
      "specification": "Nickel-molybdenum on zeolite / amorphous silica-alumina support classes",
      "service": "HCU-700 second stage cracking beds",
      "notes": "Composition class only. No proprietary formulation is modeled or claimed."
    },
    {
      "id": "cat-pt",
      "name": "Reformer / isomerization catalyst: Pt on alumina (qualitative class)",
      "group": "Catalyst materials (qualitative class only)",
      "specification": "Platinum (with Re or Sn promoter class) on chlorided gamma-alumina; Pt-zeolite class for isomerization second bed",
      "service": "REF-400 (continuous regeneration class), ISO-900",
      "notes": "Composition class only. No proprietary formulation is modeled or claimed."
    },
    {
      "id": "cat-claus",
      "name": "Claus catalyst: activated alumina / titania (qualitative class)",
      "group": "Catalyst materials (qualitative class only)",
      "specification": "Activated alumina spheres; titania class in the first converter for COS / CS2 hydrolysis",
      "service": "SRU-1200 converter beds",
      "notes": "Composition class only. No proprietary formulation is modeled or claimed."
    },
    {
      "id": "cat-smr",
      "name": "SMR and shift catalysts: Ni, Fe-Cr, Cu-Zn (qualitative class)",
      "group": "Catalyst materials (qualitative class only)",
      "specification": "Nickel on calcium-aluminate (reformer tubes); iron-chromium high-temperature shift; copper-zinc low-temperature shift; PSA adsorbent (activated carbon / molecular sieve) class",
      "service": "HGN-1400 reformer, shift section and PSA",
      "notes": "Composition class only. No proprietary formulation is modeled or claimed."
    },
    {
      "id": "lube-oils",
      "name": "Lubricating oils and greases (material class)",
      "group": "Lubricants and seal support fluids",
      "specification": "ISO VG 46 / 68 turbine and bearing oils (synthetic PAO class for critical machines); EP gear oils; lithium-complex greases",
      "service": "Bearings, gearboxes, seal support systems plant-wide",
      "notes": "Inventories are quantified in the resources layer. Oil analysis is the modeled condition attribute."
    }
  ],
  "materialsQuantities": {
    "steelTonnagePerUnitT": {
      "CDU-100": 4800,
      "VDU-200": 2600,
      "NHT-300": 900,
      "REF-400": 1400,
      "DHT-500": 1100,
      "FCC-600": 3400,
      "HCU-700": 1900,
      "ALK-800": 700,
      "ISO-900": 500,
      "DCU-1000": 1600,
      "AMN-1100": 450,
      "SRU-1200": 600,
      "SWS-1300": 250,
      "HGN-1400": 1100,
      "UTL-1500": 3800,
      "WWT-1600": 700,
      "TKF-1700": 9500,
      "BLD-1800": 600,
      "LDG-1900": 800,
      "FLR-2000": 350,
      "FWS-2100": 500
    },
    "steelTonnageTotalT": 37550,
    "refractoryVolumesM3": {
      "FCC-600 reactor / regenerator / transfer lines": 450,
      "SRU-1200 reaction furnace and converters": 120,
      "Fired heaters and boilers, plant-wide": 300
    },
    "refractoryTotalM3": 870,
    "note": "Steel tonnage is pressure-boundary + structural steel per unit at reference-design scale (tank farm dominates, as in real plants). Refractory volumes are lining volumes at installed thickness class. All values are reference estimates, not a real plant bill of material."
  },
  "classDepth": [
    {
      "templateId": "column",
      "taxonomyClass": "FractionationColumn / Tower",
      "category": "Static equipment",
      "primaryMaterial": "Shell: SA-516 Gr.70 carbon steel; hot / sour sections 1.25Cr-0.5Mo or 316L clad",
      "primaryMaterialIds": [
        "sa516-70",
        "crmo-125",
        "clad-cs-316l"
      ],
      "alternates": [
        {
          "material": "316L clad (SA-263 class)",
          "when": "Naphthenic acid or wet sour service"
        },
        {
          "material": "Duplex 2205 solid",
          "when": "Crude overhead / high-chloride sections"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Naphthenic Acid Corrosion",
          "note": "Crude and vacuum columns on high-TAN slates"
        },
        {
          "name": "Sulfidation",
          "note": "Hot sections above 260 C"
        },
        {
          "name": "Ammonium Bisulfide Corrosion",
          "note": "Overhead and pumparound circuits"
        },
        {
          "name": "Corrosion Under Insulation (CUI)",
          "note": "Insulated skirt and lower shell"
        },
        {
          "name": "Atmospheric Corrosion",
          "note": "External, at supports and nameplate areas"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510 external + internal at turnaround; thickness survey grid on shell courses; tray condition survey",
      "inspectionIntervalClass": "RBI class: internal 8-12 yr (reference), external 5 yr",
      "rollupItems": 21,
      "rollupBasis": "21 columns / towers in the plant register",
      "components": [
        {
          "name": "Shell courses (stacked plate rings)",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by section",
          "failureModes": [
            "Sulfidation",
            "Naphthenic acid corrosion",
            "CUI"
          ],
          "perItem": 6,
          "note": "Counted as courses per column, plant average"
        },
        {
          "name": "Top and bottom heads",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Corrosion thinning",
            "Fatigue at nozzle junctions"
          ],
          "perItem": 2
        },
        {
          "name": "Skirt and anchor bolt set",
          "motion": "stationary",
          "material": "Carbon steel skirt; B7 anchor bolts",
          "failureModes": [
            "Atmospheric corrosion",
            "Anchor bolt corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Tray set",
          "motion": "stationary",
          "material": "304L / 316L stainless trays, valves and downcomers",
          "failureModes": [
            "Tray fouling",
            "Weir corrosion",
            "Tray uplift / damage"
          ],
          "perItem": 38,
          "note": "Trays counted individually, plant average per column; the internals layer v1 listed as a gap, now templated"
        },
        {
          "name": "Packed bed sections (where fitted)",
          "motion": "stationary",
          "material": "316L / ceramic packing and liquid distributors",
          "failureModes": [
            "Packing fouling",
            "Distributor plugging"
          ],
          "perItem": 1
        },
        {
          "name": "Liquid distributors and draw sumps",
          "motion": "stationary",
          "material": "316L stainless",
          "failureModes": [
            "Plugging",
            "Corrosion"
          ],
          "perItem": 3
        },
        {
          "name": "Nozzles and manways with bolting",
          "motion": "stationary",
          "material": "SA-105 forgings; B7/2H bolting",
          "failureModes": [
            "Flange leakage",
            "Nozzle neck cracking"
          ],
          "perItem": 10
        },
        {
          "name": "Platform, ladders and davit",
          "motion": "stationary",
          "material": "Galvanized carbon steel",
          "failureModes": [
            "Atmospheric corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Insulation and jacketing system",
          "motion": "stationary",
          "material": "Mineral wool / calcium silicate, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "vessel",
      "taxonomyClass": "Vessel / Drum / Separator",
      "category": "Static equipment",
      "primaryMaterial": "SA-516 Gr.70 carbon steel; 316L clad or solid in sour / aqueous service",
      "primaryMaterialIds": [
        "sa516-70",
        "clad-cs-316l",
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "2.25Cr-1Mo, 316L clad",
          "when": "Hot high-pressure separator duty (see reactor class)"
        },
        {
          "material": "Duplex 2205",
          "when": "High-chloride aqueous service"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Wet H2S Damage (HIC / SOHIC / SCC)",
          "note": "Sour drums and separators"
        },
        {
          "name": "Amine Corrosion",
          "note": "Amine flash and regenerator vessels"
        },
        {
          "name": "Corrosion Under Insulation (CUI)",
          "note": "Insulated vessels"
        },
        {
          "name": "CO2 Corrosion",
          "note": "Wet gas / condensate vessels"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510; UT thickness grid; wet-H2S vessels get WFMT / HIC scan class inspection",
      "inspectionIntervalClass": "RBI class: internal 6-10 yr (reference)",
      "rollupItems": 66,
      "rollupBasis": "66 vessels / drums / separators in the plant register",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Thinning",
            "HIC blistering (sour)"
          ],
          "perItem": 1
        },
        {
          "name": "Heads (2)",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Thinning"
          ],
          "perItem": 2
        },
        {
          "name": "Skirt / saddle supports",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Support corrosion",
            "Fireproofing damage"
          ],
          "perItem": 1
        },
        {
          "name": "Inlet distributor / vortex breaker",
          "motion": "stationary",
          "material": "316L stainless",
          "failureModes": [
            "Erosion",
            "Fouling"
          ],
          "perItem": 1
        },
        {
          "name": "Mist eliminator / coalescer pad",
          "motion": "wear",
          "material": "316L mesh / PP in light service",
          "failureModes": [
            "Fouling",
            "Carryover"
          ],
          "perItem": 1
        },
        {
          "name": "Nozzles and manway with bolting",
          "motion": "stationary",
          "material": "SA-105; B7/2H",
          "failureModes": [
            "Flange leakage"
          ],
          "perItem": 6
        },
        {
          "name": "Level bridles and gauge glass assembly",
          "motion": "stationary",
          "material": "CS / 316L with armored glass",
          "failureModes": [
            "Glass breakage",
            "Bridle plugging"
          ],
          "perItem": 2
        },
        {
          "name": "Insulation and jacketing system",
          "motion": "stationary",
          "material": "Mineral wool, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "reactor",
      "taxonomyClass": "Reactor",
      "category": "Static equipment",
      "primaryMaterial": "2.25Cr-1Mo (SA-387 Gr.22) with 316L / 347 cladding in hydrogen service; carbon steel refractory-lined for FCC class",
      "primaryMaterialIds": [
        "crmo-225",
        "clad-cs-316l",
        "ss-321-347",
        "refr-fcc"
      ],
      "alternates": [
        {
          "material": "1.25Cr-0.5Mo with 304L clad",
          "when": "Moderate pressure hydrotreating"
        },
        {
          "material": "Carbon steel + refractory",
          "when": "FCC reactor / regenerator and SRU converters"
        }
      ],
      "damageMechanisms": [
        {
          "name": "High Temperature Hydrogen Attack (HTHA)",
          "note": "Governed by API RP 941 Nelson curves; the reactor class watch item"
        },
        {
          "name": "Temper Embrittlement",
          "note": "Cr-Mo on long hot service, tracked by J-factor / step-cool class data"
        },
        {
          "name": "Polythionic Acid Stress Corrosion Cracking",
          "note": "Sensitized stainless internals at shutdown exposure"
        },
        {
          "name": "Creep / Stress Rupture",
          "note": "Hot-wall sections and SMR tubes"
        },
        {
          "name": "Sulfidation",
          "note": "Feed-effluent hot sections"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510 with HTHA-targeted UT / TOFD class examination; internals survey each turnaround; catalyst bed DP trend as operating condition",
      "inspectionIntervalClass": "RBI class: internal at turnaround 4-6 yr (reference); catalyst cycle tracked separately",
      "rollupItems": 24,
      "rollupBasis": "24 reactors in the plant register (hydrotreaters, reformer, hydrocracker, FCC pair, coker drums counted as vessels in v1, SRU converters, SMR counted at fired-heater class)",
      "components": [
        {
          "name": "Shell (Cr-Mo, clad)",
          "motion": "stationary",
          "material": "SA-387 Gr.22 + 316L clad",
          "failureModes": [
            "HTHA",
            "Temper embrittlement",
            "Clad disbonding"
          ],
          "perItem": 1
        },
        {
          "name": "Heads and closure",
          "motion": "stationary",
          "material": "SA-387 Gr.22 + clad",
          "failureModes": [
            "HTHA"
          ],
          "perItem": 2
        },
        {
          "name": "Skirt and anchors",
          "motion": "stationary",
          "material": "Carbon steel, fireproofed",
          "failureModes": [
            "Corrosion under fireproofing"
          ],
          "perItem": 1
        },
        {
          "name": "Catalyst beds",
          "motion": "wear",
          "material": "Catalyst per resources layer (qualitative class)",
          "failureModes": [
            "Catalyst deactivation",
            "Bed fouling / crusting",
            "Hot spots"
          ],
          "perItem": 3,
          "note": "Beds counted per reactor, plant average; catalyst itself is a resource, tracked in the resources layer"
        },
        {
          "name": "Catalyst support grids and beams",
          "motion": "stationary",
          "material": "347 stainless",
          "failureModes": [
            "Polythionic acid SCC",
            "Mechanical damage"
          ],
          "perItem": 3
        },
        {
          "name": "Inlet distributor and quench system",
          "motion": "stationary",
          "material": "347 / 316L stainless",
          "failureModes": [
            "Erosion",
            "Plugging"
          ],
          "perItem": 2
        },
        {
          "name": "Outlet collector and centerpipe (radial designs)",
          "motion": "stationary",
          "material": "347 stainless screen",
          "failureModes": [
            "Screen damage"
          ],
          "perItem": 1
        },
        {
          "name": "Thermocouple grid (multipoint)",
          "motion": "stationary",
          "material": "Inconel-sheathed thermocouples",
          "failureModes": [
            "Thermocouple failure masking hot spots"
          ],
          "perItem": 1
        },
        {
          "name": "Nozzles with RTJ joints",
          "motion": "stationary",
          "material": "F22 forgings; RTJ rings",
          "failureModes": [
            "Flange leakage"
          ],
          "perItem": 6
        }
      ]
    },
    {
      "templateId": "storage-tank",
      "taxonomyClass": "StorageTank",
      "category": "Static equipment",
      "primaryMaterial": "API 650 carbon steel plate (A36 / SA-516 Gr.70); aluminum floating roofs and seals by service",
      "primaryMaterialIds": [
        "api650-plate"
      ],
      "alternates": [
        {
          "material": "Stainless 304L small tanks",
          "when": "Chemical and additive storage"
        },
        {
          "material": "Internal epoxy lining",
          "when": "Product / water service cleanliness"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Atmospheric Corrosion",
          "note": "Shell and roof external"
        },
        {
          "name": "Soil-side bottom corrosion",
          "note": "Governed by API 653 floor scans, cathodic protection is the control"
        },
        {
          "name": "Microbiologically Influenced Corrosion (MIC)",
          "note": "Water bottoms"
        },
        {
          "name": "Internal pitting",
          "note": "Product-side floor and first course"
        }
      ],
      "designLifeYears": 40,
      "inspectionMethod": "API 653: external 5 yr, internal / floor MFL scan 10-20 yr class by corrosion rate",
      "inspectionIntervalClass": "API 653 class intervals (reference)",
      "rollupItems": 60,
      "rollupBasis": "60 tanks in the plant register (crude, product, utility, wastewater)",
      "components": [
        {
          "name": "Shell courses",
          "motion": "stationary",
          "material": "API 650 plate, A36 / SA-516",
          "failureModes": [
            "Shell thinning",
            "Buckling (wind / vacuum)"
          ],
          "perItem": 5,
          "note": "Courses counted per tank, plant average"
        },
        {
          "name": "Tank bottom (floor plates + annular ring)",
          "motion": "stationary",
          "material": "API 650 plate with corrosion allowance",
          "failureModes": [
            "Soil-side corrosion",
            "Product-side pitting"
          ],
          "perItem": 1
        },
        {
          "name": "Fixed roof or floating roof",
          "motion": "stationary",
          "material": "Carbon steel; aluminum for internal floaters",
          "failureModes": [
            "Roof corrosion",
            "Pontoon leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Floating roof seal system (primary + secondary)",
          "motion": "wear",
          "material": "Steel shoe / foam dam with fabric seals",
          "failureModes": [
            "Seal gap (emissions)",
            "Seal hang-up"
          ],
          "perItem": 1,
          "note": "Applies to floating-roof tanks; seal condition is an emissions (LDAR / fugitive) attribute"
        },
        {
          "name": "Roof drain and gauge pole",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Drain plugging"
          ],
          "perItem": 1
        },
        {
          "name": "Mixer (side-entry, where fitted)",
          "motion": "moving",
          "material": "Carbon steel impeller, geared drive",
          "failureModes": [
            "Gearbox wear",
            "Seal leakage"
          ],
          "perItem": 1,
          "note": "The one moving component on a tank; fitted on crude tanks"
        },
        {
          "name": "Nozzles, manways and bolting",
          "motion": "stationary",
          "material": "SA-105; B7/2H",
          "failureModes": [
            "Flange leakage"
          ],
          "perItem": 8
        },
        {
          "name": "Cathodic protection system (impressed current / galvanic)",
          "motion": "stationary",
          "material": "Anode beds, rectifier, reference electrodes",
          "failureModes": [
            "CP failure accelerating floor corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Overfill protection and gauging (radar + independent switch)",
          "motion": "stationary",
          "material": "Radar gauge; SIL-rated high-high switch class",
          "failureModes": [
            "Gauge failure",
            "Overfill"
          ],
          "perItem": 1
        },
        {
          "name": "Foundation ringwall and containment bund",
          "motion": "stationary",
          "material": "Reinforced concrete; lined earthen bund",
          "failureModes": [
            "Settlement",
            "Bund cracking / drainage blockage"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "sphere",
      "taxonomyClass": "PressureSphere",
      "category": "Static equipment",
      "primaryMaterial": "SA-516 Gr.70 normalized plate, PWHT; SA-537 class in thicker sections",
      "primaryMaterialIds": [
        "sa516-70"
      ],
      "alternates": [
        {
          "material": "SA-537 Cl.2",
          "when": "Thick / low-temperature LPG sections"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Wet H2S Damage (HIC / SOHIC / SCC)",
          "note": "Sour LPG service; plate HIC-tested class"
        },
        {
          "name": "Atmospheric Corrosion",
          "note": "Legs and equator zones"
        },
        {
          "name": "Fatigue",
          "note": "Pressure cycling at leg attachments"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510; full UT / WFMT class examination of welds on sour spheres; leg and fireproofing survey",
      "inspectionIntervalClass": "RBI class: internal 10 yr (reference)",
      "rollupItems": 8,
      "rollupBasis": "8 LPG / pressure spheres in the plant register",
      "components": [
        {
          "name": "Shell petals (equatorial + polar plates)",
          "motion": "stationary",
          "material": "SA-516 Gr.70 N / SA-537",
          "failureModes": [
            "HIC cracking (sour)",
            "Thinning"
          ],
          "perItem": 12,
          "note": "Petal plates counted, plant average per sphere"
        },
        {
          "name": "Support legs with fireproofing",
          "motion": "stationary",
          "material": "Carbon steel, concrete fireproofed",
          "failureModes": [
            "Corrosion under fireproofing"
          ],
          "perItem": 6
        },
        {
          "name": "Top and bottom nozzles with bolting",
          "motion": "stationary",
          "material": "SA-105; B7/2H",
          "failureModes": [
            "Flange leakage"
          ],
          "perItem": 4
        },
        {
          "name": "Level and pressure instrument bridles",
          "motion": "stationary",
          "material": "316L / CS",
          "failureModes": [
            "Bridle plugging"
          ],
          "perItem": 2
        },
        {
          "name": "Water spray / deluge ring",
          "motion": "stationary",
          "material": "Galvanized carbon steel",
          "failureModes": [
            "Nozzle plugging"
          ],
          "perItem": 1
        },
        {
          "name": "Access platform and ladder",
          "motion": "stationary",
          "material": "Galvanized carbon steel",
          "failureModes": [
            "Atmospheric corrosion"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "exchanger-st",
      "taxonomyClass": "ShellAndTubeHeatExchanger",
      "category": "Static equipment",
      "primaryMaterial": "Shell SA-516 Gr.70; tubes SA-179 carbon steel default, SA-213 316L / duplex / titanium by service (see tube metallurgy)",
      "primaryMaterialIds": [
        "sa516-70",
        "tube-cs",
        "tube-ss",
        "tube-duplex-ti"
      ],
      "alternates": [
        {
          "material": "Cr-Mo shell and tubes",
          "when": "Hot hydrogen and furnace-feed service"
        },
        {
          "material": "316L clad channel",
          "when": "Corrosive shell or tube side"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Fouling (process-side)",
          "note": "The condition driver for this class; the twin's E-101C flag lives here, at the tube bundle"
        },
        {
          "name": "Sulfidation",
          "note": "Hot hydrocarbon shells and tubes"
        },
        {
          "name": "Naphthenic Acid Corrosion",
          "note": "Crude / vacuum service"
        },
        {
          "name": "Ammonium Chloride Corrosion",
          "note": "Reactor effluent and overhead exchangers"
        },
        {
          "name": "Erosion-Corrosion",
          "note": "High-velocity inlet zones"
        },
        {
          "name": "Chloride Stress Corrosion Cracking",
          "note": "Stainless tubes under insulation / stagnant chloride"
        },
        {
          "name": "Cooling Water Corrosion / MIC",
          "note": "Water-side tubes"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API 510 / TEMA class: bundle pull and tube eddy-current / IRIS survey on condition and at turnaround",
      "inspectionIntervalClass": "RBI class: bundle inspection 4-8 yr (reference), fouling trend continuous from the feed",
      "rollupItems": 148,
      "rollupBasis": "148 shell-and-tube exchangers in the plant register",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by service",
          "failureModes": [
            "Sulfidation",
            "Thinning"
          ],
          "perItem": 1
        },
        {
          "name": "Channel and channel cover",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Pass-partition leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Tube bundle: tubes",
          "motion": "stationary",
          "material": "SA-179 CS / SA-213 SS / duplex / Ti by service",
          "failureModes": [
            "Fouling",
            "Tube wall thinning",
            "Vibration wear at baffles",
            "Pitting"
          ],
          "perItem": 600,
          "note": "Tubes counted individually at plant-average 600 per bundle; fouling is tracked at this component, which is where the E-101C flag is expressed"
        },
        {
          "name": "Tube bundle: baffles and tie rods",
          "motion": "stationary",
          "material": "Carbon steel / stainless by service",
          "failureModes": [
            "Baffle corrosion",
            "Tube vibration damage"
          ],
          "perItem": 12
        },
        {
          "name": "Tubesheets (2)",
          "motion": "stationary",
          "material": "SA-266 / clad forgings",
          "failureModes": [
            "Tube joint leakage",
            "Crevice corrosion"
          ],
          "perItem": 2
        },
        {
          "name": "Floating head and backing device (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Internal leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Gasket set (shell, channel, floating head)",
          "motion": "wear",
          "material": "Spiral-wound 316L / graphite; RTJ in HP service",
          "failureModes": [
            "Gasket leakage at joint break"
          ],
          "perItem": 4,
          "note": "Sacrificial: replaced at every bundle pull"
        },
        {
          "name": "Bolting set",
          "motion": "stationary",
          "material": "B7/2H; B8M on stainless",
          "failureModes": [
            "Bolt corrosion",
            "Relaxation"
          ],
          "perItem": 1
        },
        {
          "name": "Saddles and insulation system",
          "motion": "stationary",
          "material": "Carbon steel; mineral wool + jacket",
          "failureModes": [
            "CUI at saddles"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "air-cooler",
      "taxonomyClass": "AirCooler",
      "category": "Static equipment",
      "primaryMaterial": "Carbon steel tubes default; 316L / duplex / Alloy 825 in reactor effluent and sour service; aluminum fan blades",
      "primaryMaterialIds": [
        "tube-cs",
        "tube-ss",
        "alloy-825-625"
      ],
      "alternates": [
        {
          "material": "Alloy 825 tubes",
          "when": "Hydrocracker / hydrotreater effluent (ammonium bisulfide)"
        },
        {
          "material": "Duplex 2205 tubes",
          "when": "Saline air / coastal plus process chloride"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Ammonium Bisulfide Corrosion",
          "note": "Reactor effluent air coolers; velocity and wash-water controlled"
        },
        {
          "name": "Fouling (air-side)",
          "note": "Dust, salt and debris on fins"
        },
        {
          "name": "Fatigue",
          "note": "Fan and belt drive vibration"
        },
        {
          "name": "Atmospheric Corrosion",
          "note": "Headers and structure, coastal air"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API 510 / API RP 661 class: tube UT sampling, fan vibration route, air-side cleaning on DP trend",
      "inspectionIntervalClass": "RBI class: 4-6 yr (reference); fan drives on condition monitoring",
      "rollupItems": 31,
      "rollupBasis": "31 air cooler bays in the plant register",
      "components": [
        {
          "name": "Tube bundle (finned tubes)",
          "motion": "stationary",
          "material": "CS / 316L / duplex / 825 by service, aluminum fins",
          "failureModes": [
            "NH4HS corrosion",
            "Fin fouling",
            "Tube leaks"
          ],
          "perItem": 220,
          "note": "Tubes counted individually at plant-average per bay"
        },
        {
          "name": "Header boxes and plugs",
          "motion": "stationary",
          "material": "SA-516 / alloy by service",
          "failureModes": [
            "Plug leakage",
            "Header corrosion"
          ],
          "perItem": 2
        },
        {
          "name": "Fan (axial, with blades)",
          "motion": "moving",
          "material": "Aluminum / composite blades, steel hub",
          "failureModes": [
            "Blade fatigue",
            "Imbalance"
          ],
          "perItem": 1
        },
        {
          "name": "Fan drive: motor, gearbox / belt set",
          "motion": "moving",
          "material": "Cast iron gearbox; synthetic belts",
          "failureModes": [
            "Belt wear",
            "Gear wear",
            "Bearing failure"
          ],
          "perItem": 1
        },
        {
          "name": "Fan bearings and shaft",
          "motion": "moving",
          "material": "Rolling element bearings, grease / oil lubricated",
          "failureModes": [
            "Bearing wear"
          ],
          "perItem": 2
        },
        {
          "name": "Plenum and support structure",
          "motion": "stationary",
          "material": "Galvanized carbon steel",
          "failureModes": [
            "Atmospheric corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Louvre set and actuators (where fitted)",
          "motion": "moving",
          "material": "Galvanized steel louvres, pneumatic actuator",
          "failureModes": [
            "Actuator failure",
            "Louvre seizure"
          ],
          "perItem": 1
        },
        {
          "name": "Steam coil / winterization coil (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Freeze damage",
            "Corrosion"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "fired-heater",
      "taxonomyClass": "FiredHeater / Furnace",
      "category": "Static equipment",
      "primaryMaterial": "Tubes: carbon steel to 5Cr / 9Cr by outlet temperature; HP-Nb cast in SMR; refractory per heater refractory class",
      "primaryMaterialIds": [
        "crmo-5",
        "crmo-9",
        "hp-nb-reformer",
        "refr-heater"
      ],
      "alternates": [
        {
          "material": "316L / 310 tubes",
          "when": "Special high-temperature / corrosive coils"
        },
        {
          "material": "Alloy 800H tubes",
          "when": "Highest temperature process coils outside SMR class"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Creep / Stress Rupture",
          "note": "Tube life governed by temperature history; skin thermocouples are the control"
        },
        {
          "name": "Sulfidation",
          "note": "Process-side hot tubes"
        },
        {
          "name": "Carburization",
          "note": "SMR and coker tubes"
        },
        {
          "name": "Thermal Fatigue",
          "note": "Coker and batch-cycled heaters"
        },
        {
          "name": "Flue Gas Dew Point Corrosion",
          "note": "Convection section cold end, sulfur in fuel"
        },
        {
          "name": "Oxidation",
          "note": "Tube external scaling at temperature"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API RP 573 class: tube UT / remaining-life assessment, skin TC trend review, refractory survey at turnaround",
      "inspectionIntervalClass": "RBI class: 4-6 yr turnaround (reference); tube remaining life tracked continuously by temperature history class",
      "rollupItems": 12,
      "rollupBasis": "12 fired heaters in the plant register (incl. SMR furnace and SRU reaction furnace counted as heater/reactor pair)",
      "components": [
        {
          "name": "Radiant coil tubes",
          "motion": "stationary",
          "material": "CS / 5Cr / 9Cr / HP-Nb by service",
          "failureModes": [
            "Creep",
            "Sulfidation",
            "Carburization",
            "Coking inside tubes"
          ],
          "perItem": 48,
          "note": "Tubes counted individually, plant average per heater"
        },
        {
          "name": "Convection coil tubes (finned / studded)",
          "motion": "stationary",
          "material": "CS / low alloy, cast fins",
          "failureModes": [
            "Dew point corrosion",
            "Fin corrosion"
          ],
          "perItem": 36
        },
        {
          "name": "Tube supports, guides and hangers",
          "motion": "stationary",
          "material": "High-alloy cast supports (25Cr-20Ni class)",
          "failureModes": [
            "Support creep / distortion"
          ],
          "perItem": 12
        },
        {
          "name": "Refractory lining (walls, floor, roof)",
          "motion": "stationary",
          "material": "IFB 2600 + ceramic fiber modules",
          "failureModes": [
            "Hot spots",
            "Brick failure",
            "Fiber shrinkage"
          ],
          "perItem": 1
        },
        {
          "name": "Burner set",
          "motion": "stationary",
          "material": "Stainless / cast alloy burner tiles and tips",
          "failureModes": [
            "Tip plugging",
            "Flame impingement",
            "Tile cracking"
          ],
          "perItem": 8,
          "note": "Burners counted per heater, plant average; burners are stationary assemblies with moving registers below"
        },
        {
          "name": "Burner air registers and dampers",
          "motion": "moving",
          "material": "Carbon / stainless steel linkages",
          "failureModes": [
            "Linkage seizure",
            "Damper warping"
          ],
          "perItem": 8
        },
        {
          "name": "Fuel gas train (filters, regulators, shutoff valves)",
          "motion": "stationary",
          "material": "Carbon steel; SIL-rated shutoff class",
          "failureModes": [
            "Regulator failure",
            "Filter plugging"
          ],
          "perItem": 1
        },
        {
          "name": "Stack and damper",
          "motion": "stationary",
          "material": "Carbon steel, refractory lined lower section",
          "failureModes": [
            "Dew point corrosion",
            "Damper seizure"
          ],
          "perItem": 1
        },
        {
          "name": "Sootblower set (where fitted)",
          "motion": "moving",
          "material": "Alloy lance, steam driven",
          "failureModes": [
            "Lance erosion",
            "Drive failure"
          ],
          "perItem": 2
        },
        {
          "name": "Skin thermocouple set",
          "motion": "stationary",
          "material": "Inconel-sheathed TCs",
          "failureModes": [
            "TC drift / failure masking hot tubes"
          ],
          "perItem": 12
        },
        {
          "name": "Bridge wall and peep sights",
          "motion": "stationary",
          "material": "Refractory / cast alloy frames",
          "failureModes": [
            "Refractory damage"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "boiler",
      "taxonomyClass": "Boiler",
      "category": "Static equipment",
      "primaryMaterial": "SA-516 / SA-387 drums; SA-210 / SA-213 tube steels by pressure class; refractory in furnace zone",
      "primaryMaterialIds": [
        "sa516-70",
        "crmo-125",
        "refr-heater"
      ],
      "alternates": [
        {
          "material": "Cr-Mo tubes (SA-213 T11 / T22)",
          "when": "High-pressure / superheat sections"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Caustic Corrosion (gouging)",
          "note": "Water-side chemistry excursion"
        },
        {
          "name": "Oxygen pitting (feedwater)",
          "note": "Deaerator / scavenger control is the defense"
        },
        {
          "name": "Creep / Stress Rupture",
          "note": "Superheater outlet legs"
        },
        {
          "name": "Thermal Fatigue",
          "note": "Drum nozzle and header junctions under cycling"
        },
        {
          "name": "Flue Gas Dew Point Corrosion",
          "note": "Economizer cold end"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "ASME / NBIC class statutory inspection; water-side chemistry trending; tube sampling at major outages",
      "inspectionIntervalClass": "Statutory annual external + internal per jurisdiction class (reference)",
      "rollupItems": 5,
      "rollupBasis": "5 boilers in the plant register (4 utility + 1 SRU waste-heat)",
      "components": [
        {
          "name": "Steam drum",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / SA-387",
          "failureModes": [
            "Caustic gouging",
            "Fatigue at downcomer nozzles"
          ],
          "perItem": 1
        },
        {
          "name": "Mud drum / water drum",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Sludge accumulation",
            "Corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Waterwall tube panels",
          "motion": "stationary",
          "material": "SA-210 A1 / SA-213 T11",
          "failureModes": [
            "Fireside corrosion",
            "Waterside pitting",
            "Tube erosion"
          ],
          "perItem": 120,
          "note": "Tubes counted at plant-average panel equivalent"
        },
        {
          "name": "Superheater tube sections",
          "motion": "stationary",
          "material": "SA-213 T11 / T22",
          "failureModes": [
            "Creep",
            "Oxidation"
          ],
          "perItem": 40
        },
        {
          "name": "Economizer tube sections",
          "motion": "stationary",
          "material": "SA-210 / SA-213",
          "failureModes": [
            "Dew point corrosion",
            "Erosion"
          ],
          "perItem": 40
        },
        {
          "name": "Burner set with registers",
          "motion": "moving",
          "material": "Cast alloy / stainless burners, moving registers",
          "failureModes": [
            "Tip fouling",
            "Register seizure"
          ],
          "perItem": 4
        },
        {
          "name": "Refractory and casing",
          "motion": "stationary",
          "material": "IFB + fiber; steel casing",
          "failureModes": [
            "Hot spots"
          ],
          "perItem": 1
        },
        {
          "name": "Drum internals (separators, feed pipe)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Carryover",
            "Internal corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Safety valve set (drum + superheater)",
          "motion": "stationary",
          "material": "Chrome-moly bodies, per PSV template",
          "failureModes": [
            "Setpoint drift",
            "Seat leakage"
          ],
          "perItem": 3
        },
        {
          "name": "Blowdown and feedwater train connections",
          "motion": "stationary",
          "material": "Carbon steel / alloy by class",
          "failureModes": [
            "Erosion at continuous blowdown"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "pump-centrifugal",
      "taxonomyClass": "CentrifugalPump",
      "category": "Rotating equipment",
      "primaryMaterial": "Casing: cast carbon steel SA-216 WCB (API 610 class); impeller / wear rings 12% Cr or 316L; shaft 4140 / 4145 class; severe service duplex",
      "primaryMaterialIds": [
        "sa106-sa105",
        "ss-316l",
        "seal-faces"
      ],
      "alternates": [
        {
          "material": "Duplex 2205 wetted parts",
          "when": "Chloride / cooling water / brine service"
        },
        {
          "material": "316L wetted parts",
          "when": "Corrosive chemical and sour service"
        },
        {
          "material": "High-chrome white iron",
          "when": "Slurry and coke-handling service"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion-Corrosion",
          "note": "Impeller and casing cutwater in solids / high-velocity service"
        },
        {
          "name": "Cavitation",
          "note": "NPSH margin is the modeled attribute"
        },
        {
          "name": "Mechanical Fatigue",
          "note": "Shaft at keyways and couplings under misalignment"
        },
        {
          "name": "Corrosion (general / pitting)",
          "note": "Stagnant and sour services"
        }
      ],
      "designLifeYears": 20,
      "inspectionMethod": "ISO 10816 vibration route + seal leakage monitoring (API RP 682 plans); overhaul on condition",
      "inspectionIntervalClass": "Continuous / monthly route monitoring; overhaul 4-6 yr class (reference)",
      "rollupItems": 284,
      "rollupBasis": "284 pumps in the plant register",
      "components": [
        {
          "name": "Casing (volute)",
          "motion": "stationary",
          "material": "SA-216 WCB cast steel",
          "failureModes": [
            "Erosion-corrosion",
            "Casing thinning",
            "Cavitation damage"
          ],
          "perItem": 1
        },
        {
          "name": "Casing gasket / O-ring",
          "motion": "wear",
          "material": "Spiral wound / elastomer by service",
          "failureModes": [
            "Joint leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Impeller",
          "motion": "moving",
          "material": "12% Cr / 316L / duplex by service",
          "failureModes": [
            "Erosion",
            "Cavitation pitting",
            "Balance loss from wear"
          ],
          "perItem": 1
        },
        {
          "name": "Shaft",
          "motion": "moving",
          "material": "4140 / 4145 alloy steel",
          "failureModes": [
            "Fatigue at keyway",
            "Corrosion under sleeve"
          ],
          "perItem": 1
        },
        {
          "name": "Shaft sleeve",
          "motion": "wear",
          "material": "316L / hard-coated",
          "failureModes": [
            "Scoring under packing / seal"
          ],
          "perItem": 1
        },
        {
          "name": "Mechanical seal assembly (faces, springs, elastomers)",
          "motion": "wear",
          "material": "SiC vs carbon faces; FFKM / FKM elastomers",
          "failureModes": [
            "Face wear",
            "Dry running",
            "Elastomer attack",
            "Hang-up"
          ],
          "perItem": 1,
          "note": "The dominant pump failure component plant-wide; seal plan type is a modeled attribute"
        },
        {
          "name": "Seal support system (Plan 52/53 reservoir, cooler, lines)",
          "motion": "stationary",
          "material": "316L reservoir and tubing",
          "failureModes": [
            "Barrier fluid loss",
            "Cooler fouling"
          ],
          "perItem": 1
        },
        {
          "name": "Bearing set (radial + thrust)",
          "motion": "moving",
          "material": "Rolling element, babbitt in large machines",
          "failureModes": [
            "Bearing fatigue",
            "Lubrication failure",
            "Brinelling"
          ],
          "perItem": 2
        },
        {
          "name": "Bearing housing and oil system (sump, oiler, cooler)",
          "motion": "stationary",
          "material": "Cast iron / steel housing",
          "failureModes": [
            "Oil contamination",
            "Water ingress"
          ],
          "perItem": 1
        },
        {
          "name": "Coupling and guard",
          "motion": "moving",
          "material": "Steel spacer coupling; steel guard",
          "failureModes": [
            "Element fatigue",
            "Misalignment wear"
          ],
          "perItem": 1
        },
        {
          "name": "Baseplate and grout",
          "motion": "stationary",
          "material": "Fabricated steel, epoxy grout",
          "failureModes": [
            "Grout voids (soft foot)",
            "Anchor corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Driver: electric motor (see motor template)",
          "motion": "moving",
          "material": "Per motor template",
          "failureModes": [
            "Per motor template"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "compressor",
      "taxonomyClass": "Compressor",
      "category": "Rotating equipment",
      "primaryMaterial": "Casing: cast / forged carbon or low-alloy steel; internals stainless and precipitation-hardened steels; dry gas seal faces SiC",
      "primaryMaterialIds": [
        "sa106-sa105",
        "ss-316l",
        "seal-faces"
      ],
      "alternates": [
        {
          "material": "316L internals",
          "when": "Sour / wet gas service"
        },
        {
          "material": "Forged Cr-Mo casing",
          "when": "High-pressure hydrogen recycle service"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion-Corrosion",
          "note": "Wet gas inlet stages"
        },
        {
          "name": "Mechanical Fatigue",
          "note": "Rotor and blade / impeller under surge and fouling imbalance"
        },
        {
          "name": "Wet H2S Damage",
          "note": "Sour gas casings"
        },
        {
          "name": "Fouling (polymer / salt)",
          "note": "FCC wet gas and coker gas machines"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API RP 670 machinery protection (vibration, axial position, temperature) continuous; major inspection 5-8 yr class",
      "inspectionIntervalClass": "Continuous protection; turnaround major 5-8 yr (reference)",
      "rollupItems": 22,
      "rollupBasis": "22 compressors in the plant register (centrifugal and reciprocating classes combined)",
      "components": [
        {
          "name": "Casing / cylinder set",
          "motion": "stationary",
          "material": "Cast / forged CS or Cr-Mo",
          "failureModes": [
            "Casing corrosion",
            "Cylinder wear (recip)"
          ],
          "perItem": 1
        },
        {
          "name": "Rotor with impellers / crankshaft and pistons",
          "motion": "moving",
          "material": "Forged alloy steel rotor; PH stainless impellers",
          "failureModes": [
            "Fouling imbalance",
            "Fatigue",
            "Piston ring wear (recip)"
          ],
          "perItem": 1
        },
        {
          "name": "Diaphragm set / interstage seals (labyrinth, abradable)",
          "motion": "wear",
          "material": "Aluminum / bronze labyrinth; abradable coatings",
          "failureModes": [
            "Seal wear opening clearances"
          ],
          "perItem": 2
        },
        {
          "name": "Dry gas seal cartridges (tandem pair)",
          "motion": "wear",
          "material": "SiC faces, spiral-groove class",
          "failureModes": [
            "Seal gas contamination",
            "Face damage",
            "Slow-roll damage"
          ],
          "perItem": 2,
          "note": "Cartridges counted per shaft end"
        },
        {
          "name": "Bearing set (journal + thrust, tilting pad)",
          "motion": "moving",
          "material": "Babbitt-lined steel shells",
          "failureModes": [
            "Babbitt fatigue",
            "Oil whirl (design-controlled)"
          ],
          "perItem": 2
        },
        {
          "name": "Lube and seal oil console (pumps, cooler, filters, reservoir)",
          "motion": "stationary",
          "material": "CS / 316L skid",
          "failureModes": [
            "Pump failure (auto-start spare is the control)",
            "Oil degradation"
          ],
          "perItem": 1
        },
        {
          "name": "Suction / discharge KO drums and intercoolers",
          "motion": "stationary",
          "material": "Per vessel / exchanger templates",
          "failureModes": [
            "Liquid carryover"
          ],
          "perItem": 2
        },
        {
          "name": "Anti-surge and capacity control valves",
          "motion": "moving",
          "material": "Per control valve template",
          "failureModes": [
            "Valve stiction driving surge"
          ],
          "perItem": 1
        },
        {
          "name": "Coupling and guard",
          "motion": "moving",
          "material": "Steel spacer coupling",
          "failureModes": [
            "Misalignment wear"
          ],
          "perItem": 1
        },
        {
          "name": "Driver: steam turbine or motor (see templates)",
          "motion": "moving",
          "material": "Per driver template",
          "failureModes": [
            "Per driver template"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "steam-turbine",
      "taxonomyClass": "SteamTurbine",
      "category": "Rotating equipment",
      "primaryMaterial": "Casing and rotor: Cr-Mo-V / 12% Cr steels by steam temperature; blades 12% Cr stainless",
      "primaryMaterialIds": [
        "crmo-125",
        "ss-304l"
      ],
      "alternates": [
        {
          "material": "12% Cr rotor (X12 class)",
          "when": "High-temperature condensing machines"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Creep / Stress Rupture",
          "note": "High-pressure rotor and casing at temperature"
        },
        {
          "name": "Thermal Fatigue",
          "note": "Start / stop cycling"
        },
        {
          "name": "Erosion (wet steam)",
          "note": "Last-stage blades"
        },
        {
          "name": "Stress Corrosion Cracking",
          "note": "Rotor steels in wet steam zones (disc keyways)"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "Major inspection with rotor NDT 8-10 yr class; continuous API RP 670 protection; steam path audit by efficiency trend",
      "inspectionIntervalClass": "Major 8-10 yr (reference); minor / valve test annual class",
      "rollupItems": 5,
      "rollupBasis": "5 steam turbines in the plant register (plus turbine drivers counted inside compressor / generator sets)",
      "components": [
        {
          "name": "Casing (HP / LP split)",
          "motion": "stationary",
          "material": "Cr-Mo / Cr-Mo-V cast steel",
          "failureModes": [
            "Creep",
            "Casing distortion",
            "Joint leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Rotor with blade rows",
          "motion": "moving",
          "material": "Forged Cr-Mo-V / 12% Cr",
          "failureModes": [
            "Creep",
            "Blade fatigue",
            "Last-stage erosion"
          ],
          "perItem": 1
        },
        {
          "name": "Blade set (counted as rows)",
          "motion": "moving",
          "material": "12% Cr stainless blades",
          "failureModes": [
            "Erosion",
            "Fatigue",
            "FOD"
          ],
          "perItem": 12,
          "note": "Rows counted per machine, plant average"
        },
        {
          "name": "Steam admission and trip valves",
          "motion": "moving",
          "material": "Cr-Mo bodies, per valve template",
          "failureModes": [
            "Valve sticking (the classic trip failure)"
          ],
          "perItem": 2
        },
        {
          "name": "Glands and steam seals (labyrinth + carbon rings)",
          "motion": "wear",
          "material": "Bronze labyrinth; carbon ring segments",
          "failureModes": [
            "Seal wear raising steam loss"
          ],
          "perItem": 2
        },
        {
          "name": "Bearing set (journal + thrust)",
          "motion": "moving",
          "material": "Babbitt-lined shells",
          "failureModes": [
            "Babbitt fatigue"
          ],
          "perItem": 2
        },
        {
          "name": "Governor and overspeed trip system",
          "motion": "stationary",
          "material": "Mechanical / electronic governor class, redundant trip",
          "failureModes": [
            "Failure to trip (test interval is the control)"
          ],
          "perItem": 1
        },
        {
          "name": "Lube oil console",
          "motion": "stationary",
          "material": "CS / 316L skid",
          "failureModes": [
            "Oil degradation"
          ],
          "perItem": 1
        },
        {
          "name": "Turning gear",
          "motion": "moving",
          "material": "Geared electric drive",
          "failureModes": [
            "Engagement failure"
          ],
          "perItem": 1
        },
        {
          "name": "Exhaust / condenser neck connection",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Vacuum leakage"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "fan-blower",
      "taxonomyClass": "Fan / Blower",
      "category": "Rotating equipment",
      "primaryMaterial": "Carbon steel casing and wheel; stainless in wet / sour gas; aluminum on air cooler fans",
      "primaryMaterialIds": [
        "sa106-sa105",
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "316L wetted",
          "when": "Wet sour gas blowers (SRU / tail gas)"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion",
          "note": "Dust and catalyst fines in flue gas service"
        },
        {
          "name": "Mechanical Fatigue",
          "note": "Wheel and blade vibration"
        },
        {
          "name": "Corrosion",
          "note": "Acid dew point in flue gas below condensation temperature"
        }
      ],
      "designLifeYears": 20,
      "inspectionMethod": "Vibration route monitoring; wheel inspection at turnaround",
      "inspectionIntervalClass": "Route monitoring monthly class; internal 4-6 yr (reference)",
      "rollupItems": 19,
      "rollupBasis": "19 fans / blowers in the plant register (excludes air-cooler fans, counted in that template)",
      "components": [
        {
          "name": "Casing / volute",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Erosion",
            "Dew point corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Impeller / wheel with blades",
          "motion": "moving",
          "material": "Carbon / stainless steel",
          "failureModes": [
            "Erosion",
            "Fatigue cracking",
            "Fouling imbalance"
          ],
          "perItem": 1
        },
        {
          "name": "Shaft",
          "motion": "moving",
          "material": "Alloy steel",
          "failureModes": [
            "Fatigue"
          ],
          "perItem": 1
        },
        {
          "name": "Bearing set",
          "motion": "moving",
          "material": "Rolling element / sleeve by size",
          "failureModes": [
            "Bearing wear",
            "Lubrication failure"
          ],
          "perItem": 2
        },
        {
          "name": "Inlet vanes / damper set",
          "motion": "moving",
          "material": "Carbon steel with linkage",
          "failureModes": [
            "Linkage seizure"
          ],
          "perItem": 1
        },
        {
          "name": "Coupling / belt drive and guard",
          "motion": "moving",
          "material": "Steel / synthetic belts",
          "failureModes": [
            "Belt wear"
          ],
          "perItem": 1
        },
        {
          "name": "Driver: motor (see motor template)",
          "motion": "moving",
          "material": "Per motor template",
          "failureModes": [
            "Per motor template"
          ],
          "perItem": 1
        },
        {
          "name": "Baseplate and duct connections",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Expansion joint failure"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "pipe-run",
      "taxonomyClass": "Pipe / PipeRun",
      "category": "Piping components",
      "primaryMaterial": "SA-106 Gr.B carbon steel default; P11 / P22 / P5 low alloy hot and hydrogen lines; 316L and duplex in corrosive classes",
      "primaryMaterialIds": [
        "sa106-sa105",
        "crmo-125",
        "crmo-225",
        "crmo-5",
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "316L solid",
          "when": "Sour water, amine and aqueous corrosive lines"
        },
        {
          "material": "Duplex 2205",
          "when": "High-chloride water and overhead lines"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Sulfidation",
          "note": "Hot oil circuits; silicon content of carbon steel is the register attribute"
        },
        {
          "name": "Corrosion Under Insulation (CUI)",
          "note": "The largest piping damage population plant-wide"
        },
        {
          "name": "Erosion-Corrosion",
          "note": "Elbows and tees downstream of control valves and in two-phase service"
        },
        {
          "name": "Naphthenic Acid Corrosion",
          "note": "Crude / vacuum transfer lines"
        },
        {
          "name": "High Temperature Hydrogen Attack (HTHA)",
          "note": "Hot hydrogen lines inside RP 941 limits by alloy selection"
        },
        {
          "name": "Fatigue (vibration / water hammer)",
          "note": "Small-bore connections and relief inlet lines"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API RP 570 piping inspection: CML thickness grids, circuit-based; CUI program with risk-based insulation removal",
      "inspectionIntervalClass": "API 570 class intervals by circuit (reference): thickness 5-10 yr by rate",
      "rollupItems": 6050,
      "rollupBasis": "Pipe spools: 60.5 km of above-ground piping at plant-average 10 m spool length (reference derivation)",
      "components": [
        {
          "name": "Pipe spool (straight run)",
          "motion": "stationary",
          "material": "SA-106 B / P11 / P22 / P5 / 316L by line class",
          "failureModes": [
            "Sulfidation",
            "CUI",
            "Erosion at flow changes"
          ],
          "perItem": 1
        },
        {
          "name": "Circumferential weld set",
          "motion": "stationary",
          "material": "Matching filler, PWHT by alloy class",
          "failureModes": [
            "Weld defect / cracking",
            "PWHT omission on Cr-Mo"
          ],
          "perItem": 2,
          "note": "Welds counted per spool end, plant average"
        },
        {
          "name": "Pipe supports (shoes, guides, anchors, spring hangers)",
          "motion": "stationary",
          "material": "Carbon steel, galvanized",
          "failureModes": [
            "Support corrosion",
            "Spring hanger seizure",
            "Shoe CUI trap"
          ],
          "perItem": 3
        },
        {
          "name": "Insulation and jacketing (where insulated)",
          "motion": "stationary",
          "material": "Mineral wool / CaSi, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "perItem": 1
        },
        {
          "name": "Small-bore connections and vents / drains",
          "motion": "stationary",
          "material": "Forged SA-105",
          "failureModes": [
            "Vibration fatigue (the classic small-bore failure)"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "elbow",
      "taxonomyClass": "Elbow",
      "category": "Piping components",
      "primaryMaterial": "SA-234 WPB carbon steel; WP11 / WP22 / WP5 alloy; WP316L stainless by line class",
      "primaryMaterialIds": [
        "sa106-sa105",
        "crmo-125",
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "Alloy / stainless matching pipe class",
          "when": "All non-carbon line classes"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion-Corrosion / FAC",
          "note": "Extrados thinning in two-phase and high-velocity service"
        },
        {
          "name": "Sulfidation",
          "note": "Hot circuits"
        },
        {
          "name": "Fatigue",
          "note": "Thermal expansion stress at direction changes"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API RP 570 CMLs on extrados of susceptible elbows",
      "inspectionIntervalClass": "With parent piping circuit (reference)",
      "rollupItems": 10890,
      "rollupBasis": "10,890 elbows in the plant register (derived from piping length at class-typical density)",
      "components": [
        {
          "name": "Elbow fitting (90 / 45 deg, LR class)",
          "motion": "stationary",
          "material": "SA-234 WPB / alloy / SS by class",
          "failureModes": [
            "Extrados thinning",
            "Weld-end cracking"
          ],
          "perItem": 1
        },
        {
          "name": "End welds (2)",
          "motion": "stationary",
          "material": "Matching filler",
          "failureModes": [
            "Weld defects"
          ],
          "perItem": 2
        }
      ]
    },
    {
      "templateId": "tee",
      "taxonomyClass": "Tee",
      "category": "Piping components",
      "primaryMaterial": "SA-234 WPB / alloy / stainless matching line class",
      "primaryMaterialIds": [
        "sa106-sa105",
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "Reinforced / barred tee",
          "when": "High-pressure and piggable lines"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion-Corrosion",
          "note": "Crotch and impingement zones"
        },
        {
          "name": "Thermal Fatigue",
          "note": "Mixing tees with temperature differential (thermal striping)"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API RP 570 CMLs; mixing tees get temperature monitoring class",
      "inspectionIntervalClass": "With parent piping circuit (reference)",
      "rollupItems": 2722,
      "rollupBasis": "2,722 tees in the plant register",
      "components": [
        {
          "name": "Tee fitting",
          "motion": "stationary",
          "material": "SA-234 by class",
          "failureModes": [
            "Crotch cracking",
            "Impingement thinning"
          ],
          "perItem": 1
        },
        {
          "name": "End welds (3)",
          "motion": "stationary",
          "material": "Matching filler",
          "failureModes": [
            "Weld defects"
          ],
          "perItem": 3
        }
      ]
    },
    {
      "templateId": "reducer",
      "taxonomyClass": "Reducer",
      "category": "Piping components",
      "primaryMaterial": "SA-234 WPB / alloy / stainless matching line class",
      "primaryMaterialIds": [
        "sa106-sa105",
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "Swage nipples (forged)",
          "when": "Small-bore reductions"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion-Corrosion",
          "note": "Turbulence downstream of concentric reductions in liquid service"
        },
        {
          "name": "Fatigue",
          "note": "At pump suction reducers under vibration"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "API RP 570 with parent circuit",
      "inspectionIntervalClass": "With parent piping circuit (reference)",
      "rollupItems": 1331,
      "rollupBasis": "1,331 reducers in the plant register",
      "components": [
        {
          "name": "Reducer fitting (concentric / eccentric)",
          "motion": "stationary",
          "material": "SA-234 by class",
          "failureModes": [
            "Turbulence thinning"
          ],
          "perItem": 1
        },
        {
          "name": "End welds (2)",
          "motion": "stationary",
          "material": "Matching filler",
          "failureModes": [
            "Weld defects"
          ],
          "perItem": 2
        }
      ]
    },
    {
      "templateId": "flange",
      "taxonomyClass": "Flange",
      "category": "Piping components",
      "primaryMaterial": "SA-105 forged carbon steel; SA-182 F11 / F22 / F316 alloy and stainless facings; B7/2H or B8M bolting",
      "primaryMaterialIds": [
        "sa106-sa105",
        "bolt-b7-2h",
        "bolt-b8m",
        "gasket-spiral-rtj"
      ],
      "alternates": [
        {
          "material": "RTJ facings with metal ring",
          "when": "High-pressure hydrogen and reactor joints"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Gasket leakage (joint integrity)",
          "note": "The dominant flange failure: assembly procedure, not material, is the control"
        },
        {
          "name": "Atmospheric Corrosion",
          "note": "Bolt and flange-face corrosion, crevice at hub"
        },
        {
          "name": "Fatigue",
          "note": "Cyclic pressure / temperature joints"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Joint integrity program: torque / tension records, leak survey (LDAR ties in), face inspection at every break",
      "inspectionIntervalClass": "At every joint break; LDAR monitoring for hydrocarbon joints (reference)",
      "rollupItems": 12672,
      "rollupBasis": "12,672 flanged joints in the plant register (LDAR-relevant count from v1)",
      "components": [
        {
          "name": "Flange pair (2 faces, weld-neck / slip-on / blind)",
          "motion": "stationary",
          "material": "SA-105 / SA-182 by class",
          "failureModes": [
            "Face damage",
            "Crevice corrosion"
          ],
          "perItem": 1,
          "note": "Counted as one joint assembly"
        },
        {
          "name": "Gasket",
          "motion": "wear",
          "material": "Spiral-wound 316L/graphite; RTJ ring in HP service",
          "failureModes": [
            "Gasket blowout",
            "Relaxation leakage"
          ],
          "perItem": 1,
          "note": "Sacrificial: replaced at every joint break"
        },
        {
          "name": "Stud and nut set",
          "motion": "stationary",
          "material": "B7/2H or B8M, coated",
          "failureModes": [
            "Bolt corrosion",
            "Yielding on over-torque",
            "Galling (stainless)"
          ],
          "perItem": 1,
          "note": "Counted as one set (typically 8-16 studs)"
        },
        {
          "name": "Insulation kit (dielectric, where fitted)",
          "motion": "stationary",
          "material": "Phenolic sleeves and washers",
          "failureModes": [
            "Kit failure defeating cathodic isolation"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "valve-block",
      "taxonomyClass": "Valve (all types) \u2014 block valves",
      "category": "Piping components",
      "primaryMaterial": "Body: SA-216 WCB cast steel (gate / globe / check), SA-105 / A105N forged small-bore, ball valves SA-216 / CF8M; trim 13% Cr / Stellite hardfacing; Monel trim in acid service",
      "primaryMaterialIds": [
        "sa106-sa105",
        "monel-400",
        "packing-graphite"
      ],
      "alternates": [
        {
          "material": "316 / CF8M body and trim",
          "when": "Corrosive and sour service"
        },
        {
          "material": "Cr-Mo body (WC6 / WC9)",
          "when": "Hot high-pressure steam and hydrogen"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion (wire drawing)",
          "note": "Globe and throttled gate valves"
        },
        {
          "name": "Cavitation",
          "note": "High-DP liquid service"
        },
        {
          "name": "Stem packing leakage (fugitive emissions)",
          "note": "LDAR-monitored; low-E packing is the control"
        },
        {
          "name": "Seat leakage (passing valves)",
          "note": "Safety and isolation integrity item"
        },
        {
          "name": "Corrosion",
          "note": "Body / bonnet bolting and stagnant services"
        }
      ],
      "designLifeYears": 20,
      "inspectionMethod": "LDAR Method 21 class monitoring; seat leak test at turnaround for critical isolation; packing adjustment route",
      "inspectionIntervalClass": "LDAR quarterly class (reference); overhaul on condition",
      "rollupItems": 4896,
      "rollupBasis": "Block valves: gate 2,016 + globe 864 + ball 1,440 + check 576 from the v1 valve split (control valves and PSVs templated separately)",
      "components": [
        {
          "name": "Body and bonnet",
          "motion": "stationary",
          "material": "SA-216 WCB / CF8M / WC9 by service",
          "failureModes": [
            "Body corrosion",
            "Bonnet joint leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Closure element (gate / disc / ball / check flapper)",
          "motion": "moving",
          "material": "13% Cr / Stellite-faced; PTFE seats on soft ball valves",
          "failureModes": [
            "Wire drawing",
            "Seat scoring",
            "Flapper pin wear (check)"
          ],
          "perItem": 1
        },
        {
          "name": "Seat rings (2)",
          "motion": "wear",
          "material": "Stellite hardfaced / PTFE",
          "failureModes": [
            "Seat leakage"
          ],
          "perItem": 2
        },
        {
          "name": "Stem",
          "motion": "moving",
          "material": "410 / 17-4PH stainless",
          "failureModes": [
            "Stem scoring",
            "Thread wear"
          ],
          "perItem": 1
        },
        {
          "name": "Stem packing set",
          "motion": "wear",
          "material": "Die-formed graphite low-E packing",
          "failureModes": [
            "Fugitive leakage (LDAR)"
          ],
          "perItem": 1
        },
        {
          "name": "Bonnet bolting and gasket",
          "motion": "stationary",
          "material": "B7/2H; spiral gasket",
          "failureModes": [
            "Joint leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Handwheel / gearbox / actuator interface",
          "motion": "moving",
          "material": "Cast iron gearbox; bevel gears",
          "failureModes": [
            "Gearbox seizure",
            "Lost motion"
          ],
          "perItem": 1
        },
        {
          "name": "Yoke and stem nut",
          "motion": "stationary",
          "material": "Ductile iron / bronze nut",
          "failureModes": [
            "Thread wear"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "valve-control",
      "taxonomyClass": "Valve (all types) \u2014 control valves",
      "category": "Piping components",
      "primaryMaterial": "Body per block valve class; trim Stellite / tungsten carbide in severe service; cage-guided globe as plant default",
      "primaryMaterialIds": [
        "sa106-sa105",
        "packing-graphite"
      ],
      "alternates": [
        {
          "material": "Anti-cavitation / low-noise trim",
          "when": "High-DP liquid and gas letdown"
        },
        {
          "material": "Bellows seal bonnet",
          "when": "Toxic / zero-leakage class service"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Erosion / cavitation trim damage",
          "note": "Severe service letdown"
        },
        {
          "name": "Stiction and deadband",
          "note": "The dominant control-loop performance failure plant-wide"
        },
        {
          "name": "Stem packing leakage",
          "note": "LDAR"
        },
        {
          "name": "Instrument air / positioner failure",
          "note": "Control, not process, failure mode"
        }
      ],
      "designLifeYears": 20,
      "inspectionMethod": "Online valve diagnostics (travel deviation, friction) via smart positioners; bench test at turnaround",
      "inspectionIntervalClass": "Continuous diagnostics; bench 4-6 yr class (reference)",
      "rollupItems": 576,
      "rollupBasis": "576 control valves from the v1 valve split",
      "components": [
        {
          "name": "Body and bonnet",
          "motion": "stationary",
          "material": "SA-216 WCB / CF8M by service",
          "failureModes": [
            "Body corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Plug and cage / trim set",
          "motion": "moving",
          "material": "Stellite / WC trim",
          "failureModes": [
            "Cavitation damage",
            "Erosion",
            "Cage plugging"
          ],
          "perItem": 1
        },
        {
          "name": "Seat ring",
          "motion": "wear",
          "material": "Stellite / metal seat",
          "failureModes": [
            "Seat leakage"
          ],
          "perItem": 1
        },
        {
          "name": "Stem",
          "motion": "moving",
          "material": "17-4PH / 316",
          "failureModes": [
            "Scoring"
          ],
          "perItem": 1
        },
        {
          "name": "Stem packing set (low-E)",
          "motion": "wear",
          "material": "Graphite low-E with live loading",
          "failureModes": [
            "Fugitive leakage",
            "Excess friction (stiction)"
          ],
          "perItem": 1
        },
        {
          "name": "Diaphragm / piston actuator",
          "motion": "moving",
          "material": "Steel case, elastomer diaphragm",
          "failureModes": [
            "Diaphragm rupture",
            "Spring fatigue"
          ],
          "perItem": 1
        },
        {
          "name": "Smart positioner (with diagnostics)",
          "motion": "stationary",
          "material": "Stainless / coated aluminum housing, HART / FF class",
          "failureModes": [
            "Positioner failure",
            "Air supply contamination"
          ],
          "perItem": 1
        },
        {
          "name": "Air set (filter-regulator, tubing, solenoids)",
          "motion": "stationary",
          "material": "316 tubing, brass / SS fittings",
          "failureModes": [
            "Water in instrument air (the plant-wide classic)"
          ],
          "perItem": 1
        },
        {
          "name": "Limit switches and position transmitter",
          "motion": "stationary",
          "material": "Sealed switches",
          "failureModes": [
            "Feedback failure"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "instrument-loop",
      "taxonomyClass": "ProcessInstrumentationFunction",
      "category": "Instrumentation",
      "primaryMaterial": "Wetted parts 316L default; diaphragm seals with exotic fill in corrosive service; enclosures 316 / polycarbonate by area",
      "primaryMaterialIds": [
        "ss-316l",
        "cu-xlpe"
      ],
      "alternates": [
        {
          "material": "Tantalum / Hastelloy diaphragms",
          "when": "Worst corrosive services (acid, wet chlorine class)"
        },
        {
          "material": "Gold-plated diaphragms",
          "when": "Hydrogen permeation service"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Corrosion (impulse lines and wetted parts)",
          "note": "Plugging and thinning of small-bore impulse tubing"
        },
        {
          "name": "Fatigue (vibration)",
          "note": "Small-bore instrument connections"
        },
        {
          "name": "Drift / fouling (analyzer sample systems)",
          "note": "Analyzer availability is sample-system availability"
        }
      ],
      "designLifeYears": 15,
      "inspectionMethod": "Proof testing by SIL class (IEC 61511) for SIS loops; calibration / loop checks for BPCS; analyzer availability tracking",
      "inspectionIntervalClass": "SIS proof test 1-3 yr by SIL (reference); BPCS loop check at turnaround",
      "rollupItems": 2620,
      "rollupBasis": "2,620 field instruments in the plant register; DCS / SIS points about 2.2x this count (v1)",
      "components": [
        {
          "name": "Primary element (orifice / thermowell / probe / tapping)",
          "motion": "stationary",
          "material": "316L; thermowells per ASME PTC 19.3 TW class",
          "failureModes": [
            "Thermowell vibration failure (wake frequency)",
            "Orifice edge wear"
          ],
          "perItem": 1
        },
        {
          "name": "Impulse lines / sample lines and manifold",
          "motion": "stationary",
          "material": "316L tubing",
          "failureModes": [
            "Plugging",
            "Freezing (winterization is the control)",
            "Corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Transmitter / sensor electronics",
          "motion": "stationary",
          "material": "316 / coated housing, HART / FF class",
          "failureModes": [
            "Drift",
            "Electronics failure",
            "Lightning / surge (SPD at marshalling)"
          ],
          "perItem": 1
        },
        {
          "name": "Signal cable and junction box",
          "motion": "stationary",
          "material": "Cu / XLPE armored; fiber on long command runs",
          "failureModes": [
            "Water ingress",
            "Insulation damage"
          ],
          "perItem": 1
        },
        {
          "name": "DCS / SIS I/O channel (share of controller)",
          "motion": "stationary",
          "material": "Redundant controller class for SIS",
          "failureModes": [
            "I/O card failure",
            "Common-cause (independence is the design control)"
          ],
          "perItem": 1
        },
        {
          "name": "Local indicator / gauge (where fitted)",
          "motion": "stationary",
          "material": "316 Bourdon / diaphragm",
          "failureModes": [
            "Gauge failure / overrange"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "motor",
      "taxonomyClass": "Electrical \u2014 motors",
      "category": "Electrical",
      "primaryMaterial": "Frame: cast iron / fabricated steel; windings: copper with Class F/H insulation system; bearings rolling element",
      "primaryMaterialIds": [
        "cu-xlpe"
      ],
      "alternates": [
        {
          "material": "TEFC IP55 / Ex-rated enclosures",
          "when": "Hazardous area classes (the plant default outdoors)"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Insulation thermal aging",
          "note": "Life halves per ~10 C over class; cooling cleanliness is the control"
        },
        {
          "name": "Bearing failure (electrical fluting on VFD drives)",
          "note": "Shaft grounding / insulated bearing is the modeled control"
        },
        {
          "name": "Moisture ingress",
          "note": "Space heaters and breather condition"
        }
      ],
      "designLifeYears": 20,
      "inspectionMethod": "Vibration route + motor current signature / thermography class; insulation resistance trend",
      "inspectionIntervalClass": "Route monitoring monthly class (reference); rewind on condition",
      "rollupItems": 341,
      "rollupBasis": "341 motors in the plant register",
      "components": [
        {
          "name": "Stator frame and core",
          "motion": "stationary",
          "material": "Cast iron frame; laminated silicon steel core",
          "failureModes": [
            "Core damage",
            "Frame corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Stator windings (copper, Class F/H insulation)",
          "motion": "stationary",
          "material": "Copper, resin-rich / VPI insulation system",
          "failureModes": [
            "Insulation aging",
            "Turn faults",
            "Contamination"
          ],
          "perItem": 1
        },
        {
          "name": "Rotor and shaft",
          "motion": "moving",
          "material": "Copper / aluminum cage rotor; alloy shaft",
          "failureModes": [
            "Cage bar cracking",
            "Shaft fatigue"
          ],
          "perItem": 1
        },
        {
          "name": "Bearing set (DE + NDE)",
          "motion": "moving",
          "material": "Rolling element; insulated NDE on VFD service",
          "failureModes": [
            "Fluting (VFD)",
            "Fatigue",
            "Lubrication failure"
          ],
          "perItem": 2
        },
        {
          "name": "Cooling fan and cowl",
          "motion": "moving",
          "material": "Steel / composite fan",
          "failureModes": [
            "Fan damage",
            "Cowl blockage (overheating)"
          ],
          "perItem": 1
        },
        {
          "name": "Terminal box and cable glands",
          "motion": "stationary",
          "material": "Cast iron / steel",
          "failureModes": [
            "Water ingress",
            "Loose terminations (hot spots)"
          ],
          "perItem": 1
        },
        {
          "name": "Space heater",
          "motion": "stationary",
          "material": "Resistance element",
          "failureModes": [
            "Heater failure (moisture risk)"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "transformer",
      "taxonomyClass": "Electrical \u2014 transformers",
      "category": "Electrical",
      "primaryMaterial": "Tank: carbon steel; core CRGO; windings copper; oil mineral / ester",
      "primaryMaterialIds": [
        "crgo-oil",
        "sa516-70"
      ],
      "alternates": [
        {
          "material": "Natural ester fluid filled",
          "when": "Fire-sensitive indoor / near-building locations"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Insulation (paper) aging",
          "note": "Degree of polymerization decline; furans in oil are the modeled indicator"
        },
        {
          "name": "Moisture and oxidation of oil",
          "note": "Breather and conservator condition"
        },
        {
          "name": "Overheating (cooling failure)",
          "note": "Fan / pump auxiliary failure raises hot-spot temperature"
        }
      ],
      "designLifeYears": 35,
      "inspectionMethod": "Dissolved gas analysis (DGA) oil sampling annual class; thermography; bushing power factor tests at outages",
      "inspectionIntervalClass": "DGA annual (reference); internal only on condition / failure",
      "rollupItems": 18,
      "rollupBasis": "18 transformers from the v1 electrical note (6 substations)",
      "components": [
        {
          "name": "Tank and radiators",
          "motion": "stationary",
          "material": "Carbon steel, painted / galvanized",
          "failureModes": [
            "Tank corrosion",
            "Radiator leaks",
            "Gasket aging"
          ],
          "perItem": 1
        },
        {
          "name": "Core (CRGO laminations)",
          "motion": "stationary",
          "material": "Grain-oriented silicon steel",
          "failureModes": [
            "Core insulation failure (rare, catastrophic)"
          ],
          "perItem": 1
        },
        {
          "name": "Windings (HV + LV copper)",
          "motion": "stationary",
          "material": "Copper with paper insulation system",
          "failureModes": [
            "Paper aging",
            "Short-circuit forces"
          ],
          "perItem": 2
        },
        {
          "name": "Insulating oil",
          "motion": "wear",
          "material": "Mineral oil ASTM D3487 / ester",
          "failureModes": [
            "Oxidation",
            "Moisture",
            "Sludge"
          ],
          "perItem": 1,
          "note": "Condition-replaced / reclaimed on DGA and quality trend"
        },
        {
          "name": "Bushings (HV + LV set)",
          "motion": "stationary",
          "material": "Porcelain / composite polymer with oil or dry insulation",
          "failureModes": [
            "Bushing failure (a leading transformer loss cause)",
            "Moisture ingress"
          ],
          "perItem": 5,
          "note": "Bushings counted per transformer, plant average"
        },
        {
          "name": "Cooling fans and oil pumps (ONAF)",
          "motion": "moving",
          "material": "Steel / cast auxiliaries",
          "failureModes": [
            "Auxiliary failure (overheat follows)"
          ],
          "perItem": 3
        },
        {
          "name": "On-load tap changer (where fitted)",
          "motion": "moving",
          "material": "Oil / vacuum interrupter class",
          "failureModes": [
            "Contact wear",
            "Mechanism failure"
          ],
          "perItem": 1
        },
        {
          "name": "Conservator, breather and Buchholz relay",
          "motion": "stationary",
          "material": "Steel tank; silica gel breather; gas relay",
          "failureModes": [
            "Breather saturation",
            "Relay failure"
          ],
          "perItem": 1
        },
        {
          "name": "Protection CTs / VTs and relays (share)",
          "motion": "stationary",
          "material": "Per instrument class",
          "failureModes": [
            "Relay failure"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "switchgear-mcc",
      "taxonomyClass": "Electrical \u2014 switchgear and MCCs",
      "category": "Electrical",
      "primaryMaterial": "Enclosures: painted / galvanized steel; busbar copper (tinned / silver-plated joints); breakers with vacuum interrupters",
      "primaryMaterialIds": [
        "cu-xlpe"
      ],
      "alternates": [
        {
          "material": "Arc-resistant (IEEE C37.20.7 class) switchgear",
          "when": "Main substations (the reference default)"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Contact / joint overheating",
          "note": "Thermography is the control"
        },
        {
          "name": "Insulation degradation (partial discharge, tracking)",
          "note": "Humidity and contamination driven"
        },
        {
          "name": "Arc flash (event, not wear)",
          "note": "Protection settings and arc-resistant design are the controls"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "Thermographic survey annual class; breaker timing / contact tests at outages; partial discharge survey on MV gear",
      "inspectionIntervalClass": "Annual survey class (reference)",
      "rollupItems": 56,
      "rollupBasis": "24 switchgear lineups + 32 MCCs from the v1 electrical note",
      "components": [
        {
          "name": "Enclosure and busbar system",
          "motion": "stationary",
          "material": "Copper bus, insulated / bare by class",
          "failureModes": [
            "Joint overheating",
            "Bus insulation damage"
          ],
          "perItem": 1
        },
        {
          "name": "Circuit breaker units (vacuum / air)",
          "motion": "moving",
          "material": "Vacuum interrupters, spring mechanisms",
          "failureModes": [
            "Mechanism wear",
            "Interrupter wear",
            "Failure to trip"
          ],
          "perItem": 8,
          "note": "Breakers / starters counted per lineup, plant average"
        },
        {
          "name": "Protection relay set (per feeder)",
          "motion": "stationary",
          "material": "Numerical relays",
          "failureModes": [
            "Relay failure / mis-setting"
          ],
          "perItem": 4
        },
        {
          "name": "Instrument transformers (CT / VT set)",
          "motion": "stationary",
          "material": "Cast resin / oil class",
          "failureModes": [
            "Insulation failure"
          ],
          "perItem": 3
        },
        {
          "name": "Control power (battery + charger, per substation)",
          "motion": "stationary",
          "material": "VRLA / NiCd battery bank",
          "failureModes": [
            "Battery capacity fade (the hidden dependency of every trip)"
          ],
          "perItem": 1
        },
        {
          "name": "Space heaters and ventilation",
          "motion": "stationary",
          "material": "Resistance heaters, fans",
          "failureModes": [
            "Condensation (insulation tracking)"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "structure",
      "taxonomyClass": "Structure (DEXPI supporting)",
      "category": "Structures / Civil",
      "primaryMaterial": "Structural steel ASTM A36 / A992, galvanized or coated; reinforced concrete foundations (4,000 psi class); anchor bolts F1554",
      "primaryMaterialIds": [
        "coatings-tsa"
      ],
      "alternates": [
        {
          "material": "Fireproofed steel (concrete / intumescent)",
          "when": "Pipe racks and vessel skirts inside fire zones per API RP 2218 class"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Atmospheric Corrosion",
          "note": "Coating breakdown is the control point"
        },
        {
          "name": "Corrosion Under Insulation / fireproofing",
          "note": "At fireproofed members"
        },
        {
          "name": "Fatigue",
          "note": "Vibrating equipment supports and flare structures"
        },
        {
          "name": "Foundation settlement",
          "note": "Tanks and heavy equipment; survey monuments are the modeled control"
        }
      ],
      "designLifeYears": 40,
      "inspectionMethod": "Structural survey cycle (coating condition grading); settlement survey on tanks and heavy equipment",
      "inspectionIntervalClass": "Survey 5 yr class (reference); settlement annual class on tank farm",
      "rollupItems": 1250,
      "rollupBasis": "Structural assemblies: equipment foundations tied to equipment count + pipe rack bents over ~9 km of rack + building frames (reference derivation)",
      "components": [
        {
          "name": "Foundation (spread / pile cap / ringwall)",
          "motion": "stationary",
          "material": "Reinforced concrete",
          "failureModes": [
            "Settlement",
            "Concrete degradation (sulfate / ASR class)",
            "Anchor corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Anchor bolt set",
          "motion": "stationary",
          "material": "ASTM F1554 Gr.55 / 105",
          "failureModes": [
            "Corrosion",
            "Loosening"
          ],
          "perItem": 1
        },
        {
          "name": "Primary steel frame / rack bent",
          "motion": "stationary",
          "material": "A992 wide-flange, coated / galvanized",
          "failureModes": [
            "Coating failure and section loss",
            "Connection corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Secondary steel (bracing, stringers, grating)",
          "motion": "stationary",
          "material": "A36, galvanized grating",
          "failureModes": [
            "Grating corrosion",
            "Bracing damage"
          ],
          "perItem": 1
        },
        {
          "name": "Fireproofing (where fitted)",
          "motion": "stationary",
          "material": "Concrete / cementitious / intumescent per zone",
          "failureModes": [
            "Fireproofing damage hiding steel corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Building envelope (control / substation buildings)",
          "motion": "stationary",
          "material": "Masonry / metal panel; blast-resistant class for control building per API RP 752",
          "failureModes": [
            "Envelope leakage",
            "Blast door seal failure"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "psv",
      "taxonomyClass": "PressureSafetyValve",
      "category": "Safety / Environmental",
      "primaryMaterial": "Body: SA-216 WCB / WC6 by temperature; trim stainless / Stellite seat; spring per API RP 520 sizing class",
      "primaryMaterialIds": [
        "sa106-sa105"
      ],
      "alternates": [
        {
          "material": "Bellows-sealed PSV",
          "when": "Backpressure / corrosive relief service"
        },
        {
          "material": "Pilot-operated PSV",
          "when": "Large flare header relieving cases"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Seat leakage (simmer / pass)",
          "note": "Flaring and emissions consequence"
        },
        {
          "name": "Setpoint drift / spring relaxation",
          "note": "Proof test interval is the control"
        },
        {
          "name": "Inlet / outlet fouling",
          "note": "Polymer and coke services; the dangerous failure is failure to open"
        }
      ],
      "designLifeYears": 20,
      "inspectionMethod": "API RP 576: pop / bench test and inspection at interval by service class (1-5 yr); in-situ testing where fitted",
      "inspectionIntervalClass": "API RP 576 class intervals by service (reference)",
      "rollupItems": 288,
      "rollupBasis": "288 PSVs from the v1 valve split",
      "components": [
        {
          "name": "Body and bonnet",
          "motion": "stationary",
          "material": "SA-216 WCB / WC6",
          "failureModes": [
            "Corrosion",
            "Erosion at outlet"
          ],
          "perItem": 1
        },
        {
          "name": "Disc and nozzle seat",
          "motion": "wear",
          "material": "Stellite / stainless seat pair",
          "failureModes": [
            "Seat leakage",
            "Galling"
          ],
          "perItem": 1
        },
        {
          "name": "Spring",
          "motion": "stationary",
          "material": "Alloy spring steel, coated",
          "failureModes": [
            "Relaxation / setpoint drift",
            "Corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Stem and guides",
          "motion": "moving",
          "material": "Stainless",
          "failureModes": [
            "Sticking (failure to open)"
          ],
          "perItem": 1
        },
        {
          "name": "Bellows (where fitted)",
          "motion": "wear",
          "material": "316L / Inconel bellows",
          "failureModes": [
            "Bellows fatigue cracking"
          ],
          "perItem": 1
        },
        {
          "name": "Adjusting ring and cap",
          "motion": "stationary",
          "material": "Carbon / stainless steel",
          "failureModes": [
            "Tamper / misadjustment (sealed after test)"
          ],
          "perItem": 1
        },
        {
          "name": "Inlet / outlet isolation and rupture disc (where fitted)",
          "motion": "stationary",
          "material": "Per valve / disc class",
          "failureModes": [
            "Disc fatigue",
            "Isolation left closed (administrative control)"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "flare",
      "taxonomyClass": "FlareSystem",
      "category": "Safety / Environmental",
      "primaryMaterial": "Header: carbon steel; flare stack carbon steel with stainless / Inconel tip; KO drum SA-516",
      "primaryMaterialIds": [
        "sa516-70",
        "ss-304l"
      ],
      "alternates": [
        {
          "material": "310 stainless tip sections",
          "when": "Highest temperature tips"
        }
      ],
      "damageMechanisms": [
        {
          "name": "High-temperature oxidation / thermal fatigue",
          "note": "Flare tip life is event-count driven"
        },
        {
          "name": "Corrosion (header, sour gas condensate)",
          "note": "Low points and KO drum"
        },
        {
          "name": "Flame lift / wind damage (event)",
          "note": "Pilot and purge integrity is the control"
        }
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Tip inspection by drone / outage class; pilot and thermocouple monitoring continuous; header UT survey",
      "inspectionIntervalClass": "Continuous pilot monitoring; tip survey 2-4 yr class (reference)",
      "rollupItems": 1,
      "rollupBasis": "1 flare system plant-wide (FLR-2000); components counted per system",
      "components": [
        {
          "name": "Flare header network",
          "motion": "stationary",
          "material": "Carbon steel large-bore",
          "failureModes": [
            "Low-point corrosion",
            "Liquid accumulation"
          ],
          "perItem": 1
        },
        {
          "name": "Knock-out drum",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Corrosion",
            "Level failure"
          ],
          "perItem": 1
        },
        {
          "name": "Liquid seal / staging seal",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Seal loss (flashback protection)"
          ],
          "perItem": 1
        },
        {
          "name": "Flare stack (derrick supported)",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Guy / derrick corrosion"
          ],
          "perItem": 1
        },
        {
          "name": "Flare tip with flame retention ring",
          "motion": "wear",
          "material": "310 SS / Inconel class",
          "failureModes": [
            "Tip burnout",
            "Cracking"
          ],
          "perItem": 1
        },
        {
          "name": "Pilot set with thermocouples (redundant)",
          "motion": "stationary",
          "material": "Stainless pilots, dual TC class",
          "failureModes": [
            "Pilot outage (the reportable failure)"
          ],
          "perItem": 4
        },
        {
          "name": "Ignition system (flame front generator)",
          "motion": "stationary",
          "material": "Panel + spark class",
          "failureModes": [
            "Ignition failure"
          ],
          "perItem": 1
        },
        {
          "name": "Purge gas and molecular seal",
          "motion": "stationary",
          "material": "Carbon steel / stainless internals",
          "failureModes": [
            "Purge loss (air ingress)"
          ],
          "perItem": 1
        },
        {
          "name": "Assist steam / air system (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Assist failure (smoking flare)"
          ],
          "perItem": 1
        }
      ]
    },
    {
      "templateId": "firewater",
      "taxonomyClass": "Firewater system",
      "category": "Safety / Environmental",
      "primaryMaterial": "Ring main: carbon steel (buried sections cement-lined / coated); pumps per pump template with diesel drivers; branches galvanized",
      "primaryMaterialIds": [
        "sa106-sa105",
        "cast-ci-di"
      ],
      "alternates": [
        {
          "material": "HDPE / GRE buried sections",
          "when": "New buried firewater loops in corrosive soil classes"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Corrosion (buried and stagnant legs)",
          "note": "Flow testing and internal survey are the controls"
        },
        {
          "name": "MIC",
          "note": "Stagnant raw water legs"
        },
        {
          "name": "Failure to start (event)",
          "note": "Weekly churn / auto-start testing is the modeled control"
        }
      ],
      "designLifeYears": 30,
      "inspectionMethod": "NFPA 25 class: weekly pump churn, annual flow test, 5-yr internal / obstruction investigation",
      "inspectionIntervalClass": "NFPA 25 class intervals (reference)",
      "rollupItems": 1,
      "rollupBasis": "1 firewater system plant-wide (FWS-2100, 12,000 GPM design); components counted per system",
      "components": [
        {
          "name": "Firewater pumps (electric + diesel + jockey)",
          "motion": "moving",
          "material": "Per pump template; diesel driver with fuel day tank",
          "failureModes": [
            "Failure to start",
            "Diesel fuel / battery failure"
          ],
          "perItem": 4
        },
        {
          "name": "Ring main and sectional valves",
          "motion": "stationary",
          "material": "CS buried / above-ground",
          "failureModes": [
            "Buried corrosion",
            "Valve seizure (exercised on test cycle)"
          ],
          "perItem": 85,
          "note": "Hydrant / monitor branches counted with the main at plant-average density"
        },
        {
          "name": "Hydrants and monitors",
          "motion": "stationary",
          "material": "Cast iron / bronze trim",
          "failureModes": [
            "Damage",
            "Freezing",
            "Obstruction"
          ],
          "perItem": 85
        },
        {
          "name": "Deluge and spray systems (per protected equipment)",
          "motion": "stationary",
          "material": "Galvanized branches, open nozzles",
          "failureModes": [
            "Nozzle plugging"
          ],
          "perItem": 24
        },
        {
          "name": "Firewater storage (tanks / reservoir share)",
          "motion": "stationary",
          "material": "Per storage tank template",
          "failureModes": [
            "Per tank template"
          ],
          "perItem": 2
        },
        {
          "name": "Detection-actuation release panels (share)",
          "motion": "stationary",
          "material": "Per detection template",
          "failureModes": [
            "Panel failure"
          ],
          "perItem": 6
        }
      ]
    },
    {
      "templateId": "detection-foam",
      "taxonomyClass": "Fire / gas detection and foam",
      "category": "Safety / Environmental",
      "primaryMaterial": "Detector housings 316L / GRP; foam concentrate AFFF / fluorine-free class by policy; foam pourers stainless",
      "primaryMaterialIds": [
        "ss-316l"
      ],
      "alternates": [
        {
          "material": "Fluorine-free foam (F3 class)",
          "when": "Current procurement class in this reference design"
        }
      ],
      "damageMechanisms": [
        {
          "name": "Detector fouling / poisoning",
          "note": "Catalytic bead poisoning and IR window fouling drive calibration intervals"
        },
        {
          "name": "Foam concentrate aging",
          "note": "Annual concentrate testing is the control"
        },
        {
          "name": "Coverage gap (design, not wear)",
          "note": "Detector placement study (ISA TR84.00.07 class) is the modeled control"
        }
      ],
      "designLifeYears": 15,
      "inspectionMethod": "Calibration / bump test cycle by detector type; foam concentrate annual test; coverage revalidation at modifications",
      "inspectionIntervalClass": "Calibration 6-12 month class (reference)",
      "rollupItems": 438,
      "rollupBasis": "~420 detectors + 18 foam systems from the v1 safety note",
      "components": [
        {
          "name": "Gas detector (point IR / catalytic / electrochemical, by gas)",
          "motion": "stationary",
          "material": "316L housing, sintered flame arrestor",
          "failureModes": [
            "Poisoning",
            "Fouling",
            "Drift"
          ],
          "perItem": 1,
          "note": "Rollup driven by detector count (420)"
        },
        {
          "name": "Flame detector (multi-spectrum IR)",
          "motion": "stationary",
          "material": "316L housing, heated window",
          "failureModes": [
            "Window fouling",
            "False trip from hot work (managed by voting)"
          ],
          "perItem": 1
        },
        {
          "name": "Detector cabling and junction boxes",
          "motion": "stationary",
          "material": "Armored Cu / XLPE",
          "failureModes": [
            "Water ingress"
          ],
          "perItem": 1
        },
        {
          "name": "F&G controller / voting logic (share of SIS-class panel)",
          "motion": "stationary",
          "material": "Redundant panel class",
          "failureModes": [
            "Panel failure"
          ],
          "perItem": 1
        },
        {
          "name": "Foam concentrate tank and proportioner (per foam system)",
          "motion": "stationary",
          "material": "GRP / SS tank; bronze proportioner",
          "failureModes": [
            "Concentrate aging",
            "Proportioner fouling"
          ],
          "perItem": 1,
          "note": "Applies to the 18 foam systems"
        },
        {
          "name": "Foam pourers / chambers (per protected tank)",
          "motion": "stationary",
          "material": "Stainless / coated steel",
          "failureModes": [
            "Pourer damage",
            "Seal rupture disc aging"
          ],
          "perItem": 2
        }
      ]
    }
  ],
  "assetDepth": {
    "TK-1001": {
      "templateRef": "storage-tank",
      "primaryMaterial": "API 650 carbon steel plate (A36 / SA-516); internal floating roof aluminum",
      "damageMechanisms": [
        "Atmospheric Corrosion",
        "Soil-side bottom corrosion",
        "MIC at water bottom"
      ],
      "designLifeYears": 40,
      "inspectionMethod": "API 653 external / floor scan class",
      "components": [
        {
          "name": "Shell courses",
          "motion": "stationary",
          "material": "API 650 plate, A36 / SA-516",
          "failureModes": [
            "Shell thinning",
            "Buckling (wind / vacuum)"
          ],
          "count": 5
        },
        {
          "name": "Tank bottom (floor plates + annular ring)",
          "motion": "stationary",
          "material": "API 650 plate with corrosion allowance",
          "failureModes": [
            "Soil-side corrosion",
            "Product-side pitting"
          ],
          "count": 1
        },
        {
          "name": "Fixed roof or floating roof",
          "motion": "stationary",
          "material": "Carbon steel; aluminum for internal floaters",
          "failureModes": [
            "Roof corrosion",
            "Pontoon leakage"
          ],
          "count": 1
        },
        {
          "name": "Floating roof seal system (primary + secondary)",
          "motion": "wear",
          "material": "Steel shoe / foam dam with fabric seals",
          "failureModes": [
            "Seal gap (emissions)",
            "Seal hang-up"
          ],
          "count": 1
        },
        {
          "name": "Roof drain and gauge pole",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Drain plugging"
          ],
          "count": 1
        },
        {
          "name": "Mixer (side-entry, where fitted)",
          "motion": "moving",
          "material": "Carbon steel impeller, geared drive",
          "failureModes": [
            "Gearbox wear",
            "Seal leakage"
          ],
          "count": 1
        },
        {
          "name": "Nozzles, manways and bolting",
          "motion": "stationary",
          "material": "SA-105; B7/2H",
          "failureModes": [
            "Flange leakage"
          ],
          "count": 8
        },
        {
          "name": "Cathodic protection system (impressed current / galvanic)",
          "motion": "stationary",
          "material": "Anode beds, rectifier, reference electrodes",
          "failureModes": [
            "CP failure accelerating floor corrosion"
          ],
          "count": 1
        },
        {
          "name": "Overfill protection and gauging (radar + independent switch)",
          "motion": "stationary",
          "material": "Radar gauge; SIL-rated high-high switch class",
          "failureModes": [
            "Gauge failure",
            "Overfill"
          ],
          "count": 1
        },
        {
          "name": "Foundation ringwall and containment bund",
          "motion": "stationary",
          "material": "Reinforced concrete; lined earthen bund",
          "failureModes": [
            "Settlement",
            "Bund cracking / drainage blockage"
          ],
          "count": 1
        }
      ]
    },
    "P-101A": {
      "templateRef": "pump-centrifugal",
      "primaryMaterial": "SA-216 WCB casing; 12% Cr impeller; SiC/carbon mechanical seal, Plan 53B class",
      "damageMechanisms": [
        "Erosion-Corrosion",
        "Cavitation",
        "Seal face wear"
      ],
      "designLifeYears": 20,
      "inspectionMethod": "Vibration route + seal reservoir level trend",
      "components": [
        {
          "name": "Casing (volute)",
          "motion": "stationary",
          "material": "SA-216 WCB cast steel",
          "failureModes": [
            "Erosion-corrosion",
            "Casing thinning",
            "Cavitation damage"
          ],
          "count": 1
        },
        {
          "name": "Casing gasket / O-ring",
          "motion": "wear",
          "material": "Spiral wound / elastomer by service",
          "failureModes": [
            "Joint leakage"
          ],
          "count": 1
        },
        {
          "name": "Impeller",
          "motion": "moving",
          "material": "12% Cr / 316L / duplex by service",
          "failureModes": [
            "Erosion",
            "Cavitation pitting",
            "Balance loss from wear"
          ],
          "count": 1
        },
        {
          "name": "Shaft",
          "motion": "moving",
          "material": "4140 / 4145 alloy steel",
          "failureModes": [
            "Fatigue at keyway",
            "Corrosion under sleeve"
          ],
          "count": 1
        },
        {
          "name": "Shaft sleeve",
          "motion": "wear",
          "material": "316L / hard-coated",
          "failureModes": [
            "Scoring under packing / seal"
          ],
          "count": 1
        },
        {
          "name": "Mechanical seal assembly (faces, springs, elastomers)",
          "motion": "wear",
          "material": "SiC vs carbon faces; FFKM / FKM elastomers",
          "failureModes": [
            "Face wear",
            "Dry running",
            "Elastomer attack",
            "Hang-up"
          ],
          "count": 1
        },
        {
          "name": "Seal support system (Plan 52/53 reservoir, cooler, lines)",
          "motion": "stationary",
          "material": "316L reservoir and tubing",
          "failureModes": [
            "Barrier fluid loss",
            "Cooler fouling"
          ],
          "count": 1
        },
        {
          "name": "Bearing set (radial + thrust)",
          "motion": "moving",
          "material": "Rolling element, babbitt in large machines",
          "failureModes": [
            "Bearing fatigue",
            "Lubrication failure",
            "Brinelling"
          ],
          "count": 2
        },
        {
          "name": "Bearing housing and oil system (sump, oiler, cooler)",
          "motion": "stationary",
          "material": "Cast iron / steel housing",
          "failureModes": [
            "Oil contamination",
            "Water ingress"
          ],
          "count": 1
        },
        {
          "name": "Coupling and guard",
          "motion": "moving",
          "material": "Steel spacer coupling; steel guard",
          "failureModes": [
            "Element fatigue",
            "Misalignment wear"
          ],
          "count": 1
        },
        {
          "name": "Baseplate and grout",
          "motion": "stationary",
          "material": "Fabricated steel, epoxy grout",
          "failureModes": [
            "Grout voids (soft foot)",
            "Anchor corrosion"
          ],
          "count": 1
        },
        {
          "name": "Driver: electric motor (see motor template)",
          "motion": "moving",
          "material": "Per motor template",
          "failureModes": [
            "Per motor template"
          ],
          "count": 1
        }
      ]
    },
    "P-101B": {
      "templateRef": "pump-centrifugal",
      "primaryMaterial": "SA-216 WCB casing; 12% Cr impeller; SiC/carbon mechanical seal, Plan 53B class",
      "damageMechanisms": [
        "Erosion-Corrosion",
        "Cavitation",
        "Seal face wear"
      ],
      "designLifeYears": 20,
      "inspectionMethod": "Vibration route + seal reservoir level trend",
      "components": [
        {
          "name": "Casing (volute)",
          "motion": "stationary",
          "material": "SA-216 WCB cast steel",
          "failureModes": [
            "Erosion-corrosion",
            "Casing thinning",
            "Cavitation damage"
          ],
          "count": 1
        },
        {
          "name": "Casing gasket / O-ring",
          "motion": "wear",
          "material": "Spiral wound / elastomer by service",
          "failureModes": [
            "Joint leakage"
          ],
          "count": 1
        },
        {
          "name": "Impeller",
          "motion": "moving",
          "material": "12% Cr / 316L / duplex by service",
          "failureModes": [
            "Erosion",
            "Cavitation pitting",
            "Balance loss from wear"
          ],
          "count": 1
        },
        {
          "name": "Shaft",
          "motion": "moving",
          "material": "4140 / 4145 alloy steel",
          "failureModes": [
            "Fatigue at keyway",
            "Corrosion under sleeve"
          ],
          "count": 1
        },
        {
          "name": "Shaft sleeve",
          "motion": "wear",
          "material": "316L / hard-coated",
          "failureModes": [
            "Scoring under packing / seal"
          ],
          "count": 1
        },
        {
          "name": "Mechanical seal assembly (faces, springs, elastomers)",
          "motion": "wear",
          "material": "SiC vs carbon faces; FFKM / FKM elastomers",
          "failureModes": [
            "Face wear",
            "Dry running",
            "Elastomer attack",
            "Hang-up"
          ],
          "count": 1
        },
        {
          "name": "Seal support system (Plan 52/53 reservoir, cooler, lines)",
          "motion": "stationary",
          "material": "316L reservoir and tubing",
          "failureModes": [
            "Barrier fluid loss",
            "Cooler fouling"
          ],
          "count": 1
        },
        {
          "name": "Bearing set (radial + thrust)",
          "motion": "moving",
          "material": "Rolling element, babbitt in large machines",
          "failureModes": [
            "Bearing fatigue",
            "Lubrication failure",
            "Brinelling"
          ],
          "count": 2
        },
        {
          "name": "Bearing housing and oil system (sump, oiler, cooler)",
          "motion": "stationary",
          "material": "Cast iron / steel housing",
          "failureModes": [
            "Oil contamination",
            "Water ingress"
          ],
          "count": 1
        },
        {
          "name": "Coupling and guard",
          "motion": "moving",
          "material": "Steel spacer coupling; steel guard",
          "failureModes": [
            "Element fatigue",
            "Misalignment wear"
          ],
          "count": 1
        },
        {
          "name": "Baseplate and grout",
          "motion": "stationary",
          "material": "Fabricated steel, epoxy grout",
          "failureModes": [
            "Grout voids (soft foot)",
            "Anchor corrosion"
          ],
          "count": 1
        },
        {
          "name": "Driver: electric motor (see motor template)",
          "motion": "moving",
          "material": "Per motor template",
          "failureModes": [
            "Per motor template"
          ],
          "count": 1
        }
      ]
    },
    "E-101A": {
      "templateRef": "exchanger-st",
      "primaryMaterial": "SA-516 shell; SA-179 carbon steel tubes (hot gas oil side)",
      "damageMechanisms": [
        "Fouling (process-side)",
        "Sulfidation"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Fouling trend from feed (approach + DP); bundle survey at turnaround",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by service",
          "failureModes": [
            "Sulfidation",
            "Thinning"
          ],
          "count": 1
        },
        {
          "name": "Channel and channel cover",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Pass-partition leakage"
          ],
          "count": 1
        },
        {
          "name": "Tube bundle: tubes",
          "motion": "stationary",
          "material": "SA-179 CS / SA-213 SS / duplex / Ti by service",
          "failureModes": [
            "Fouling",
            "Tube wall thinning",
            "Vibration wear at baffles",
            "Pitting"
          ],
          "count": 600
        },
        {
          "name": "Tube bundle: baffles and tie rods",
          "motion": "stationary",
          "material": "Carbon steel / stainless by service",
          "failureModes": [
            "Baffle corrosion",
            "Tube vibration damage"
          ],
          "count": 12
        },
        {
          "name": "Tubesheets (2)",
          "motion": "stationary",
          "material": "SA-266 / clad forgings",
          "failureModes": [
            "Tube joint leakage",
            "Crevice corrosion"
          ],
          "count": 2
        },
        {
          "name": "Floating head and backing device (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Internal leakage"
          ],
          "count": 1
        },
        {
          "name": "Gasket set (shell, channel, floating head)",
          "motion": "wear",
          "material": "Spiral-wound 316L / graphite; RTJ in HP service",
          "failureModes": [
            "Gasket leakage at joint break"
          ],
          "count": 4
        },
        {
          "name": "Bolting set",
          "motion": "stationary",
          "material": "B7/2H; B8M on stainless",
          "failureModes": [
            "Bolt corrosion",
            "Relaxation"
          ],
          "count": 1
        },
        {
          "name": "Saddles and insulation system",
          "motion": "stationary",
          "material": "Carbon steel; mineral wool + jacket",
          "failureModes": [
            "CUI at saddles"
          ],
          "count": 1
        }
      ]
    },
    "E-101B": {
      "templateRef": "exchanger-st",
      "primaryMaterial": "SA-516 shell; SA-179 carbon steel tubes (hot diesel side)",
      "damageMechanisms": [
        "Fouling (process-side)",
        "Sulfidation"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Fouling trend from feed (approach + DP); bundle survey at turnaround",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by service",
          "failureModes": [
            "Sulfidation",
            "Thinning"
          ],
          "count": 1
        },
        {
          "name": "Channel and channel cover",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Pass-partition leakage"
          ],
          "count": 1
        },
        {
          "name": "Tube bundle: tubes",
          "motion": "stationary",
          "material": "SA-179 CS / SA-213 SS / duplex / Ti by service",
          "failureModes": [
            "Fouling",
            "Tube wall thinning",
            "Vibration wear at baffles",
            "Pitting"
          ],
          "count": 600
        },
        {
          "name": "Tube bundle: baffles and tie rods",
          "motion": "stationary",
          "material": "Carbon steel / stainless by service",
          "failureModes": [
            "Baffle corrosion",
            "Tube vibration damage"
          ],
          "count": 12
        },
        {
          "name": "Tubesheets (2)",
          "motion": "stationary",
          "material": "SA-266 / clad forgings",
          "failureModes": [
            "Tube joint leakage",
            "Crevice corrosion"
          ],
          "count": 2
        },
        {
          "name": "Floating head and backing device (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Internal leakage"
          ],
          "count": 1
        },
        {
          "name": "Gasket set (shell, channel, floating head)",
          "motion": "wear",
          "material": "Spiral-wound 316L / graphite; RTJ in HP service",
          "failureModes": [
            "Gasket leakage at joint break"
          ],
          "count": 4
        },
        {
          "name": "Bolting set",
          "motion": "stationary",
          "material": "B7/2H; B8M on stainless",
          "failureModes": [
            "Bolt corrosion",
            "Relaxation"
          ],
          "count": 1
        },
        {
          "name": "Saddles and insulation system",
          "motion": "stationary",
          "material": "Carbon steel; mineral wool + jacket",
          "failureModes": [
            "CUI at saddles"
          ],
          "count": 1
        }
      ]
    },
    "E-101C": {
      "templateRef": "exchanger-st",
      "primaryMaterial": "SA-516 shell; SA-179 carbon steel tubes (atmospheric residue side, hottest crude-side fouling duty in the train)",
      "damageMechanisms": [
        "Fouling (process-side)",
        "Sulfidation",
        "Asphaltene deposition"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Fouling trend from feed; this asset carries the twin's live flag at bundle level",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by service",
          "failureModes": [
            "Sulfidation",
            "Thinning"
          ],
          "count": 1
        },
        {
          "name": "Channel and channel cover",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Pass-partition leakage"
          ],
          "count": 1
        },
        {
          "name": "Tube bundle: tubes",
          "motion": "stationary",
          "material": "SA-179 CS / SA-213 SS / duplex / Ti by service",
          "failureModes": [
            "Fouling",
            "Tube wall thinning",
            "Vibration wear at baffles",
            "Pitting"
          ],
          "count": 600,
          "condition": "FOULING WATCH \u2014 expressed here, at the tube-bundle component, matching the asset-level flag: crude outlet running about 9 C cool for train position and pressure drop climbing (see live values: Pressure drop). Condition hook: feed values index 0 (Crude outlet) vs index 1 (Expected outlet) and index 2 (Pressure drop)."
        },
        {
          "name": "Tube bundle: baffles and tie rods",
          "motion": "stationary",
          "material": "Carbon steel / stainless by service",
          "failureModes": [
            "Baffle corrosion",
            "Tube vibration damage"
          ],
          "count": 12
        },
        {
          "name": "Tubesheets (2)",
          "motion": "stationary",
          "material": "SA-266 / clad forgings",
          "failureModes": [
            "Tube joint leakage",
            "Crevice corrosion"
          ],
          "count": 2
        },
        {
          "name": "Floating head and backing device (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Internal leakage"
          ],
          "count": 1
        },
        {
          "name": "Gasket set (shell, channel, floating head)",
          "motion": "wear",
          "material": "Spiral-wound 316L / graphite; RTJ in HP service",
          "failureModes": [
            "Gasket leakage at joint break"
          ],
          "count": 4
        },
        {
          "name": "Bolting set",
          "motion": "stationary",
          "material": "B7/2H; B8M on stainless",
          "failureModes": [
            "Bolt corrosion",
            "Relaxation"
          ],
          "count": 1
        },
        {
          "name": "Saddles and insulation system",
          "motion": "stationary",
          "material": "Carbon steel; mineral wool + jacket",
          "failureModes": [
            "CUI at saddles"
          ],
          "count": 1
        }
      ]
    },
    "E-101D": {
      "templateRef": "exchanger-st",
      "primaryMaterial": "SA-516 shell; SA-179 carbon steel tubes (kerosene pumparound side)",
      "damageMechanisms": [
        "Fouling (process-side)"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Fouling trend from feed; bundle survey at turnaround",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by service",
          "failureModes": [
            "Sulfidation",
            "Thinning"
          ],
          "count": 1
        },
        {
          "name": "Channel and channel cover",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Pass-partition leakage"
          ],
          "count": 1
        },
        {
          "name": "Tube bundle: tubes",
          "motion": "stationary",
          "material": "SA-179 CS / SA-213 SS / duplex / Ti by service",
          "failureModes": [
            "Fouling",
            "Tube wall thinning",
            "Vibration wear at baffles",
            "Pitting"
          ],
          "count": 600
        },
        {
          "name": "Tube bundle: baffles and tie rods",
          "motion": "stationary",
          "material": "Carbon steel / stainless by service",
          "failureModes": [
            "Baffle corrosion",
            "Tube vibration damage"
          ],
          "count": 12
        },
        {
          "name": "Tubesheets (2)",
          "motion": "stationary",
          "material": "SA-266 / clad forgings",
          "failureModes": [
            "Tube joint leakage",
            "Crevice corrosion"
          ],
          "count": 2
        },
        {
          "name": "Floating head and backing device (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Internal leakage"
          ],
          "count": 1
        },
        {
          "name": "Gasket set (shell, channel, floating head)",
          "motion": "wear",
          "material": "Spiral-wound 316L / graphite; RTJ in HP service",
          "failureModes": [
            "Gasket leakage at joint break"
          ],
          "count": 4
        },
        {
          "name": "Bolting set",
          "motion": "stationary",
          "material": "B7/2H; B8M on stainless",
          "failureModes": [
            "Bolt corrosion",
            "Relaxation"
          ],
          "count": 1
        },
        {
          "name": "Saddles and insulation system",
          "motion": "stationary",
          "material": "Carbon steel; mineral wool + jacket",
          "failureModes": [
            "CUI at saddles"
          ],
          "count": 1
        }
      ]
    },
    "V-101": {
      "templateRef": "vessel",
      "primaryMaterial": "SA-516 Gr.70; internal electric grid and coalescer plates stainless-clad class",
      "damageMechanisms": [
        "Corrosion under emulsion band",
        "CO2 / brine corrosion",
        "Grid insulation degradation"
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510; grid transformer and interface instrumentation proof checks",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Thinning",
            "HIC blistering (sour)"
          ],
          "count": 1
        },
        {
          "name": "Heads (2)",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Thinning"
          ],
          "count": 2
        },
        {
          "name": "Skirt / saddle supports",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Support corrosion",
            "Fireproofing damage"
          ],
          "count": 1
        },
        {
          "name": "Inlet distributor / vortex breaker",
          "motion": "stationary",
          "material": "316L stainless",
          "failureModes": [
            "Erosion",
            "Fouling"
          ],
          "count": 1
        },
        {
          "name": "Mist eliminator / coalescer pad",
          "motion": "wear",
          "material": "316L mesh / PP in light service",
          "failureModes": [
            "Fouling",
            "Carryover"
          ],
          "count": 1
        },
        {
          "name": "Nozzles and manway with bolting",
          "motion": "stationary",
          "material": "SA-105; B7/2H",
          "failureModes": [
            "Flange leakage"
          ],
          "count": 6
        },
        {
          "name": "Level bridles and gauge glass assembly",
          "motion": "stationary",
          "material": "CS / 316L with armored glass",
          "failureModes": [
            "Glass breakage",
            "Bridle plugging"
          ],
          "count": 2
        },
        {
          "name": "Insulation and jacketing system",
          "motion": "stationary",
          "material": "Mineral wool, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "count": 1
        },
        {
          "name": "Desalter electric grid and transformers",
          "motion": "stationary",
          "material": "Insulated electrodes, oil-filled transformer class",
          "failureModes": [
            "Grid shorting / fouling",
            "Transformer failure"
          ],
          "count": 2
        },
        {
          "name": "Coalescer / distribution internals",
          "motion": "stationary",
          "material": "Stainless plate pack",
          "failureModes": [
            "Fouling",
            "Plate corrosion"
          ],
          "count": 1
        }
      ]
    },
    "F-101": {
      "templateRef": "fired-heater",
      "primaryMaterial": "Tubes: 5Cr-0.5Mo (P5) radiant class; refractory IFB + ceramic fiber",
      "damageMechanisms": [
        "Creep / Stress Rupture",
        "Sulfidation",
        "Carburization at tube inlets",
        "Flue Gas Dew Point Corrosion (convection cold end)"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Tube skin thermocouple trend + API RP 573 remaining-life class",
      "components": [
        {
          "name": "Radiant coil tubes",
          "motion": "stationary",
          "material": "CS / 5Cr / 9Cr / HP-Nb by service",
          "failureModes": [
            "Creep",
            "Sulfidation",
            "Carburization",
            "Coking inside tubes"
          ],
          "count": 48
        },
        {
          "name": "Convection coil tubes (finned / studded)",
          "motion": "stationary",
          "material": "CS / low alloy, cast fins",
          "failureModes": [
            "Dew point corrosion",
            "Fin corrosion"
          ],
          "count": 36
        },
        {
          "name": "Tube supports, guides and hangers",
          "motion": "stationary",
          "material": "High-alloy cast supports (25Cr-20Ni class)",
          "failureModes": [
            "Support creep / distortion"
          ],
          "count": 12
        },
        {
          "name": "Refractory lining (walls, floor, roof)",
          "motion": "stationary",
          "material": "IFB 2600 + ceramic fiber modules",
          "failureModes": [
            "Hot spots",
            "Brick failure",
            "Fiber shrinkage"
          ],
          "count": 1
        },
        {
          "name": "Burner set",
          "motion": "stationary",
          "material": "Stainless / cast alloy burner tiles and tips",
          "failureModes": [
            "Tip plugging",
            "Flame impingement",
            "Tile cracking"
          ],
          "count": 8
        },
        {
          "name": "Burner air registers and dampers",
          "motion": "moving",
          "material": "Carbon / stainless steel linkages",
          "failureModes": [
            "Linkage seizure",
            "Damper warping"
          ],
          "count": 8
        },
        {
          "name": "Fuel gas train (filters, regulators, shutoff valves)",
          "motion": "stationary",
          "material": "Carbon steel; SIL-rated shutoff class",
          "failureModes": [
            "Regulator failure",
            "Filter plugging"
          ],
          "count": 1
        },
        {
          "name": "Stack and damper",
          "motion": "stationary",
          "material": "Carbon steel, refractory lined lower section",
          "failureModes": [
            "Dew point corrosion",
            "Damper seizure"
          ],
          "count": 1
        },
        {
          "name": "Sootblower set (where fitted)",
          "motion": "moving",
          "material": "Alloy lance, steam driven",
          "failureModes": [
            "Lance erosion",
            "Drive failure"
          ],
          "count": 2
        },
        {
          "name": "Skin thermocouple set",
          "motion": "stationary",
          "material": "Inconel-sheathed TCs",
          "failureModes": [
            "TC drift / failure masking hot tubes"
          ],
          "count": 12
        },
        {
          "name": "Bridge wall and peep sights",
          "motion": "stationary",
          "material": "Refractory / cast alloy frames",
          "failureModes": [
            "Refractory damage"
          ],
          "count": 1
        }
      ]
    },
    "T-101": {
      "templateRef": "column",
      "primaryMaterial": "SA-516 Gr.70 shell; 316L clad lower / hot sections; 304L trays",
      "damageMechanisms": [
        "Naphthenic Acid Corrosion",
        "Sulfidation (bottom)",
        "Ammonium Bisulfide Corrosion (overhead circuit)",
        "CUI at skirt"
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510 internal at turnaround; tray survey; overhead corrosion probe trend",
      "components": [
        {
          "name": "Shell courses (stacked plate rings)",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by section",
          "failureModes": [
            "Sulfidation",
            "Naphthenic acid corrosion",
            "CUI"
          ],
          "count": 6
        },
        {
          "name": "Top and bottom heads",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Corrosion thinning",
            "Fatigue at nozzle junctions"
          ],
          "count": 2
        },
        {
          "name": "Skirt and anchor bolt set",
          "motion": "stationary",
          "material": "Carbon steel skirt; B7 anchor bolts",
          "failureModes": [
            "Atmospheric corrosion",
            "Anchor bolt corrosion"
          ],
          "count": 1
        },
        {
          "name": "Tray set",
          "motion": "stationary",
          "material": "304L / 316L stainless trays, valves and downcomers",
          "failureModes": [
            "Tray fouling",
            "Weir corrosion",
            "Tray uplift / damage"
          ],
          "count": 38
        },
        {
          "name": "Packed bed sections (where fitted)",
          "motion": "stationary",
          "material": "316L / ceramic packing and liquid distributors",
          "failureModes": [
            "Packing fouling",
            "Distributor plugging"
          ],
          "count": 1
        },
        {
          "name": "Liquid distributors and draw sumps",
          "motion": "stationary",
          "material": "316L stainless",
          "failureModes": [
            "Plugging",
            "Corrosion"
          ],
          "count": 3
        },
        {
          "name": "Nozzles and manways with bolting",
          "motion": "stationary",
          "material": "SA-105 forgings; B7/2H bolting",
          "failureModes": [
            "Flange leakage",
            "Nozzle neck cracking"
          ],
          "count": 10
        },
        {
          "name": "Platform, ladders and davit",
          "motion": "stationary",
          "material": "Galvanized carbon steel",
          "failureModes": [
            "Atmospheric corrosion"
          ],
          "count": 1
        },
        {
          "name": "Insulation and jacketing system",
          "motion": "stationary",
          "material": "Mineral wool / calcium silicate, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "count": 1
        }
      ]
    },
    "E-102": {
      "templateRef": "exchanger-st",
      "primaryMaterial": "SA-516 shell; duplex 2205 tubes on cooling-water side service class",
      "damageMechanisms": [
        "Cooling Water Corrosion / MIC (tube side)",
        "Ammonium Bisulfide Corrosion (process side)",
        "Fouling"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Tube eddy-current survey class; CW chemistry trend",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by service",
          "failureModes": [
            "Sulfidation",
            "Thinning"
          ],
          "count": 1
        },
        {
          "name": "Channel and channel cover",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Pass-partition leakage"
          ],
          "count": 1
        },
        {
          "name": "Tube bundle: tubes",
          "motion": "stationary",
          "material": "Duplex 2205 (SA-789) tubes \u2014 cooling-water duty upgrade from the CS default",
          "failureModes": [
            "Fouling",
            "Tube wall thinning",
            "Vibration wear at baffles",
            "Pitting"
          ],
          "count": 600
        },
        {
          "name": "Tube bundle: baffles and tie rods",
          "motion": "stationary",
          "material": "Carbon steel / stainless by service",
          "failureModes": [
            "Baffle corrosion",
            "Tube vibration damage"
          ],
          "count": 12
        },
        {
          "name": "Tubesheets (2)",
          "motion": "stationary",
          "material": "SA-266 / clad forgings",
          "failureModes": [
            "Tube joint leakage",
            "Crevice corrosion"
          ],
          "count": 2
        },
        {
          "name": "Floating head and backing device (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel / stainless",
          "failureModes": [
            "Internal leakage"
          ],
          "count": 1
        },
        {
          "name": "Gasket set (shell, channel, floating head)",
          "motion": "wear",
          "material": "Spiral-wound 316L / graphite; RTJ in HP service",
          "failureModes": [
            "Gasket leakage at joint break"
          ],
          "count": 4
        },
        {
          "name": "Bolting set",
          "motion": "stationary",
          "material": "B7/2H; B8M on stainless",
          "failureModes": [
            "Bolt corrosion",
            "Relaxation"
          ],
          "count": 1
        },
        {
          "name": "Saddles and insulation system",
          "motion": "stationary",
          "material": "Carbon steel; mineral wool + jacket",
          "failureModes": [
            "CUI at saddles"
          ],
          "count": 1
        }
      ]
    },
    "V-102": {
      "templateRef": "vessel",
      "primaryMaterial": "SA-516 Gr.70; overhead-system corrosion class (inlet elbow and gas outlet in 316L)",
      "damageMechanisms": [
        "Ammonium Bisulfide Corrosion",
        "Ammonium Chloride Corrosion (upstream condenser outlet)",
        "Wet H2S Damage (mild)"
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510; overhead corrosion monitoring (iron counts / probe)",
      "components": [
        {
          "name": "Shell",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / clad by service",
          "failureModes": [
            "Thinning",
            "HIC blistering (sour)"
          ],
          "count": 1
        },
        {
          "name": "Heads (2)",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Thinning"
          ],
          "count": 2
        },
        {
          "name": "Skirt / saddle supports",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Support corrosion",
            "Fireproofing damage"
          ],
          "count": 1
        },
        {
          "name": "Inlet distributor / vortex breaker",
          "motion": "stationary",
          "material": "316L stainless",
          "failureModes": [
            "Erosion",
            "Fouling"
          ],
          "count": 1
        },
        {
          "name": "Mist eliminator / coalescer pad",
          "motion": "wear",
          "material": "316L mesh / PP in light service",
          "failureModes": [
            "Fouling",
            "Carryover"
          ],
          "count": 1
        },
        {
          "name": "Nozzles and manway with bolting",
          "motion": "stationary",
          "material": "SA-105; B7/2H",
          "failureModes": [
            "Flange leakage"
          ],
          "count": 6
        },
        {
          "name": "Level bridles and gauge glass assembly",
          "motion": "stationary",
          "material": "CS / 316L with armored glass",
          "failureModes": [
            "Glass breakage",
            "Bridle plugging"
          ],
          "count": 2
        },
        {
          "name": "Insulation and jacketing system",
          "motion": "stationary",
          "material": "Mineral wool, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "count": 1
        }
      ]
    },
    "P-102": {
      "templateRef": "pump-centrifugal",
      "primaryMaterial": "SA-216 WCB casing; 316L wetted trim (wet overhead liquid); SiC/carbon seal, Plan 52 class",
      "damageMechanisms": [
        "Corrosion (wet sour condensate)",
        "Cavitation at low drum level",
        "Seal face wear"
      ],
      "designLifeYears": 20,
      "inspectionMethod": "Vibration route + seal pot level trend",
      "components": [
        {
          "name": "Casing (volute)",
          "motion": "stationary",
          "material": "SA-216 WCB cast steel",
          "failureModes": [
            "Erosion-corrosion",
            "Casing thinning",
            "Cavitation damage"
          ],
          "count": 1
        },
        {
          "name": "Casing gasket / O-ring",
          "motion": "wear",
          "material": "Spiral wound / elastomer by service",
          "failureModes": [
            "Joint leakage"
          ],
          "count": 1
        },
        {
          "name": "Impeller",
          "motion": "moving",
          "material": "12% Cr / 316L / duplex by service",
          "failureModes": [
            "Erosion",
            "Cavitation pitting",
            "Balance loss from wear"
          ],
          "count": 1
        },
        {
          "name": "Shaft",
          "motion": "moving",
          "material": "4140 / 4145 alloy steel",
          "failureModes": [
            "Fatigue at keyway",
            "Corrosion under sleeve"
          ],
          "count": 1
        },
        {
          "name": "Shaft sleeve",
          "motion": "wear",
          "material": "316L / hard-coated",
          "failureModes": [
            "Scoring under packing / seal"
          ],
          "count": 1
        },
        {
          "name": "Mechanical seal assembly (faces, springs, elastomers)",
          "motion": "wear",
          "material": "SiC vs carbon faces; FFKM / FKM elastomers",
          "failureModes": [
            "Face wear",
            "Dry running",
            "Elastomer attack",
            "Hang-up"
          ],
          "count": 1
        },
        {
          "name": "Seal support system (Plan 52/53 reservoir, cooler, lines)",
          "motion": "stationary",
          "material": "316L reservoir and tubing",
          "failureModes": [
            "Barrier fluid loss",
            "Cooler fouling"
          ],
          "count": 1
        },
        {
          "name": "Bearing set (radial + thrust)",
          "motion": "moving",
          "material": "Rolling element, babbitt in large machines",
          "failureModes": [
            "Bearing fatigue",
            "Lubrication failure",
            "Brinelling"
          ],
          "count": 2
        },
        {
          "name": "Bearing housing and oil system (sump, oiler, cooler)",
          "motion": "stationary",
          "material": "Cast iron / steel housing",
          "failureModes": [
            "Oil contamination",
            "Water ingress"
          ],
          "count": 1
        },
        {
          "name": "Coupling and guard",
          "motion": "moving",
          "material": "Steel spacer coupling; steel guard",
          "failureModes": [
            "Element fatigue",
            "Misalignment wear"
          ],
          "count": 1
        },
        {
          "name": "Baseplate and grout",
          "motion": "stationary",
          "material": "Fabricated steel, epoxy grout",
          "failureModes": [
            "Grout voids (soft foot)",
            "Anchor corrosion"
          ],
          "count": 1
        },
        {
          "name": "Driver: electric motor (see motor template)",
          "motion": "moving",
          "material": "Per motor template",
          "failureModes": [
            "Per motor template"
          ],
          "count": 1
        }
      ]
    },
    "T-102": {
      "templateRef": "column",
      "primaryMaterial": "SA-516 Gr.70 shell; 304L trays; reboiler thermosyphon circuit carbon steel",
      "damageMechanisms": [
        "Corrosion (wet H2S traces in feed)",
        "Tray fouling",
        "CUI"
      ],
      "designLifeYears": 30,
      "inspectionMethod": "API 510 internal at turnaround",
      "components": [
        {
          "name": "Shell courses (stacked plate rings)",
          "motion": "stationary",
          "material": "SA-516 Gr.70 / Cr-Mo by section",
          "failureModes": [
            "Sulfidation",
            "Naphthenic acid corrosion",
            "CUI"
          ],
          "count": 6
        },
        {
          "name": "Top and bottom heads",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Corrosion thinning",
            "Fatigue at nozzle junctions"
          ],
          "count": 2
        },
        {
          "name": "Skirt and anchor bolt set",
          "motion": "stationary",
          "material": "Carbon steel skirt; B7 anchor bolts",
          "failureModes": [
            "Atmospheric corrosion",
            "Anchor bolt corrosion"
          ],
          "count": 1
        },
        {
          "name": "Tray set",
          "motion": "stationary",
          "material": "304L / 316L stainless trays, valves and downcomers",
          "failureModes": [
            "Tray fouling",
            "Weir corrosion",
            "Tray uplift / damage"
          ],
          "count": 38
        },
        {
          "name": "Packed bed sections (where fitted)",
          "motion": "stationary",
          "material": "316L / ceramic packing and liquid distributors",
          "failureModes": [
            "Packing fouling",
            "Distributor plugging"
          ],
          "count": 1
        },
        {
          "name": "Liquid distributors and draw sumps",
          "motion": "stationary",
          "material": "316L stainless",
          "failureModes": [
            "Plugging",
            "Corrosion"
          ],
          "count": 3
        },
        {
          "name": "Nozzles and manways with bolting",
          "motion": "stationary",
          "material": "SA-105 forgings; B7/2H bolting",
          "failureModes": [
            "Flange leakage",
            "Nozzle neck cracking"
          ],
          "count": 10
        },
        {
          "name": "Platform, ladders and davit",
          "motion": "stationary",
          "material": "Galvanized carbon steel",
          "failureModes": [
            "Atmospheric corrosion"
          ],
          "count": 1
        },
        {
          "name": "Insulation and jacketing system",
          "motion": "stationary",
          "material": "Mineral wool / calcium silicate, aluminum jacket",
          "failureModes": [
            "Jacket damage driving CUI"
          ],
          "count": 1
        },
        {
          "name": "Thermosyphon reboiler circuit (share of exchanger template)",
          "motion": "stationary",
          "material": "SA-179 tubes, SA-516 shell",
          "failureModes": [
            "Fouling",
            "Sulfidation (mild)"
          ],
          "count": 1
        }
      ]
    },
    "FL-1001": {
      "templateRef": "flare",
      "primaryMaterial": "Carbon steel stack and header; flare tip 310 stainless class",
      "damageMechanisms": [
        "High-temperature oxidation / thermal fatigue (tip)",
        "Header low-point corrosion"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "Continuous pilot monitoring; tip survey by outage / drone class",
      "components": [
        {
          "name": "Flare header network",
          "motion": "stationary",
          "material": "Carbon steel large-bore",
          "failureModes": [
            "Low-point corrosion",
            "Liquid accumulation"
          ],
          "count": 1
        },
        {
          "name": "Knock-out drum",
          "motion": "stationary",
          "material": "SA-516 Gr.70",
          "failureModes": [
            "Corrosion",
            "Level failure"
          ],
          "count": 1
        },
        {
          "name": "Liquid seal / staging seal",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Seal loss (flashback protection)"
          ],
          "count": 1
        },
        {
          "name": "Flare stack (derrick supported)",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Guy / derrick corrosion"
          ],
          "count": 1
        },
        {
          "name": "Flare tip with flame retention ring",
          "motion": "wear",
          "material": "310 SS / Inconel class",
          "failureModes": [
            "Tip burnout",
            "Cracking"
          ],
          "count": 1
        },
        {
          "name": "Pilot set with thermocouples (redundant)",
          "motion": "stationary",
          "material": "Stainless pilots, dual TC class",
          "failureModes": [
            "Pilot outage (the reportable failure)"
          ],
          "count": 4
        },
        {
          "name": "Ignition system (flame front generator)",
          "motion": "stationary",
          "material": "Panel + spark class",
          "failureModes": [
            "Ignition failure"
          ],
          "count": 1
        },
        {
          "name": "Purge gas and molecular seal",
          "motion": "stationary",
          "material": "Carbon steel / stainless internals",
          "failureModes": [
            "Purge loss (air ingress)"
          ],
          "count": 1
        },
        {
          "name": "Assist steam / air system (where fitted)",
          "motion": "stationary",
          "material": "Carbon steel",
          "failureModes": [
            "Assist failure (smoking flare)"
          ],
          "count": 1
        }
      ]
    },
    "CT-1001": {
      "templateRef": "cooling-tower-asset",
      "primaryMaterial": "Structure: treated timber / FRP class with galvanized steel; fill PVC; basin concrete; fan blades composite",
      "damageMechanisms": [
        "Fill fouling / scaling",
        "Timber / FRP degradation",
        "Basin corrosion and leakage",
        "Fan drivetrain wear"
      ],
      "designLifeYears": 25,
      "inspectionMethod": "CTI class inspection; fan vibration route; fill condition survey at outages",
      "components": [
        {
          "name": "Cell structure and casing",
          "motion": "stationary",
          "material": "Treated timber / FRP, galvanized hardware",
          "failureModes": [
            "Structural degradation",
            "Fastener corrosion"
          ],
          "count": 1
        },
        {
          "name": "Fill (splash / film pack)",
          "motion": "wear",
          "material": "PVC film fill",
          "failureModes": [
            "Fouling",
            "Scaling",
            "Biological growth"
          ],
          "count": 1
        },
        {
          "name": "Drift eliminators",
          "motion": "stationary",
          "material": "PVC",
          "failureModes": [
            "Fouling",
            "UV degradation"
          ],
          "count": 1
        },
        {
          "name": "Distribution system (headers, spray nozzles)",
          "motion": "stationary",
          "material": "PVC / FRP piping, PP nozzles",
          "failureModes": [
            "Nozzle plugging",
            "Pipe cracking"
          ],
          "count": 1
        },
        {
          "name": "Fan (axial, large diameter)",
          "motion": "moving",
          "material": "Composite blades, steel hub",
          "failureModes": [
            "Blade erosion",
            "Imbalance"
          ],
          "count": 1
        },
        {
          "name": "Fan gearbox and driveshaft",
          "motion": "moving",
          "material": "Cast iron gearbox, composite shaft",
          "failureModes": [
            "Gear wear",
            "Bearing failure",
            "Oil degradation"
          ],
          "count": 1
        },
        {
          "name": "Fan motor (see motor template)",
          "motion": "moving",
          "material": "TEFC motor, moisture-resistant class",
          "failureModes": [
            "Per motor template"
          ],
          "count": 1
        },
        {
          "name": "Cold water basin",
          "motion": "stationary",
          "material": "Reinforced concrete",
          "failureModes": [
            "Concrete attack",
            "Leakage",
            "Silt accumulation"
          ],
          "count": 1
        },
        {
          "name": "Basin screens and level instruments",
          "motion": "stationary",
          "material": "Stainless screens; level transmitter",
          "failureModes": [
            "Screen blockage"
          ],
          "count": 1
        }
      ]
    }
  },
  "componentRollup": {
    "method": "Each component template lists its components with a per-item count. The rollup multiplies per-item counts by the item count for that class (equipment counts from the plant register; pipe spools derived from piping length; tubes and trays counted individually at plant-average counts stated in the templates). All totals are reference estimates derived by this stated method, not a real plant count.",
    "totals": {
      "stationary": 285721,
      "moving": 21006,
      "wear": 30847,
      "grandTotal": 337574
    },
    "perTemplate": [
      {
        "templateId": "column",
        "items": 21,
        "basis": "21 columns / towers in the plant register",
        "stationary": 1323,
        "moving": 0,
        "wear": 0,
        "total": 1323
      },
      {
        "templateId": "vessel",
        "items": 66,
        "basis": "66 vessels / drums / separators in the plant register",
        "stationary": 924,
        "moving": 0,
        "wear": 66,
        "total": 990
      },
      {
        "templateId": "reactor",
        "items": 24,
        "basis": "24 reactors in the plant register (hydrotreaters, reformer, hydrocracker, FCC pair, coker drums counted as vessels in v1, SRU converters, SMR counted at fired-heater class)",
        "stationary": 408,
        "moving": 0,
        "wear": 72,
        "total": 480
      },
      {
        "templateId": "storage-tank",
        "items": 60,
        "basis": "60 tanks in the plant register (crude, product, utility, wastewater)",
        "stationary": 1140,
        "moving": 60,
        "wear": 60,
        "total": 1260
      },
      {
        "templateId": "sphere",
        "items": 8,
        "basis": "8 LPG / pressure spheres in the plant register",
        "stationary": 208,
        "moving": 0,
        "wear": 0,
        "total": 208
      },
      {
        "templateId": "exchanger-st",
        "items": 148,
        "basis": "148 shell-and-tube exchangers in the plant register",
        "stationary": 91612,
        "moving": 0,
        "wear": 592,
        "total": 92204
      },
      {
        "templateId": "air-cooler",
        "items": 31,
        "basis": "31 air cooler bays in the plant register",
        "stationary": 6944,
        "moving": 155,
        "wear": 0,
        "total": 7099
      },
      {
        "templateId": "fired-heater",
        "items": 12,
        "basis": "12 fired heaters in the plant register (incl. SMR furnace and SRU reaction furnace counted as heater/reactor pair)",
        "stationary": 1440,
        "moving": 120,
        "wear": 0,
        "total": 1560
      },
      {
        "templateId": "boiler",
        "items": 5,
        "basis": "5 boilers in the plant register (4 utility + 1 SRU waste-heat)",
        "stationary": 1040,
        "moving": 20,
        "wear": 0,
        "total": 1060
      },
      {
        "templateId": "pump-centrifugal",
        "items": 284,
        "basis": "284 pumps in the plant register",
        "stationary": 1136,
        "moving": 1704,
        "wear": 852,
        "total": 3692
      },
      {
        "templateId": "compressor",
        "items": 22,
        "basis": "22 compressors in the plant register (centrifugal and reciprocating classes combined)",
        "stationary": 88,
        "moving": 132,
        "wear": 88,
        "total": 308
      },
      {
        "templateId": "steam-turbine",
        "items": 5,
        "basis": "5 steam turbines in the plant register (plus turbine drivers counted inside compressor / generator sets)",
        "stationary": 20,
        "moving": 90,
        "wear": 10,
        "total": 120
      },
      {
        "templateId": "fan-blower",
        "items": 19,
        "basis": "19 fans / blowers in the plant register (excludes air-cooler fans, counted in that template)",
        "stationary": 38,
        "moving": 133,
        "wear": 0,
        "total": 171
      },
      {
        "templateId": "pipe-run",
        "items": 6050,
        "basis": "Pipe spools: 60.5 km of above-ground piping at plant-average 10 m spool length (reference derivation)",
        "stationary": 48400,
        "moving": 0,
        "wear": 0,
        "total": 48400
      },
      {
        "templateId": "elbow",
        "items": 10890,
        "basis": "10,890 elbows in the plant register (derived from piping length at class-typical density)",
        "stationary": 32670,
        "moving": 0,
        "wear": 0,
        "total": 32670
      },
      {
        "templateId": "tee",
        "items": 2722,
        "basis": "2,722 tees in the plant register",
        "stationary": 10888,
        "moving": 0,
        "wear": 0,
        "total": 10888
      },
      {
        "templateId": "reducer",
        "items": 1331,
        "basis": "1,331 reducers in the plant register",
        "stationary": 3993,
        "moving": 0,
        "wear": 0,
        "total": 3993
      },
      {
        "templateId": "flange",
        "items": 12672,
        "basis": "12,672 flanged joints in the plant register (LDAR-relevant count from v1)",
        "stationary": 38016,
        "moving": 0,
        "wear": 12672,
        "total": 50688
      },
      {
        "templateId": "valve-block",
        "items": 4896,
        "basis": "Block valves: gate 2,016 + globe 864 + ball 1,440 + check 576 from the v1 valve split (control valves and PSVs templated separately)",
        "stationary": 14688,
        "moving": 14688,
        "wear": 14688,
        "total": 44064
      },
      {
        "templateId": "valve-control",
        "items": 576,
        "basis": "576 control valves from the v1 valve split",
        "stationary": 2304,
        "moving": 1728,
        "wear": 1152,
        "total": 5184
      },
      {
        "templateId": "instrument-loop",
        "items": 2620,
        "basis": "2,620 field instruments in the plant register; DCS / SIS points about 2.2x this count (v1)",
        "stationary": 15720,
        "moving": 0,
        "wear": 0,
        "total": 15720
      },
      {
        "templateId": "motor",
        "items": 341,
        "basis": "341 motors in the plant register",
        "stationary": 1364,
        "moving": 1364,
        "wear": 0,
        "total": 2728
      },
      {
        "templateId": "transformer",
        "items": 18,
        "basis": "18 transformers from the v1 electrical note (6 substations)",
        "stationary": 198,
        "moving": 72,
        "wear": 18,
        "total": 288
      },
      {
        "templateId": "switchgear-mcc",
        "items": 56,
        "basis": "24 switchgear lineups + 32 MCCs from the v1 electrical note",
        "stationary": 560,
        "moving": 448,
        "wear": 0,
        "total": 1008
      },
      {
        "templateId": "structure",
        "items": 1250,
        "basis": "Structural assemblies: equipment foundations tied to equipment count + pipe rack bents over ~9 km of rack + building frames (reference derivation)",
        "stationary": 7500,
        "moving": 0,
        "wear": 0,
        "total": 7500
      },
      {
        "templateId": "psv",
        "items": 288,
        "basis": "288 PSVs from the v1 valve split",
        "stationary": 1152,
        "moving": 288,
        "wear": 576,
        "total": 2016
      },
      {
        "templateId": "flare",
        "items": 1,
        "basis": "1 flare system plant-wide (FLR-2000); components counted per system",
        "stationary": 11,
        "moving": 0,
        "wear": 1,
        "total": 12
      },
      {
        "templateId": "firewater",
        "items": 1,
        "basis": "1 firewater system plant-wide (FWS-2100, 12,000 GPM design); components counted per system",
        "stationary": 202,
        "moving": 4,
        "wear": 0,
        "total": 206
      },
      {
        "templateId": "detection-foam",
        "items": 438,
        "basis": "~420 detectors + 18 foam systems from the v1 safety note",
        "stationary": 1734,
        "moving": 0,
        "wear": 0,
        "total": 1734
      }
    ]
  },
  "resources": {
    "note": "Resources are modeled, not just equipment: catalysts, chemicals, utility resources and critical spares, at plant level and per unit, internally consistent with the 250,000 bbl/day basis and the v1 energy layer. Every quantity is a reference estimate.",
    "catalysts": [
      {
        "id": "cat-fcc-inv",
        "name": "FCC equilibrium catalyst inventory",
        "unitId": "FCC-600",
        "system": "Reactor / regenerator circulating inventory",
        "quantity": {
          "value": 220,
          "unit": "t",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-fcc",
        "makeupRate": "About 2.5 t/day fresh makeup class (equilibrium replacement)",
        "expectedLife": "Continuous equilibrium: inventory turns over on activity / metals balance, not a fixed-bed changeout",
        "note": "Bulk volume about 260 m3 at settled density class. Metals (Ni/V) passivation is part of the makeup strategy class."
      },
      {
        "id": "cat-hcu-inv",
        "name": "Hydrocracker catalyst inventory",
        "unitId": "HCU-700",
        "system": "3 reactors, pretreat + cracking beds",
        "quantity": {
          "value": 180,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-hcu",
        "makeupRate": "Skim / top-bed replacement at turnarounds",
        "expectedLife": "3-4 years per charge class",
        "note": "About 150 t. NiMo pretreat plus NiMo/zeolite cracking classes; qualitative composition only."
      },
      {
        "id": "cat-dht-inv",
        "name": "Diesel hydrotreater catalyst inventory",
        "unitId": "DHT-500",
        "system": "2 reactors",
        "quantity": {
          "value": 140,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-hds",
        "makeupRate": "Changeout at end of run",
        "expectedLife": "About 3 years per charge class",
        "note": "About 110 t, CoMo / NiMo on alumina classes."
      },
      {
        "id": "cat-nht-inv",
        "name": "Naphtha hydrotreater catalyst inventory",
        "unitId": "NHT-300",
        "system": "2 reactors",
        "quantity": {
          "value": 60,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-hds",
        "makeupRate": "Changeout at end of run",
        "expectedLife": "About 4 years per charge class",
        "note": "About 48 t. Guard bed for metals / silicon is part of the loading class."
      },
      {
        "id": "cat-ref-inv",
        "name": "Reformer catalyst inventory",
        "unitId": "REF-400",
        "system": "4 reactors, continuous regeneration (CCR) class",
        "quantity": {
          "value": 90,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-pt",
        "makeupRate": "Attrition makeup small; regeneration continuous",
        "expectedLife": "5+ years with continuous regeneration class",
        "note": "About 70 t, Pt on chlorided alumina class. Chloride management is part of the operating model."
      },
      {
        "id": "cat-iso-inv",
        "name": "Isomerization catalyst inventory",
        "unitId": "ISO-900",
        "system": "2 reactors",
        "quantity": {
          "value": 45,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-pt",
        "makeupRate": "Changeout at end of run; chloride injection continuous (chemical)",
        "expectedLife": "About 3 years per charge class",
        "note": "Pt on chlorided alumina plus zeolite classes; water / sulfur are poisons, feed guard is modeled."
      },
      {
        "id": "cat-sru-inv",
        "name": "Claus catalyst inventory",
        "unitId": "SRU-1200",
        "system": "3 converter beds",
        "quantity": {
          "value": 75,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-claus",
        "makeupRate": "Bed skim / replacement at turnarounds",
        "expectedLife": "About 4 years per bed class",
        "note": "About 60 t activated alumina; titania class in converter 1. Tail-gas hydrogenation catalyst (CoMo class) about 20 m3 additional."
      },
      {
        "id": "cat-hgn-inv",
        "name": "SMR catalyst and adsorbent inventory",
        "unitId": "HGN-1400",
        "system": "Reformer tubes, shift beds, PSA vessels",
        "quantity": {
          "value": 28,
          "unit": "t reformer catalyst",
          "basis": "Reference estimate, not a real plant value"
        },
        "materialClass": "cat-smr",
        "makeupRate": "Changeout at end of life",
        "expectedLife": "Reformer tubes catalyst 3-5 yr class; PSA adsorbent 15+ yr class",
        "note": "Plus HT shift about 15 m3 (Fe-Cr class), LT shift about 10 m3 (Cu-Zn class), PSA adsorbent about 120 m3 (carbon / molecular sieve classes)."
      }
    ],
    "chemicals": [
      {
        "id": "chem-amine",
        "name": "Amine inventory (MDEA class)",
        "unitId": "AMN-1100",
        "system": "Absorber / regenerator loop",
        "quantity": {
          "value": 120,
          "unit": "m3 of formulated solution",
          "basis": "Reference estimate, not a real plant value"
        },
        "circulation": "450 GPM lean circulation (matches AMN-1100 design capacity in v1)",
        "makeupRate": "About 0.5 m3/day solution-equivalent loss class, plus reclaiming",
        "note": "Heat-stable salts and reclaiming are part of the inventory model; amine corrosion is the linked damage mechanism."
      },
      {
        "id": "chem-h2so4",
        "name": "Sulfuric acid inventory (93% H2SO4)",
        "unitId": "ALK-800",
        "system": "Acid contactor loop + storage",
        "quantity": {
          "value": 450,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Consumption class about 0.4 kg per bbl of alkylate feed class, spent acid to regeneration (offsite class)",
        "note": "Dedicated tank inside its own containment: bund sized at 110% of largest tank class. Acid-resistant lining in the contactor; Monel trim on acid valves (see materials)."
      },
      {
        "id": "chem-caustic",
        "name": "Caustic inventory (NaOH, 20-50%)",
        "unitId": "PLANT",
        "system": "Product treating and water treatment",
        "quantity": {
          "value": 60,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Continuous small consumption class",
        "note": "Shared plant chemical: caustic washing, neutralization and boiler water treatment."
      },
      {
        "id": "chem-demulsifier",
        "name": "Emulsion breaker (demulsifier)",
        "unitId": "CDU-100",
        "system": "Crude charge injection at desalter",
        "quantity": {
          "value": 8,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Injection class 3-8 ppm on crude charge",
        "note": "Day-tank plus bulk tote storage class; injection point modeled with the desalter."
      },
      {
        "id": "chem-inhibitor",
        "name": "Corrosion inhibitor + neutralizing amine",
        "unitId": "PLANT",
        "system": "Overhead and product treating injection",
        "quantity": {
          "value": 10,
          "unit": "m3 each class",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Injection class 5-15 ppm on protected streams",
        "note": "Filming inhibitor and neutralizer stocked as separate classes."
      },
      {
        "id": "chem-cw-treat",
        "name": "Cooling water treatment chemicals",
        "unitId": "UTL-1500",
        "system": "Cooling water system",
        "quantity": {
          "value": 15,
          "unit": "m3 combined class",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Continuous feed class: scale / corrosion inhibitor, dispersant, oxidizing and non-oxidizing biocide",
        "note": "Legionella control program is a modeled procedure class on the cooling towers."
      },
      {
        "id": "chem-chloride",
        "name": "Organic chloride agent (isomerization)",
        "unitId": "ISO-900",
        "system": "Reactor feed injection",
        "quantity": {
          "value": 4,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Continuous ppm-class injection to maintain catalyst chloride balance",
        "note": "Small inventory, high consequence: dedicated contained storage class."
      },
      {
        "id": "chem-o2scav",
        "name": "Oxygen scavenger + boiler water chemicals",
        "unitId": "UTL-1500",
        "system": "Boiler feedwater system",
        "quantity": {
          "value": 6,
          "unit": "m3",
          "basis": "Reference estimate, not a real plant value"
        },
        "makeupRate": "Continuous feed class on BFW",
        "note": "Sulfite / carbohydrazide class scavenger plus phosphate / polymer program."
      }
    ],
    "utilities": [
      {
        "id": "util-steam-hp",
        "name": "Steam, high pressure (about 42 barg header)",
        "unitId": "UTL-1500",
        "system": "Boilers + cogeneration + waste-heat recovery",
        "quantity": {
          "value": 272,
          "unit": "t/h generation class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "600,000 lb/h matches UTL-1500 design capacity in v1. Distribution: HP to turbines and SMR, MP process, LP heating; unit-level steam figures live in each unit's energy layer."
      },
      {
        "id": "util-fuel",
        "name": "Fuel gas + natural gas import",
        "unitId": "PLANT",
        "system": "Refinery fuel system",
        "quantity": {
          "value": 1832,
          "unit": "MMBtu/h total fuel (v1 plant energy)",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "Refinery fuel gas from process units first, natural gas import as balance. Matches plantEnergy.fuelConsumptionMMBtuPerH in v1."
      },
      {
        "id": "util-h2-balance",
        "name": "Hydrogen balance",
        "unitId": "PLANT",
        "system": "HGN-1400 + REF-400 production; HCU / DHT / NHT / ISO consumption",
        "quantity": {
          "value": 138,
          "unit": "MMSCFD supply class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "Supply: SMR 120 MMSCFD design (115 simulated) + reformer byproduct about 18 MMSCFD. Consumption class: hydrocracker about 70, diesel HT about 30, naphtha HT about 10, isomerization about 2, losses and fuel balance the remainder. Reference balance, labeled."
      },
      {
        "id": "util-cw",
        "name": "Cooling water circulation",
        "unitId": "UTL-1500",
        "system": "Cooling towers CT-1001 class + cells",
        "quantity": {
          "value": 120000,
          "unit": "GPM circulation class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "Makeup about 1,800 GPM class (evaporation, drift, blowdown) from raw water; blowdown to WWT-1600."
      },
      {
        "id": "util-raw-water",
        "name": "Raw / process water makeup",
        "unitId": "PLANT",
        "system": "Water treatment and distribution",
        "quantity": {
          "value": 1800,
          "unit": "GPM class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "Feeds cooling makeup, boiler feedwater demineralizers, process wash water (desalter) and firewater replenishment."
      },
      {
        "id": "util-n2",
        "name": "Nitrogen",
        "unitId": "UTL-1500",
        "system": "Onsite generation / liquid backup",
        "quantity": {
          "value": 15000,
          "unit": "Nm3/h class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "Blanketing, purging, catalyst work and instrument backup; liquid N2 storage backup class."
      },
      {
        "id": "util-air",
        "name": "Instrument air",
        "unitId": "UTL-1500",
        "system": "Compressors + dryers",
        "quantity": {
          "value": 12000,
          "unit": "Nm3/h class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "Oil-free, dried to -40 C dew point class; receiver capacity sized for ride-through class. Wet air is a named plant-wide failure mode in the valve templates."
      },
      {
        "id": "util-lube",
        "name": "Lubricating oil inventory",
        "unitId": "PLANT",
        "system": "Rotating equipment lubrication",
        "quantity": {
          "value": 45,
          "unit": "m3 combined class",
          "basis": "Reference estimate, not a real plant value"
        },
        "note": "ISO VG 46 / 68 classes in a central lube room plus machine sumps; oil analysis program is the modeled condition attribute (see materials library, lube-oils). Seal support fluids (Plan 53 barrier fluid) are an additional modeled class at pump level."
      }
    ],
    "criticalSpares": [
      {
        "id": "sp-seals",
        "name": "Mechanical seal sets and dry-gas seal cartridges",
        "scope": "Pump classes by frame and seal plan; compressor cartridges per machine",
        "quantityClass": "1 spare set per critical pump class; 1 cartridge set per compressor (reference class)"
      },
      {
        "id": "sp-bundle",
        "name": "Spare exchanger tube bundle",
        "scope": "Critical preheat train and reactor effluent services",
        "quantityClass": "1 bundle per critical train class (reference)"
      },
      {
        "id": "sp-psv",
        "name": "PSV spare pool",
        "scope": "Tested, sealed spares by set pressure / orifice class",
        "quantityClass": "About 5% of installed PSVs (reference class)"
      },
      {
        "id": "sp-trim",
        "name": "Control valve trim sets and positioners",
        "scope": "Severe-service and critical loops",
        "quantityClass": "1 trim set per severe-service valve class (reference class)"
      },
      {
        "id": "sp-motors",
        "name": "Spare motors by frame size",
        "scope": "Critical services without installed spares",
        "quantityClass": "1 per frame / rating class on critical list (reference class)"
      },
      {
        "id": "sp-transformer",
        "name": "Mobile / spare transformer",
        "scope": "Unit substation backup",
        "quantityClass": "1 mobile unit substation class (reference)"
      },
      {
        "id": "sp-electronics",
        "name": "Hardened electronics spares (DCS / SIS cards, positioners, transmitters)",
        "scope": "Command and control spares, stored in the shielded spares enclosure (see protection layer)",
        "quantityClass": "Critical-card coverage per system (reference class)"
      }
    ]
  },
  "protection": {
    "intro": "Protection is modeled here as design requirements on a reference plant. A status of 'Modeled' in the matrix means the design requirement is written into this twin's register for that unit. It does not mean any real plant is protected: this is a reference model, no operator data, and no protection claim is made for any real facility. Statuses: Modeled = design requirement modeled in the register. Partial = the layer applies in reduced form at that unit. Roadmap = requirement identified, design not yet modeled at that unit.",
    "statusLabels": {
      "modeled": "Modeled as design requirement",
      "partial": "Partial",
      "roadmap": "Roadmap"
    },
    "layers": [
      {
        "id": "cyber-command",
        "name": "Cyber and command integrity",
        "doctrine": "A command that reaches iron must be authorized, signed, and arbitrated. Control authority lives at the asset; remote command is a delegation, never a seizure. The aggregation layer is the one door, and it checks every key.",
        "standards": [
          "IEC 62443-3-2 (zones and conduits, risk assessment)",
          "IEC 62443-3-3 (system security requirements, security levels)",
          "IEC 61511 (SIS independence)",
          "NIST SP 800-82 (OT cybersecurity guidance class)"
        ],
        "requirements": [
          {
            "requirement": "IEC 62443 zones and conduits modeled for the whole plant: field (L0/L1), control (L2), operations (L3), industrial DMZ (L3.5), enterprise (L4/L5). Every cross-zone path is a named conduit in the register.",
            "status": "required"
          },
          {
            "requirement": "Security level targets by zone: SL-T 2 for basic process control zones; SL-T 3 target for the SIS zone and for the command / aggregation zone.",
            "status": "required"
          },
          {
            "requirement": "SIS independence per IEC 61511: safety sensors, logic solvers and final elements separate from the BPCS, on their own network; SIS status leaves the zone one-way only (data-diode class export).",
            "status": "required"
          },
          {
            "requirement": "Hybrid command authority: the asset holds authority by default. Remote command operates as a delegation through the aggregation layer with deterministic arbitration (local wins on conflict) and a logged, reversible handoff between local and remote control.",
            "status": "required"
          },
          {
            "requirement": "Protocol-mediation aggregation layer as the single policy enforcement point: heterogeneous device protocols (Modbus, OPC UA, HART and vendor classes) are mediated into policy-checked command objects before anything reaches a controller.",
            "status": "required"
          },
          {
            "requirement": "Signed commands: every command object carries a digital signature and a nonce; controllers and aggregation nodes reject unsigned or replayed commands. Signature algorithms per the quantum-safe layer.",
            "status": "required"
          },
          {
            "requirement": "Hardware-anchored trust: keys for command signing and node identity live in TPM / secure-element class hardware on aggregation nodes and engineering workstations; measured-boot attestation before a node may mediate commands.",
            "status": "required"
          },
          {
            "requirement": "Purdue level is a register attribute on every modeled control system, so the command path of any asset can be drawn from the register alone.",
            "status": "required"
          }
        ],
        "plantAssets": [
          {
            "name": "Command aggregation cabinets (redundant pair)",
            "quantity": "2",
            "note": "Main control building; the policy enforcement point for all remote command"
          },
          {
            "name": "SIS data-diode export pair",
            "quantity": "1 pair",
            "note": "One-way SIS status out of the safety zone"
          },
          {
            "name": "Hardened engineering workstations",
            "quantity": "4 (reference class)",
            "note": "TPM-anchored keys, application allow-listing class"
          },
          {
            "name": "Operations historian and DMZ brokers",
            "quantity": "1 set",
            "note": "L3 / L3.5 class; no direct enterprise-to-control path exists in the model"
          }
        ],
        "unitCoverage": {
          "CDU-100": {
            "status": "modeled"
          },
          "VDU-200": {
            "status": "modeled"
          },
          "NHT-300": {
            "status": "modeled"
          },
          "REF-400": {
            "status": "modeled"
          },
          "DHT-500": {
            "status": "modeled"
          },
          "FCC-600": {
            "status": "modeled"
          },
          "HCU-700": {
            "status": "modeled"
          },
          "ALK-800": {
            "status": "modeled"
          },
          "ISO-900": {
            "status": "modeled"
          },
          "DCU-1000": {
            "status": "modeled"
          },
          "AMN-1100": {
            "status": "modeled"
          },
          "SRU-1200": {
            "status": "modeled"
          },
          "SWS-1300": {
            "status": "modeled"
          },
          "HGN-1400": {
            "status": "modeled"
          },
          "UTL-1500": {
            "status": "modeled"
          },
          "WWT-1600": {
            "status": "partial"
          },
          "TKF-1700": {
            "status": "partial",
            "note": "Simpler PLC / relay controls; still inside its own 62443 zone with mediated tank gauging and overfill SIS"
          },
          "BLD-1800": {
            "status": "partial"
          },
          "LDG-1900": {
            "status": "partial"
          },
          "FLR-2000": {
            "status": "modeled"
          },
          "FWS-2100": {
            "status": "partial",
            "note": "Hardwired / PLC class controls; zone-modeled, fewer mediated paths"
          }
        },
        "coverageCounts": {
          "modeled": 16,
          "partial": 5,
          "roadmap": 0
        }
      },
      {
        "id": "emanations",
        "name": "Emanations security (Van Eck / TEMPEST class)",
        "doctrine": "Computers and control electronics radiate. What radiates can be read. Command spaces are therefore built so that what they radiate stays inside them: separation, shielding, and fiber where copper would carry a signal out of the room.",
        "standards": [
          "TEMPEST-class installation practice",
          "NATO SDIP-27 equipment emanation levels (reference targets only)",
          "Red / black separation guidance class"
        ],
        "requirements": [
          {
            "requirement": "Red / black separation inside the main control building and satellite instrument houses: red (command-bearing) equipment, cable and power physically separated from black (general plant) systems, with separate power feeds and grounding paths per class.",
            "status": "required"
          },
          {
            "requirement": "Fiber preference on command links: every command link that leaves a building is fiber-optic. Copper command links do not cross building boundaries.",
            "status": "required"
          },
          {
            "requirement": "Shielded construction for critical command paths: shielded tray and conduit inside zones; aggregation cabinets are shielded enclosures with filtered power and signal entries (shielding targets shared with the directed-energy layer).",
            "status": "required"
          },
          {
            "requirement": "Emanation control zones modeled around the main control building and each aggregation cabinet. Equipment inside a zone carries an emanation class attribute in the register: SDIP-27 Level B style target for command equipment, Level C style for general control equipment. Stated as design targets, never as test results.",
            "status": "required"
          },
          {
            "requirement": "No wireless command paths inside emanation control zones. Wireless instrumentation, where present, is monitoring-only and physically outside the command path.",
            "status": "required"
          },
          {
            "requirement": "Emanation class is a modeled attribute per instrument / controller class in the register, so a scan of the register lists every emitter class inside each zone.",
            "status": "required"
          }
        ],
        "plantAssets": [
          {
            "name": "Emanation control zone: main control building",
            "quantity": "1",
            "note": "Red/black build-out, shielded aggregation cabinets, filtered entries"
          },
          {
            "name": "Fiber command backbone ring",
            "quantity": "1 ring",
            "note": "No copper command path crosses a building boundary"
          },
          {
            "name": "Filtered power entry sets",
            "quantity": "Per shielded space",
            "note": "Shared with the directed-energy layer penetration treatment"
          }
        ],
        "unitCoverage": {
          "CDU-100": {
            "status": "partial",
            "note": "Satellite instrument house with mediated command links"
          },
          "VDU-200": {
            "status": "roadmap"
          },
          "NHT-300": {
            "status": "partial"
          },
          "REF-400": {
            "status": "partial"
          },
          "DHT-500": {
            "status": "partial"
          },
          "FCC-600": {
            "status": "partial"
          },
          "HCU-700": {
            "status": "partial"
          },
          "ALK-800": {
            "status": "partial"
          },
          "ISO-900": {
            "status": "roadmap"
          },
          "DCU-1000": {
            "status": "partial"
          },
          "AMN-1100": {
            "status": "roadmap"
          },
          "SRU-1200": {
            "status": "roadmap"
          },
          "SWS-1300": {
            "status": "roadmap"
          },
          "HGN-1400": {
            "status": "partial"
          },
          "UTL-1500": {
            "status": "partial",
            "note": "Main control building and substation control houses sit in this unit's plot"
          },
          "WWT-1600": {
            "status": "roadmap"
          },
          "TKF-1700": {
            "status": "roadmap"
          },
          "BLD-1800": {
            "status": "roadmap"
          },
          "LDG-1900": {
            "status": "roadmap"
          },
          "FLR-2000": {
            "status": "roadmap"
          },
          "FWS-2100": {
            "status": "roadmap"
          }
        },
        "coverageCounts": {
          "modeled": 0,
          "partial": 10,
          "roadmap": 11
        }
      },
      {
        "id": "directed-energy",
        "name": "Directed energy, EMP and HPEM hardening",
        "doctrine": "A pulse or a beam does not care about your firewall. Hardening is physical: shield the rooms that command, protect every wire that enters them, bond everything to one grid, bury what matters, and keep spares that survive the event they recover you from.",
        "standards": [
          "MIL-STD-188-125-1 concepts (HEMP protection of fixed facilities), used as design targets",
          "IEC 61000-4-23 / 61000-4-24 class test concepts",
          "IEEE C62 surge protective practice",
          "NFPA 70 / IEEE 80 grounding class"
        ],
        "requirements": [
          {
            "requirement": "Shielding effectiveness targets (design targets, labeled as targets, not test results): main control building 80 dB across 10 kHz to 10 GHz; critical cabinets and satellite instrument houses 60 dB.",
            "status": "required"
          },
          {
            "requirement": "Every penetration of a shielded boundary is treated: filtered power entries, fiber signal entries, waveguide-below-cutoff ventilation, shielded doors with conductive gasket class seals. An untreated hole voids the target and is modeled as a defect.",
            "status": "required"
          },
          {
            "requirement": "Surge protective devices: Type 1 SPDs at service entries, Type 2 at distribution panels, and signal-line protectors on every copper line entering a shielded zone. About 380 devices plant-wide (reference estimate).",
            "status": "required"
          },
          {
            "requirement": "Bonding and grounding modeled as an asset: plant ground grid under all unit plots, about 450 ground rods (reference estimate), welded (exothermic class) connections, two-point bonding for critical cabinets. The grid is in the register like any other asset, with condition inspection.",
            "status": "required"
          },
          {
            "requirement": "Critical cable runs (command backbone, SIS runs between buildings) buried or in shielded conduit.",
            "status": "required"
          },
          {
            "requirement": "Hardened spares storage: critical electronics spares (DCS / SIS cards, positioners, transmitters) stored in a shielded (Faraday class) enclosure.",
            "status": "required"
          },
          {
            "requirement": "Exposed optical and flame sensors (flare pilots, flame detectors) get redundant sensing classes rather than shielding claims; sensor blinding is answered with redundancy and voting, stated plainly.",
            "status": "roadmap"
          }
        ],
        "plantAssets": [
          {
            "name": "Plant ground grid and rod field",
            "quantity": "About 450 rods (reference estimate)",
            "note": "Modeled as an asset with its own components and inspection"
          },
          {
            "name": "Surge protective device population",
            "quantity": "About 380 (reference estimate)",
            "note": "Power entries, distribution, and signal lines into shielded zones"
          },
          {
            "name": "Shielded spares enclosure",
            "quantity": "1",
            "note": "Holds the critical electronics spares in the resources layer"
          },
          {
            "name": "Shielded spaces",
            "quantity": "Control building + 2 aggregation cabinets + satellite houses",
            "note": "80 dB / 60 dB targets as above"
          }
        ],
        "unitCoverage": {
          "CDU-100": {
            "status": "modeled",
            "note": "Main DCS node plot"
          },
          "VDU-200": {
            "status": "partial"
          },
          "NHT-300": {
            "status": "partial"
          },
          "REF-400": {
            "status": "partial"
          },
          "DHT-500": {
            "status": "partial"
          },
          "FCC-600": {
            "status": "modeled",
            "note": "SIS node plot"
          },
          "HCU-700": {
            "status": "partial"
          },
          "ALK-800": {
            "status": "partial"
          },
          "ISO-900": {
            "status": "partial"
          },
          "DCU-1000": {
            "status": "partial"
          },
          "AMN-1100": {
            "status": "partial"
          },
          "SRU-1200": {
            "status": "partial"
          },
          "SWS-1300": {
            "status": "partial"
          },
          "HGN-1400": {
            "status": "partial"
          },
          "UTL-1500": {
            "status": "modeled",
            "note": "Service entries and main substations: full SPD and bonding treatment modeled"
          },
          "WWT-1600": {
            "status": "partial"
          },
          "TKF-1700": {
            "status": "partial"
          },
          "BLD-1800": {
            "status": "partial"
          },
          "LDG-1900": {
            "status": "partial"
          },
          "FLR-2000": {
            "status": "partial"
          },
          "FWS-2100": {
            "status": "partial"
          }
        },
        "coverageCounts": {
          "modeled": 3,
          "partial": 18,
          "roadmap": 0
        }
      },
      {
        "id": "storm-weather",
        "name": "Storm and weather resilience",
        "doctrine": "On the Gulf Coast the design storm is not a scenario, it is a schedule. Structures, tanks and the control building are rated for it in the register, lightning is treated as a system with countable parts, and the hurricane itself is a modeled procedure with named steps.",
        "standards": [
          "ASCE 7-22 (loads; Risk Category IV for critical facilities)",
          "NFPA 780 (lightning protection systems)",
          "API RP 752 / 753 (building siting and blast class for occupied buildings)"
        ],
        "requirements": [
          {
            "requirement": "Design wind: ultimate design wind speed 170 mph class, Exposure D (coastal), Risk Category IV for the control building, substations, flare and structures whose failure escalates an event; Risk Category III minimum elsewhere. Wind rating is a register attribute per structure class.",
            "status": "required"
          },
          {
            "requirement": "Flood: design flood elevation = base flood elevation + 2 ft freeboard (reference target). Critical electrical and control equipment is set above the design flood elevation. Site drainage is sized to the 25-year storm class with surge routing to WWT-1600; tank bunds hold 110% of the largest tank plus a rainfall allowance class.",
            "status": "required"
          },
          {
            "requirement": "Lightning protection per NFPA 780, modeled as components: air terminals (about 140, reference estimate) on buildings and non-self-protecting structures, down conductors (about 280), and bonding to the plant ground grid. Steel tanks and spheres of qualifying wall thickness are self-protecting class per NFPA 780 and are bonded, not terminal-fitted; the rolling-sphere method is applied to columns and the flare.",
            "status": "required"
          },
          {
            "requirement": "Hurricane securing actions modeled as procedures in the register: tank level management ahead of landfall, crane and loose-material securing, flare pilot redundancy verification, control building readiness, and a safe-shutdown decision tree class with named decision points.",
            "status": "required"
          },
          {
            "requirement": "Temperature design envelope: ambient -18 C to 49 C class (Gulf Coast reference), minimum design metal temperature per ASME class, and freeze protection (tracing class) on water, amine and caustic lines.",
            "status": "required"
          }
        ],
        "plantAssets": [
          {
            "name": "Lightning protection system",
            "quantity": "About 140 air terminals, about 280 down conductors (reference estimates)",
            "note": "Components modeled in the structures and tank templates; bonded to the ground grid asset"
          },
          {
            "name": "Site drainage network",
            "quantity": "25-year storm class",
            "note": "Surge routing to WWT-1600"
          },
          {
            "name": "Hurricane procedure set",
            "quantity": "5 procedures",
            "note": "Modeled procedures with named steps, not equipment"
          }
        ],
        "unitCoverage": {
          "CDU-100": {
            "status": "modeled"
          },
          "VDU-200": {
            "status": "modeled"
          },
          "NHT-300": {
            "status": "modeled"
          },
          "REF-400": {
            "status": "modeled"
          },
          "DHT-500": {
            "status": "modeled"
          },
          "FCC-600": {
            "status": "modeled"
          },
          "HCU-700": {
            "status": "modeled"
          },
          "ALK-800": {
            "status": "modeled"
          },
          "ISO-900": {
            "status": "modeled"
          },
          "DCU-1000": {
            "status": "modeled"
          },
          "AMN-1100": {
            "status": "modeled"
          },
          "SRU-1200": {
            "status": "modeled"
          },
          "SWS-1300": {
            "status": "modeled"
          },
          "HGN-1400": {
            "status": "modeled"
          },
          "UTL-1500": {
            "status": "modeled"
          },
          "WWT-1600": {
            "status": "modeled"
          },
          "TKF-1700": {
            "status": "modeled"
          },
          "BLD-1800": {
            "status": "modeled"
          },
          "LDG-1900": {
            "status": "modeled"
          },
          "FLR-2000": {
            "status": "modeled"
          },
          "FWS-2100": {
            "status": "modeled"
          }
        },
        "coverageCounts": {
          "modeled": 21,
          "partial": 0,
          "roadmap": 0
        }
      },
      {
        "id": "quantum-locking",
        "name": "Quantum-safe locking of command and evidence",
        "doctrine": "Quantum locking, in xGRIDx usage, is the locking of command authority and of the evidence record with cryptography that survives a quantum adversary: post-quantum signatures on commands, post-quantum key establishment on command links, and a hash-chained, anchored evidence trail for the twin itself. It is a cryptography requirement, not quantum hardware in the plant, and this register says so wherever the term appears.",
        "standards": [
          "NIST FIPS 203 (ML-KEM key establishment)",
          "NIST FIPS 204 (ML-DSA signatures)",
          "NIST FIPS 205 (SLH-DSA, hash-based signatures)",
          "NIST post-quantum migration guidance class"
        ],
        "requirements": [
          {
            "requirement": "Post-quantum key establishment: ML-KEM (FIPS 203), 1024 class, for command-link session keys, run hybrid with classical ECDH during the transition period. Design requirement; deployment is roadmap at unit level.",
            "status": "required"
          },
          {
            "requirement": "Post-quantum signatures: ML-DSA (FIPS 204), 87 class, on signed command objects (the cyber layer's signed commands) and on twin register releases, so the register itself is signed evidence.",
            "status": "required"
          },
          {
            "requirement": "Crypto-agility: a maintained algorithm inventory for every command and evidence path in the register; negotiated algorithm suites; no hard-coded single-algorithm dependency is accepted in the design.",
            "status": "required"
          },
          {
            "requirement": "Tamper-evident evidence anchoring: every change to the twin register is hash-chained and anchored (the platform's existing anchored-evidence pattern), so the twin's state history can be verified independently of any single server or operator.",
            "status": "required"
          },
          {
            "requirement": "Quantum key distribution (QKD) is an evaluation track only, for the control-building to aggregation backbone (the highest-value, shortest links). Status: emerging option. It is not deployed technology, it is not part of the protection claim, and no unit in the matrix is credited with it.",
            "status": "emerging"
          },
          {
            "requirement": "Terminology rule: wherever 'quantum locking' appears in xGRIDx material it means this layer exactly: quantum-safe locking of command and evidence as defined here.",
            "status": "required"
          }
        ],
        "plantAssets": [
          {
            "name": "PQC-capable command aggregation nodes",
            "quantity": "2 (requirement)",
            "note": "Algorithm-agile; ML-KEM / ML-DSA as the design requirement"
          },
          {
            "name": "Anchored evidence log for twin register changes",
            "quantity": "1 chain",
            "note": "Hash-chained and anchored; register releases signed"
          },
          {
            "name": "Algorithm inventory register",
            "quantity": "1",
            "note": "Every command and evidence path, with its suite and migration state"
          }
        ],
        "unitCoverage": {
          "CDU-100": {
            "status": "roadmap",
            "note": "Roadmap at unit level: the requirement is set at the command / aggregation layer that serves this unit"
          },
          "VDU-200": {
            "status": "roadmap"
          },
          "NHT-300": {
            "status": "roadmap"
          },
          "REF-400": {
            "status": "roadmap"
          },
          "DHT-500": {
            "status": "roadmap"
          },
          "FCC-600": {
            "status": "roadmap"
          },
          "HCU-700": {
            "status": "roadmap"
          },
          "ALK-800": {
            "status": "roadmap"
          },
          "ISO-900": {
            "status": "roadmap"
          },
          "DCU-1000": {
            "status": "roadmap"
          },
          "AMN-1100": {
            "status": "roadmap"
          },
          "SRU-1200": {
            "status": "roadmap"
          },
          "SWS-1300": {
            "status": "roadmap"
          },
          "HGN-1400": {
            "status": "roadmap"
          },
          "UTL-1500": {
            "status": "roadmap"
          },
          "WWT-1600": {
            "status": "roadmap"
          },
          "TKF-1700": {
            "status": "roadmap"
          },
          "BLD-1800": {
            "status": "roadmap"
          },
          "LDG-1900": {
            "status": "roadmap"
          },
          "FLR-2000": {
            "status": "roadmap"
          },
          "FWS-2100": {
            "status": "roadmap"
          }
        },
        "coverageCounts": {
          "modeled": 0,
          "partial": 0,
          "roadmap": 21
        }
      }
    ]
  },
  "plantTotals": {
    "columnsTowers": 21,
    "vesselsDrumsSeparators": 66,
    "reactors": 24,
    "heatExchangersShellTube": 148,
    "airCoolers": 31,
    "firedHeaters": 12,
    "boilers": 5,
    "pumps": 284,
    "compressors": 22,
    "steamTurbines": 5,
    "fansBlowers": 19,
    "tanks": 60,
    "spheres": 8,
    "instruments": 2620,
    "motors": 341,
    "pipingKm": 60.5,
    "flangesEstimate": 12672,
    "elbowsEstimate": 10890,
    "teesEstimate": 2722,
    "valvesTotal": 5760
  },
  "plantYields": [
    {
      "name": "LPG",
      "pct": 6
    },
    {
      "name": "Gasoline (finished, blended)",
      "pct": 42
    },
    {
      "name": "Jet / Kerosene",
      "pct": 10
    },
    {
      "name": "Diesel (ULSD)",
      "pct": 28
    },
    {
      "name": "Petroleum coke",
      "pct": 5
    },
    {
      "name": "Asphalt / residue",
      "pct": 3
    },
    {
      "name": "Fuel gas (consumed in plant)",
      "pct": 4
    },
    {
      "name": "Sulfur",
      "pct": 1
    },
    {
      "name": "Other / loss",
      "pct": 1
    }
  ],
  "plantEnergy": {
    "fuelConsumptionMMBtuPerH": 1832,
    "powerConsumptionMWReference": 47.2,
    "powerGenerationMWReference": 62,
    "netPowerMWReference": -14.8,
    "steamNetTPerH": 81,
    "energyIntensityNote": "Reference estimate: about 320,000 Btu per bbl crude, inside the typical 250,000-400,000 range for a conversion refinery. Labeled reference estimate, not measured.",
    "source": "Reference estimates summed from unit energy fields; utilities generation offsets consumption"
  },
  "plantEmissions": {
    "co2TPerDayTotal": 4656,
    "flareTPerDay": 1.2,
    "fugitiveComponents": {
      "valves": 5760,
      "flanges": 12672,
      "note": "LDAR-relevant component counts are the valve + flange totals from the taxonomy, reference estimates"
    },
    "source": "Reference estimates, not permit or measured data"
  },
  "coverage": {
    "unitsModeled": 21,
    "unitsTotalReference": 21,
    "detailedAssetsCDU": 16,
    "assetClassesCovered": 28,
    "dataLayers": [
      "design",
      "operating (simulated)",
      "condition",
      "energy",
      "emissions",
      "yields/mass balance",
      "materials (library, per class, per asset, damage mechanisms)",
      "components (stationary / moving / wear, templates + CDU instance trees)",
      "resources (catalysts, chemicals, utilities, critical spares)",
      "protection (five design-requirement layers with per-unit coverage)"
    ],
    "notYetModeled": [
      {
        "gap": "Equipment internals beyond template level (vendor-specific tray, bundle and bed designs)",
        "closesWith": "Vendor data / turnaround inspection data from a real facility; generic internals are now templated in the components layer"
      },
      {
        "gap": "Underground piping and foundations detail",
        "closesWith": "Facility drawings + GPR / survey on a real site"
      },
      {
        "gap": "Real-time plant data (historian / DCS)",
        "closesWith": "Owner historian connection on a real facility, replacing simulated feed"
      },
      {
        "gap": "Intra-unit piping detail beyond CDU-100 (isometrics, line-by-line)",
        "closesWith": "DEXPI P&IDs per unit + scan ingest (CLOI/Pipework classes)"
      },
      {
        "gap": "Individual equipment tags beyond CDU-100 (thousands of tags)",
        "closesWith": "Full DEXPI register generation per unit, scan-to-tag on a real plant"
      },
      {
        "gap": "Marine loading geometry",
        "closesWith": "Waterfront site data, labeled optional"
      },
      {
        "gap": "Electrical one-line and area classification detail",
        "closesWith": "Facility electrical drawings on a real site"
      },
      {
        "gap": "Civil / structural member sizing",
        "closesWith": "Structural drawings / scan on a real site"
      },
      {
        "gap": "Molecular-level process chemistry (molecular crude characterization, reaction kinetics per unit)",
        "closesWith": "Crude assay / molecular characterization and kinetic models; the twin models materials and quantities, not molecules"
      },
      {
        "gap": "Real-time sensor truth (protection and condition layers run on the simulated feed here)",
        "closesWith": "Owner historian / sensor connection on a real facility; design requirements are modeled, live truth is not claimed"
      },
      {
        "gap": "Vendor-proprietary equipment internals and catalyst formulations",
        "closesWith": "Vendor data under license on a real engagement. Templates here are standard-practice classes; formulations are qualitative only, by rule"
      },
      {
        "gap": "Quantum key distribution deployment",
        "closesWith": "Emerging technology evaluation on the command backbone only; modeled as roadmap / emerging, never as a protection claim"
      },
      {
        "gap": "Calculated relief, structural and electrical design at depth (loads, member sizes, arc-flash studies)",
        "closesWith": "Licensed engineering calculation on a real facility; this register carries design requirements and parameters, not calculated results"
      }
    ],
    "depthCounts": {
      "materialsEntries": 39,
      "componentTemplates": 29,
      "cduComponentTypes": 157,
      "cduComponentInstances": 3486,
      "plantComponentsStationary": 285721,
      "plantComponentsMoving": 21006,
      "plantComponentsWear": 30847,
      "plantComponentsTotal": 337574,
      "catalystSystems": 8,
      "chemicalClasses": 8,
      "utilityResources": 8,
      "criticalSpareClasses": 7,
      "protectionLayers": 5
    }
  },
  "depthNote": "Depth layers added Oct 26, 2026 per the xGRIDx twin depth standard: materials, components, resources, protection. Catalyst compositions are qualitative classes only; no proprietary formulations. Hybrid command, aggregation layer and hardware-anchored trust are our architecture vocabulary, stated as design principles only."
}
