# Site Selection Atlas: engineering upgrade and verification

Method: `2026-09-engineering-v13`. This release implements the bounded engineering work identified by the [v12 audit](model-audit-v12.md). It keeps one evaluator for pins, scans and cached criteria. It does not fit score weights to make the map resemble existing development.

## Completed changes

| Technology | Added calculation | What the calculation establishes |
| --- | --- | --- |
| Battery | Continuous-energy LP/MILP dispatch with independent throughput constraints; daily or rolling two-day windows; previous-day/week price forecasts settled on observed prices; scheduled maintenance and auxiliary consumption; separate power/energy capital. | A feasible operating and lifecycle scenario under declared connection, efficiency, cycling and price-knowledge assumptions. Auxiliary purchases and contract availability are charged once. It is not an actual market award or a forecast guarantee. |
| Solar | Entered GCR, fixed tilt/azimuth, tracker axis/slope/rotation and horizon now recompute hourly irradiance from retained DNI/DHI/GHI and sun angles. Backtracking and direct-beam row shading affect production. | Geometry affects both energy and land fit. Idealized rows and entered horizon/slope do not establish a graded, permitted parcel layout. |
| Wind | Common regional climate reference for primary/comparison weather; explicit turbine coordinates and directional wakes; air-density scenarios; FAA airfield, state-highway and designated-habitat context. | The same selected physical assumptions operate in the main profile and year comparisons. Public infrastructure context is not aviation clearance, access rights or measured microsite wind. |
| Geothermal | Pressure/flow pumping, reinjection, production-temperature decline and optional whole-field success/failure economics. Annual net capacity is computed before applying each year's export ceiling. | Successful-field output and expected financial value are distinct. Failed exploration incurs its declared sunk cost. Reservoir productivity and success probability remain entered scenarios. |
| Data center | Humidity/pressure-based wet bulb; paired reference chiller curves and tower water balance; cooling shortfall/boundary diagnostics; tariff-aware flexible daily schedules; UPS/generator/fuel outage balance. | Electricity, water and backup requirements reconcile under the entered design. Schedules preserve daily work and are re-billed through the supported utility tariff. This does not reserve bulk power, water or diverse carrier routes. |
| Hydrogen | Separate electrolyzer/compressor ratings, pressure-based compression, seasonal water/tank limits, maintenance/forced-outage scenarios, finite trailer/customer storage, and multi-year joint renewable/storage sizing. | Hourly mass and energy are tracked through customer delivery. A fixed design/tank is replayed in every weather year. The bounded search reports its explored limits and is not a global optimum or a firm supply commitment. |
| Hydro | Exact dam/gauge joins for 127 complete daily-flow years at five dams; turbine part-load efficiency, environmental reserves, tailwater and flood shutdown. | Historical released flow is replayed at the matched asset. Monthly head remains a stated assumption; nearby rivers do not confer water rights or turbine access. |
| Bioenergy | All 58 California counties' historical technical biomass inventories; explicit competing-use/project shares; seasonal receipts/moisture, storage decay/capacity, preparation electricity and costs. | A declared county procurement and process scenario. The source quantities are from 2012, not current uncommitted supply. Imported preparation power requires its own price for complete economics. |

Solar and wind production are also compared against measured EIA output. The report shows material discrepancies rather than assigning a correction factor or hiding them in score weights.

## Independent checks and empirical limits

**Battery optimization:** 33 independent daily SciPy mixed-integer comparisons and 12 two-day comparisons agree with the production solver to numerical tolerance (largest reported objective differences approximately 2.4e-8 and 8.7e-8 dollars per project-MW window). Energy, power, throughput, operating-mode and endpoint constraints are checked separately. The former v12 policy gaps no longer describe the current solver. Optimality within a solved window does not imply an annual, degradation-aware planning optimum. See [solver and benchmark details](battery-optimization-v13.md).

**Tariff scheduling:** six independently constructed PG&E schedule optimizations agree with the browser solver to approximately $0.051/year on bills of roughly $45 million (about 1.1e-9 relative difference). All six supported utility scenarios are re-billed after schedule selection. Nonlinear cooling, discontinuous eligibility and some tier/rounding structures make the proposed schedule a candidate, not a proven global delivered-bill optimum; the cheaper of that candidate and flat operation is retained. See [independent tariff benchmark](tariff-schedule-validation-v13.md).

**Solar geometry:** independent pvlib single-axis and fixed-row fixtures check orientation, irradiance and shading. Rebuilt weather retains 3,058,296 hourly records across the primary and comparison datasets. See [geometry, calibration and source preparation](generation-improvements-2026-09.md).

**Observed generation:** the untuned 2025 cohort includes 30 solar, 20 wind and 20 geothermal plants. Equipment-informed modeled total energy is **9.46%, 64.73% and 84.06% above observed output**, respectively. Mean absolute plant capacity-factor errors are **5.88, 18.63 and 29.07 percentage points**. These are material model limitations, particularly for wind and geothermal. Regional/new-build assumptions do not reproduce old turbine fleets, actual curtailment/outages or tested geothermal productive capacity. They are not site-specific uncertainty bounds. See the [full EIA protocol, residuals and source ledger](eia-generation-validation-v12.md).

