⚠ Opened from disk — live data layers are blocked

Browsers give a file:// page an opaque origin and block every cross-origin fetch(). The base map still draws, but the county demand surface, the real BTS rail / USACE waterway routing and therefore the tender-auction model cannot load, so this is not the full model.

Serve the file over HTTP instead — from its folder run python3 -m http.server 8000 and open http://localhost:8000 — or view it from a hosted/shared link. No other change is needed.

MERIDIANMultimodal Logistics Model v20 · RATIFIED
Strategic Battle-Map · UFS Basis

North American De-icing Salt
Atlas Salt vs the Field

Each mine is an army holding the territory where it is the lowest delivered-cost supplier. At tidewater, inland mines are uneconomic, so seaborne imports hold the seaboard today — Atlas's coastal mine ships it at ~US$11–15/t and displaces that import block.

UFS verified Project Blue (2°) model-derived method ▸
2029PRE-PRODUCTION
Competitive T · $/t 3.75

NA de-icing — supply vs demand i

Mine operating cost i

Atlas freight — annual tonne-km i

Monte Carlo — imports displaced i

P10 · P50 · P90 · 2030→2039
tender simulation initialising…

Tender auction model i

Model validation vs UFS share

NPV bridge — audited i

Rail carriers — whose track? i

v20 — what the six reports changed i

Data sources — what the model is built from i

01 / 04
▦ computing delivered-cost surface…
⟳ competitive response — incumbents defend, front retracts to equilibrium

Method notes & honesty

How to read this map — and what is verified vs modelled.

Projection

3-D orthographic globe (own lightweight implementation — no external libraries, opens offline). It opens showing curvature, then settles on eastern North America. Drag to rotate, scroll to zoom. Coastlines are intentionally generalized "war-map" cartography; mine/port coordinates are approximate public locations.

What is verified (UFS)

Market sizes, Atlas's per-jurisdiction share, delivered & FOB-Turf-Point prices, ocean freight and stevedoring/trucking — all from the SLR UFS Marketing & Shipping model 2025 (QP-reviewed NI 43-101 basis). Resolution is state / province. FX = 1.389 C$/US$.

What is secondary

Competitor mine-gate costs carry Project Blue (2024) Table 22 figures (_PB) — used only for relative competitor cost ordering. Project Blue's Atlas line is not used.

What is model-derived

The continuous coloured delivered-cost surface, the contested fronts, competitor freight-by-distance, and the Monte Carlo bands are all computed here. The county-scale surface is a modelled delivered-cost field, not observed county data. Territories = where a mine is the lowest delivered-cost supplier in the model.

Competition thresholds — empirically calibrated

The contested/locked bands and the softmax temperature are not guessed — they're derived from the New York State 2024 statewide road-salt tender (IFB 23358), the real county-by-county bid tabulation (held in the SLR UFS workbook). Across 56 multi-bid county lots the winner-vs-runner-up delivered-price gap had a median of US$3/t (5%); 38% of lots were decided by <$2/t, 66% by <$5/t, and a >$10/t gap was effectively decisive (the loser usually didn't even bid). So the map uses hot front ≤$2/t · contested ≤$5/t · held ≤$10/t · locked >$10/t, softmax T≈3.75 US$/t (the "Competitive T" slider, 2–8), and a ~$12/t freight-wall cutoff. That softmax now drives the tonnage split, not just the shading: in a battleground county the demand is divided between the two closest suppliers by the same logistic (a $2/t edge ≈ 63/37, a toss-up ≈ 50/50) rather than winner-take-all — fragmented municipal tenders don't all award to one supplier. Locked ground (large gap) still goes ~entirely to the low-cost supplier, and demand always sums exactly to the county total (no double-counting; seaborne-import and Atlas shares keep their separately-calibrated treatment). The UFS state-share validation panel keeps its own fixed calibration. Atlas hasn't bid yet, so its assignments stay modelled — calibrated to this real elasticity. Corroborated by Project Blue + Compass/USGS.

v20 — report integration (Jul 2026)

