External waveform data
This workflow keeps downloaded waveform datasets outside TorchWave's source tree, wheels, and source distributions. TorchWave's code license remains MIT; external datasets retain their own upstream terms.
SEOBNR_ROM and SEOBNRv4_ROM require the upstream authors' ROM tables.
The evaluator is native Torch/JAX code, while the bases and interpolation
coefficients are third-party data, not numbers generated by diffgw. Direct
SEOBNR_ROM class construction also selects this official evaluator. The former
unvalidated bundled surrogate and seobnrv5rom alias have been removed.
The SEOBNRv4ROM v3 dataset is available from
Zenodo record 14999310. The data keeps
its upstream terms; this project does not make a legal clearance claim.
Install the optional rom-official dependency (h5py) when using it. The
torchwave-data CLI reports, verifies, and fetches datasets only when explicitly
requested. Its search order is an explicit path, TORCHWAVE_DATA_PATH,
LAL_DATA_PATH, and the user cache ($XDG_CACHE_HOME/torchwave/waveform-data,
or ~/.cache/torchwave/waveform-data when XDG_CACHE_HOME is unset):
# Using the console script entrypoint
torchwave-data list
torchwave-data info seobnrv4-rom-v3
torchwave-data verify seobnrv4-rom-v3
torchwave-data fetch seobnrv4-rom-v3
# Or via the Python module
python -m torchwave.external_data list
The default fetch location is discovered automatically during waveform loading. For a custom external directory, download there and configure lookup:
torchwave-data fetch seobnrv4-rom-v3 --directory /path/to/cache
export TORCHWAVE_DATA_PATH=/path/to/cache
torchwave-data verify seobnrv4-rom-v3
Alternatively, pass the downloaded file or its directory explicitly to
OfficialSEOBNRv4ROM(model_path=...). Production loading checks the pinned SHA-256
before reading the ROM tables. A missing or corrupt file produces an error.
Fetch requires the explicit fetch command and a writable external directory;
no dataset is downloaded during installation or normal waveform evaluation.
No complete standalone XHM 122022 supplementary dataset is registered, so this
workflow cannot yet supply its missing calibration data. Download support does
not change the numerical parity results or replace missing waveform drivers.
The paper-era arXiv v2 archive inventory and the absence of an authoritative
122022 release mapping are recorded in the
XHM/XPHM release-qualification receipt.
The optional independent IMRPhenomHM physical holdout uses the official
SXS:BBH:2265v3.0 record.
Its six exact source-file identities, conditioning, and fixed gates are in the
precommitted protocol.
The scripts/prepare_imrphenomhm_sxs_nr_holdout.py script downloads
and verifies Lev3/Lev2 N2 strain to a user-selected directory outside the
repository, then writes a derived fixture beside the raw files. It is not a
runtime dependency and no SXS waveform array is packaged with diffgw.
The independent second case uses
SXS:BBH:3631v3.0, with its own
precommitted protocol,
red receipt,
scripts/prepare_imrphenomhm_sxs_3631_nr_holdout.py, and strict external-data
test. Both cases currently fail physical six-mode gates.
The separate SXS:BBH:3619v3.0
projected-strain holdout has a frozen protocol,
red receipt,
external-data preparation script, and strict test. Its model matches pass, but
its predeclared Lev2–Lev3 resolution screen fails, so it supplies no physical
qualification. Its raw and derived SXS arrays also remain outside Git.
The later SXS:BBH:3630v3.0
projection holdout has its own frozen protocol,
red receipt,
preparation script, and strict test. Its predeclared common time/orbital-phase
Lev2–Lev3 screen passes, but one model/NR amplitude gate fails. Its raw and
derived arrays also remain outside Git.