# H01 fixed-shortlist environmental matching v2

## Decision

The unchanged eight-pair H01 shortlist is **not environmentally comparable under the prospectively frozen v2 rules**.

Only `H01-M63-03` passes the complete weather, wave, and seismic bundle. The protocol required at least five passing pairs and at least one in each acquisition block. The observed counts are:

| Acquisition block | Passing / fixed pairs |
|---|---:|
| `exact_1_3` | 0 / 2 |
| `usable_nonexact_3_5` | 0 / 3 |
| `exact_5_7` | 1 / 3 |
| **All blocks** | **1 / 8** |

Seven pairs fail at least one weather rule, three of those also fail a wave rule, and no pair fails the conservative seismic-arrival exclusion. All eight pairs remain in the denominator. No control was rematched, substituted, or deleted.

This result is a design decision about environmental comparability. It is not an acoustic result and says nothing about whether a ship contributed to measured noise.

## Prospective boundary

Before target H01 weather values were requested, v2 froze:

- the byte-exact existing `H01-M63-01` through `H01-M63-08` membership;
- five NASA POWER weather points, exact UTC dates and hourly semantics;
- the official `PRECTOT` request to `PRECTOTCORR` response alias;
- precipitation as mm/hour with no numeric conversion;
- the official CMEMS wave and USGS ComCat inputs and hashes;
- every weather, wave, source-age, and seismic gate;
- no imputation, no pair deletion, five required passing pairs, and representation from all three acquisition blocks;
- terminal no-outcome, no-RAM, no-678-row, no-ARA, no-upload, and no-tuning boundaries.

The exact freeze is in `protocol.json` and `freeze-manifest.json`.

## POWER alias and unit resolution

The official POWER Hourly API documentation says hourly precipitation is shown in mm/hour and uses `PRECTOT` in its request example. The current Manager catalog identifies `PRECTOT` as mm/hour but `PRECTOTCORR` as mm/day. A frozen non-target schema probe at 0°N, 0°E requested `PRECTOT` and returned exactly `PRECTOTCORR` under Hourly API v2.9.8.

V2 resolved this before target values as follows: request `PRECTOT`, accept only the exact `PRECTOTCORR` response alias, interpret the delivered hourly values as millimetres over the represented hour, and apply no divide-by-24 conversion. The service-specific hourly delivery contract controls the analysis units; the conflicting Manager label is preserved as provenance rather than silently discarded.

The first target response then exposed a second header-only issue before numeric values were accessed or saved: a mixed wind/precipitation request reports the source union `MERRA2, POWER`, while the precipitation-only probe had reported only `MERRA2`. Append-only amendment 001 accepts that exact unordered source set based on the official Manager metadata (`POWER` for wind) without changing a request, value, unit, caliper, membership, or decision rule. The following exact acquisition completed.

## Complete covariate bundle

- NASA POWER: five fixed points, 192 hourly UTC timestamps per point, `WS10M`, `WD10M`, and the `PRECTOTCORR` response alias; every value finite; no credentials; exact response bytes and hashes retained.
- CMEMS: reused the already validated official `GLOBAL_ANALYSISFORECAST_WAV_001_027` / `cmems_mod_glo_wav_anfc_0.083deg_PT3H-i` version `202411` nearest-centroid `VHM0`, `VTM10`, `VTPK`, and `VMDR` values with 0–2 hour forward-hold ages.
- USGS: reused the pinned ComCat regional M2.5+/global M6+ event union. The one global M6.1 Kermadec event produces a conservative WGS84-distance arrival-exclusion interval of `2026-02-04T10:39:28Z` through `2026-02-04T12:31:33Z`; none of the 16 fixed scenes overlaps it.

## Pair accounting

| Pair | Weather | Wave | Seismic | Overall |
|---|---|---|---|---|
| `H01-M63-01` | Fail | Pass | Pass | Fail |
| `H01-M63-02` | Fail | Pass | Pass | Fail |
| `H01-M63-03` | Pass | Pass | Pass | **Pass** |
| `H01-M63-04` | Fail | Pass | Pass | Fail |
| `H01-M63-05` | Fail | Fail | Pass | Fail |
| `H01-M63-06` | Fail | Fail | Pass | Fail |
| `H01-M63-07` | Fail | Fail | Pass | Fail |
| `H01-M63-08` | Fail | Pass | Pass | Fail |

The weather failures are driven by prospectively fixed wind differences for pairs 01 and 05 and/or precipitation wet/dry discordance across the spatial stencil for pairs 02 and 04–08. Pair 04 also exceeds the 1 mm/hour centre precipitation-difference limit. Wave failures are the predeclared peak/mean-period or significant-height gates for pairs 05–07. No threshold was changed after these values were opened.

Full scalar accounting is in `results/pair-assessment.csv`; the 80 scene-point weather rows, 16 wave/seismic scene rows, seismic interval, source manifest, and machine-readable decision are retained alongside it.

## Independent validation and limits

The independent validator re-read the raw POWER responses, pinned CMEMS and USGS tables, v1 hashes, membership, metadata resolution, freeze, amendment, and result tables. It independently recomputed all eight gates and the decision. All 24 checks pass, reproducing one passing pair and the same block counts.

V1 remains byte-for-byte unchanged. Its authoritative interpretation is a prospective protocol/schema failure caused by an alias-blind check, not evidence that POWER precipitation was unavailable or that NASA POWER was an inadequate source.

No acoustic outcome or waveform was opened or recomputed. RAM was not run; the 678-row table and ARA were not accessed; nothing was uploaded or shared; canonical project documents were not edited.