Six analyst memos produced after the v19 build re-anchor this map. R2 — NS & NB netback: New Brunswick is re-routed from Saint John to Belledune into the north shore (Bathurst/Campbellton/Acadian) and cut 170 → 60 kt @ C$92; southern NB is the Sussex incumbent’s backyard reached over Atlas’s dearest lane and is now treated as incumbent-held. Nova Scotia is cut 300 → 51 kt but at a higher netback (C$106): that tonnage is Cape Breton, ~360 km from Compass’s Pugwash yard where the incumbent delivers at ~C$140/t. R3 — Virginia: a Norfolk discharge node is added (US$13.30/t, interpolated) and Virginia is promoted from unserved interior to a net-new 392 kt market @ C$76, split 306 kt Norfolk-direct + 86 kt Baltimore-and-rail for Northern Virginia (which is genuinely closer to Baltimore). Norfolk Harbor was deepened to 55 ft in Feb 2026 — the deepest channel on the US East Coast — against an 11.5 m design draft; salt is already a top-3 Hampton Roads import and Morton runs an Elizabeth River bulk terminal, so Norfolk was never quoted, not excluded. Richmond-direct is not added: the James River channel has been 25 ft since 1940, barge-only. R4 — NL & Labrador: the UFS carried Labrador at C$104 by copying St. John’s; rebuilt on actual rail/sea freight it is ~C$260 computed, C$190 booked — the rail-served west (Labrador City, Wabush, Churchill Falls) pays C$352–394 delivered over the QNS&L ore railway. NL now carries a weighted C$119.49. R6 — CN rail: carrier attribution is now explicit; see the Rail-carriers panel.

R5 — the adversarial audit, and why the headline moved. An independent review was asked to break the +C$350M NPV thesis. It found three material problems. First, modes ① distance-correction and ③ routing are not separable: the −C$206.5M correction is measured at truck rates on legs the +C$348.0M routing then converts to rail — one physical corridor debited for a truck-distance error and credited for its rail cure. The honest unit is the combined net +C$141.5M; presenting two large gross bars manufactures false precision. Second, roughly two-thirds of the uplift is contingent tonnage — net-new Virginia, NS/NB incumbent displacement, and the New York reallocation that holds the book at exactly 4,004 kt (an accounting plug, not a market) — none of which price alone secures. Third, the NL self-distribution netback lift captures the distributor’s margin while omitting the distributor’s cost (storage, demurrage, working capital, receivables, bad debt, sales overhead): a ~C$10/t give-back on ~297 kt is ~−C$20M NPV the bridge did not carry. Adding the omitted transload cost (C$3–10/t at every rail/barge break, silently excluded by “identical per-mode rates”) erodes the routing core further. The map now defaults to the Bankable case — NPV ≈ C$1.05–1.08B, IRR ~22.8% — and carries C$1.27B / 24.9% only as a clearly-labelled stretch. Five variables dominate the spread (rail/barge share, Virginia, incumbent win-probability, transload cost, FX) and all five are rated estimate: the thesis leans hardest on its weakest-sourced inputs. The framing a lender will apply: much of the +C$350M is not value the UFS left on the table — it is risk the UFS deliberately chose not to underwrite.

v20-fix — two routing defects found and corrected

1 · Open-coastal channels were being priced as inland barge. The USACE/BTS National Waterway Network layer maps navigation channels, and that includes open Atlantic water — the East River, Long Island Sound, Buzzards Bay, the Cape Cod approaches and the Gulf of Maine — not just inland barge rivers. Because every water node also bridges to rail within 30 km, this handed the interior mines a false shortcut: every Great Lakes producer reached Searsport, Portland and Boston over 126–131 "barge" legs at US$0.014/t-km, running out of the Erie Canal and Hudson and then straight up the open coast. That both drew the erratic zig-zag lines along the seaboard and materially undercut the central thesis — that inland mines are uneconomic at tidewater. A simple half-plane cut could not fix it, because the Sound sits at the same longitudes as the Hudson between lat 40.7–41.2; the first attempt spared the Hudson but left western Long Island Sound live, and interior mines still beat Atlas into Connecticut. The test is now an explicit keep-corridor: water is retained only within 12 km of the Hudson / Erie Canal / Champlain spine, plus everything south of NY Harbour (NJ IWW, Delaware, Chesapeake) and west of the Hudson mouth (interior rivers). 1,251 open-coastal segments excluded from the barge graph and the render.

