Skip to content

Oil and Gas

denfry edited this page Oct 13, 2026 · 1 revision

Oil and Gas

Note

Design stage. This page describes planned mechanics from the design document. Not implemented yet — see Roadmap (milestone M8).

Oil and gas is industrial era I2. You find a hydrocarbon trap with seismic and well logs, drill into it with real mud weight and a blowout preventer, produce oil and gas, separate and stabilize them, send them through pipelines with cathodic protection, and process them in an oil refinery and a gas processing plant. The products feed the rest of the complex: diesel for the reactor's emergency generators, sulfur for uranium leaching, helium for fuel rods, needle coke for reactor graphite, transformer oil for the grid, ethane and propylene for chemistry.

Pressure, temperature and composition are calculated honestly, and you learn the state of a plant only through instruments. There are no ready-made "refinery controllers": the mod provides sensors, valves, PLC function blocks and CC: Tweaked peripherals, and you design the control scheme.

Player path through era I2

oil_seep on the surface ─► shallow well 300–500 m, natural flow
   ─► batch still (short column) ─► kerosene, diesel for emergency diesels
seismic + well logging ─► deep well with mud and BOP ─► oil field
   ─► oil treatment, flare / gas utilization ─► pipeline, tank farm
   ─► atmospheric-vacuum distillation ─► hydrotreating + Claus (sulfur → sulfuric acid)
   ─► reforming (H₂, aromatics → chemistry) ─► FCC (propylene → chemistry) ─► coking (coke → electrodes, graphite)
gas wells ─► gas processing plant: dehydration, amine, Claus, helium, NGL fractionation (ethane → chemistry)

The era opens with I1 materials: steel and seamless pipe, electricity, industrial gases. Without drill_pipe and casing_pipe you cannot drill deeper than 25 blocks (shallow wells may use welded_pipe casing as an early path).

What is simulated

Level What Model Domain
Geology traps as 3D bodies, cap rock, gas-oil and oil-water contacts, stratigraphy ReservoirBody + StratigraphicColumn from the world seed static (worldgen)
Exploration seismic traces, log curves, core synthetic from the earth model: impedance, Ricker wavelet, Archie on request, off-tick
Fluid properties oil, gas, water, solutions pseudo-components + Peng–Robinson, tables by composition family FAST (table lookup)
Reservoir pressure, saturations, gas cap, aquifer sector material balance, Corey, Vogel 1 Hz, real time
Drilling hook load, torque, rate of penetration, bit wear mechanical specific energy, IADC wear ROP — SLOW, mechanics — FAST
Well control kicks, gas migration, wellhead pressures U-tube model of drill string and annulus, 32 cells each FAST, ×4
Production natural flow, gas lift, rod pump, ESP IPR × VLP nodal analysis, pumpjack kinematics VLP 1 Hz, wellhead FAST
Gathering and transport pipelines, separators, tanks, compressors shared thermal-hydraulic network FAST
Processing columns, reactors, catalysts continuous units with real flows; lumped kinetics flows real time, degradation SLOW
Accidents blowout, pool fire, BLEVE, vapour cloud explosion, H₂S, oil spill CCPS/TNO methods: TNT equivalence, multi-energy, probit FAST

Virtual depth

Minecraft has only 128 blocks between sea level and bedrock, but real reservoirs are 0.5–4 km deep. Below sea level (geology.datum_y = 63) each block counts as 20 m of true vertical depth (geology.depth_scale_m_per_block). A reservoir at y = −20 under a wellhead at y = 70 lies at 7 + 83 × 20 = 1667 m. The world allows about 2550 m. The scale applies to hydrostatics, string weight, wellbore volumes, seismic travel time and geothermal gradient — not to horizontal distances. One drill_pipe, casing_pipe, tubing_pipe or sucker_rod item = one wellbore block = 20 m.

Time

Minecraft reservoirs are small (a 160×160-block trap with 8 m net pay holds ≈ 2·10⁴ m³ of oil; real fields hold 10⁷–10⁹ m³). So the reservoir and well inflow run in real time, and acceleration applies only to slow degradation.

