{
  "title": "What a barrel of crude becomes",
  "basis": {
    "measured": "EIA, U.S. Refinery Yield, July 2026. Percent of crude oil input.",
    "documented": "EPA AP-42 ch. 5.1, Petroleum Refining. Derivation only; no volumes.",
    "schematic": "Drawn for structure. Carries no quantity and should not be read as one."
  },
  "sources": [
    {
      "id": "eia",
      "title": "U.S. Refinery Yield",
      "url": "https://www.eia.gov/dnav/pet/pet_pnp_pct_dc_nus_pct_m.htm",
      "retrieved": "2026-10-24"
    },
    {
      "id": "ap42",
      "title": "EPA AP-42 ch. 5.1, Petroleum Refining",
      "url": "https://www.epa.gov/sites/default/files/2020-09/documents/5.1_petroleum_refining.pdf",
      "retrieved": "2026-10-24"
    },
    {
      "id": "eia-capacity",
      "title": "EIA Refinery Capacity Report, data as of 2026-01-01",
      "url": "https://www.eia.gov/petroleum/refinerycapacity/refcap26.pdf",
      "retrieved": "2026-10-24"
    }
  ],
  "nodes": [
    {
      "id": "crude",
      "label": "Crude oil",
      "kind": "root",
      "yield": null,
      "basis": "schematic",
      "note": "42 gallons in."
    },
    {
      "id": "desalter",
      "label": "Desalter",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Washes out salt and water before heat."
    },
    {
      "id": "adu",
      "label": "Atmospheric distillation",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Splits by boiling point. The first and last purely physical split."
    },
    {
      "id": "vdu",
      "label": "Vacuum distillation",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Re-boils the atmospheric residue under vacuum, below its cracking temperature."
    },
    {
      "id": "gas",
      "label": "Refinery gas",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "Lightest cut. Mostly burned on site or recovered as LPG."
    },
    {
      "id": "lnaph",
      "label": "Light naphtha",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "~30 to 90 \u00b0C."
    },
    {
      "id": "hnaph",
      "label": "Heavy naphtha",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "~90 to 200 \u00b0C."
    },
    {
      "id": "kero",
      "label": "Kerosene cut",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "~200 to 250 \u00b0C."
    },
    {
      "id": "lgo",
      "label": "Light gas oil",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "~250 to 350 \u00b0C."
    },
    {
      "id": "atmres",
      "label": "Atmospheric residue",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "Everything that would not boil. Goes to vacuum."
    },
    {
      "id": "vgo",
      "label": "Vacuum gas oil",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "The cat cracker's feed. 340 to 540 \u00b0C."
    },
    {
      "id": "vacres",
      "label": "Vacuum residue",
      "kind": "fraction",
      "yield": null,
      "basis": "documented",
      "note": "The bottom of the barrel."
    },
    {
      "id": "isom",
      "label": "Isomerization",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Rearranges light naphtha into higher-octane shapes. Same size, better structure."
    },
    {
      "id": "reformer",
      "label": "Catalytic reformer",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Rearranges heavy naphtha into aromatics. Makes the hydrogen the hydrotreaters need."
    },
    {
      "id": "fcc",
      "label": "Fluid catalytic cracker",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Breaks gas oil into lighter molecules. Where most of the extra volume comes from."
    },
    {
      "id": "hydrocracker",
      "label": "Hydrocracker",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Cracks under hydrogen. Favours jet and diesel over gasoline."
    },
    {
      "id": "coker",
      "label": "Coker",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Cracks the vacuum residue until what is left is solid carbon."
    },
    {
      "id": "alky",
      "label": "Alkylation",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Runs the other way: joins small molecules into larger, high-octane ones."
    },
    {
      "id": "gaspool",
      "label": "Gasoline blending",
      "kind": "blend",
      "yield": null,
      "basis": "documented",
      "note": "Four lineages meet here."
    },
    {
      "id": "jetpool",
      "label": "Jet blending",
      "kind": "blend",
      "yield": null,
      "basis": "documented",
      "note": null
    },
    {
      "id": "dieselpool",
      "label": "Distillate blending",
      "kind": "blend",
      "yield": null,
      "basis": "documented",
      "note": null
    },
    {
      "id": "p_gasoline",
      "label": "Finished motor gasoline",
      "kind": "product",
      "yield": 43.8,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_distillate",
      "label": "Distillate fuel oil",
      "kind": "product",
      "yield": 30.0,
      "basis": "measured",
      "note": "Diesel and heating oil."
    },
    {
      "id": "p_jet",
      "label": "Kerosene-type jet fuel",
      "kind": "product",
      "yield": 12.0,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_coke",
      "label": "Petroleum coke",
      "kind": "product",
      "yield": 4.6,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_hgl",
      "label": "Hydrocarbon gas liquids",
      "kind": "product",
      "yield": 4.3,
      "basis": "measured",
      "note": "Propane, butane and the like."
    },
    {
      "id": "p_stillgas",
      "label": "Still gas",
      "kind": "product",
      "yield": 3.9,
      "basis": "measured",
      "note": "Burned to run the refinery itself."
    },
    {
      "id": "p_asphalt",
      "label": "Asphalt and road oil",
      "kind": "product",
      "yield": 2.1,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_resid",
      "label": "Residual fuel oil",
      "kind": "product",
      "yield": 1.7,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_lubes",
      "label": "Lubricants",
      "kind": "product",
      "yield": 1.0,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_petnaph",
      "label": "Naphtha, petrochemical feed",
      "kind": "product",
      "yield": 0.8,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_petother",
      "label": "Other oils, petrochemical feed",
      "kind": "product",
      "yield": 0.5,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_misc",
      "label": "Miscellaneous products",
      "kind": "aside",
      "yield": 0.5,
      "basis": "measured",
      "note": "EIA's residual category. No single lineage produces it, so it is shown apart rather than given a parent it does not have."
    },
    {
      "id": "p_specnaph",
      "label": "Special naphthas",
      "kind": "product",
      "yield": 0.2,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_avgas",
      "label": "Finished aviation gasoline",
      "kind": "product",
      "yield": 0.1,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_kero",
      "label": "Kerosene",
      "kind": "product",
      "yield": 0.1,
      "basis": "measured",
      "note": null
    },
    {
      "id": "p_wax",
      "label": "Waxes",
      "kind": "product",
      "yield": 0.0,
      "basis": "measured",
      "note": "Rounds to zero. Still made."
    },
    {
      "id": "ht_naph",
      "label": "Naphtha hydrotreater",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Runs before the reformer, not after: sulfur poisons the reforming catalyst."
    },
    {
      "id": "ht_kero",
      "label": "Kerosene hydrotreater",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "Sulfur out, on spec for jet."
    },
    {
      "id": "ht_diesel",
      "label": "Distillate hydrotreater",
      "kind": "unit",
      "yield": null,
      "basis": "documented",
      "note": "The unit that made ultra-low-sulfur diesel possible."
    }
  ],
  "edges": [
    {
      "from": "crude",
      "to": "desalter",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "desalter",
      "to": "adu",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "adu",
      "to": "gas",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "adu",
      "to": "lnaph",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "adu",
      "to": "hnaph",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "adu",
      "to": "kero",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "adu",
      "to": "lgo",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "adu",
      "to": "atmres",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "atmres",
      "to": "vdu",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vdu",
      "to": "vgo",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vdu",
      "to": "vacres",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "lnaph",
      "to": "isom",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vgo",
      "to": "fcc",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vgo",
      "to": "hydrocracker",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vgo",
      "to": "p_lubes",
      "label": "solvent refining and dewaxing",
      "kind": "descent"
    },
    {
      "from": "vacres",
      "to": "coker",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vacres",
      "to": "p_asphalt",
      "label": "blown or blended direct",
      "kind": "descent"
    },
    {
      "from": "vacres",
      "to": "p_resid",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "gas",
      "to": "alky",
      "label": "olefins",
      "kind": "descent"
    },
    {
      "from": "fcc",
      "to": "alky",
      "label": "propylene and butylene",
      "kind": "descent"
    },
    {
      "from": "isom",
      "to": "gaspool",
      "label": "isomerate",
      "kind": "descent"
    },
    {
      "from": "reformer",
      "to": "gaspool",
      "label": "reformate",
      "kind": "descent"
    },
    {
      "from": "alky",
      "to": "gaspool",
      "label": "alkylate",
      "kind": "descent"
    },
    {
      "from": "fcc",
      "to": "gaspool",
      "label": "FCC gasoline",
      "kind": "descent"
    },
    {
      "from": "coker",
      "to": "gaspool",
      "label": "coker naphtha",
      "kind": "descent"
    },
    {
      "from": "hydrocracker",
      "to": "jetpool",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "fcc",
      "to": "dieselpool",
      "label": "light cycle oil",
      "kind": "descent"
    },
    {
      "from": "hydrocracker",
      "to": "dieselpool",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "gaspool",
      "to": "p_gasoline",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "gaspool",
      "to": "p_avgas",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "jetpool",
      "to": "p_jet",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "jetpool",
      "to": "p_kero",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "dieselpool",
      "to": "p_distillate",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "coker",
      "to": "p_coke",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "gas",
      "to": "p_hgl",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "gas",
      "to": "p_stillgas",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "lnaph",
      "to": "p_petnaph",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "lnaph",
      "to": "p_specnaph",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vgo",
      "to": "p_petother",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "vgo",
      "to": "p_wax",
      "label": "dewaxing",
      "kind": "descent"
    },
    {
      "from": "hnaph",
      "to": "ht_naph",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "ht_naph",
      "to": "reformer",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "kero",
      "to": "ht_kero",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "ht_kero",
      "to": "jetpool",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "lgo",
      "to": "ht_diesel",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "ht_diesel",
      "to": "dieselpool",
      "label": null,
      "kind": "descent"
    },
    {
      "from": "reformer",
      "to": "ht_naph",
      "label": "hydrogen",
      "kind": "hydrogen"
    },
    {
      "from": "reformer",
      "to": "ht_kero",
      "label": "hydrogen",
      "kind": "hydrogen"
    },
    {
      "from": "reformer",
      "to": "ht_diesel",
      "label": "hydrogen",
      "kind": "hydrogen"
    }
  ],
  "omissions": [
    {
      "unit": "Visbreaker",
      "reason": "US visbreaking capacity is 16,000 barrels per stream day against 2,793,645 for coking and 19,157,174 of crude distillation: 0.08% of the barrel. These yields are US, so the unit is left out rather than drawn at a scale it does not have. In Europe and Asia it would belong.",
      "source": "eia-capacity"
    }
  ]
}