Effect, measured live: Goderich→Stamford CT US$26.31 → 35.60 against Atlas 28.98 (the inversion is gone); Bridgeport 36.99 vs Atlas 30.37; New Haven 37.96 vs 31.34; Goderich→Searsport 34.61 → 37.64, →Boston 37.38. Across a dense sweep of the seaboard, zero water nodes remain in Long Island Sound proper, on the Long Island south shore, in Buzzards Bay / Cape Cod, or in the Gulf of Maine \u2014 the four regions that produced the erratic lines. What is retained inside NY Harbour is the East River channel (a small node chain through Hell Gate), and it is used: Goderich into Connecticut now runs the Hudson down to Manhattan and through the East River rather than out across the open Sound. That is correct modelling, not a residual leak \u2014 the East River is federally maintained commercial tug-and-barge water \u2014 and it prices high enough that the tidewater ordering holds. The Hudson corridor is intact (53 segments; Atlas→Coeymans unchanged at 14.71) and Atlas's UFS-quoted ocean legs are untouched (Searsport 10.57, Boston 11.27). Amer. Rock Salt still beats Atlas into Stamford (26.44 vs 28.98) — by rail, not water, which is the real competitive picture and consistent with its 22-county win in the NY-2024 tender.

2 · Norfolk was in the freight table but not in the routing graph. The v20 data pass added Hampton Roads to APORTS (which only supplies the ocean quote) without adding it to PORTL (which creates the actual port node). So R3's central finding was never in the engine: Atlas reached Virginia by sailing to Baltimore and barging 52 Chesapeake segments back down the bay at US$31.31/t. Norfolk is now a real discharge node on the Virginia Capes sea-lane vertex. Effect: Atlas→Norfolk US$31.31 → 18.88 (one ocean leg + short rail), Atlas→Richmond 30.29 → 25.18, and Atlas→Fairfax unchanged at 24.69 — still routed via Baltimore, exactly the split R3 prescribed. Regression check after both fixes: conservation exact (Σsupply 29.4 = demand 29.4 Mt); routed spot-checks hold (New Orleans→St Louis 1,411 km, Chicago→Cleveland 536 km, Goderich→Detroit 218 km); UFS share MAE unmoved at 10.9 pts (7.9 excl. PA).

v21 — the allocation is now a tender auction, not a cost ranking

Why this replaces the old "run Monte Carlo" button. A county's demand is not one award. It is a set of separately-tendered lots — a state/DOT regional contract, a county contract, several municipal buyers — each decided by sealed competitive bid. Two consequences cannot be expressed by ranking delivered cost. First, chance: the low bid is not always the low-cost supplier. On the NY-2024 statewide tender the winner-vs-runner-up gap had a median of just US$3/t and 38% of lots were decided by under $2 — at that spacing a $1/t cost edge converts to roughly a 60/40 win rate, not 100/0. Second, path dependence: tenders are not simultaneous. State seasonal contracts award pre-season in one round; municipal restock and emergency lots follow through the winter, and a mine that is behind on moving product by mid-season sharpens its pencil on the lots still open, while one already near capacity raises its price or stops bidding. The map now simulates that process directly, on every county, every year — it is the model, not an add-on.

Structure. Each county is split into 1–6 lots scaled by demand (a 200 kt county has a state regional contract, a county contract and several municipal lots; a 3 kt county tenders once) across three waves: pre-season, simultaneous, 58%; early-season restock, sequential, 26%; late-season / emergency, sequential, 16%. Waves are renormalised where a small county carries fewer lots, so county demand is conserved exactly. Roughly 4,600 lots are tendered per simulated season.