Process Time factor Note
Hydraulics, vessel levels, wellhead, compressors 1 FAST
Reservoir material balance, inflow, water cut 1 (reservoir.time_scale) a field depletes in 30–100 h of play
Penetration, bit wear 72 (drilling.penetration_time_scale) deliberate energy imbalance: honest 2 km would take 70 h
Tripping 8 2000 m in ≈ 5 min instead of 40
Kick, gas migration, kill 4 (wellcontrol.time_scale) 1 = hardcore real time
Well logging 8 300 m interval in ≈ 4 min
Refinery and gas plant flows 1 real time
Catalyst deactivation, coking, corrosion, wax, hydrates 72 a 6–12 month reforming cycle = 60–120 h of play
Lab analysis, core 72 30 physical min = 25 s

reservoir.pore_volume_multiplier (default 1.0; 2–4 for servers where a field should last a week) is the other scaling point.

Geology

Trap types

  • Anticline (dome). Gas fills the crest down to the gas-oil contact, oil down to the oil-water contact, water below. The spill point limits how far down the trap fills.
  • Salt dome. A rock-salt cylinder (radius 8–30 blocks) rising through the strata; traps are arcs along the salt wall. Salt gives a strong seismic reflection. The cap rock may hold native sulfur (backlog).
  • Stratigraphic trap. A pinch-out or a reef lens. Barely visible on seismic; found by logs and core.
  • Cap rock. cap_rock_shale or salt at least one block thick. If worldgen cannot place it (cave, canyon), the trap is "breached": normal pressure, oxidized heavy oil, tar near the surface.

Porosity and permeability vary across the field with noise; a poor-reservoir sector gives a dry hole inside a field.

Where fields are

The world is split into 512×512-block cells, each holding up to 3 bodies.

Biome group P(field) Traps Fluids Crest depth, m Notes
desert, badlands 0.45 anticline 0.5, dome 0.3, reef 0.2 light 0.4, medium 0.3, gas 0.3 900–2300 P(sour) 0.4
plains, savanna, meadow 0.35 anticline 0.6, pinch-out 0.4 medium 0.5, light 0.3, gas 0.2 700–2000 P(helium) 0.3
taiga, snowy, tundra 0.35 anticline 0.7, pinch-out 0.3 gas 0.6, condensate 0.2, medium 0.2 800–2400 large gas domes
swamp, mangrove 0.30 pinch-out 0.6, anticline 0.4 shallow biogenic gas 0.5, heavy 0.5 300–1200 shallow gas: blowout risk while drilling
jungle 0.25 anticline 0.5, reef 0.5 medium 0.6, light 0.4 1000–2400
ocean 0.40 dome 0.4, anticline 0.6 light 0.5, gas 0.5 1200–2500 offshore drilling is backlog
windswept, peaks 0.25 anticline 1.0 medium 0.7, gas 0.3 1500–2500 steep domes, overpressure

A typical field (semi-axes 80 blocks, 8 m net pay, 20 % porosity) holds ≈ 9.7·10³ m³ (≈ 8,200 t) of oil in place. Config keys include worldgen.oil.enabled, worldgen.oil.cell_size, worldgen.oil.field_probability_scale and worldgen.oil.place_blocks.

Fluids

Each field gets a crude_assay (API gravity, sulfur, nitrogen, Conradson carbon, V and Ni, wax, asphaltenes, pour point, 22-point TBP curve, sulfur by fraction):

Crude type °API Density, kg/m³ S, wt % Yields < 180 / 180–240 / 240–350 / 350–550 / > 550 °C, wt % Wax, %
Condensate 55 759 0.05 62 / 15 / 15 / 7 / 1 1
Light sweet (Brent type) 38 835 0.4 27 / 13 / 22 / 25 / 13 4
Medium sour (Urals type) 31 870 1.4 18 / 10 / 21 / 27 / 24 3
Heavy sour (Maya type) 21 927 3.4 13 / 8 / 18 / 25 / 36 2
Waxy (Mangyshlak type) 33 860 0.2 15 / 9 / 20 / 30 / 26 20–29, solid at +30 °C

Gas carries a gas_composition component:

