Natural experiments in the record
When something changed on its own — a coordinate correction, a hurricane year, a warm-water year, a deploy — the before and after is a test nobody had to run. Each one here is sealed first (baseline, expectation, falsifier, minimum detectable effect, the author's prediction, a hash) and read second, by the rule written down in advance. The reading vocabulary is fixed in advance: WIN, LOSS, NULL_POWERED (no effect as large as the bar), INCONCLUSIVE (the interval reaches outside the bar on both sides). A confidence interval that includes zero is never read as zero. Every estimate carries a Gelman–Carlin retrodesign: the power to see an effect of this size, the chance the sign is wrong, and how much a "significant" estimate would exaggerate. 4 reads as of 2026-09-27.
model_point_correction_2026-09-14 INCONCLUSIVE
Expectation. daily-high error falls by >= 1 °F once the model describes the right place Falsifier. if tmax and tmin errors do not fall together the change is weather, not the cell; a rain-only change is not attributable (rain is convective and local either way) Correction 2026-09-27: the wrong cell was 44 km to the south-east, not east (Los Llanitos, Zihuatanejo de Azueta). The coordinate commit is dated 2026-09-19; the ledger's model point changes on the 2026-09-14 row because settled rows are re-scored against the point in force at settlement, so the after-window starts 09-14 as sealed. Post hoc: the treatment and the data were seen before this design was written; the seal fixes the read rule, not the author's ignorance.
| outcome | n_before | n_after | mean_before | mean_after | diff | ci | p_welch | p_perm | mde | verdict | retrodesign |
|---|---|---|---|---|---|---|---|---|---|---|---|
| tmax_abs_err_f | 58 | 10 | 2.48 | 1.58 | -0.90 | [-1.6, -0.2] | 0.01 | 0.03 | 1.00 | INCONCLUSIVE | power 0.7132, type S 0.0, type M ×1.189 |
| tmin_abs_err_f | 58 | 10 | 1.91 | 1.71 | -0.20 | [-0.91, 0.51] | 0.58 | 0.66 | 1.00 | NULL_POWERED | power 0.0855, type S 0.0704, type M ×4.361 |
| rain_abs_err_mm | 58 | 10 | 3.71 | 5.03 | 1.32 | [-2.4, 5.05] | 0.49 | 0.53 | 3.00 | INCONCLUSIVE | power 0.107, type S 0.037, type M ×3.495 |
| rain_day_hit_1mm | 58 | 10 | — | — | — | — | — | — | — | INCONCLUSIVE | — |
seal b39de495abd0da50… · sealed 2026-09-27T01:31:30+00:00 · read 2026-09-26
hurricane_within_500km_year WIN
Expectation. hurricane years carry a higher annual PEAK wave power (>= +10 kW/m) and a higher max 1-day rain (>= +20 mm) while the annual MEAN wave power is unchanged Falsifier. if mean_p moves as much as peak_p the effect is a basin-wide energetic year, not the storm Post hoc: the treatment and the data were seen before this design was written; the seal fixes the read rule, not the author's ignorance.
| outcome | n_control | n_treated | mean_control | mean_treated | diff | ci | p_welch | p_perm | mde | verdict | retrodesign |
|---|---|---|---|---|---|---|---|---|---|---|---|
| peak_p | 8 | 39 | 46.25 | 63.34 | 17.09 | [5.11, 29.07] | 0.01 | 0.15 | 10.00 | WIN | power 0.7983, type S 0.0, type M ×1.126 |
| max_1day | 8 | 39 | 123.99 | 100.35 | -23.64 | [-80.36, 33.08] | 0.41 | 0.35 | 20.00 | INCONCLUSIVE | power 0.1293, type S 0.0212, type M ×3.003 |
| mean_p | 8 | 39 | 10.88 | 11.26 | 0.37 | [-0.49, 1.23] | 0.40 | 0.37 | 1.00 | INCONCLUSIVE | power 0.1353, type S 0.0185, type M ×2.905 |
| energetic_days | 8 | 39 | 20.88 | 21.08 | 0.20 | [-8.13, 8.53] | 0.96 | 0.97 | 3.00 | INCONCLUSIVE | power 0.0503, type S 0.4447, type M ×49.21 |
seal 5b43ca6c199e15aa… · sealed 2026-09-27T01:31:30+00:00 · read 2026-09-26
marine_heatwave_year INCONCLUSIVE
Expectation. warm-water years see >= 2 more storms within 1,500 km and an earlier first arrival Falsifier. if storm count does not move, local SST is not the cyclogenesis lever here (basin SST and ENSO are) Caveat 2026-09-27 (from the rainfall preprint): with year and JAS ONI as covariates, wet runs rise +2.83 per °C of ONI (p=0.0002), and the treated warm-water years include 2015 and 2023, so this read does not separate local marine heatwaves from basin ENSO state. wet_runs was a secondary outcome; the primary (storms_1500) is INCONCLUSIVE. Read it as "warm years fragment the rain", not as a local SST effect. Post hoc: the treatment and the data were seen before this design was written; the seal fixes the read rule, not the author's ignorance.
| outcome | n_control | n_treated | mean_control | mean_treated | diff | ci | p_welch | p_perm | mde | verdict | retrodesign |
|---|---|---|---|---|---|---|---|---|---|---|---|
| storms_1500 | 29 | 15 | 14.48 | 15.53 | 1.05 | [-0.9, 3.0] | 0.29 | 0.35 | 2.00 | INCONCLUSIVE | power 0.1839, type S 0.007, type M ×2.374 |
| first_doy | 29 | 15 | 152.97 | 149.40 | -3.57 | [-12.34, 5.21] | 0.43 | 0.46 | 7.00 | INCONCLUSIVE | power 0.1252, type S 0.0233, type M ×3.076 |
| wet_runs | 29 | 15 | 17.21 | 20.47 | 3.26 | [0.88, 5.64] | 0.01 | 0.02 | 2.00 | WIN | power 0.766, type S 0.0, type M ×1.149 |
| max_1day | 29 | 15 | 100.92 | 110.07 | 9.14 | [-38.03, 56.31] | 0.70 | 0.68 | 20.00 | INCONCLUSIVE | power 0.0667, type S 0.1446, type M ×6.249 |
| peak_p | 29 | 15 | 66.22 | 53.86 | -12.36 | [-28.4, 3.67] | 0.13 | 0.24 | 10.00 | INCONCLUSIVE | power 0.3269, type S 0.0008, type M ×1.731 |
seal 5889102755a9bdff… · sealed 2026-09-27T01:31:30+00:00 · read 2026-09-26
hurricane_polo_passage_2026-09 EVENT (n=1, descriptive)
Expectation. pressure dips and rain rises during closest approach; one event, no verdict possible Falsifier. n=1; descriptive only Post hoc: the treatment and the data were seen before this design was written; the seal fixes the read rule, not the author's ignorance.
| day | pressure mb | anomaly vs baseline | rain mm | max gust kt | tmax °F |
|---|---|---|---|---|---|
| 2026-09-20 | 1013.80 | 1.20 | 20.00 | 11.70 | 93.20 |
| 2026-09-21 | 1011.40 | -1.20 | 3.60 | 14.00 | 91.90 |
| 2026-09-22 | 1009.20 | -3.40 | 0.00 | 11.70 | 92.50 |
| 2026-09-23 | 1008.90 | -3.70 | 2.80 | 4.90 | 86.50 |
| 2026-09-24 | 1011.10 | -1.60 | 5.30 | 18.90 | 92.80 |
| 2026-09-25 | 1012.30 | -0.30 | 0.70 | 10.50 | 92.70 |
| 2026-09-26 | 1012.60 | -0.00 | 0.80 | 11.50 | 92.30 |
Baseline 14 days: mean pressure 1012.6 mb, rain 0.5 mm/day, max gust 14.8 kt.
seal a0192786a5ad36ec… · sealed 2026-09-27T01:31:30+00:00 · read 2026-09-26
deploy_2026-09-26_ssr_forecast SEALED
Expectation. AI click-throughs rise from ~1.1/day to >= 2.1/day within 7 days; ChatGPT-User fetch count unchanged Falsifier. if ChatGPT-User fetches of / rise too, the cause is demand not the content
Sealed; not yet graded. The post window has to run first.
seal 193ab5914e936803… · sealed 2026-09-27T01:31:30+00:00
deploy_2026-09-26_robots_api_block SEALED
Expectation. Googlebot hits on /api/ fall by >= 50% (rate ratio <= 0.5) within 7 days Falsifier. no drop within 14 days means Googlebot has not re-read robots.txt or ignores it
Sealed; not yet graded. The post window has to run first.
seal 8b3800a44afe6678… · sealed 2026-09-27T01:31:30+00:00
deploy_2026-09-26_static_species_pages SEALED
Expectation. crawlers fetch >= 50 static species pages per day within 7 days Falsifier. under 10/day after 14 days means the sitemap is not being read
Sealed; not yet graded. The post window has to run first.
seal 020600cd309859f0… · sealed 2026-09-27T01:31:30+00:00
shoreline_H1_structural_effect SEALED
Expectation. Armored reaches show greater retreat / narrower beach / steeper profile than controls after wall activation, with flat pre-treatment differences. Falsifier. no post-treatment divergence beyond the bar, or divergence that begins before construction
Sealed; not yet graded. The post window has to run first.
seal 8b5061f6554c07e9… · sealed 2026-09-27T04:19:49+00:00
shoreline_H2_common_forcing SEALED
Expectation. Armored and control reaches respond alike; 2026 erosion is coast-wide storm forcing. Falsifier. armored-minus-control anomaly departs from zero beyond the bar after construction
Sealed; not yet graded. The post window has to run first.
seal 6def891dff35d1dd… · sealed 2026-09-27T04:19:49+00:00
shoreline_H3_selection SEALED
Expectation. Wall locations were already retreating faster than controls before construction (walls built because of erosion). Falsifier. pre-construction trends of future-wall transects match controls within the bar
Sealed; not yet graded. The post window has to run first.
seal 0df1ccad7263ee99… · sealed 2026-09-27T04:19:49+00:00
shoreline_H4_sediment_cell_shift SEALED
Expectation. Effects appear at wall ends (flanking) or downdrift rather than directly in front of the structures. Falsifier. no end/downdrift anomaly beyond the bar while the fronts show the effect or nothing
Sealed; not yet graded. The post window has to run first.
seal 16c8922f62575d0b… · sealed 2026-09-27T04:19:49+00:00
shoreline_H5_morphology_without_shoreline SEALED
Expectation. Shoreline position changes little while nearshore bathymetry/bar geometry changes measurably (requires repeat bathymetry; forward-only). Falsifier. repeat bathymetry shows no change beyond survey error while shoreline also flat
Sealed; not yet graded. The post window has to run first.
seal b7800dd186fd3442… · sealed 2026-09-27T04:19:49+00:00
shoreline_H6_no_surf_consequence SEALED
Expectation. Morphology changes, but wave-transformation metrics (breakpoint, peel angle, section length) stay inside historical variability (requires camera/peel tracking; forward-only). Falsifier. peel/breakpoint metrics shift beyond their historical variability in the direction predicted by the morphology change
Sealed; not yet graded. The post window has to run first.
seal 801912156cea6c4c… · sealed 2026-09-27T04:19:49+00:00
shoreline_A0_primary_two_sided SEALED
Expectation. H0: change at armored reaches equals the counterfactual (synthetic control from pre-treatment-matched transects in the same morphodynamic cluster); HA: they differ in either direction. Direction is reported, not assumed; improvement, degradation and no change are all admissible outcomes. Falsifier. n/a (primary estimand); the directional H1 sealed earlier is a secondary reading of this one
Sealed; not yet graded. The post window has to run first.
seal ec020f2310d7f99f… · sealed 2026-09-27T04:26:09+00:00
shoreline_A1_d_selection_rule SEALED
Expectation. D = the interval between the last dated image in which the structure is absent and the first in which it is present (Esri Wayback acquisition dates; Sentinel-2 where resolvable); owner-reported dates narrow the interval only if supported by a dated photo; analyses run over the whole interval and report the range of results. D is not chosen by looking at shoreline outcomes. Falsifier. any change to D after outcomes are seen voids and relocks the design
Sealed; not yet graded. The post window has to run first.
seal c9e461f9b2191deb… · sealed 2026-09-27T04:26:09+00:00
shoreline_A2_sesoi SEALED
Expectation. A wall effect smaller than max(2 m of shoreline-equivalent change, 2x the per-transect satellite uncertainty) is operationally negligible for the shoreline outcome; seabed changes smaller than the survey LoD95 are not mapped. Results are read as meaningful effect / meaningful effect excluded / insufficient data, with 95% intervals, not p<0.05 alone. Falsifier. n/a (reading rule)
Sealed; not yet graded. The post window has to run first.
seal 075d3af953cb331b… · sealed 2026-09-27T04:26:09+00:00
shoreline_A3_falsification_battery SEALED
Expectation. The design is valid only if: (1) pre-treatment event-study coefficients are flat (G1); (2) placebo-in-time: a fake D 3-5 years early shows no effect; (3) placebo-in-space: the same pipeline on >=10 unarmored locations gives an empirical null distribution, and the real effect is reported with its rank in it; (4) directional control: equal distance on the non-predicted side; (5) permutation inference over plausible wall locations rather than asymptotic p. Any failure is reported and downgrades the evidence level. Falsifier. failure of any check
Sealed; not yet graded. The post window has to run first.
seal 0e0069525f462b09… · sealed 2026-09-27T04:26:09+00:00
shoreline_A4_mechanisms SEALED
Expectation. If an effect is found, attribute it among M1 placement loss, M2 passive narrowing/coastal squeeze, M3 toe scour, M4 altered longshore transport (end effects), M5 reflection, M6 altered storm recovery (recovery half-life), using spatial pattern, timing relative to hydraulic activation, and recovery curves. Mediators (currents, reflection) are not controlled for when estimating the total effect. Falsifier. a mechanism whose predicted spatial/temporal signature is absent is rejected
Sealed; not yet graded. The post window has to run first.
seal 571e0572c13c6a37… · sealed 2026-09-27T04:26:09+00:00
shoreline_A5_evidence_ladder SEALED
Expectation. Public claims follow the ladder E0 observation, E1 association, E2 temporal consistency, E3 counterfactual support, E4 physical mechanism, E5 surf transformation (morphology change in the wave-sensitive footprint plus modeled and observed breaking change), E6 replication across structures/events. Only E5/E6 permit the words "altered the wave". Beach state and surf-break state are reported separately; no composite index. Falsifier. n/a (reporting rule)
Sealed; not yet graded. The post window has to run first.
seal 145d14f638495e98… · sealed 2026-09-27T04:26:09+00:00
wave_D0_detection_first SEALED
Expectation. Two-sided: the distribution of wave outcomes under matched offshore forcing (Hs, Tp, direction, water level, wind) differs between recent years and the earlier record, beyond natural year-to-year variability. Improvement, degradation and no change are all admissible. Only if detection is positive (by D1 or D2) does the attribution program (shoreline_A0..A5, H1..H6) become the priority; the baseline bathymetry survey proceeds regardless because it cannot be collected retroactively. Falsifier. no detectable change beyond the natural-variability band in any available outcome
Sealed; not yet graded. The post window has to run first.
seal 0f3e6ebecf5ac903… · sealed 2026-09-27T04:34:26+00:00
wave_D1_breakpoint_satellite SEALED
Expectation. Seaward extent and alongshore position of whitewater along the point transects on matched days show no drift beyond the natural-variability band (null) OR drift (report direction and size). Falsifier. n/a two-sided; a shift counts only if it exceeds 2x the per-image foam-line uncertainty and the year-to-year band
Sealed; not yet graded. The post window has to run first.
seal 5348966423cadcba… · sealed 2026-09-27T04:34:26+00:00
wave_D2_caption_record SEALED
Expectation. Share of positive-labelled days within matched forcing strata does not trend across years (null) OR trends (report). Falsifier. n/a two-sided; small n (13 negatives): results reported as directional unless the interval excludes zero
Sealed; not yet graded. The post window has to run first.
seal f4bd25ffc8f7a9d0… · sealed 2026-09-27T04:34:26+00:00
wave_D3_polo_discontinuity SEALED
Expectation. two-sided: a post-event departure larger than the natural-variability band and 2x per-image uncertainty, followed by recovery with tau_r inside or outside the historical distribution; no departure is an admissible outcome Falsifier. post-event matched geometry inside the pre-event band on the first N>=3 matched images
Sealed; not yet graded. The post window has to run first.
seal b0ea1522201010aa… · sealed 2026-09-27T04:54:25+00:00
shoreline_A3b_falsification_battery_v2 SEALED
Expectation. Design valid only if: (1) flat pre-treatment event-study coefficients; (2) placebo-in-time with D shifted 3-5 years early shows no effect; (3) placebo-in-space over ALL eligible unarmored locations in the same morphodynamic cluster (minimum 19; preferably 30-50), exact randomization p = (1 + #placebos with |effect| >= |observed|)/(1 + k), reported with the rank; if fewer than 19 eligible locations exist, the placebo-in-space test is reported as underpowered and cannot support a claim above E2; (4) directional control at equal distance on the non-predicted side; (5) permutation inference over plausible wall locations. Pile-supported decks (Deck 2, Deck 1) are excluded from both treatment and placebo pools. Falsifier. failure of any check
Sealed; not yet graded. The post window has to run first.
seal f862b76469efcde7… · sealed 2026-09-27T04:58:01+00:00
prospective_P0_intervention_trigger SEALED
Expectation. two-sided; improvement, degradation or no change all admissible Falsifier. no departure beyond LoD95 / 2x satellite uncertainty and outside the placebo distribution
Sealed; not yet graded. The post window has to run first.
seal 6b9fbf7834a3162b… · sealed 2026-09-27T05:00:20+00:00
wave_D3b_john_polo_comparator SEALED
Expectation. two-sided: Polo's departure differs from John's by more than 2x the per-image uncertainty and the calendar-year bootstrap CI of the difference excludes zero -> 'Polo differs from John' (attribution then asks about antecedent state: armoring, beach volume, lagoon/arroyo state, antecedent rain; not storm size). Otherwise -> 'no detectable difference'. Improvement, degradation and no change are all admissible. Falsifier. CI of (Polo departure - John departure) includes zero on the first N>=3 images
Sealed; not yet graded. The post window has to run first.
seal 813826d78289f297… · sealed 2026-09-27T05:59:50+00:00
storm_T0_trigger_v2_multisignal SEALED
Expectation. n/a (operational rule); every trigger and every near miss (one signal only) is logged with feed versions Falsifier. n/a
Sealed; not yet graded. The post window has to run first.
seal e7a103dc5940df4a… · sealed 2026-09-27T05:59:50+00:00
Beachfront properties are numbered, not named, in the texts above (Walls 1–3, Decks 1–2, as on the shoreline page). Each seal is a hash of the original sealed text, which is kept in the private ledger.
Cite as: “Natural experiments in the La Saladita record”, La Saladita Field Guide, lasaladita.com/findings/natural-experiments/, updated 2026-09-27. Ledger: data/ground_truth/natural_experiments.jsonl; artifact: /api/findings-natural-experiments. Method: scripts/natural_experiments.py (sealed designs, Gelman–Carlin 2014 retrodesign).