# Site Selection Atlas: current screening method

Authoritative method **`2026-10-geothermal-public-resource-v21`**, October 2026. The [shared evaluator](model.js) runs the same technology-specific models and independent requirement gates for selected sites and regional scans. This release adds geographic geothermal temperature, separate hydrothermal favorability, historical chemistry, public development context and a bounded pinned SAM reference option to the earlier physical/commercial method. Battery uses a fixed-weight neutral convention; large loads and named solar, wind and geothermal projects use a fixed-weight evidence lower bound. Other applicable projects retain the observed-evidence convention described below. This is a regional comparison of public observations and editable project scenarios, not a calibrated probability of construction, profitability, permission or service by a given date. [Current release notes](README.md), [geothermal public-data method](research/geothermal-public-data-v21.md), the [battery review](research/battery-critical-review-2026-09-30.md), [v14 decision changes](research/decision-validity-v14.md) and [v13 engineering review](research/engineering-v13.md) document the underlying decisions and calculations. Earlier versioned notes remain historical unless explicitly identified as the current technology method.

Public observations, modeled operating assumptions and confirmed commercial commitments are distinct. Entering a capacity, price, service date or contract makes a scenario calculable; it does not verify that input. Observed EIA, queue and data-center inventories provide development context and validation comparisons, without a proximity-to-development scoring bonus.

## Score, evidence and eligibility

Each dimension combines its known metric scores according to internal shares. Its coverage is the known share divided by total applicable share; technology-specific coverage reservations described below remain uncovered. Unknown values stay `null`, never a measured zero or a favorable default. User dimension weights normalize to 100; all-zero weights restore defaults.

| Project | Grid | Resource / operation | Land / development | Value / cost | Connection / process |
| --- | ---: | ---: | ---: | ---: | ---: |
| Solar / wind | 25 | 30 | 20 | 15 | 10 |
| Geothermal, before objective normalization | 20 | 35 | 25 | 10 | 10 |
| Battery | 30 | 10 | 20 | 25 | 15 |
| Large load / data center | 25 | 20 | 20 | 25 | 10 |
| Hydrogen | 0 | 33⅓ | 26⅔ | 26⅔ | 13⅓ |
| Other resources | 30 | 20 | 25 | 15 | 10 |

These are base priorities, not evidence-dependent weights. Solar, wind, geothermal and hydrogen exploration objectives set the commercial/value weight to zero, then normalize the remaining entered priorities to 100. Default geothermal exploration therefore uses approximately 22.22% grid, 38.89% resource, 27.78% development and 11.11% connection context. Merchant and contracted geothermal retain the five base dimensions. Hydrogen's grid weight always remains zero. A missing observation never triggers a different weight normalization.

For dimension weight `w` in percent, coverage fraction `c` from 0 to 1, and score `s` from 0 to 100:

```text
weighted coverage C = sum(w * c)
covered points P = sum(w * c * s) / 100
solar / wind / geothermal / large-load preference = P
battery preference = P + (100 - C) / 2
other applicable observed-evidence preference = 100 * P / C
unresolved-weight range = [P, P + 100 - C]
```

Battery retains every nominal weight. Unresolved input receives the arithmetic midpoint of its possible contribution, with the full unresolved range disclosed. This is a comparison convention, not inferred favorable evidence. A measured score of 50 replacing an unknown share leaves preference unchanged; a score above or below 50 changes it in the corresponding direction. Large loads and named solar/wind generation, including those named custom-generation profiles, and geothermal retain every applicable nominal weight and give uncovered inputs no favorable points; removing evidence cannot raise the headline. Hydrogen also uses the fixed-denominator lower-bound equation. Other applicable site-specific process/custom projects retain the observed-evidence equation. The range is an arithmetic bound, not a statistical interval. Input coverage measures available observations and modeled inputs, not confirmation of commercial commitments or completion of project diligence. The internal `evidenceScore` field uses the selected aggregation convention; it is not always a renormalized observed-only score. [Aggregation code](score-summary.js) rounds display values to one decimal place.

A headline requires at least 60% weighted coverage, a California county match, a defined project, required resource evidence, and no failed project requirement or incompatible development pathway. Grid evidence is required except for the modeled co-located renewable hydrogen architecture, whose grid weight is always zero. Solar, wind, geothermal, hydrogen and custom generation need a numeric resource score. Custom projects also require an electrical use and positive land intensity or a calculated named solar/wind layout. Battery needs sufficient annual timestamped prices and a finite lifetime valuation. Named solar/wind generation and geothermal instead distinguish physical exploration from merchant or contracted development: complete physical production is independent of LMP, exploration excludes investment ranking, and a full-life entered-price/PPA scenario need not borrow missing historical prices. Commercial objectives still require their own complete applicable cost/revenue scenario and independent financial hurdle; a finite contract cannot silently supply an unpriced merchant tail. Loads need a supported delivered-bill scenario for the sole mapped provider or an explicitly selected mapped provider, with service eligibility still conditional; hydrogen and site-specific hydro/bioenergy use their applicable process economics. Missing critical financial evidence cannot be removed merely by setting its preference weight to zero. Current authoritative, applicable hard restrictions withhold the headline. Ordinary historical overlaps and public ownership alone are not automatic prohibitions, but an applicable public-land authorization or other required pathway must be acknowledged.

Headline labels describe decision status rather than calling high scores buildable or promising. Known failures show **Does not meet the project brief**; incompatible military, tribal, conservation or occupied-site contexts show **Different development pathway required**; missing critical financial/resource evidence shows **Critical evidence needed**. Otherwise the score is a relative regional preference, with requirements unconfirmed. Commercial failures and negative scenario NPV are identified independently of the preference score. Geothermal exploration explicitly says **Regional geothermal exploration · reservoir unconfirmed**; its conditional economics are supporting commercial context, not an investment recommendation. A selected partnership or entered service capacity never establishes a verified commitment. The report separates these requirements from score contributions, physical/economic outputs and supporting evidence.

A complete modeled zero-output generation/process design, or a standalone battery with an explicitly zero import or export limit, cannot receive a headline regardless of user weights. It is labeled **No output under this design**. Missing output is distinct from known zero; a battery voluntarily idle because spreads do not cover losses/wear is not automatically physically infeasible. Cached criteria preserve this eligibility gate. A restriction or infeasible design does not display an unresolved-weight range as an alternative suitability score.

## Spatial and temporal evidence

The app loads prepared local bundles, including historical hourly price files on demand. At initial load, a dated bundled queue replaces the current-origin queue only if it is newer or the current-origin file fails. Successful official CAISO queue evidence can therefore have provenance status `available` or `snapshot`; the snapshot retains its actual report date and authoritative source URL. Error or unavailable provenance cannot create reported-bus variants. It does not perform per-pin external public-service API requests that add different scoring evidence after a scan. Basemap tiles and place search still use network services. Missing or stale source coverage is reported rather than filled with an optimistic substitute.