Type CH₄ C₂H₆ CO₂ H₂S He Prototype
Dry 0.955 0.025 0.002 0 0.0001 Urengoy
Rich (associated) 0.70 0.12 0.01 0 0 associated gas
Sour 0.85 0.04 0.01 0.03 0.0006 Orenburg
Highly sour 0.55 0.02 0.15 0.25 0 Astrakhan
Helium-bearing 0.80 0.06 0.002 0 0.003 Hugoton

Formation water carries 30–250 g/L salt plus Ba, Sr and ²²⁶Ra — the source of scale and NORM.

Pore pressure follows a normal gradient of ≈ 10.2 kPa/m; inside the reservoir, buoyancy raises crest pressure above normal (the main cause of kicks at the crest). 30 % of cells (60 % in fold belts) have overpressured shales with gradients up to 15–18 kPa/m. Fracture pressure follows Eaton (≈ 15.5 kPa/m in normal conditions). Temperature rises 25–35 K/km.

World blocks

Block Where Notes
reservoir_sandstone reservoir body, fluid=oil|gas|water breaking it above hydrostatic pressure releases fluid
cap_rock_shale seal impermeable, 25 MPa strength
rock_salt salt domes NaCl for brine to the chlor-alkali cell
oil_seep above 40 % of oil traps with thin or breached seals asphalt patch, gives a little heavy oxidized crude_oil
barite_ore veins y 0…48, ×2 near salt domes mud weighting agent

Digging into an overpressured reservoir with a pickaxe releases gas and a crude_oil source until the local pore volume drains. In a sour reservoir this is lethal — which is why reservoirs are opened by wells, not mines. Oil sands, oil shale and shale gas are backlog.

Exploration

surface signs (oil_seep, gas bubbles in swamps)
   └─► 2D seismic ─► time section ─► horizon map
          └─► bright spots, anticline crests ─► wildcat location
                 └─► drilling with mud logging ─► core from the reservoir
                        └─► logs: gamma, neutron (Am-Be), resistivity ─► porosity, saturation, contacts
                               └─► volumetric reserves ─► field development plan

No instrument says "oil here, 12 kt". You get raw data and process it yourself — by hand, in the handbook, or with a CC program.

Block / item Role
seismic_charge explosive source in a 1–3 block shot hole (2 kg per charge)
seismic_vibrator vibrator on a Create shaft (≥ 64 RPM, 32 SU), 10–80 Hz sweep in 8 s
geophone receiver, wired with signal_cable, up to 48 channels
seismic_recorder peripheral pc_seismic; stores shot headers only

Traces are synthesized on demand from the static earth model (≈ 30 µs per trace) and returned by pc_seismic.getTrace(shot, ch) as a packed binary string of 1500 int16 samples (2 ms, 3 s). Logging tools include gamma, Am-Be neutron (a sealed_source from Isotopes and RTG) and resistivity; core analysis and mud gas logging complete reserves estimation.

Drilling

The rig is modelled on a 750 HP land rig and built as a multiblock around the well axis: crown_block, derrick_segment ×9–24, traveling_block with hook and swivel, drawworks (Create shaft), drill_floor and rotary_table, drillers_console, BOP stack (bop_annular, bop_ram ×2–3), bop_accumulator, choke_manifold, kill_manifold, mud_pump ×1–2 (Create shaft), shale_shaker, mud_degasser, mud_tank, mud_mixing_hopper, mud_gas_separator, flare_stack. Hook capacity is set by the weakest link (derrick legs 1.5 MN each, crown block, wire_rope, drawworks). A taller derrick (15–24 blocks) allows stands of 2–3 pipes and faster tripping.

Drilling mud

drilling_mud carries mud_properties (density, plastic viscosity, yield point, gel strengths, filtrate, solids, gas, chlorides, pH).

Component Role Source
water base raw_water
bentonite structure, filter cake fuel-cycle chemistry
barite_powder weighting, 4200 kg/m³ barite_ore crushed in Create
hematite weighting, 5000 kg/m³, abrasive Create / metallurgy
NaOH pH 9–11 against corrosion and H₂S sodium_hydroxide_solution
zinc oxide H₂S scavenger zinc dust