Bid formation. For each mine on each lot, bid ~ Normal(deliveredCost × (1 + markup), σ), where markup = base + tight·(1−slack) − hunger·YTD-shortfall + risk·freightShare − incumbency. Capacity pressure raises the price; falling behind the seasonal glide-path lowers it; a longer, more transload-dependent chain carries both a risk premium and a wider bid distribution (freight exposure is genuinely less certain); the sitting supplier gets a small renewal advantage. A mine at capacity stops bidding entirely. Only genuine contenders tender — a mine more than ~$26/t off the pace does not bid at all, which is why the simulated field averages ~4.5 bidders per lot rather than every mine in North America. The low bid wins; award is capacity-bound, overflow cascades to the runner-up and then to seaborne import, so conservation is exact in every single draw, not merely on average.

σ is solved, not assumed. Rather than picking a spread, the model bisects σ until the winner-vs-runner-up gap it realises on the real lot table reproduces the NY-2024 tabulation — and it measures that gap inside an actual simulated season, so the per-wave markup, the incumbency discount and capacity exclusion (a filled mine stops bidding, thinning the field in the later waves) are all in the number. An earlier build solved against a simplified stand-alone bid draw that omitted those and shipped a model ~16% less contested than the data it claimed to match. Calibration runs in two stages, because the markup terms separate bidders' means before any noise is added: if that deterministic separation alone already exceeds the empirical gap, no σ can reach the target and the solver runs to its floor. Stage one measures the σ→0 gap and scales the differentiation so it accounts for at most ~40% of it; stage two bisects σ on the realised gap. Bid error is a two-component normal mixture, because the empirical distribution has both more very-close lots and more far-apart lots than a single normal (bidders either sharpen hard or bid a token price). The achieved fit is computed live and reported in the Tender-auction panel — against the measured median $3.00/t gap, 38% of lots under $2 and 66% under $5 — rather than quoted here, so this page can never assert a calibration the model has stopped producing. The Competitive-T slider scales that calibration target, so it remains the single competitiveness dial.

What it changes on the map. Each county is painted by the supplier that is its largest source of tonnage in a typical simulated season, with saturation carrying how often that holds. Two subtleties matter and both were caught in testing. Lots are deliberately unequal — wave 0 carries 58% of a county in the fewest lots — so counting lots names the wrong holder wherever one supplier takes the big pre-season award and a rival mops up the small in-season ones. And dominance must be measured within a season, then tallied across seasons: summing tonnage across seasons first and taking the largest destroys the very structure this model exists to show, because a capacity-bound supplier fills a different subset of its catchment each season — it is the clear majority source in any given year yet never the cross-season average leader anywhere. Measured across the ramp, the mismatch fell from roughly half to two-thirds of Atlas's book sitting in counties the map painted as a rival's, to under 3%. The model is seeded, so that figure is stable across loads rather than drifting.

Two different truths, both reported. County holder stability is high — the dominant supplier in a county is usually the same one year to year. Award contestedness is not: that same supplier wins only around half of the individual lots it bids. Both are true, and conflating them is how a battle map ends up overstating certainty. The map paints the first; the tooltip and the Tender panel report the second alongside it, and the flicker layer animates it.

Selectivity. A producer whose natural catchment exceeds its capacity does not bid indiscriminately until it fills up — it prices up where the margin is thin and sharpens where it is fat. The bid model carries that explicitly (a markup term in the margin against the best alternative bidder on each lot), which is the auction analogue of the deterministic profit-max core and the reason Atlas concentrates on its best ground rather than spreading its 4.0 Mt thinly across a 7+ Mt catchment.

What it produces. Every mine now has a distribution rather than a number: tonnage sold and markets held at P10/P50/P90, by year, over 140 simulated seasons. A structural finding falls straight out — Atlas's tonnage has almost no variance while its market footprint does. Atlas is capacity-bound, not tender-bound: its natural catchment is far larger than 4.0 Mtpa, so it always sells out; the uncertainty is in which counties it fills up from, not how much it sells. The competitors are the opposite — their tonnage swings by several hundred kt on tender luck alone. That is exactly the risk a lender should see, and it was invisible in the deterministic model.