Environmental findings use a shared 0.05-degree California snapshot, roughly 4-5.6 km spacing; an arbitrary pin uses the nearest sample within 4 km. Grid distances and geometric provider matches use the pin itself. [Snapshot specification](research/screening-snapshot.md).

Coordinates are pin identifiers, not measurement accuracy. Prepared 2025 ERA5 weather now covers 173 sample locations at 0.5 by 0.625 degree spacing, retaining the previous spatial sampling with a finer native source (about 25 km). Four-year ERA5 comparisons use 44 samples at 1-degree spacing. Weather selection is technology-specific: current solar comparisons hold one nearest supported sample fixed across geometry changes; wind holds its selected meteorological basis fixed across density/wake toggles and discloses missing capabilities; geothermal uses supported aligned cooling inputs, as described below. NASA POWER remains a supported fallback for compatible configurations. The local GWA wind grid is sampled at 0.025 degrees. Current geothermal temperature has **4.242641 km native support** and hydrothermal favorability has native 2 km raster cells. The retained 11.5-km GDR supply-curve cells are an older, separate context/cost source, not the current temperature resolution. More scan points do not improve any source resolution.

The common historical price year is 2025. UTC interval starts align prices and operating profiles. Both DST transition dates are excluded from the original price archive because an hour identifier was lost; other missing hours remain missing. The underlying hourly-price quality check requires a complete calendar reference, at least 90% of annual hours and at least 75% of every month. Current solar, wind and geothermal historical merchant valuation also checks production-weighted price support; geothermal specifically requires at least 95% of annual physical production priced and 90% in every producing month. Accepted missing-price revenue estimates use that month’s observed production-weighted settlement and remain separate from observed prices and full physical MWh. Inadequate seasonal samples retain observed evidence but do not produce annual historical merchant revenue/NPV or a comparable commercial headline. Price references are ordered by evidence quality, distance and stable identifier, never favorable price. Actual loaded timestamps supersede prepared monthly counts. These thresholds do not establish forecast accuracy. Prices are not forecasts for the target year. Physical exploration and complete entered-value/contract scenarios are separate from historical-price admissibility. Negative-price generation is retained unless an explicit economic-withholding or physical-curtailment scenario applies; those are distinct operations. Negative congestion is a price/constraint signal, not observed renewable curtailment. [Hourly data basis](research/hourly-economics.md) and [underlying admissibility policy](research/decision-validity-v14.md).

## Grid access, queue and development

Grid proximity combines qualifying substation distance (70%) and transmission-line distance (30%). Known voltage must meet the chosen threshold; kV is never converted into available MW. The piecewise-linear substation anchors in km/score are 0/100, 2/90, 5/75, 10/55, 25/20 and 50/0; line anchors are 0/100, 1/90, 5/65, 15/30 and 40/0. Searches extend to 100 km. Known source coverage without a qualifying asset can establish zero proximity; absent voltage/source evidence remains unknown.

Battery and named generation candidates use POI identity, voltage/utility consistency, geography and published restrictions. A nearer no-new-POI station can be bypassed. This screens a new standalone connection, not an existing project's available rights. Mature active requests at an associated POI produce bounded friction `50 - 15*n/(n+4)`. Battery counts applicable storage requests; generation counts applicable mature requests. A quiet matched POI is neutral at 50, while an unmatched POI is unknown. Queue MW, hybrid MW and nearby development are contextual, not available capacity. [Battery POI method](research/battery-siting-method.md) and [generation methods](research/resource-methods.md).

Battery evaluates up to five nearest physical station sites within the chosen study radius, capped at 25 km, and retains all qualifying mapped/reported buses at those sites. Published voltage variants require official active/completed queue records, exact normalized station/owner identity, unique geography and a match within 3 km. Within one site, the bus preference follows the most recent completed actual COD no later than the queue snapshot, then completed records without a valid date, active executed requests and other active requests; the mapped maximum is the fallback. Voltage/identifier break evidence ties. A selected-bus no-new-POI entry permits the next considered bus/site to be evaluated; it is never applied to another voltage merely because the mapped maximum is higher. If no unrestricted considered bus exists, the nearest restricted candidate remains visible with its conditions. No farther station or bus is selected to improve price or queue friction. With no station in the capped radius, the nearest qualifying mapped station within 100 km remains distance context, without a queue association. This documented bus/site association does not establish physical breaker geometry, an open bay or available MW. [Current association and connection method](research/battery-connection-association-v15.md).

CPUC portfolio allocations, deliverability constraints and planned upgrades remain planning context. They do not establish a reserved connection, load-serving headroom or an energization commitment.

Land/development shares are area fit 20, zoning 10, general plan 5, slope 12, seismic 6, fire 10, flood 12, wetland 8, land cover 7 and historical footprint overlap 10. Solar/wind design envelopes replace generic area requirements when applicable. Footprint area and sampled historical overlap are not parcel entitlement, contiguous usable area or a complete environmental assessment. Community-burden indicators remain visible context rather than automatic siting penalties.

Independent land/scale checks precede that weighted dimension. Insufficient entered acreage, usable area or whole-machine layout fails the project brief. The September 23, 2026 bundle adds 53,342 BLM surface-management polygons, 893 USGS solar-array geometries and 4,935 turbine locations. Footprint intersections identify required military, tribal, conservation and existing-asset pathways; compound requirements cannot be bypassed by selecting only the primary headline. Battery, load, solar, wind and geothermal also require an acknowledged public-land pathway where ordinary public management intersects the assessed site/envelope. An explicit combined pathway acknowledges multiple partnerships without proving consent. This is a conditional development path, not a blanket public-land prohibition. Mapped private land and no match remain unverified. [Public data, geometry and independent validation](research/developer-land-v14.md).

## Battery

Hourly dispatch uses a continuous-energy LP/MILP with explicit hourly SOC balance, independent daily throughput budgets, round-trip efficiency, asymmetric import/export capability and mutually exclusive operating modes. Every complete independent day starts and ends empty. Optional rolling 48-hour dispatch carries purchased inventory, executes its first day and repeats; this is not a global annual optimum. Solver bounds and incomplete windows are disclosed. The default previous-day forecast uses only prior observations and settles against realized prices. Previous-week and perfect-history cases appear as separate sensitivities in a full report; perfect history is a window-level information benchmark, not a forecast or proof of an annual/lifetime optimum. Missing forecast days do not borrow future prices. Continuous auxiliary demand reserves import capability and is purchased once, including dated maintenance. Ancillary headroom and DA/RT comparisons remain separate ceilings/context, without extra NPV revenue; actual awards, activation and full market co-optimization are not established.