Weighting 50 m³ from 1150 to 1330 kg/m³ takes 13.2 t of barite. Equivalent circulating density adds annular friction: 1200 kg/m³ mud with 2 MPa annular loss at 2000 m gives ECD 1302 kg/m³. Drilled clay raises density and viscosity without solids control; gas cut lowers density at the flowline. Overbalance while the reservoir is open damages it (skin rises over ~24 physical hours) — open the pay quickly with light mud, but never lighter than pore pressure.

Mud weight window and casing

At every depth: pore pressure + trip margin ≤ mud hydrostatic ≤ ECD ≤ fracture pressure at the last casing shoe. When the window closes, you run and cement casing.

String Size Depth Purpose
Conductor 20″ 30–60 m protect the wellhead from washout
Surface 13⅜″ 300–600 m isolate fresh water, install BOP
Intermediate 9⅝″ above overpressure / reservoir widen the window
Production 7″ or 5½″ total depth producing zone

Cementing in release 1.0 is simplified: annular volume + 20 % of portland_cement, 12 physical hours wait-on-cement (10 real minutes). Uncemented casing does not hold pressure. A leak-off test (pc_drilling.performLot()) returns a volume-pressure curve; you pick the break point yourself.

Kicks and well control

A kick starts when bottomhole pressure falls below pore pressure in a permeable zone: insufficient mud weight, swabbing while pulling pipe, not filling the hole on trips, or losses higher up. The WellControl model tracks gas pockets in 32 cells of drill string and annulus; gas expands as it rises and migrates at ≈ 300 m/h in static mud.

Kick signs the driller sees: pit gain, return flow above pump flow, well flowing with pumps off, drilling break, falling standpipe pressure, gas on the analyzer, connection gas. The mod does not raise a "kick" event — you configure pit-volume and flow alarms yourself.

Hard shut-in: stop the rotary, space out so no tool joint is in the rams, stop pumps, close the annular or rams. After 5–15 physical minutes, read SIDPP and SICP. If you wait too long, migrating gas raises both and loads the shoe — use the volumetric method.

BOP element Seals Closing time Failure mode
bop_annular any pipe, kelly, open hole (partially) ≤ 30 s element wear: after 20 closures holding pressure ×0.8
bop_ram, ram=pipe only its pipe size ≤ 30 s wrong size: RAM_MISMATCH
bop_ram, ram=blind empty hole ≤ 30 s will not close on pipe
bop_ram, ram=shear cuts the pipe body and seals ≤ 30 s cannot cut a tool joint: TOOL_JOINT_IN_RAM

The bop_accumulator (nitrogen-precharged bottles: 7 MPa precharge, 8.3 MPa minimum, 21 MPa max — one 41.6 L bottle gives 20.8 L usable) must close all preventers without pumps per API 53. Control by physical levers or pc_drilling.closeBop. An untested BOP (interval drilling.bop_test_interval_days = 14) has a 5 % element failure chance per closure.

Killing the well. You build the kill sheet from pc_drilling.getKillSheetData(): kill mud weight, initial and final circulating pressure. Example: 2000 m, 1150 kg/m³ mud, SIDPP 3.5 MPa, slow-circulation pressure 2.5 MPa → kill mud 1328 kg/m³, ICP 6.0 MPa, FCP 2.89 MPa. Choose the Driller's method (two circulations) or Wait and Weight (one circulation, lower shoe load). The choke is operated by hand on the choke_manifold, via pc_drilling.setChoke, or by a PID block. Too open → a second influx; too closed → losses at the shoe or an underground blowout to surface around the casing.

Blowout

Stage What happens Player action
1. Release mud, then reservoir fluid; H₂S cloud if sour evacuate, cut power to ignition sources
2. Ignition per-tick probability; sparks on the rig —
3. Burning blowout 100–500 MW jet fire; derrick collapses in 1–5 min clear the wellhead with Create cranes and deployers, cool with water
4. Extinguishing a snuffing_charge at the base of the flame blows it out (Red Adair method) if the charge is large enough and wellhead metal is below 600 K fire monitors, place the charge by crane
5. Re-ignition P = 0.3 per 10 s while metal is above 600 K keep cooling
6. Capping capping_stack placed open on an intact flange, then closed kill through the stack
7. Relief well backlog —