Determinism. The tender model is seeded end to end: the normal-deviate table, the per-season draw sequence and the per-year county tally all derive from fixed seeds, and the tally is seeded from the year so a given season paints identically however you reach it — scrubbing straight to 2033 and stepping through 2030–2033 produce the same map. Every run also re-normalises the state it depends on before solving — the cost-surface baseline, the closure cache and the profit-max claim set are rebuilt at the top of the run — because an earlier build let a run that started mid-load freeze a different σ from one started after the network settled, on identical data. With that removed, two readers opening this file see the same solved σ, the same locked / leaning / toss-up counts and the same market footprints. An earlier build filled the deviate table from Math.random(), which left the xorshift seeded but the table it samples not — so every page load produced a quietly different model.

This build (live map)

Rendered on a real web map (Esri/CARTO tiles, runtime US-state + Canada-province boundaries), constrained to Atlas's high-potential theatre — Newfoundland, the Maritimes, Québec and the U.S. Northeast / mid-Atlantic. Nova Scotia & New Brunswick demand are modelled estimates (flagged "est."), not UFS-verified.

County demand surface (sub-state drill-down)

Zooming in past the state level reveals a county-level demand layer (U.S. county polygons loaded at runtime). Each state's verified UFS tonnage is allocated down to its counties by a transparent proxy — road-km (approximated by county area, sublinear) blended with population (a metro-density kernel), gated by winter severity, and normalised so the counties sum back to the exact UFS state total. The basis slider trades road-km vs population. Each county is then assigned to its lowest delivered-cost army, so the fronts run between counties, not just between states. This is a modelled disaggregation, not observed county-level sales — stated on a persistent on-screen caption and in every county tooltip (which shows the top-3 delivered costs into that county). Canada is drilled to Statistics Canada economic regions (the sub-province analog of U.S. counties, loaded at runtime) by the identical method. The verified anchor (state/province totals) is never altered; the county step only distributes a known total.

Multimodal delivered-cost (transport network)

Territories are a least-cost-path model: every mine reaches every market over a small ocean / rail / truck network and each point is coloured by the cheapest-delivered supplier — so reach is non-circular, stretching far by sea and along rail corridors and contracting where only trucking remains. Illustrative per-tonne rates: ocean ≈ US$0.005/t·km, rail ≈ 0.030, truck ≈ 0.12 (+ ~US$8 port / US$5 rail handling). Ocean's low rate is what extends Atlas's coastal reach. Ocean legs are routed along an offshore shipping lane (coast-hugging, never over land) and end at a port; rail and truck carry inland from there. The ocean lane and ports remain schematic; the rail and inland-waterway networks are real (below). Rates are illustrative, not published tariffs.

