res-rodwell-01 · res-isru-01 · res-mine-01 · ops-printer-01 · res-sulfur-01 · res-dome-01

Resources

Six plants that turn Mars itself into supplies: water melted out of frozen ground, methane and oxygen made from the sky, regolith dug by a robot that navigates with a camera designed down to the pixel, that regolith sintered into walls by a gantry printer, sulfur and yet more oxygen roasted out of sulfate ore, and food grown under the dome those walls anchor. The flagship number: one Mars year of well life, bought with 15 kilowatts.

Well life @ 15 kWe
>669sol
CH₄ production
0.55kg/h · 480 sol
Dome uplift held
29MN
Robot vision
64×64@ 5 Hz CIS
01

What it is

A supply chain with no supply ships: every input comes out of the planet, and every output feeds another district.

The Rodwell ice well melts a cavity in the subsurface ice sheet and pumps up 380 L per sol of drinking and process water. The Sabatier plant takes that water plus atmospheric CO₂ and turns them into rocket propellant — the LOX/LCH₄ that fills the ascent vehicle across the launch plaza. The mine feeds sinter feedstock to the regolith printer that built the greenhouse dome's foundation ring, and the dome grows the leafy greens for the crew that runs it all. Each arrow below is a real pipe, belt or tank in the city model.

ice sheet → rodwell → water water + CO₂ → isru → LOX / LCH₄ regolith → mine → sinter feed sinter feed → printer → ring + walls sulfate ore → sulfur → O₂ + binder printed ring + water → dome → food

And none of it is remote-controlled. Earth sits 4 to 21 light-minutes away depending on where the two planets are, so a command and its answer are 8 to 42 minutes apart — there is no joystick long enough. Each plant runs its campaign unattended and reports where a suited human can actually read it: the Sabatier plant carries a mimic board sized to be legible from across the pad, because a pressurised glove is a poor keyboard.

The Sabatier ISRU plant in the city, with the Rodwell well and the mine on the horizon
THE DISTRICT IN ONE FRAME — ISRU PLANT CENTER (0.55 KG/H CH₄), RODWELL FAR LEFT, MINE LOWER RIGHT
02

How it works

Geometry first: every mechanism that matters is modeled, and the cutaways face the camera.

The propellant loop. Mars air is 95% CO₂ but only ~600 Pa — density 0.015 kg/m³, so feeding the reactor 1.5 kg/h means swallowing ~100 m³ of atmosphere every hour through two dust-filter banks and a two-stage scroll compressor. In the reactor column, CO₂ + 4H₂ → CH₄ + 2H₂O over two Ru/Al₂O₃ beds (ΔH ≈ −165 kJ/mol — the interbed cooling coil exists because the reaction would otherwise sinter its own catalyst). Product water is condensed and electrolyzed in a 13-plate PEM stack; the hydrogen goes back to the reactor, the oxygen is the other half of the propellant. Hydrogen circulates — the plant's net inputs are only water and sky.

Zero-boil-off storage. The three 4 m spheres are vacuum-jacketed with a gold MLI inner vessel; a reverse-turbo-Brayton cold head on each tank cancels heat leak outright, because during 480 unattended sols any boil-off is production thrown away. Their waste heat leaves by radiation only — 23 m² of black panels rejecting ~12 kW against a need of ~9, since convection is not on the menu at 600 Pa.

Reactor column cutaway showing two catalyst beds and the MLI tank
REACTOR CUTAWAY — TWO RU/AL₂O₃ BEDS, −165 KJ/MOL EXOTHERM; GOLD MLI VESSEL BEHIND
Electrolysis skid cutaway with the 13-plate PEM stack visible
PEM SKID CUTAWAY — 13 BIPOLAR PLATES, 0.32 KG/H H₂ RETURNED TO THE REACTOR

The well that ages. The Rodwell is not a static source: every 380 L drawn grows the melt cavity by 0.41 m³, the wall area grows with it, and conduction losses rise until the heater can no longer hold the melt. A Stefan moving-boundary model showed the 15 kWe design point survives a full Mars year (669 sol) while 12 kWe dies at ~450 — power buys lifetime, not flow rate. A twin 13 m³ tank bank banks 60 sols of global-dust-storm water with 14% margin.

