Verify · relationships
Relationships — validated, conditional, or candidly absent.
A relationship earns its class here. Physical edges are established physics, recorded as context — never claimed as our discovery. Statistical edges must beat a time-shuffled null and replicate across at least three sites; anything short of that stays a candidate, in the open. Co-failure between producers means shared upstream evidence — it never implies that one model causes the other's error.
Physically known
context edges
3
recorded, not measured here
Persisted compound risk
episodes
0
from the platform catalog
Validated
statistical edges
43
null ≤ 0.05 and replicated
Candidates
unproven signals
1
failed null or replication
Shared producers
upstreams feeding 2+ families
1
apparent agreement may be one source counted twice
Statistically validated relationships
Lead–lag on absolute forecast error, computed from the receipt ledger. Each edge cleared a 100-draw time-shuffled null and replicates across ≥3 sites. Conditioning shows the effect within each boundary-layer regime band.
| subject → object | scope | best lag | effect (r) | null percentile | n | replicates | conditioned |
|---|---|---|---|---|---|---|---|
| ecmwf_ifs025:wind_speed_10m → meteofrance_seamless:wind_speed_10m ecmwf_ifs025 and meteofrance_seamless errors on wind_speed_10m co-move (r=0.44): shared upstream evidence, not independent forecasts. | all | 0h | 0.44 | 0.00 | 1,406 | no | — |
| ecmwf_aifs025_single:temperature_2m → icon_seamless:temperature_2m ecmwf_aifs025_single and icon_seamless errors on temperature_2m co-move (r=0.50): shared upstream evidence, not independent forecasts. | all | 0h | 0.50 | 0.00 | 1,534 | no | — |
| ecmwf_aifs025_single:temperature_2m → jma_seamless:temperature_2m ecmwf_aifs025_single and jma_seamless errors on temperature_2m co-move (r=0.40): shared upstream evidence, not independent forecasts. | all | 0h | 0.40 | 0.00 | 1,536 | no | — |
| ecmwf_aifs025_single:temperature_2m → meteofrance_seamless:temperature_2m ecmwf_aifs025_single and meteofrance_seamless errors on temperature_2m co-move (r=0.53): shared upstream evidence, not independent forecasts. | all | 0h | 0.53 | 0.00 | 1,532 | no | — |
| ecmwf_aifs025_single:wind_speed_10m → ecmwf_ifs025:wind_speed_10m ecmwf_aifs025_single and ecmwf_ifs025 errors on wind_speed_10m co-move (r=0.46): shared upstream evidence, not independent forecasts. | all | 0h | 0.46 | 0.00 | 1,552 | no | — |
| gfs_seamless:wind_speed_10m → meteofrance_seamless:wind_speed_10m gfs_seamless and meteofrance_seamless errors on wind_speed_10m co-move (r=0.52): shared upstream evidence, not independent forecasts. | all | 0h | 0.52 | 0.00 | 1,418 | no | — |
| icon_seamless:wind_speed_10m → meteofrance_seamless:wind_speed_10m icon_seamless and meteofrance_seamless errors on wind_speed_10m co-move (r=0.32): shared upstream evidence, not independent forecasts. | all | 0h | 0.32 | 0.00 | 1,418 | no | — |
| ecmwf_ifs025:temperature_2m → gfs_seamless:temperature_2m ecmwf_ifs025 and gfs_seamless errors on temperature_2m co-move (r=0.31): shared upstream evidence, not independent forecasts. | all | 0h | 0.31 | 0.00 | 1,553 | no | — |
| jma_seamless:wind_speed_10m → meteofrance_seamless:wind_speed_10m jma_seamless and meteofrance_seamless errors on wind_speed_10m co-move (r=0.33): shared upstream evidence, not independent forecasts. | all | 0h | 0.33 | 0.00 | 1,418 | no | — |
| meteofrance_seamless:wind_speed_10m → ukmo_seamless:wind_speed_10m meteofrance_seamless and ukmo_seamless errors on wind_speed_10m co-move (r=0.46): shared upstream evidence, not independent forecasts. | all | 0h | 0.46 | 0.00 | 1,418 | no | — |
| meteofrance_seamless:temperature_2m → ukmo_seamless:temperature_2m meteofrance_seamless and ukmo_seamless errors on temperature_2m co-move (r=0.46): shared upstream evidence, not independent forecasts. | all | 0h | 0.46 | 0.00 | 1,537 | no | — |
| ecmwf_aifs025_single:wind_speed_10m → gfs_seamless:wind_speed_10m ecmwf_aifs025_single and gfs_seamless errors on wind_speed_10m co-move (r=0.26): shared upstream evidence, not independent forecasts. | all | 0h | 0.26 | 0.00 | 1,535 | no | — |
| ecmwf_aifs025_single:wind_speed_10m → icon_seamless:wind_speed_10m ecmwf_aifs025_single and icon_seamless errors on wind_speed_10m co-move (r=0.47): shared upstream evidence, not independent forecasts. | all | 0h | 0.47 | 0.00 | 1,535 | no | — |
| ecmwf_ifs025:temperature_2m → jma_seamless:temperature_2m ecmwf_ifs025 and jma_seamless errors on temperature_2m co-move (r=0.33): shared upstream evidence, not independent forecasts. | all | 0h | 0.33 | 0.00 | 1,538 | no | — |
| gfs_seamless:temperature_2m → ukmo_seamless:temperature_2m gfs_seamless and ukmo_seamless errors on temperature_2m co-move (r=0.47): shared upstream evidence, not independent forecasts. | all | 0h | 0.47 | 0.00 | 1,539 | no | — |
| icon_seamless:temperature_2m → jma_seamless:temperature_2m icon_seamless and jma_seamless errors on temperature_2m co-move (r=0.39): shared upstream evidence, not independent forecasts. | all | 0h | 0.39 | 0.00 | 1,536 | no | — |
| icon_seamless:wind_speed_10m → ukmo_seamless:wind_speed_10m icon_seamless and ukmo_seamless errors on wind_speed_10m co-move (r=0.48): shared upstream evidence, not independent forecasts. | all | 0h | 0.48 | 0.00 | 1,534 | no | — |
| ecmwf_ifs025:temperature_2m → icon_seamless:temperature_2m ecmwf_ifs025 and icon_seamless errors on temperature_2m co-move (r=0.54): shared upstream evidence, not independent forecasts. | all | 0h | 0.54 | 0.00 | 1,538 | no | — |
| ecmwf_aifs025_single:wind_speed_10m → jma_seamless:wind_speed_10m ecmwf_aifs025_single and jma_seamless errors on wind_speed_10m co-move (r=0.29): shared upstream evidence, not independent forecasts. | all | 0h | 0.29 | 0.00 | 1,534 | no | — |
| ecmwf_aifs025_single:wind_speed_10m → ukmo_seamless:wind_speed_10m ecmwf_aifs025_single and ukmo_seamless errors on wind_speed_10m co-move (r=0.40): shared upstream evidence, not independent forecasts. | all | 0h | 0.40 | 0.00 | 1,535 | no | — |
| ecmwf_aifs025_single:temperature_2m → ecmwf_ifs025:temperature_2m ecmwf_aifs025_single and ecmwf_ifs025 errors on temperature_2m co-move (r=0.48): shared upstream evidence, not independent forecasts. | all | 0h | 0.48 | 0.00 | 1,551 | no | — |
| ecmwf_ifs025:wind_speed_10m → gfs_seamless:wind_speed_10m ecmwf_ifs025 and gfs_seamless errors on wind_speed_10m co-move (r=0.21): shared upstream evidence, not independent forecasts. | all | 0h | 0.21 | 0.00 | 1,538 | no | — |
| temperature_2m → wind_speed_10m |error| of temperature_2m and wind_speed_10m co-move at lag -12h (r=-0.37, beats 100% of shuffled nulls, replicates at 11/28 sites). | all | -12h | -0.37 | 0.00 | 63 | yes | — |
| ecmwf_aifs025_single:wind_speed_10m → meteofrance_seamless:wind_speed_10m ecmwf_aifs025_single and meteofrance_seamless errors on wind_speed_10m co-move (r=0.37): shared upstream evidence, not independent forecasts. | all | 0h | 0.37 | 0.00 | 1,417 | no | — |
| jma_seamless:temperature_2m → ukmo_seamless:temperature_2m jma_seamless and ukmo_seamless errors on temperature_2m co-move (r=0.39): shared upstream evidence, not independent forecasts. | all | 0h | 0.39 | 0.00 | 1,538 | no | — |
| gfs_seamless:temperature_2m → meteofrance_seamless:temperature_2m gfs_seamless and meteofrance_seamless errors on temperature_2m co-move (r=0.36): shared upstream evidence, not independent forecasts. | all | 0h | 0.36 | 0.00 | 1,535 | no | — |
| jma_seamless:wind_speed_10m → ukmo_seamless:wind_speed_10m jma_seamless and ukmo_seamless errors on wind_speed_10m co-move (r=0.32): shared upstream evidence, not independent forecasts. | all | 0h | 0.32 | 0.00 | 1,536 | no | — |
| ecmwf_ifs025:wind_speed_10m → jma_seamless:wind_speed_10m ecmwf_ifs025 and jma_seamless errors on wind_speed_10m co-move (r=0.14): shared upstream evidence, not independent forecasts. | all | 0h | 0.14 | 0.00 | 1,536 | no | — |
| ecmwf_ifs025:wind_speed_10m → ukmo_seamless:wind_speed_10m ecmwf_ifs025 and ukmo_seamless errors on wind_speed_10m co-move (r=0.51): shared upstream evidence, not independent forecasts. | all | 0h | 0.51 | 0.00 | 1,539 | no | — |
| gfs_seamless:wind_speed_10m → icon_seamless:wind_speed_10m gfs_seamless and icon_seamless errors on wind_speed_10m co-move (r=0.21): shared upstream evidence, not independent forecasts. | all | 0h | 0.21 | 0.00 | 1,535 | no | — |
| gfs_seamless:wind_speed_10m → jma_seamless:wind_speed_10m gfs_seamless and jma_seamless errors on wind_speed_10m co-move (r=0.29): shared upstream evidence, not independent forecasts. | all | 0h | 0.29 | 0.00 | 1,535 | no | — |
| gfs_seamless:wind_speed_10m → ukmo_seamless:wind_speed_10m gfs_seamless and ukmo_seamless errors on wind_speed_10m co-move (r=0.42): shared upstream evidence, not independent forecasts. | all | 0h | 0.42 | 0.00 | 1,540 | no | — |
| icon_seamless:wind_speed_10m → jma_seamless:wind_speed_10m icon_seamless and jma_seamless errors on wind_speed_10m co-move (r=0.25): shared upstream evidence, not independent forecasts. | all | 0h | 0.25 | 0.00 | 1,534 | no | — |
| ecmwf_ifs025:temperature_2m → meteofrance_seamless:temperature_2m ecmwf_ifs025 and meteofrance_seamless errors on temperature_2m co-move (r=0.49): shared upstream evidence, not independent forecasts. | all | 0h | 0.49 | 0.00 | 1,538 | no | — |
| ecmwf_ifs025:temperature_2m → ukmo_seamless:temperature_2m ecmwf_ifs025 and ukmo_seamless errors on temperature_2m co-move (r=0.41): shared upstream evidence, not independent forecasts. | all | 0h | 0.41 | 0.00 | 1,539 | no | — |
| gfs_seamless:temperature_2m → icon_seamless:temperature_2m gfs_seamless and icon_seamless errors on temperature_2m co-move (r=0.31): shared upstream evidence, not independent forecasts. | all | 0h | 0.31 | 0.00 | 1,536 | no | — |
| icon_seamless:temperature_2m → meteofrance_seamless:temperature_2m icon_seamless and meteofrance_seamless errors on temperature_2m co-move (r=0.59): shared upstream evidence, not independent forecasts. | all | 0h | 0.59 | 0.00 | 1,537 | no | — |
| icon_seamless:temperature_2m → ukmo_seamless:temperature_2m icon_seamless and ukmo_seamless errors on temperature_2m co-move (r=0.52): shared upstream evidence, not independent forecasts. | all | 0h | 0.52 | 0.00 | 1,539 | no | — |
| ecmwf_ifs025:wind_speed_10m → icon_seamless:wind_speed_10m ecmwf_ifs025 and icon_seamless errors on wind_speed_10m co-move (r=0.55): shared upstream evidence, not independent forecasts. | all | 0h | 0.55 | 0.00 | 1,536 | no | — |
| jma_seamless:temperature_2m → meteofrance_seamless:temperature_2m jma_seamless and meteofrance_seamless errors on temperature_2m co-move (r=0.36): shared upstream evidence, not independent forecasts. | all | 0h | 0.36 | 0.00 | 1,536 | no | — |
| ecmwf_aifs025_single:temperature_2m → gfs_seamless:temperature_2m ecmwf_aifs025_single and gfs_seamless errors on temperature_2m co-move (r=0.33): shared upstream evidence, not independent forecasts. | all | 0h | 0.33 | 0.00 | 1,553 | no | — |
| ecmwf_aifs025_single:temperature_2m → ukmo_seamless:temperature_2m ecmwf_aifs025_single and ukmo_seamless errors on temperature_2m co-move (r=0.39): shared upstream evidence, not independent forecasts. | all | 0h | 0.39 | 0.00 | 1,536 | no | — |
| gfs_seamless:temperature_2m → jma_seamless:temperature_2m gfs_seamless and jma_seamless errors on temperature_2m co-move (r=0.45): shared upstream evidence, not independent forecasts. | all | 0h | 0.45 | 0.00 | 1,536 | no | — |
Lead–Lag Atlas
The full lag scan behind every lead–lag claim, alongside the same effect recomputed inside each boundary-layer regime band. A single winning correlation is not a relationship; the shape of the profile and its behaviour across regimes are.
temperature_2m → wind_speed_10m
candidatebest lag -24h · n 79Conditioned on boundary-layer regime
No conditioning computed for this edge.
temperature_2m → wind_speed_10m
statistically validatedbest lag -12h · n 63Conditioned on boundary-layer regime
No conditioning computed for this edge.
Candidates — signals that did not clear the bar
Kept visible on purpose: today's candidate is either tomorrow's validated edge or a lesson in false positives.
No lead–lag edges computed yet: the receipt ledger holds fewer aligned hourly points than the evidence floor, so the registry abstains rather than speculate. Rows appear as observation history accumulates.
| subject → object | scope | best lag | effect (r) | null percentile | n | replicates | conditioned |
|---|---|---|---|---|---|---|---|
| temperature_2m → wind_speed_10m Beats the time-shuffled null but does not replicate across sites — candidate only. | all | -24h | -0.36 | 0.00 | 79 | no | — |
Physically known edges
The causal backdrop. These are the edges statistical candidates are judged against.
vpd → vegetation_stress
physically knownHigh VPD forces stomatal closure — vegetation stress. Physically known, not measured here.
fire → smoke_pm25
physically knownCombustion emits PM2.5; transport spreads it. Physically known, not measured here.
surface_heat → vpd
physically knownClausius–Clapeyron: warmer air holds more moisture; VPD rises unless humidity follows. Physically known, not measured here.
Shared upstream producers
Model families grouped by the institution that actually produced their inputs, after resolving delivery gateways to the originating centre. Families sharing a row are not independent evidence.
notflat.world internal model family
30 families · 5 domainsAirWatch calibratedAirWatch calibrated PM2.5 headAirWatch calibrated NO2 headAirWatch calibrated O3 headAir GAT candidateAir persistence referenceRegional seismic forecastETAS aftershock forecastSeismic anomaly nowcastSequence progressionSeaWatch SST LightGBMSST anomaly nowcastMarine heatwave episodeWater stressYield anomalySeasonal ensembleClimate projectionOzone damageAnalytical bioAnalytical cropAnalytical diseaseAnalytical pestTrained yieldCrop stressPhenology-aware stress recoveryUrban heat incumbentHistorical climatologyCity climate projectionUrban heat island counterfactualCompound risk eventAIREARTHSEAAGRICULTUREURBAN