3a Block-bootstrap surrogates (B=804 bins≈11 yr, n=5000): raw r(+15d)
p=0.022 — marginally significant on undetrended series, driven by
the shared solar-cycle trend not a causal signal.
3b Partial correlation (sunspot-regressed, no filter): r(+15d) drops
from 0.079 to 0.029 (63%) — confirms solar-cycle confounding without
preprocessing circularity.
3c Spectral coherence in solar-cycle band = 0.840 (>0.776 threshold);
kNN mutual information at τ=+15d = 0.000 nats (p=1.000) — no
nonlinear dependence at the claimed lag.
3d Missing-data impact: 0% NaN at station thresholds 2/3/5; r(+15d)
unchanged — missing data is not a confound.
3e Bin-size sensitivity: dominant peak at τ≈-520d for 1/5/27-day bins;
r at +15d scales with bin size (solar-cycle leakage, not physical).
3f GK declustering removes 28.4% of events as aftershocks; r(+15d)
changes by only Δ=0.014 — aftershock clustering not a confound.
3g Per-solar-cycle analysis (cycles 21–24): r(+15d) all positive
(0.018–0.073) but dominant peak lags scattered (-65/-125/+125/-125d)
— phase-drifting solar-cycle artefact, not physical precursor.
Script fixes: vectorised block bootstrap (401×5000 → NumPy matmul),
kNN MI with sorted searchsorted (O(N log N), no inflated values),
coherence nperseg 512→2048 (resolves solar-cycle band), axhspan→axvspan.
Paper: new Methods subsections (block bootstrap, partial correlation,
nonlinear dependence); new Results subsections for each check; updated
Conclusions with 7-item robustness summary; Kraskov2004 and
GardnerKnopoff1974 added to refs.bib; Homola2023 updated to arXiv
preprint 2204.12310; eq:energy duplicate label fixed. PDF: 35 pages.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2a — Replace physically invalid summed-Mw seismic metric with correct
log10(ΣE) where E=10^(1.5·Mw+4.8) J (Kanamori 1977). Updates
usgs.py (new seismic_energy_per_bin()), scripts 02/07/08.
Impact: r(+15d) raw 0.310→0.081, peak r 0.469→0.139; sinusoidal
BF 27.5→0.75 (constant model now preferred).
2b — HP λ derivation: λ_5 = 1600×(365/5)^4 ≈ 4.54×10^10 (Ravn & Uhlig
2002 rescaling); detrend robustness figure (HP/Butterworth/rolling
mean), all show r(+15d)<0.04.
2c — Neff comparison: Bartlett 2923, Bretherton 769, Monte Carlo 594;
MC 95% CI [-0.002, +0.158] straddles zero → raw r not significant
under most conservative estimate.
2d — Magnitude threshold (M≥4.5/5.0/6.0): r(+15d) range 0.050–0.079
(Δ=0.029 < 0.05), peak stable at τ=−525 d; no aftershock bias.
Paper (main.tex, refs.bib): update all numbers, add Kanamori/Bartlett/
Ravn–Uhlig refs, new sections for 2b–2d with figures and Neff table.
PDF recompiled (27 pages).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New script 09_raw_pairwise_correlations.py downloads OOS NMDB/USGS data
and computes Pearson r and Spearman ρ (with Bonferroni correction) for
all three variable pairs across in-sample, OOS, and combined windows.
CR flux is represented by its per-bin station distribution (p5–p95 band
with min–max overlay); seismic energy uses the physically correct
E ∝ 10^(1.5·Mw) sum; sunspots shown with 365-day smoothed + raw spread.
Key findings: CR vs sunspot r=-0.82 to -0.94 (Forbush decrease); CR vs
seismicity r=0.057 raw (OOS: r=0.046, not significant); confounding
triangle motivates HP-filter detrending analysis.
Paper gains a new Section 4.1 "Raw Pairwise Correlations" with three
scatter figures and a 9-test Bonferroni summary table; 24 pages total.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
surrogates_gpu.py: auto_batch_size was missing the irfft output buffer
(batch × T × 4 bytes) from its per-surrogate VRAM estimate, causing OOM
on long series (T≈3600). Added the missing term.
08_combined_timeseries.py: write_combined_report crashed with TypeError
when in-sample load failed (keys absent → None). Added _fv() helper that
formats None values as "N/A" instead of failing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When load_usgs returns an empty DataFrame it has a RangeIndex, causing
resample("1D") to throw TypeError. Guard with an isinstance check and
fall back to a zero series so the rest of the pipeline continues.
Also aligns expected usgs-dir path with what script 06 wrote.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Scripts 01-08 implement the complete cosmic-ray/earthquake correlation
analysis from data ingestion through out-of-sample validation and
combined timeseries sinusoid fitting.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>