The mine that sees. The RASSOR-class digger navigates by an onboard 64×64 CIS camera at 5 Hz — not a game sprite but a designed sensor: QE 0.60 (BSI, FDTD-verified), 17,880 e⁻ full well, 1.76 e⁻ read noise, fed through a full photon-to-DN noise model before the obstacle logic ever sees a pixel. Its motion curves are baked from MuJoCo dynamics under 3.71 m/s² gravity, drum cutting loads included.

The printer that is paced by its power meter. A 12 m portal gantry drives a screw that compacts dry regolith into a bead, and a 2.45 GHz applicator trailing the nozzle sinters it in place — no water, no binder, nothing shipped from Earth. That choice sets the speed: sintering costs about 0.40 kWh per kilogram, the site is allotted 30 kWe of daytime solar, and the arithmetic leaves 75 kg/h while printing — a bead crawling forward at 0.3 mm/s, roughly 600 kg a sol, two to four sols per course. The half-built dome on the pad is printed to two honest limits at once: geometrically, at 6 m the shell leans 42° and each 160 mm layer overlaps the one below by only 29%, so the rim steps back in short spiral arcs to wait for a prefab cap; energetically, its 37 standing courses represent about 100 sols of daylight. The precision budget is counter-intuitive too: the beam sags just 0.4 mm under full load but breathes 11.5 mm across an 80 K Martian day — the gantry's real enemy is thermal drift, handled by a floating bearing and position feedback, not by more steel.

The plant that makes oxygen out of rock. The sulfur works exists because Mars locked its sulfur up as sulfate — already fully oxidised — and getting the element back means stripping four oxygens off it. A rotary kiln turns at 1.5 rpm under a hydrogen atmosphere, hydrogen carries the oxygen away as water, and the electrolyser hands it back as O₂. That is the whole trick: every kilogram of sulfur liberates two kilograms of oxygen at 7.0 kWh/kg — statistically indistinguishable from the 7.1 kWh/kg it costs to split water — except that this route drinks no water at all. In a city living off a single 669-sol well, that is the entire argument. Downstream, two Claus stages condense the sulfur out at 97% recovery, the tailings go back to the printer as aggregate, and the plant's own ledger is honest about the one thing that decides its economics: feed grade. A kilogram of sulfur means 11 kg of selected sulfate horizon — or 46 kg of ordinary soil, for the same kiln and the same kilowatt.

The dome that pushes up. 55 kPa inside a ⌀26 m ETFE membrane is a 29 MN uplift — three thousand tonnes trying to leave the planet. That is why the printed regolith foundation ring outweighs the dome it anchors: ballast plus ground anchors must beat uplift by 1.5×, and at 0.38 g weight alone doesn't get there.

The sulfur extraction plant in the city: ore hopper, cut-open preheat tower, rotary kiln, Claus vessels and the trace-heated sulfur tank
RES-SULFUR-01 — ORE HOPPER, CUT-OPEN PREHEAT TOWER, ROTARY KILN AT 1.5 RPM, CLAUS PAIR, SULFUR TANK; 100 KG S + 200 KG O₂ PER SOL
Rodwell ice well rig with drill tower, insulated water line and storage tanks
RES-RODWELL-01 — 15 KWE HOLDS THE MELT CAVITY FOR >669 SOL
Aerial view of the terraced regolith mine with the crusher tower
RES-MINE-01 — 50×35 M TERRACED PIT; ROBOT LONG-RUN: 3 CYCLES, MIN CLEARANCE 2.4 M
FDTD quantum-efficiency curves comparing FSI and BSI pixel stacks
THE ROBOT'S EYE IS A DESIGNED DEVICE — FDTD QE: BSI 0.60 VS FSI, 5 µM PIXEL, SIN AR COAT
Gantry printer site with the half-finished printed dome, feed hopper and enclosed conveyor
OPS-PRINTER-01 — 12 M GANTRY; THE DOME STOPS AT ITS 29% OVERLAP LIMIT, RIM STEPPED IN SPIRAL ARCS
Cutaway of the print head showing the auger screw, slurry column and heater rings
PRINT HEAD CUTAWAY — AUGER, COMPACTED CHARGE, 2.45 GHZ APPLICATOR SINTERING AT 0.40 KWH/KG
03