**Actual browser balances:** the engineering regression reconciles battery CSV settlement, maintenance and auxiliary demand; cooling electricity/water and the selected tariff bill; backup autonomy; solar geometry; geothermal success/failure value; and a completed four-weather-year hydrogen sizing search. It checks cancellation, shared URLs, JSON/CSV exports and every expanded report at 390px width. Long source URLs previously overflowed narrow reports; they now wrap within the evidence panel.

The automated suite also tests missing sources, zero limits, infeasible designs, price gaps, selected-site/scan equality, scenario invalidation and eligibility under changed user weights. The final automated run passed all **542 tests**. The refreshed **36-site actual-data audit** had no failures and exactly reproduced scores, coverage and dimensions before and after geometry acceleration. [Full assessment and weight-sensitivity results](engineering-v13-validation.json).

## Reports and interpretation

Engineering details are grouped into expandable sections beside the corresponding resource/operating results. Material empirical yield discrepancies remain visible without expanding a section. Conditional geothermal NPV remains visible when no whole-field failure probability is entered. A missing airfield or highway dataset is labeled unavailable, rather than described as an empty map.

All source vintages and modeling boundaries still apply. Pin coordinates do not imply that regional weather, geology, ecological snapshots or a county feedstock inventory resolve a parcel. Source resolution and sample spacing are retained in the report. A high score describes a weighted screening scenario, not the probability that a project can be built or earn a specified return.

## Precomputation

Published caches contain unweighted dimension scores, coverage and independent eligibility gates. Their keys include every physical/economic assumption, source fingerprint, model dependency fingerprint and scan grid. Only weight changes can reuse an unchanged physical scenario. Finalists are reconstructed and checked against the cached criteria; changed MW, equipment, tariffs, sources or design trigger fresh calculation. See [cache implementation and build commands](precomputed-scans.md).

The local publication contains **20 verified bundles and 129,064 assessment records**: all six supported statewide technologies at detailed, standard and quick spacings, plus native hydrogen scenarios for 2030 and 2035. Each detailed default-2030 scan includes **16,658 locations**. The compressed bundles total **2,215,792 bytes**. Publication checked every grid coordinate and recalculated **360 location/priority combinations**, including each bundle's leading default candidate, with no score, coverage, eligibility or ranking-metric differences. See [publication validation](precomputed-validation-v13.json). A 5 km sampling grid does not increase the resolution of the underlying resource or weather data.

The final browser run passed **all 19 scans** under the actual UI defaults: six technologies at three spacings, plus native hydrogen. Every scan used its matching precomputed bundle; every selected winner's exported score, evidence coverage and status exactly matched its scan result. There were no page or worker errors. Detailed scans took **7.8-16.3 seconds after the app was ready** on the local test machine; initial page/data readiness took a separate 14-29 seconds. These measurements include runtime fingerprinting and finalist reconstruction, not only weight multiplication. [Browser results and timings](precomputed-browser-v13.json).

## What still cannot be claimed

There are two distinct remaining categories.

**Project-specific evidence:** utility import/export offers and upgrade allocation; service dates and independent feeds; contracted carrier routes and water allocations; legal/contiguous land; tested geothermal reservoirs; current feedstock contracts; licensed dam releases; hydrogen buyer, transport and product-quality commitments. Public maps can identify leads and constraints, but cannot confirm these commitments.

**Further model development:** calibrated multi-market battery bids/activation and real-time imbalance settlement; longer, denser weather with measured site calibration; directional terrain/shading, grading and certified turbine layouts; detailed geothermal chemistry/reservoir simulation; nonlinear annual workload scheduling and separate industrial-load archetypes; vendor hydrogen efficiency/ramp/degradation maps and detailed pipeline/trailer routing; reservoir dispatch and daily measured head; current supplier-level feedstock/haul optimization and other bioenergy conversion pathways. These are not secretly modeled by the new fields. The finite upgrades above are complete engineering scenarios, not a claim that all possible modeling work is finished.

Hydro scanning remains restricted to explicitly assessed dams; arbitrary land cells cannot inherit a nearby river. Bioenergy regional site-score scanning remains disabled because a historical county fuel pool does not locate available parcels or contracted supply. Other unnamed resources receive no generic resource score.

## Reproduction and detailed methods

- `npm.cmd test --prefix siting`
- `node siting/scripts/audit-model.mjs`
- `node siting/tests/browser/engineering-v13.mjs`
- `node siting/scripts/validate-eia-generation.mjs`
- `node siting/scripts/build-scan-cache.mjs --types battery,load --step 0.05 --derive-coarser --scenario siting/data/precomputed-defaults.json --output .codex-tmp/siting/default-cache-build`
- [Battery equations and benchmark](battery-optimization-v13.md)
- [Generation engineering and sources](generation-improvements-2026-09.md)
- [Load equipment, water, scheduling and backup](load-engineering-v13.md)
- [Hydrogen, hydro and bioenergy equations/data](process-operation-v13.md)
- [Current scoring methodology](../METHODOLOGY.md)