Default capital separates $200/kWh energy equipment and $600/kW power equipment, reproducing $350/kWh at four hours. These are editable screening assumptions, not vendor quotes. All-in duration-specific capital is an alternative, never additive. Base O&M defaults to an explicit unsourced 1.5% scenario. Maintained capacity buys the modeled calendar/cycle loss at an entered $200/kWh augmentation scenario; replacement cash is charged once. Cycle replacement opportunity cost influences dispatch without being charged again as variable O&M. Degrading mode derates capacity and uses its entered unaugmented O&M instead of purchases. The optional ATB2025 4%-of-capital inclusive benchmark applies only to maintained capacity, a 15-year life and its one-cycle-per-day convention; it does not combine with separately priced augmentation. Neither scenario establishes a chemistry-specific warranty or replacement design.

Commercial modes distinguish merchant operation, an entered RA capacity contract retaining merchant trading, and an exclusive tolling block. RA imposes an entered local-hour remaining-energy readiness requirement, constraining dispatch and payment availability; it does not establish CAISO qualification, NQC, deliverability, bidding, actual slice-of-day obligations or an available contract. Exclusive tolling reserves its share of power and energy; its net payment already includes contract energy obligations. Contract expiry releases equipment/obligations using a separately optimized merchant scenario when selected. No contract rate or eligibility is inferred from location.

Cycle wear applies to the merchant and actually connected contracted portions. Idle reserved equipment incurs calendar aging, without fictitious contracted cycling across unavailable connection capacity. Custom storage uses the same POI, price attachment and queue equations as battery storage.

Battery NPV includes upfront battery, entered network upgrades, explicit route length × separate route allowance, and optional fixed development cost, followed by discounted net cash flows with priced augmentation. Blank allowances remain unpriced/excluded, not free. Users must avoid repeating route/development costs inside an all-in upgrade/EPC amount. Entered connection delay moves operating cash flows later while upfront capital remains at intended start. Target year labels the scenario; the constant-cost default does not manufacture future prices. Optional ATB2025 four-hour total-capital endpoint changes and real energy-margin trends are sensitivities applied to entered costs/reference operation, not precise annual projections. The value score is `clamp(50 * PV(net operating cash flow) / upfront capital, 0, 100)`; zero NPV maps to 50. Economics input coverage reserves 30% for project confirmation regardless of entered limits or a zero upgrade assumption; scenario completeness is separately labeled.

The operation criterion uses modeled net discharge/charging-plus-auxiliary efficiency (70%) and operating availability (30%). Cool weather earns no geographic bonus. An optional entered temperature curve changes auxiliary demand and power availability against aligned hourly weather, affecting physical operation and cost. Its slopes are explicit sensitivities, not vendor performance. Negative wholesale prices can credit auxiliary purchases; a new project's actual auxiliary tariff/settlement is unresolved. The Battery Locator index remains context.

Price associations require dated official CAISO resource-to-node relationships compatible with the 2025 history. Resource identifiers are not PNode identifiers. An exact matched aggregate node requires its own history; unvalidated constituent averaging is prohibited. A nearby PNode remains a geographic proxy even if a generator is nearby. Bus restriction joins preserve station, voltage and owner identity; restrictions on another bus are context. The partial published restriction list cannot establish spare positions or clearance. Owner-level CAISO/PTO or separate-balancing-authority context does not verify this candidate bus's market path.

Connection screening records required import/export MW, entered limits, straight-line route lower bound, illustrative corridor overlap, entered energization year and partial published bus constraints. Explicit route/timing failures fail the project brief before preferences. Entered capacity and dates never become commitments. Land rights, usable parcel layout, a utility-accepted connection position, import/export/upgrade scope, tariff/settlement, commercial qualification and actual contracts remain project diligence. Financing, taxes, incentives and decommissioning are not fully budgeted.

The current report starts with the named candidate connection and conditions, then presents commercial value, preference contributions, next decisions and dated sources. Saved comparisons warn when model/scenario/priorities differ. Readable HTML exports preserve the brief, commercial scenario, requirements and sources. The [current descriptive inventory comparison](battery-current-validation.html) is separate from the archived v5 diagnostic; it is not a prospective construction-outcome test.

The v13 production solver matches all 33 independent daily SciPy MILP cases and 12 independent two-day windows within numerical tolerance. This resolves the earlier v12 policy gaps; those archived gaps no longer describe current dispatch. Benchmarks check numerical feasibility/objectives, not market profitability or forecast accuracy. [Current solver, operation and benchmark results](research/battery-optimization-v13.md).

## Solar and wind

This shared-engineering section retains the earlier source and calculation record. The separate current **solar v18** and **wind v19** development methods described in [the release notes](README.md) take precedence for objective-specific physical/financial eligibility, explicit merchant-tail choices, connection requirements, cost scope and report interpretation. Earlier shared price-gap reservations, automatic post-PPA history and density defaults below must not be read as overrides of those current technology-specific methods. The current geothermal method is documented separately in the following section.

Required machine counts round up to support requested MW; explicit smaller layouts fail the project brief. Costs use the installed whole-machine capacity and the requested export ceiling remains separate. Unknown available acreage remains unconfirmed rather than being assumed to fit. The default 150-MW wind reference currently installs 151.65 MW.

Solar uses hourly plane-of-array irradiance, chosen mounting, temperature response, array/inverter losses and DC/AC clipping. Module efficiency, ground coverage ratio, usable-land allowance and an equivalent-square setback produce an area requirement. Stated/drawn acreage can limit feasible MW and hourly output; requested-project capital remains visible if it does not fit. This is not a row-level array, grading or shading design.

Wind uses interpolated IEA 3.37 MW/130 m or NLR 4 MW/150 m reference power curves, with separate wake and other-loss allowances. The optional generic specific-power curve retains its aggregate loss convention. Whole turbines, rotor-diameter spacing and setbacks define a layout envelope. Local GWA means scale the weather chronology. Wake losses use either a fixed allowance or an optional directional Jensen scenario on an idealized rectangular turbine array. The latter uses hourly ERA5 wind direction, rotor overlap and combined velocity deficits, and is limited to 256 turbines. Missing direction data is unknown, not a zero-wake assumption. Neither option is an engineered terrain-flow or project-layout study.