The ledger

Every number above, and which run produced it.

ClaimValueProduced by
CH₄ rate to fill the MAV in 480 sol0.55 kg/hmars/EQUIPMENT.md §1 sizing chain
Atmosphere swallowed for 1.5 kg/h CO₂~100 m³/hres-isru-01 info.json · ρ=pM/RT check
Electrolysis power (stack / with BOP)18 / ~25 kWemars/EQUIPMENT.md §7 power balance
Cryo radiator closure12 ≥ 9 kWres-isru-01 info.json · Stefan–Boltzmann account
Tank farm vs one MAV load100 vs 35.6 m³res-isru-01 info.json · volume account
Earth light time, one way / round trip4–21 / 8–42 minres-isru-01 info.json · HMI display card
Well life at 15 kWe / at 12 kWe>669 / ~450 solTS-01 R1 Stefan moving-boundary model
Dust-storm water bank endurance700 sol, 0 outageTS-01 R1 pressure envelope (twin 13 m³)
Dome pressure uplift29 MNres-dome-01 info.json · pressure-vessel account
Foundation ballast requirement1.5× ≈ 44 ktres-dome-01 info.json · ballast account
CIS camera QE / full well / read noise0.60 / 17,880 e⁻ / 1.76 e⁻CIS device campaigns (TCAD + FDTD)
Digger motion under Mars gravity3.71 m/s² bakedMuJoCo dynamics bake · res-mine-01
Vision-autonomy long run150 s · 3 cycles · 2.4 mengine sensor-channel test, mars/STATUS.md
Hot-pixel failure cliff~12%sensor-defect joint experiment · res-mine-01
Sintering energy per unit mass0.40 kWh/kgops-printer-01 energy ledger · cp·ΔT to 1350 K at 63% end-to-end
Print rate bought by 30 kWe75 kg/h · 600 kg/solmodels/ops-printer-01/info.json · flow account
Sulfate reduction, thermodynamic floor14 kWh/kg Sres-sulfur-01 info.json · CaSO₄→CaS+2O₂, ΔH 1128 kJ/mol
Oxygen cost: sulfate vs water route7.0 vs 7.1 kWh/kgres-sulfur-01 info.json · control-room ledger
Plant output (sulfur / oxygen)100 / 200 kg per solres-sulfur-01 info.json · design point
Ore per kg S: selected vs ordinary11 vs 46 kgres-sulfur-01 info.json · grade lever
Perchlorate stripped before the kiln3.9 kg O₂/sol freeres-eclss-01 perchlorate branch · cross-asset check
Dome layer overlap at 6 m height29% (limit)ops-printer-01 overhang account · r(y) profile
Gantry beam sag vs thermal drift0.4 / 11.5 mmops-printer-01 stiffness + ΔT 80 K account
04

What broke

The honest ledger: wrong by 10×, wrong by 75%, and a cutaway that showed a blank plate.

The lost order of magnitude. Design basis v1 said the CO₂ intake swallows 1,100 m³/h. Writing the knowledge card forced the closure check — ρ = pM/RT = 0.015 kg/m³ gives 100 m³/h. The number had sat wrong in EQUIPMENT.md until the rule "no number without a ledger anchor" caught it. That rule is why section 03 exists.

The optimistic well. The first well-life estimate used a quasi-steady heat balance and came out ~75% too generous. The Stefan moving-boundary redo showed the cavity's growing wall area steadily eats the heater budget: 12 kWe dies at ~450 sol. The design point moved to 15 kWe, and a second well site (WELL-2, 15.1 m spacing against cavity merge) went into the model as a consequence.