A gas well at 20 MPa can blow out 0.5–2 million Nm³/day. Blowouts go into the station log and the emissions ledger. Differential sticking, cuttings packoff and lost circulation are also modelled; vanilla items tagged c:loss_circulation_material reduce losses. Directional drilling, full cementing quality, perforation and fracturing are backlog.

Production

After drilling, tubing_pipe is run inside the production casing, and the well gets a wellhead and christmas_tree (master valve, swab valve, wing valve, adjustable choke). The choke is the main rate control while flow through it is critical (Gilbert correlation); sand erodes it over time and the rate drifts.

Each second, every well builds its vertical lift curve (drift-flux multiphase model, 16 depth segments, flash at each point) and intersects it with the reservoir inflow curve — nodal analysis. The result is linearized for the fast network, so closing a valve or raising separator pressure changes the rate immediately. No intersection → the well is DEAD.

Lift method How it works
Natural flow while reservoir pressure exceeds wellhead + column + friction; high-GOR oil flows longer; slugging before it dies
Gas lift gas injected down the annulus through gas_lift_valves (opening pressure set when installed); optimum injection rate; heading damped by your PID
Pumpjack and rod pump Create shaft → pumpjack_gearbox → beam → sucker_rod string → downhole_rod_pump. 44 mm plunger, 2.5 m stroke, 8 spm → 35.8 m³/day; 70 mm, 3 m, 10 spm → 133 m³/day. Rod loads, counterbalance and gearbox torque per API RP 11L
ESP backlog

Well states: COMPLETED, FLOWING, DEAD, GAS_LIFT, ROD_PUMP, ESP, SHUT_IN, KILLED, BLOWOUT, ABANDONED.

Production problems

Problem Physics Remedy
Wax deposits below wax appearance temperature (30–50 °C) rod scrapers, pipeline pigs, hot oiling, insulation
Hydrates gas + water at high pressure, low temperature form solids; plugs at 95 % methanol / MEG (20 % methanol lowers hydrate point by 18.2 K), heating, gas dehydration. A plug heated from both ends can launch as a projectile
Sand weak formations fail above critical drawdown limit drawdown, slotted_liner, washing
Scale BaSO₄ from incompatible waters, CaCO₃ from pressure drop scale inhibitors, injection water selection
NORM scale co-precipitates ²²⁶Ra; contaminated tubing and separators dosimetry during workovers; pulled tubing is radioactive waste
CO₂ corrosion de Waard–Milliams inhibitors, corrosion-resistant steel_grade
H₂S cracking hard steels crack in sour service (NACE MR0175) pipe with pipe_spec.sourService

Pressure maintenance by water injection uses injection_water from water treatment.

Gathering and treatment

wells → test manifold → 3-phase separator stage 1 (0.6–1.5 MPa)
   gas → compressor → gas lift / gas plant / fuel;  excess → flare
   water → produced water treatment → injection wells
   oil → separator stage 2 (0.1–0.3 MPa) → heater → electrostatic desalter → stabilizer → stock tank → pipeline to refinery
  • three_phase_separator: gas, oil and water zones, levels held by your two control valves. Overfilling sends liquid into the gas line (compressor damage, "burning rain" from the flare) — safety trip SEP_HIGH_HIGH_LEVEL.
  • electrostatic_desalter: 1–3 kV/cm field, 50–200 kW from the grid, wash water 4–8 %. Two stages bring 200 mg/L salt to 0.3 mg/L. Export spec: water ≤ 0.5 %, salt ≤ 100 mg/L; refinery feed ≤ 3–5 mg/L. Salt reaching the crude unit hydrolyzes to HCl and corrodes the overhead within 20–50 h.
  • Stabilizer (fractionating_column, 10–15 trays) removes C1–C4 to vapour pressure ≤ 66.7 kPa; overhead ngl goes to fractionation.

Associated gas: flare or use

Stage-1 separator gas (associated_gas) is 50–250 m³ per m³ of oil.