Wind capital, fixed O&M and replacement costs use the installed whole-machine nameplate. Whole-machine output is then limited by usable land and the requested export ceiling. An optional air-density scenario applies `rho = pressurePa / (287.058 * temperatureK)` and scales reference-curve power by `rho / 1.225`, capped at the selected rated-output/loss ceiling. It requires complete hourly pressure and temperature at a supported sample. Surface pressure and 2 m temperature are regional proxies, not hub-height measurements. Reference density remains the explicit default. [SAM density basis](https://samrepo.nlr.gov/help/wind_power.html).

Export ceilings and explicit curtailment apply before hourly revenue calculation. The resource criterion is the modeled project output factor over all weather hours, including design/export constraints, independently of price gaps. Solar anchors are 8/20/30% output factor to 0/60/100 score; wind anchors are 10/30/50% to 0/60/100. Resource coverage is weather completeness times 80%, reserving 20% for project-specific yield studies.

Full-weather physical production is retained even if price evidence is unavailable. Financial output requires matching hourly prices; full-weather MWh is distinct from annualizing price-matched hours. Zero usable land produces zero output; missing acreage is not zero area. Selected GCR, fixed tilt/azimuth, tracker rotation, axis/cross-axis slope and horizon now drive hourly irradiance geometry as well as land requirements. Tracking uses slope-aware backtracking; fixed rows include equal-height direct-beam row shading. These methods were independently checked against pvlib. Regional weather cells supply DNI/DHI/GHI and solar angles; legacy reference-only geometry cannot silently answer changed geometry controls. Electrical mismatch, detailed terrain horizons, bifacial gain and a surveyed layout remain outside the model.

Lifecycle costs include capital, fixed/variable O&M, output decline, an entered upgrade/access allowance, major replacement and optional PPA term. Historical captured value resumes after the PPA expires; no future price curve is fabricated. NPV discounts cash flows; LCOE discounts costs and energy. The value score is `clamp(50 * PV(revenue) / PV(cost), 0, 100)`, so high capture revenue alone does not establish profitability. Missing upgrades/export each reserve 15% of value evidence; unpriced wind access reserves another 10%, multiplied by hourly coverage.

The downloaded WIND Toolkit benchmark provides 2007-2013 mean wind/output at 3,932 selected California onshore sites, with a 5-km maximum match distance. Its 2-km reference-site context is unscored and uses different turbine/siting assumptions. It does not replace current hourly weather or establish P50/P90. A separate 2022-2025 hourly ERA5 replay now compares annual generation under the same design; one GWA-to-multi-year-mean wind scaling is held fixed across years. It remains unscored context. Denser multi-year sampling, parcel engineering, wildlife/aviation and confirmed export rights remain necessary. [Detailed generation design and source register](research/generation-design.md).

Primary and multi-year wind now use a common climate baseline where supported. The primary cell's annual mean is adjusted by the nearby multi-year region's reference-year anomaly; its own spatial difference is preserved. Each comparison year retains the same multi-year scaling. Different sample locations can still differ. Entered east/north turbine coordinates replace the idealized rectangular array, with duplicate/overlapping rotor rejection and bounded machine count. Public FAA airfields, Caltrans highways and USFWS final critical habitat are separately disclosed development context, not clearance or an arbitrary score bonus. [Generation improvements and source methods](research/generation-improvements-2026-09.md).

## Geothermal

**Current public resource basis.** The Stanford Thermal Earth Model snapshot contains eight 0–7 km planes at 1 km depth intervals, joined by exact native coordinates. Its declared 18 km² cell area corresponds to **4.242641 km support**; the bundle retains 26,994 nearby nodes and 25,898 centers inside the California county union for the percentile distribution. Lookup requires a native node within 4.25 km and interpolates only between adjacent depth planes. The exact March–May 2024 ArcGIS revision is retained, without claiming acquisition of the later raw Ver3. Missing source support or an out-of-domain depth stays unknown. [Resource provenance, coverage and reproduction](research/geothermal-public-resource.md).

**Objectives and resource evidence.** The default is a **50 MW gross EGS exploration prospect** using public-depth temperature, not a merchant or contracted development recommendation. EGS exploration uses an empirical midrank among native California modeled temperatures at the same selected depth. Hydrothermal exploration instead uses the containing native 2 km cell of the USGS 2023 western U.S. ensemble XGBoost model, ranked against its 725,442 valid western-domain cells. Raster NoData is preserved; the unavailable 2025 Great Basin release supplies no invented cells or uncertainty bounds. Neither percentile establishes permeability, productive flow, drilling success or sustainable MW. A missing observation is not proof a resource is absent.

The retained four GDR scenarios default to hydrothermal binary at 3.5 km, EGS binary at 4.5/5.5 km and EGS flash at 6.5 km. Their 5,451 California cells preserve 2022-dollar costs, representative 2035 technology and 11.5-km supply-curve output resolution, with an 8.2-km maximum match. Supply density remains context when public thermal evidence is used. The former v20 density-percentile method remains an EGS fallback only when public temperature is unavailable in an explicit entered-temperature scenario; source cell MW never becomes project reserves.

Merchant and contracted objectives instead require a user-declared sustained-test or operating-history scenario with an entered sustainable gross capacity. Its evidence coordinates must match the current pin within 0.00001 degrees in each coordinate. The development resource criterion is the bounded entered capacity/requested-gross-MW fit; an insufficient capacity fails the independent gross-capacity requirement. The declaration does not authenticate reports, reservoir continuity or sustainable extraction. Moving the pin cannot transfer test evidence, and regional scans are disabled for these site-specific declarations. Nearby wells, historical temperatures, source-cell potential and existing plants never substitute for tested capacity or create a confidence bonus. [Resource equations](geothermal-resource.js) and [independent decision checks](geothermal-decision.js).

**Physical plant and wellfield.** Requested MW is gross generator rating, while required net sales is a separate user brief. Public-depth mode subtracts the entered wellbore loss (default 10°C) from supported modeled rock temperature exactly once before physical assessment and hourly export. It is a conditional flowing-fluid scenario, not measured plant-inlet temperature. Missing public temperature leaves inlet and annual energy unknown, without using the old 180°C value. Explicit entered-temperature scenarios preserve their own basis. The default 80 kg/s per successful producer remains untested. Autosizing calculates hypothetical whole producers from reference-condition conversion; injectors are rounded upward from the entered ratio. Fixed successful-well counts and a labeled legacy intensity sensitivity are alternatives. Temperature at depth does not establish injectivity or sustainable well productivity.

Binary conversion uses finite liquid-source heat/exergy and entered utilization/generator efficiency. Single-flash conversion uses interpolated pure-water saturation enthalpy/entropy, separator quality and turbine expansion. First-law/exergy bounds, pumping, cooling and other auxiliaries constrain gross and net electricity before the export ceiling. Flow × pressure / pump efficiency and percentage-of-gross pumping are separate modes; drilling depth is not pump differential pressure. Produced-fluid reinjection, reservoir makeup and evaporative-cooling makeup remain separate balances. These are screening calculations, without saline-fluid, native-steam, multi-pressure flash or calibrated reservoir engineering.

An optional **pinned PySAM 7.1.1.post1 / SSC306 binary reference** interpolates 152 executed wet-cooled cases covering 120–300°C inlet and 0–35°C wet bulb. It requires the locked 80% reference plant, SAM outlet mode and 10°C wet sink approach; custom exergy/generator efficiencies are inactive in that mode. The browser does not execute SAM. Unsupported conditions are withheld, without extrapolation or boundary clamping. Matching executed knots and conserving energy establish reference implementation, not site-specific equipment, chemistry or reservoir accuracy. [Engineering benchmarks and declared limits](research/geothermal-engineering-benchmarks-v21.md); [SSC equations and license notice](research/geothermal-sam-reference-license.txt).

Dry cooling uses supported aligned hourly dry-bulb temperature when available. Wet mode first selects a compatible complete same-cell wet-bulb vector or dry-bulb/humidity/pressure series, respecting the hourly UTC axis; it never mixes cells. Wet bulb is derived psychrometrically only from that complete input basis, with method, source and coverage disclosed. Absent moisture/pressure evidence is explicitly a constant entered sensitivity; partial vectors and derivation failures retain missing hours. Constant wet-bulb fallback cannot establish a complete-year peak-water readiness pass. Annual water averages reflect expected operating availability, while the peak is the maximum on-state demand before availability scaling. Reference-condition net MW and instantaneous balances are distinct from integrated 8,760/8,784-hour annual exports, which are independent of LMP.

Thermal decline recalculates heat, conversion, auxiliaries and export clipping in every operating year. Temperature-only mode excludes the separate aggregate decline; aggregate-only and explicitly independent combined modes are alternatives. Independent flow decline and production/injection pressure growth are explicit sensitivities. Finance uses the resulting physical annual MWh without applying the same decline twice. Circulation can continue in the thermal tail: auxiliaries can exceed gross electricity, creating station-service imports even with zero exports. Any positive lifetime import requires an entered delivered import-price allowance for complete costs; shutdown, actual import tariffs and restart strategy are not simulated. Priced replacement does not automatically restore reservoir temperature or productive wells. [Physical implementation and sources](geothermal-physics.js).

**Independent development and commercial requirements.** Regional exploration can compare heat and development context without a contract price or field-success probability. Its numerical preference does not establish reservoir, water, export or investment readiness. For a development scenario, the independent checks retain the gross-reservoir requirement, stated net-sales brief, reference net output, export ceiling, entered POI capability/voltage, route lower bound and maximum route, connection and required-upgrade dates, modeled first operation, surface/mineral rights, injection/induced-seismicity pathway, water supply and optional exploration-budget/maximum-loss limits. A favorable heat or price score cannot offset a known failure. Unknown service/rights/permit commitments remain explicitly conditional rather than verified passes. Ordinary public management also requires an applicable development pathway. Reference net-output fit is not firm hourly delivery: the report separately shows weather-driven output ranges and sustainable-resource limitations. [Connection checks](geothermal-connection.js).

Commercial qualification independently requires complete physical export, the objective's finite energy-value scenario, complete declared cost scope, an entered whole-field failure case and the NPV/cost-recovery hurdle. A full-life PPA can be calculated without LMP; it requires a finite price and term. Finite contracts never automatically extend: post-contract historical, entered, explicit-zero or unpriced revenue remains a separate choice. Real/nominal price basis, escalation, inflation and the cost-dollar conversion are explicit. Historical merchant valuation uses same-hour physical output and the production-weighted coverage rules above; observed settlement and month-specific missing-price estimates remain separate. Negative-price withholding is an economic sensitivity, not proof of geothermal ramping or compliance with a firm PPA.

For the default overall ranking, independent decision status comes first. Among comparable merchant/contracted geothermal cases with an anchored sufficient reservoir declaration and a complete qualified financial scenario, expected NPV per requested gross kW orders results before the weighted preference. Exploration has no investment-ranking value and uses the regional preference. This keeps developer economics distinct from a heat or proximity score; neither ranking authenticates a reservoir declaration or commercial commitment. [Shared ranking rules](score-summary.js).

**Staged cost, drilling and field risk.** Confirmation and construction capital are staged from the entered valuation year before the later applicable development/target/connection date; additional delay has its own expense allowance. Already-spent exploration is disclosed and excluded from forward NPV and remaining budget. Successful-field drilling costs use physical integer producer/injector counts, separate per-well success assumptions and explicit reuse of confirmation/existing wells. Per-well conditional failures and correlated whole-field abandonment are different risks. No whole-field probability is invented: conditional successful-field NPV and an entered-risk expected NPV are shown separately, with `expected NPV = p × conditional NPV − (1 − p) × failed-field loss` at the valuation origin. Missing risk cannot qualify an investment.

Published plant/drilling/O&M references preserve **2022 dollars / representative 2035 technology**; the entered multiplier is a declared conversion, not a current quotation or a target-year forecast. Local/scale adaptation is an explicit missing allowance rather than an invented cost exponent. Optional SAM drilling sensitivities preserve the exact published baseline polynomial coefficients and require dollar conversion; they are not falsely labeled as the revised 2025 drilling curves. Entered all-in quotes suppress duplicate successful-project confirmation/field/plant capital. Component ledgers retain exploration, stimulation, gathering/reinjection pipelines, cooling adaptation, rights, development, gen-tie, upgrades, field/water O&M and closure; blank categories are omissions, not free costs. Typical lease and major replacements included in benchmark fixed O&M are not added again; an extraordinary additional intervention is separately priced. Eligible net credits and retained RECs are entered scenarios with timing and contract bundling checked, not automatic benefits. Financing/taxes, firm capacity income and project contracts remain outside undeclared cash flows. [Commercial equations and cost references](geothermal-commercial.js).

**Public operating evidence and report interpretation.** The prepared snapshot retains **3,454 mapped CalGEM wells**, **989 historical CGS observations**, **559 public active-well report pages** and **37,154 monthly steam/water/injection records**. Registry retrieval is September 17, 2026; public report retrieval is October 1, 2026 Pacific time. Confidential/unavailable records are not zero production. Gross mass is tonnes, and instantaneous rates are tonnes/hour; these are not net electric output. Stable (`S`), test (`T`) and not-measured (`N`) conditions remain distinct, and `N` or an unknown condition cannot establish measured temperature/rate from numeric placeholders. CGS sample dates, depth, reported flow in L/min, type and original references remain historical shallow evidence. Same-well complete-year gross-mass comparisons do not establish reservoir depletion or sustainable capacity. [Public source, cohort, units and access register](research/geothermal-public-evidence-v20.md).

The USGS chemistry snapshot adds **129 California water and 25 gas samples**, with known California dates spanning 1967–1997 and 46 water dates unknown. Original units, detection qualifiers and location error remain visible. Conditional silica quartz/chalcedony calculations disclose alternative-method spread, not a confidence interval; they do not assume equilibrium or feed plant temperature. The public development bundle adds **1,299 usable BLM case polygons** (28 missing geometries), **18 CSLC representative points / 13 leases**, **28,065 CalWATRS diversion records** and **15,430 M≥2.5 earthquakes from 2016–2025**. Exact federal polygons, state representative points and nearby records are different associations. Supplier planning/recycled-water records, reviewed project actions, title/status and legal diversion rates do not establish user rights, unallocated supply, approval or induced-seismicity probability. All this development context is unscored. [Development-source coverage, dates and limits](research/geothermal-public-development-2026-10.md).

The report leads with resource stage and independent development findings, followed by heat/wells/net electricity, connection, commercial cost/risk scope, sensitivity, dated context, preference and next decisions. It distinguishes modeled rock, conditional inlet and entered fluid temperature, including unknown public temperature. Required net MW is separate from PPA price, and successful-field value from expected field-risk value. Readable HTML bounds nearby tables while Download data retains the complete assessment snapshot. Invalid inputs show the actual error rather than an assessment. Named public engineering cases and pinned SAM comparisons establish distinct reference conditions, not transferable new-site productivity. The historical v20 fleet diagnostic below supplies no fitted correction or current public-depth validation.

## Large load and data center

The campus brief explicitly distinguishes IT MW from reference facility MW. PUE overhead enters facility demand and the delivered bill once. Workload utilization determines consumption, while electrical service, backup and cooling-water requirements use full-build demand, a larger declared firm requirement, and the worst prepared historical weather. A known service/date/water/fiber/cooling failure cannot be overridden with priorities. Industrial processes need their own land and operating assumptions.

Capacity-specific POI comparison ranks only mapped retail-owner matches for the selected or sole scenario utility. Other utility stations and unknown/joint/transmission owners remain context. Voltage preference increases continuously with full-build MW; voltage never becomes available MW. SCE's published greater-than-6-MW dedicated-service guidance informs the automatic pathway. The elsewhere greater-than-20-MW switch is an explicitly uncalibrated investigation heuristic. Public distribution forecasts are used only for applicable distribution scenarios; SCE bulk station/bank leads are unreserved enquiry context.

Delivered bills use supported PG&E, SCE, SDG&E, LADWP, SMUD or SVP published tariffs on a fixed 2026 calendar, including energy, demand, applicable ratchets and adjustments. Genuine provider overlaps remain unresolved unless the visitor selects a mapped provider for an if-served scenario; the tool never selects the cheapest provider. Wholesale LMP remains a separate reference. Rates are not forecasts for the target year. Cost preferences combine delivered electricity (60% of the category) with the priced share of lifetime site costs (40%). Blank costs are unknown; explicit zero is priced. Commissioning phases are re-billed rather than multiplying a full-load bill. Present costs and discounted useful IT energy use the same phase/delay timing. These are partial known-cost scenarios, without business revenue or profitability conclusions.

Cooling can use constant PUE/WUE, explicit temperature slopes, or historical reference equipment curves with hourly weather. Full-build heat removal, curve boundaries, machine-outage contingencies, peak-day water and worst-year service needs remain separate from operating averages. Extensive curve clamping leaves equipment adequacy unresolved. N/N+1/2N equipment, UPS bridge, generator start, post-contingency power and usable fuel balance the stated event; they do not establish independent utility feeds or probabilistic uptime. Reanalysis and reference curves are not vendor design-day guarantees.

The editable campus envelope uses rack power density, white space, gross supporting area, floors, building coverage and separate cooling/electrical/backup/staging yards. The parcel search and report use this same estimated area or the same explicit land-intensity override. Generic coefficients are transparent scenario assumptions, not calibrated site plans.

Data-center workloads default to two required independent fiber routes; proximity to reported PeeringDB facilities is only a screening proxy. Colocation and inference cannot claim automatic workload shifting. Deferrable training/industrial work explicitly preserves a must-run floor, hourly work arrivals and a maximum allowed delay. Reference tariff optimization is checked independently, while nonlinear cooling and eligibility prevent a general global-optimum claim.

Water balances use unique matched retail-supplier plans. Reviewed final/adopted 2025 plans cover LADWP, Fresno, San Diego and Santa Clara across 2030–2050, including normal, single-dry and all five consecutive dry years. Other suppliers retain identified 2020 vintages. Only adjacent source years interpolate; plans are not mixed or extrapolated. Supplier-wide planning balance is not an allocated campus supply or peak-day hydraulic capacity. Plans that procure imports to balance demand do not establish that an additional customer is prohibited. A physically water-free cooling scenario removes water applicability without a supply bonus.

The report follows the campus brief, power/date, costs, cooling/water, fiber/resilience/land, preference and next decisions. Both readable HTML and JSON are available. [Current equations, priorities and source limits](research/load-siting-method.md), [four documented CEC campus diagnostics](datacenter-validation.html), and [engineering references](research/load-engineering-v13.md) explain the current method. The campus comparison tests semantics and architecture, not statewide predictive accuracy or tuned ranking weights.

## Hydrogen

Hydrogen has its own production and customer-supply model, with three objectives: production exploration, onsite customer supply and offsite delivery. Exploration excludes investment qualification and gives the commercial dimension zero weight. The dedicated renewable architecture always gives grid proximity zero weight; other applicable priorities normalize to 100. Missing evidence does not change this normalization. Hydrogen uses the fixed-denominator lower-bound preference equation, so removing evidence cannot raise preference. A headline still requires 60% usable weighted evidence and no failed physical or development requirement. A customer objective additionally needs complete applicable costs, a finite revenue scenario and passed commercial hurdles, regardless of its commercial preference weight.

The process parcel, PV parcel, wind spacing envelope and electrical collection corridor are separate. Entered source polygons are screened for historical constraints, current authoritative restrictions, tenure and existing assets; weather is matched at a representative point inside each source polygon. A concave parcel or a parcel with holes cannot silently sample its weather outside the source site. Solar acreage follows DC module area, module efficiency, ground coverage, usable land and boundary setback. Changing the DC/AC ratio changes inverter capacity and clipping, not the area occupied by unchanged DC modules. Wind acreage remains an explicitly editable spacing-envelope assumption, not an engineered turbine/wake layout. An entered collector route shorter than the process-to-source straight-line distance fails. Site-specific source polygons disable transferable regional scans. Missing source boundaries and rights remain unverified.

The default supply search compares a bounded 5-by-5 solar/wind capacity grid plus the legacy Atlas mix using local complete hourly source profiles and entered/reference equipment costs, O&M and dollar conversion. This is a reference-year production-cost search, not a global optimum or customer delivery guarantee. Explicit renewable ratios bypass this search. An entered full-project quote cannot price arbitrary alternative equipment sizes: automatic local sizing uses a disclosed Atlas physical-reference mix in that mode, and automatic firm-delivery cost sizing requires component costs or a manually entered quote-matched design. The selected design is replayed with actual equipment, water, storage and delivery constraints. A separate cancellable search varies both renewable ratios and storage against the complete customer brief. Historically service-feasible candidates are checked in screening-cost order against contract-life aging; the first qualifying candidate is replayed through the full model before application. This bounded reference-cost search does not prove a globally optimal lifetime design. Unknown cost categories remain outside a labeled screening cost floor and cannot establish complete LCOH or profitability.

The MW input is the total process electricity budget, including electrolysis, compression and modeled cooling. Separate installed electrolyzer and compressor ratings further constrain output. Performance supports a reference full-system specific-energy scenario, an entered part-load curve, or the public NLR measured PEM DC curve with separately declared rectifier and AC auxiliary boundaries. A measured DC curve is not a full AC system guarantee. Warm-up, minimum load, hourly ramp, planned and reproducible forced outages, stack aging and replacements are modeled. Renewable output declines separately over life. Mass, energy and water balances distinguish production, plant storage, customer storage, in-transit product, customer withdrawals and unsold ending inventories. Only actual customer withdrawals earn sales revenue.

Customer service is checked in the authoritative primary weather replay and every available compatible historical weather year, including the minimum mass served, any fully served-hour target and maximum continuous shortage. At least two historical stress years must be available for customer qualification. Starting inventories are empty in each independent replay. A good reference year cannot conceal a historical shortfall. The same checks apply to actual aged customer deliveries throughout the entered price term; the first failing operating/calendar year is disclosed. Lifetime aging uses repeated reference weather, and historical stress uses the fixed current design: their combination is not an inferred worst-case future reliability guarantee. Scans, pins, saved criteria and optimizer validation share these gates.

Whole-site water includes raw process treatment demand and the selected heat rejection model. Air cooling uses no tower makeup; wet/hybrid operation includes evaporation, blowdown and drift under entered thermodynamic assumptions. Constant or monthly water allocations and a finite tank constrain hourly output. Public supplier/recycled-water records are leads, not water rights or guaranteed capacity. Nearby lakes, rivers or ocean do not imply usable supply.

The commercial ledger covers renewable/process equipment, compression/storage, cooling hardware, water infrastructure, land/corridors, development, utility upgrades, receiving equipment, annual site costs and closure. Component scope itemizes missing categories; entered all-in capital explicitly covers the complete stated scope. That mode requires a separate visible annual whole-equipment maintenance budget; dormant component-cost fields cannot change its maintenance expense. Annual land/easement payments, additional site costs and major replacements remain separate. Future capital is staged before energization and discounted to the valuation origin. Stack replacements, declared real-dollar conversion, finite customer price term, explicit post-contract revenue, operating costs and conditional production benefits are separate cashflows. Complete production cost uses produced kilograms; delivered cost uses actual delivered kilograms. A partial budget publishes only a known-cost floor. NPV cannot be qualified with an unpriced revenue tail or missing critical expenditure. No tax, financing, 45V or LCFS award is automatic.

The public inventory uses EIA/CARB coordinates, dated CEC/operator refinery status and documented hydrogen-network records. Idled facilities are excluded from active customer choices. Operating networks, a completed connection with current service unverified, and proposed Angeles Link are explicitly distinguished. Selected customer coordinates establish only a straight-line route lower bound. Pipeline centerlines, injection capacity, acceptance, tariffs, purity and pressure are not inferred from a company schematic, a project plan or a natural-gas corridor. No pipeline-access score bonus is assigned without an entered commercial scenario. [Public inventory and dated sources](data/hydrogen-public.json), [Carson project records](https://ci.carson.ca.us/communitydevelopment/HydrogenGas.aspx), [current refinery inventory](https://www.energy.ca.gov/data-reports/energy-almanac/californias-petroleum-market/californias-oil-refineries), [DOE cost reference](https://www.hydrogen.energy.gov/docs/hydrogenprogramlibraries/pdfs/24005-clean-hydrogen-production-cost-pem-electrolyzer.pdf), and [NLR measured performance](https://data.nlr.gov/submissions/306).

Resource preference compares modeled utilization with a reserved unverified confirmation share. Customer-value preference uses complete delivered cost and discounted revenue/cost; water/service preference uses the actual hourly withdrawals and declared allocation, with optional public industrial distance context for offsite delivery. These editable preferences follow the physical and commercial gates. The report leads with the customer obligation, supply sites, water/delivery and commercial ledger, then shows preference, next decisions and sources. Readable HTML, structured assessment JSON and hourly balance CSV share the same numerical assessment. The optional grid-electrolysis wholesale sensitivity remains a separate reference; this model does not substitute it for a contracted grid-powered supply system.

## Other resources

Hydro requires project-specific monthly flow and hydraulic head, then models reserved river flow, hydraulic efficiency/loss, minimum turbine flow, clipping, availability and a dry-year sensitivity. Bioenergy requires sustainable available wet feedstock and models moisture, heating value, conversion/parasitics, annual feedstock limits and haul cost. Both need entered capital/O&M for cost and a sales-price scenario for revenue; generic flat production and nearby wholesale price are not substituted.

Hydro uses one fixed turbine intake rating for all months, entered directly or derived at the reference head. Lower seasonal head cannot silently enlarge the turbine. Monthly intake and bypass preserve the water balance. ORNL monthly medians are not a daily flow-duration record. Bioenergy moisture is wet-basis; inherent-water evaporation is deducted once, fuel use cannot exceed the stated recoverable supply, and fuel/haul costs apply to seasonal purchased wet tonnes, including year-end inventory. The simple annual balance uses consumed wet tonnes, bounded by available feedstock.

Resource coverage reserves 20% for verified flow/permission or feedstock/sustainability evidence. Candidate hydro scans use 102 assessed ORNL dam locations, with a 100 m record-match limit; generic river scans remain disabled. Five named dams additionally use strictly matched daily USGS release chronologies covering 127 complete calendar years. Turbine part-load efficiency, environmental release, head, tailwater rise and flood shutdown scenarios determine daily output; licensed intake, dam condition and reservoir operation remain unverified. Bioenergy can use an explicitly selected historical 2012 NLR county technical inventory, further reduced by entered competing-use and procurement shares and converted using moisture. Seasonal daily receipts, finite storage, dry-matter decay and preparation energy determine generation. County tonnage is one shared historical supply pool, not independent fuel at every pin; bioenergy site-score scanning remains blocked without actual supplier origins/haul geography. Current supplier commitments, emissions and sustainability remain unverified.

## Scanning, cached criteria and validation

Regional scans clear selected-parcel area/footprint and use the same source snapshots and scenario inputs at each grid coordinate. Shortlisted rows and pin reports use the same evaluator and weighting; a later explicit parcel/design change is a new scenario. The map interpolates comparable numeric scores only for display, not new physical evidence. Gray/hatching identifies evaluated cells where a pathway, known restriction or failed requirement withholds the score; genuinely missing evidence remains transparent. Status markings create no second score and cannot override gates. Current-scan colors express relative ranking under the chosen priorities; green is not an approval or guarantee.

Up to 12 regional finalists are separated by at least 25 km, while every evaluated grid sample remains in the heatmap. Matched hydro assets retain their individual asset basis. Spatial separation offers distinct investigation areas; it does not establish independent weather, market evidence or parcel opportunities. Known failed briefs and incompatible pathways cannot be promoted above eligible scored candidates through an alternative ranking priority.

The solar/wind presentation shortlist defaults to **Highest regional preference**, ordering the exact numeric values represented by the heatmap. It excludes locations with no comparable value: missing critical evidence cannot outrank a known modeled outcome. Adequately evidenced commercial failures may appear as colored regional context with explicit financial status, without receiving a qualified headline. Coverage must meet the 60% threshold and applicable grid/resource/project/boundary/hourly/economic evidence gates for this context. **Highest modeled NPV per kW** and complete physical yield are explicit alternative priorities; neither overrides physical gates or turns an incomplete scenario into an investment recommendation. Physical exploration hides the NPV priority. Cards, previews and CSV exports retain the regional preference separately from financial qualification. The underlying technology-specific evaluator and cache identity are unchanged. [Presentation selection](candidate-ranking.js), [compact cards](candidate-card-view.js).

Caches store each dimension's unweighted score and coverage plus eligibility gates, not one fixed total. The underlying v14 schema retains independent project-fit, financial-evidence and development-pathway gates; current bundles also retain the applicable solar, wind and geothermal objective, commercial gates and qualified ranking value. Changing weights cannot override these requirements. Weight-only edits can reuse those records. Exact scenario, grid, model/import and data fingerprints govern published bundles; changed MW, costs, equipment, source data or method invalidate them. The worker reconstructs finalists and verifies criteria/score/coverage before accepting cached results. Transient price failures are not retained as completed cached evidence. [Cache design and builder](research/precomputed-scans.md).

Prepared scan grids use three spacings: 0.05 degrees (16,658 locations per technology, roughly 5 km), 0.1 degrees (4,170 locations) and 0.25 degrees (668 locations). The initial UI target year is **2030**, set by [the reference override](data/precomputed-defaults.json). The three current geothermal bundles match **50 MW gross / 2030 / EGS exploration / public-depth**; older 100-MW, entered-temperature, 2035 or obsolete-identity bundles cannot represent this brief. Each bundle records exact MW and complete physical/economic settings. The default full California 0.05-degree assessment has supported public thermal and hourly cooling evidence at all **16,658** points: **6,742 colored**, **9,909 different-pathway** and **7 failed-brief** results. Withheld scores are visible as gray/hatching, not missing heat data. The coarser grids retain exact fine-grid criteria at their coordinates rather than averaging scores. Hydrogen additionally supports its 44 native climate-region locations for matching 2030 and 2035 scenarios. The [publication manifest](data/precomputed/manifest.json) inventories completed bundles; only an exact current identity is reusable.

Each matching bundle supplies criterion scores, coverage and eligibility for exact reweighting under the visitor's priorities. Strict method, imported-model, source-data, scenario and grid identity are required. Changed year, MW, equipment, costs or other custom inputs invalidate a nonmatching bundle and trigger fresh calculation; scoring weights alone can reuse the same criteria. These default bundles do not precompute every possible project design, and finer scan spacing does not improve source-data resolution.

Prepared local evidence is revalidated against its current server version before cache identity is accepted. The data fingerprint includes native weather/wind observations and source metadata; only known deterministic wind-reference enrichment is excluded to avoid cross-runtime floating-point differences. This does not discard raw wind-speed changes or substitute stale observations. Selected-site declarations of tested geothermal capacity remain tied to their declared coordinate and cannot be copied across a statewide scan.

Current verification includes **1,108 automated tests** and browser scan/report checks at all three resolutions. The [v21 prepared-criteria validation](research/precomputed-validation-v21.json) records three exact published identities, six fresh locations and three weight cases per bundle, with no failures. These checks verify balances, missing-input treatment, scenario changes, exports and scan/pin equality, not predictive validity. Historical benchmark pages retain their original versions. The [v20 implementation record](research/geothermal-implementation-validation-v20.json), its assumption diagnostic and the archived v12/v14 fleet comparison below remain historical and do not validate v21 public-depth output or the optional SAM reference. See [v14 decision history](research/decision-validity-v14.md) and [underlying engineering checks and limits](research/engineering-v13.md).

## Source preparation and earlier releases

The [v11 operating-evidence notes](research/operating-resource-v11.md) document that earlier source release; the [v13 engineering review](research/engineering-v13.md) and [v14 decision changes](research/decision-validity-v14.md) retain the earlier physical and decision-handling history. Their former shared geothermal profile and observed-evidence scoring are superseded by the v21 geothermal chapter above. [Weather processing and spatial coverage](research/multi-year-weather.md) and [generation geometry and calibration updates](research/generation-improvements-2026-09.md) retain source preparation details. Infrastructure observations do not establish commitments. Loads use historical replay for full-build requirements; scan and pin use the same applicable engineering and evidence snapshot.


## Historical v20 geothermal operating-plant assumption diagnostic

The untuned **v20 geothermal physics** diagnostic, prepared October 1, 2026 Pacific time, compares a fixed, independently selected 20-plant California cohort with final **2025 EIA-923 net generation** and EIA-860 equipment. It asks how the generic liquid-binary assumptions behave against existing-fleet output, not whether a new site's reservoir or ranking is accurate. The scenario uses untested 180°C plant-inlet temperature, 80 kg/s per producer, autosized whole wells, pumping and 90% availability, without fitting these inputs to plant generation.

| Diagnostic cohort | Plants | Modeled-minus-observed annual energy bias | Mean absolute output-factor error |
| --- | ---: | ---: | ---: |
| All plants, generic liquid-binary assumption stress | 20 | +69.23% | 24.31 percentage points |
| Documented binary prime movers only, still unmatched reservoir/rating | 5 | +47.87% | 22.16 percentage points |
| Steam/mixed prime movers, process-unmatched assumption stress | 15 | +70.97% | 25.02 percentage points |

The large residuals are disclosed, without a blanket output correction or ranking calibration. Native-steam/flash plants are not a matched generic liquid-binary design; steam-turbine codes alone do not resolve their fluid process. Reported nameplate versus requested gross rating leaves the gross/net denominator ambiguous. Measured temperature, sustainable flow, injectivity, chemistry, actual cooling/wellfield operation and outages are not matched. Published monthly allocations for annual reporters are not treated as independent monthly observations. Fixed-field 160°C and 200°C sensitivities illustrate unknown-temperature exposure without silently resizing wells. This historical assumption diagnostic is not reservoir proof, a calibrated P50/P90 forecast, developer-outcome validation or a test of v21 geographic temperatures/SAM reference. [Historical diagnostic and plant-level residuals](research/geothermal-output-validation-v20.md), [machine-readable summary](data/validation/geothermal-output-summary.json).

## Historical v12 / v14 operating-plant comparison

The archived 70-plant calculation was refreshed on September 23, 2026 against the then-current v14 method and input hashes. Its physical outputs and cohort results remained unchanged at that release. It records an earlier shared-model baseline, not the v20 geothermal assumption diagnostic or current v21 method, nor the later separate solar/wind development-model validation.

Final 2025 EIA-923 net generation and EIA-860 equipment were matched for 70 independently selected California plants. No losses, score curves or weights were fitted to this cohort. The archived equipment-informed model exceeded observed production by 9.46% for solar (30 plants), 64.73% for wind (20) and 84.06% for geothermal (20). Mean absolute plant output-factor errors were 5.88, 18.63 and 29.07 percentage points. Wind turbine vintage/curves and operating constraints, and geothermal tested productive capacity, were material missing evidence. A regional/new-build scenario was not an actual-plant forecast. These figures and the v20 diagnostic remain historical context; neither supplies a fitted correction, score bonus or validation of current v21 output. [Archived complete comparison](research/eia-generation-validation-v12.md).