The binder that wasn't cheaper. The sulfur works was commissioned on a wrong number of ours. Comparing binders for the printer, we noted that sulfur concrete melts at 140 °C while sintering needs 1350 °C, and concluded sulfur was five times cheaper. That compared the cost of melting a binder against the cost of making one. On Mars sulfur arrives as sulfate — already at oxidation state +6 — and prying four oxygens off it costs 14 kWh/kg, so sulfur concrete is really about ten times sintering, not a fifth of it. Earth's sulfur is cheap only because it comes out of oil and gas already reduced as H₂S; there is no such discount here. The plant got built anyway, because the deeper look also found the actual case for it: the oxygen. Stripping those oxygens produces 2 kg of O₂ per kg of sulfur at the same energy per kilogram as splitting water — and without spending any. The sulfur turns out to be the by-product, not the product. Two errors of the same family in one district: the printer's flow was checked against geometry but not energy, and the binder was checked against melting but not chemistry. Both times the missing ledger was the one that mattered.

Dropped into the radiator field. The ISRU plant's first placement put it inside the footprint of the power district's 429 m radiator array — coordinates picked blind, geometry clipping straight through the panels. It moved 115 m north; the incident is one reason the city now runs a SAT-based layout audit on every manifest change.

Cutaways that showed nothing. First pass, the PEM stack was stacked along the viewing axis — the cutaway proudly displayed a blank end plate. Rotated 90°, the 13-plate zebra stripes read instantly. Same lesson twice: the radiator bank was first placed behind the 4 m tank spheres and was invisible from the presentation view; it now stands on the platform's open edge.

The conveyor that vanished. In the printer build, the feedstock conveyor was first routed almost exactly along the isometric camera axis — present in the geometry, invisible on screen. It took a screenshot diff to notice a major mechanism was simply not readable, and the whole feed line was rerouted to cross the view. The same build's camera auto-fit framed the site off-center for two rounds: the group bounding box's phantom corners (tall gantry × wide pad, nothing actually there) inflated the frame until the fit was redone against every mesh individually.

The printer was 500× too fast. The worst error on this page was one nobody could see. The print head's cards were written from terrestrial concrete-printing instinct — a 160×200 mm bead at a quarter-metre per second, 4.8 L/s, a dome in six hours — and none of it was ever checked against an energy account, because the printer had no energy card at all. Writing that missing card closed the loop and detonated the number: sintering regolith costs ~0.40 kWh/kg, so 38 t/h would draw 15 MWe — 140× the city's peak in the early Kilopower era (107 kW), and still roughly ten times the as-built coincident peak on the pwr-grid-01 ledger, whichever of its readings you take. The real answer, from the 30 kWe the plant is actually allotted, is 75 kg/h. Every downstream conclusion moved with it: a dome takes a construction season rather than an afternoon; the 26 t silo lasts 43 sols rather than 40 minutes; and the verdict on the little site loader flipped outright — the old cards called it hopeless at "86 trips an hour", when the true demand is 1.4 buckets a sol, comfortably one small robot's day job. The moral is the one this district keeps relearning: a number with no ledger behind it is decoration, and a missing ledger hides errors that a wrong ledger would have caught.

The hot-pixel cliff. The defect-injection experiment on the mine robot's camera found dead pixels degrade the obstacle logic linearly — but hot pixels hit a cliff near 12%: they drag the auto-exposure down until real terrain falls below threshold and the robot sees phantom obstacles everywhere. A sensor spec became a mission-safety number.

05

Try it

The district is walkable in the city viewer.

Run the viewer locally (repo README), enable the colony layer, and walk the resource quarter north of the radiator field. Deep link: viewer/?colony=1&x=40&z=5&y=12&yaw=3.14&fly=1

Worth doing: walk within 25 m of the Sabatier reactor and the knowledge cards pop with the same numbers as section 03; press V near any asset to orbit it — the reactor, tank and compressor cutaways all face the default view; find the digger at the mine and watch it run its MuJoCo-baked dig-haul-dump cycle on camera vision alone. At the print site (?inspect=ops-printer-01), look for the fresh bead under the nozzle — it marks exactly where the spiral rim stopped printing.

At the sulfur works (?inspect=res-sulfur-01) the whole process reads as one colour chain: ochre ore in the hopper, the glowing bed and turning lifters inside the cut-open kiln, then bright yellow sulfur in the pit and pale grey tailings on the pile. If a stage worked, its colour changed.