Route Needs Result
Flare (flare_stack + flare_tip) flare_knockout_drum, pilot burners 98 % combustion efficiency; 2 % methane + CO₂ + SO₂ to the emissions ledger; quota penalties
Field fuel compressor, dehydration heaters, gas-turbine power station
Gas lift compressor to 8–12 MPa —
Reinjection compressor above reservoir pressure gas cap pressure maintenance
Gas processing plant pipeline sales gas, NGL, sulfur, helium

Without a pilot flame, released gas goes unburnt (methane and H₂S cloud). Flare height must keep radiation at the base below 6.3 kW/m² (API 521). The flare glow is visible at night from afar.

Transport and storage

  • Pipelines are ordinary pipe/pipe_large with a pipe_spec component; long lines collapse into 30 m links (1000 blocks ≈ 35 links). Gas lines hold line pack. Design pressure by Barlow with a location factor (0.72 down to 0.4 near housing); grades St20 245 MPa, X52 359 MPa, X70 483 MPa. Overpressure on a corroded line causes a rupture: a gas cloud or jet fire, or an oil spill. Leak detection (mass balance, pressure wave) is your job with pc_pipeline.
  • Pigging: pig_launcher and pig_receiver bound a pipeline section. A pig removes wax (out as low-grade paraffin_wax); a smart_pig detects metal loss > 10 % of wall with 0.9 probability (pc_pipeline.getIliReport(id)). Pigs get stuck on > 20 % deposits, tight bends or reduced-bore valves. Opening a trap door under pressure is blocked mechanically and by LOTO.
  • Cathodic protection: buried steel corrodes 0.1–0.3 mm/yr; at −0.85 V vs Cu/CuSO₄ corrosion drops ×50. sacrificial_anode (magnesium) or cp_rectifier with ground bed; cp_test_post for on/off potential. Below −1.2 V the coating disbonds.
  • Tanks: multiblock tank_shell, tank_roof or tank_floating_roof, tank_gauge (pc_tank). Breathing and working losses go to the emissions ledger (floating roof cuts them 90–98 %). Hazards: overfill (TANK_HIGH_HIGH_LEVEL), boilover of a burning tank over water bottoms (drain the water), floating roof tilt, vacuum collapse. gas_storage_bullet holds LPG under pressure — BLEVE risk in a fire.
  • Compressors: centrifugal_compressor and reciprocating_compressor. Example: 10 kg/s gas from 3 to 7.5 MPa = 1.75 MW. Surge on the left of the surge line (pressure pulsation, ×10 bearing wear, eventually blade failure); you tune the anti-surge recycle controller. Drive: Create shaft (up to 1 MW), electric motor, or a gas turbine with free power turbine burning pipeline gas.
  • Odorization: odorizer adds 16 g of odorant per 1000 m³. Odorized gas gives a "Smell of gas" subtitle, mild nausea and a sound cue; unodorized gas does not smell at all. H₂S smells by itself, but above 100 ppm the sense of smell is paralyzed — exactly when it becomes lethal.
  • Underground gas storage, LNG and rail tankers on Create trains are backlog.

Oil refinery

The reference refinery processes 20–30 L/s of crude (1.5–2.2 kt/day). At these flows real equipment sizes match blocks — an atmospheric column 3 m × 30 m is a 3×3×32 column — so continuous units run in real time. Only catalyst aging, coking and corrosion are accelerated. Units are process units with peripherals pc_column and pc_chem_process.

crude → desalter → atmospheric column
   gas / overhead → gas fractionation / fuel gas
   naphtha → naphtha hydrotreater → catalytic reformer → reformate → gasoline blending
                                                       → H₂ → hydrogen network → hydrotreaters
   kerosene → kerosene hydrotreater → kerosene / diluent_dodecane
   diesel → diesel hydrotreater → diesel_fuel
   residue → vacuum column
       vacuum gas oil → FCC → gasoline, propylene (→ polymers), light cycle oil, decant_oil (→ coker)
       lube cuts → lube oils
       vacuum residue → delayed coker → petroleum_coke / needle_coke
   hydrotreater H₂S → amine treating → Claus → sulfur