Real routed network (v15 — live open data). The rail and inland-waterway legs are not hand-drawn — they are routed over the real public network geometry, fetched at load: the US DOT / BTS North American Rail Network, Class I freight subset (NTAD, public domain), and the BTS / USACE National Waterway Network (public domain). The fetch envelope reaches the Pacific (coast-to-coast, ≈66,600 Class-I rail + 5,300 waterway nodes — essentially the whole continental network), so the entire Mississippi/Missouri/Illinois/Ohio system, the interior rail, and the West Coast + Mountain West are real, not schematic. (Western solar producers keep their PB-calibrated truck/regional premium — salt doesn't move the thin Mountain lanes at Class-I bulk rates — so Ogden→Denver still reads ≈US$158 and the Rockies freight wall holds.) Every segment carries its true length + node topology, so rail and river distance is the actual routed track / channel length — e.g. NYC→Buffalo routes 700 km vs 471 km crow-flies (a real 1.49× winding) — with no detour proxy on those modes. Atlas's ocean leg is anchored to the real UFS carrier quotes (Turf Point→port: Searsport US$10.57, Boston 11.27, Wilmington 12.45, Baltimore 13.25 …) rather than a schematic lane, so Atlas's own thesis leg is authoritative. The four importers' ocean legs are now routed on real maritime corridors too — Chilean salt transits the Panama Canal, Egyptian/Mediterranean salt the Strait of Gibraltar, and ESSA runs up the Pacific coast — drawn as the actual path (not a straight diagonal) and distance-checked, so Atlas-vs-import is an apples-to-apples routed comparison. Great-Lakes-vessel and Seaway legs stay schematic lanes (small ×1.08–1.10 detours); the last-mile truck from the nearest real railhead keeps a ×1.33 road detour; rail↔water transload carries a handling + transfer surcharge. Re-fit on the widened geometry, the model still reproduces every validated anchor: Ogden→Denver ≈US$158, the NY-2024 tender (6/6), NYC-won-on-imports (5/5), the coastal import share ≈24% (USGS ~24%), and the UFS state-share table (MAE ~7). Hover any county to see the actual routed least-cost path drawn on the map with a per-leg km + cost breakdown (ocean / barge / rail / truck), reconstructed from the Dijkstra predecessor tree. If the live network can't be reached, the artifact falls back to the schematic engine unchanged.

Build fingerprint loading…

Live routed-distance spot-checks load with the network…

Uncap-Atlas toggle. The controls include a ◆ Uncap Atlas what-if that removes Atlas's 4.0-Mtpa capacity cap, so it claims all ground where it is the lowest-delivered-cost supplier — revealing its full natural catchment (≈7.3 Mt, shaded by hold-strength: locked >$10/t / soft / contested <$5/t). Because that catchment is ≈1.8× the 4.0-Mtpa nameplate, Atlas is capacity-bound, not territory-bound — geography is not the limit at nameplate. (A model surface, not a sales forecast; the UFS marketing plan targets a more conservative ~3.2 Mt Yr-4.)

Attrition & profit-subsidized predation (v18–v19) — strategic what-if, not a recommendation. Two optional predatory modes (off by default; profit-max is the base case). ⚔ Attrition feeds only the tonnes needed to force closures — Atlas abandons decisively-won and import-contested markets and spends capacity only where it displaces a competitor tonne. ↳ Profit-subsidized goes further: it harvests its highest-margin coastal ground for a profit buffer (≈$40–95M), then spends that buffer selling below its own delivered cost into a target rival's home + fallback ground to starve it under floor — cheapest scalps first, sim-verified, constrained to total profit ≥ 0 (it spends down to break-even, blended margin collapsing from ~$45/t toward ~$0). The honest, sobering finding the model produces: money is not the binding constraint — reach and off-map base are. Predation reliably idles the weak eastern rivals (Cargill Cayuga, and one of Morton Fairport / Windsor Pugwash) and drives the next to its floor, but the three majors Goderich, Cargill Cleveland, Windsor Ojibway are predation-proof at any budget: their off-map base (Great Lakes / Midwest / chemical / export) alone clears their floor, so no price cut reaches those tonnes. Below-cost predation to force competitor exit raises real antitrust / predatory-pricing risk (salt tenders are public contracts) and the model shows only the economic ceiling (no competitive counter-pricing). The lender takeaway cuts both ways: Atlas's coastal cost advantage is real but bounded — it can clear weak coastal rivals yet cannot monopolize — so the base profit-max thesis stands on its own, not on a fragile predatory scheme.

Competitor cost dynamics & economic shutdown (v17). Competitor costs are no longer static. Each mine's published mine-gate is split into fixed + variable, and its unit cost rises as it loses volume — UnitCost(Q) = Var + FixedAnnual/Q — because salt mining is high-operating-leverage (Compass's 10-K reports higher per-unit costs in low-volume years). The split is anchored to Atlas's UFS structure (≈52% fixed at full cap: G&A 100% fixed, port 72%, plant 56%, mine 32%) and set by mine type — underground 58% / dome 55% / solar 38% fixed. In the competitive-response passes a mine losing share gets costlier and loses more (the operating-leverage equilibrium). Each mine also has an economic shutdown floor = max of a utilisation floor (underground ~40% / dome ~45% / solar ~25% of capacity) and a dynamic cash floor — the output where unit cost meets the mine's netback (its mine-gate realised price = the blended competitive margin it earns across the markets it actually serves that year, added to variable cost). As Atlas takes the high-margin coastal ground and pushes incumbents into thinner-margin inland markets, that blended margin compresses, netback falls and the floor rises — recomputed every year from the equilibrium's market mix (and when one mine idles, the survivors' margins recover and their floors ease). When a mine's total output (stable off-theatre base + on-map de-icing won) falls below that floor it IDLES, permanently (restarting a shaft mine is a multi-year capital event); its tonnage redistributes to the next-cheapest supplier / imports (conservation preserved). Shown live with the year scrubber in the Mine operating cost legend ($/t, rising + IDLED) and the Capacity / Sold / Floor producer table. This answers the DD question directly: an incumbent's utilisation floor is ~40% of capacity (American Rock Salt ~1.9 Mt), but its economic breakeven is higher once its achievable margin is thin — so a mine can be uneconomic well above its physical floor. In the modelled equilibrium the one incumbent that crosses its floor is Cargill Cayuga (small, high-cost, and the most exposed to this contested theatre), which idles ~2032; the rest hold, though several high-cost Great-Lakes mines sit close to breakeven. Honesty: Atlas's split is UFS-derived (hard); competitor fixed shares and utilisation floors are modelled from Atlas's structure + mine-type operating leverage (competitor cost curves aren't publicly disclosed) — a defensible economic model, not claimed competitor disclosures.

Every supplier carries the same network detail: each mine reaches its won markets over its own least-cost chain, drawn in its army colour. The Great Lakes mines (Goderich, Cargill, Morton, Windsor) move salt by lake self-unloader across Lakes Huron/Erie/Ontario, then by the St-Lawrence Seaway or the Erie Canal → Hudson barge route, then rail/truck — which is why their territory follows the Lakes and rail corridors, not a circle. Marine rivals Windsor Pugwash & Mines Séleine ship by sea in the Gulf. These competitor chains are modelled on the same illustrative rate basis as Atlas's.

Every market is served — there is no "unserved" ground. Salt is needed wherever there are roads; the delivered price simply rises with freight distance, leaving room for profit even far from a mine. So the map partitions all land among real suppliers, colouring each point by its lowest delivered-cost mine. Where Atlas has the lowest cost but is capacity-limited in a given year, the next-cheapest mine serves that ground (shown slightly lighter) until Atlas's ramp reaches it — which is why Atlas's territory expands year-over-year rather than leaving gaps.

The model (§6)

Delivered cost = mine-gate + freight. Atlas's is the exact UFS build-up (mine-gate ≈US$15.83/t + ocean + stevedoring/trucking). Competitors = _PB mine-gate + distance freight + a domestic-incumbent floor. Share is a temperature-T softmax on delivered cost. Calibrated T = 2.0; freight scaling k = 0.083 $/t·km. Computed seaboard shares match the UFS table to MAE 10.9 pts (7.9 excl. PA; 5.1 excl. PA and VA)re-measured at v20. Promoting Virginia to a served market (R3) widened this: the calibration was fitted on the pre-v20 seaboard set, and VA is now the second-largest divergence after PA (see below).

The honest thesis

Atlas wins on lowest delivered cost via coastal logistics, not cheapest mining — its mine-gate is mid-pack; imports mine cheaper but pay ~US$28–35/t ocean freight. Atlas cedes the Great Lakes interior (0% by design). ~40% is of the addressable seaboard set; ~12–16% is of the whole NA market (≈25–35 Mt/yr).

Where the model diverges (disclose)

Sources: SLR UFS Marketing & Shipping FS Update 2025; Shipping OPEX FS Update 2025 (Oldendorff/CSL/Algoma carrier quotes); Kim Kool Aug 2025; UFS Cash Flow Model RevC. Secondary: Project Blue Salt Marketing Report 2024 (Table 22). Corroboration: USGS Mineral Commodity Summaries — Salt 2025; Compass Minerals 3Q FY2025 filings.