The eight reference units: atmospheric distillation, vacuum distillation, hydrotreating (naphtha/diesel modes), reforming, FCC, Claus with amine regeneration, delayed coking, blending with a quality lab.

Unit Purpose Key facts
Crude heater heat to 350–370 °C fired process_heater, ≈ 12.3 MW absorbed for 25 kg/s; above that, coking in tubes
Distillation columns fractionating_column segments tray-by-tray model
Catalytic reforming naphtha (RON 50–65) → reformate (RON 95–100) + hydrogen + aromatics catalyst_reforming Pt-Re/Al₂O₃ (platinum from copper anode slimes); 3–4 fixed_bed_reactors with interheaters
FCC vacuum gas oil → gasoline (RON 91–93), propylene, light cycle oil, decant_oil fcc_riser ×8–16, 500–540 °C, 2–4 s
Hydrotreating remove S, N, olefins from naphtha, kerosene, diesel CoMo catalyst; kerosene becomes diluent_dodecane for PUREX
Claus H₂S → liquid sulfur → sulfur granules claus_reaction_furnace, sulfur_condenser, 2–3 catalytic stages, sulfur_pit, sulfur_granulator; 97.4 % recovery with 3 stages; keep H₂S:SO₂ = 2:1 (10 % air error costs 3 %); 1000 kg/h H₂S → 903 kg/h sulfur
Delayed coking vacuum residue → coke, gas, naphtha, gas oil coke_drum (3×N×3); at CCR 20: 32 % coke. Drum cycle: fill → switch → steam → water quench → drain → unhead → hydraulic cutting (cutting_stem, 25–30 MPa)
Lube oils vacuum cuts → base oil phenol extraction (phenol from the coke plant), dewaxing with propane chiller, hydrofinishing → lube_oil + paraffin_wax
Transformer oil 300–400 °C cut of low-sulfur crude S < 50 ppm, dewaxed to −45 °C, breakdown ≥ 30 kV, water ≤ 30 ppm
Bitumen vacuum residue of heavy crude air-blown grades are backlog
HF alkylation backlog alkylate unlocks premium gasoline

Coke grades. petroleum_coke (sponge, sulfur ≈ 1.5 × feed sulfur) → fuel, or after calcining → anodes, electrodes, graphite if S < 1 %. needle_coke requires aromatic, low-sulfur, low-asphaltene feed (decant_oil or coke-oven coal_tar_pitch) → graphite electrodes for the arc furnace and reactor graphite in the Acheson furnace. Shot coke from high-asphaltene feed is fuel only. Calcining is done in the rotary_calciner at 1250–1350 °C. Opening an under-cooled drum ejects steam and hot coke — permissive COKER_UNHEAD_PERMISSIVE.

Catalysts carry a catalyst_state component (activity, cokeFrac, poisons, sinterLoss, ageH, state FRESH/OXIDE/ACTIVE/SPENT/REGENERATING). Types: catalyst_reforming, catalyst_fcc (zeolite Y), catalyst_hydrotreating (CoMo, can use by-product Co/Mo from metallurgy), catalyst_claus.

Fuel quality. Products carry a fuel_quality component: RON/MON, cetane, sulfur, density, distillation points, RVP, flash/cloud/pour points, benzene/aromatics/olefins, vanadium/sodium, water. Fields are hidden until a lab certifies them. Consequences: knock and piston damage on low octane; hard starts and smoke on low cetane (below 38, start failure 0.3); diesel cloud point above air temperature plugs filters (winter diesel is mandatory in snowy biomes); sulfur → SO₂; vanadium and sodium → gas turbine blade corrosion.

quality_lab runs CFR octane, cetane, D86 distillation, XRF sulfur, density and flash tests on a sample_bottle taken from any pipe or tank (20–60 physical minutes, ASTM reproducibility). Online analyzers (pc_analyzer) do it continuously, with drift. Gasoline blending is a linear-programming problem for you to solve.

Gas processing plant

raw / associated gas → inlet separator → amine treating
   acid gas H₂S + CO₂ → Claus → sulfur
   → TEG dehydration → cold box: turboexpander, demethanizer
        NGL → fractionation: deethanizer, depropanizer, debutanizer → ethane, propane, butane, C5+ naphtha
        methane + N₂ + He → nitrogen/helium unit → helium
        → sales_gas → odorization → pipeline
  • Sulfur. Highly sour gas (Astrakhan type, 25 % H₂S) turns the plant into a sulfur factory: 1 million Nm³/day → ≈ 340 t/day of sulfur. This is the main link "gas plant sulfur → sulfuric acid → uranium leaching".
  • Helium. At 0.05–0.5 % He, the gas is cleaned (CO₂ < 50 ppm, water < 0.1 ppm), chilled in the cold_box to −150…−185 °C, and the crude helium (50–70 %) is purified to 99.995 % in a helium_purifier using liquid_nitrogen from the air separation unit. Recovery 85–95 %. 500,000 Nm³/day at 0.3 % He gives ≈ 241 kg/day. Helium fills fuel rods, serves cryogenics and the core porosimeter. Carbon steel below −29 °C is a safety trip (CRYO_LOW_TEMP_CARBON_STEEL).
  • Turboexpander (turboexpander): 6 → 2.5 MPa, −30 → −85 °C; 10 kg/s yields ≈ 480 kW delivered to a Create shaft (480 SU) or a booster compressor.
  • NGL fractionation → ethane (steam cracker feed), propane, butane, naphtha. lpg is stored in gas_storage_bullet and odorized; propane also chills lube dewaxing.

Accidents

Oil and gas accidents use the same consequence pipeline as the nuclear island: initiating event (rupture, blowout, overfill, surge, safety system failure) → release → cloud or pool → ignition? → pool fire, jet fire, fireball (BLEVE), vapour cloud explosion, toxic H₂S cloud or oil spill → DamageBudget, plume dispersion and the emissions ledger. See Accidents and Environment and Economy.

Hazards

Tag Where
FLAMMABLE crude, products, condensate, oil-based mud
EXPLOSIVE_MIX all gases and LPG, light vapours, reformer hydrogen
CHEMICAL_TOXIC H₂S, acid gas, mercaptans, phenol, HF
ASPHYXIANT purge nitrogen, CO₂ from amine regeneration, helium
CRYOGENIC helium cold box, LNG, turboexpander
RADIOLOGICAL_EXTERNAL Am-Be logging tool, pipe radiography
RADIOLOGICAL_INTERNAL NORM scale with ²²⁶Ra in tubing and separators

Cross-industry links

Output Goes to
sulfur, molten_sulfur sulfuric acid for uranium leaching; rubber vulcanization
helium fuel rod fill gas, cryogenics
hydrogen_sulfide heavy water GS exchange towers
diluent_dodecane PUREX solvent diluent
diesel_fuel emergency diesel generators of the reactor
fuel_oil, refinery_fuel_gas, sales_gas boilers, gas turbines, furnaces, methane reforming
ethane, propane, butane, naphtha, propylene steam cracker, polymers (Petrochemistry)
benzene, toluene, xylenes, hydrogen chemistry, ammonia, hydrogenation
petroleum_coke, needle_coke electrodes, reactor graphite (Acheson furnace)
lube_oil, transformer_oil machine lubrication, grid transformers
bitumen, paraffin_wax asphalt, waste bituminization, candles and decor
rock_salt chlor-alkali brine
NORM waste radioactive waste handling

Inputs: steel, pipe, OCTG and wire rope, Pt/Al/Cu (Coal and Metallurgy); electricity, process heaters, gas turbines (Energy Grid); treated water and nitrogen; cement and bentonite; phenol; chlorine, NaOH, methanol, hydrogen (Petrochemistry); Am-Be sealed sources; PLCs, safety logic solvers and analyzers (Automation Platform).

CC: Tweaked peripherals

pc_well, pc_drilling (including performLot, closeBop, setChoke, getKillSheetData, recordSlowCirculationRate), pc_seismic, pc_column, pc_compressor (event pc_compressor_surge), pc_tank, pc_pipeline. See CC: Tweaked API.

See also

Clone this wiki locally