{"version":"signed-reference-4.0","created_utc":"2026-09-21T05:50:27.294239+00:00","years":[2021,2022,2023,2024,2025],"scenes":99,"dates":26,"cells":9686,"controls":300,"cell_size_m":75,"cell_spacing_m":105,"radius_m":600,"counts":{"high_anomaly":1057,"temporally_supported":9544,"priority":327},"patterns":[{"pattern_id":1,"interpretation":"Joint mild increase","project_cell_count":4365,"median_ml_anomaly_percentile":0.4542635658914728,"median_ndre_theil_sen_slope":0.002566173672676,"median_ndre_change_2021_2025":0.0079204440116882,"median_ndvi_theil_sen_slope":0.0012493729591369,"median_canopy_height_m":19.0},{"pattern_id":2,"interpretation":"NDVI-led decline","project_cell_count":2958,"median_ml_anomaly_percentile":0.7501661129568106,"median_ndre_theil_sen_slope":-0.0029492688675720998,"median_ndre_change_2021_2025":-0.01733297109603875,"median_ndvi_theil_sen_slope":-0.00656577696402865,"median_canopy_height_m":18.0},{"pattern_id":3,"interpretation":"Variable or non-monotonic","project_cell_count":1030,"median_ml_anomaly_percentile":0.9220376522702104,"median_ndre_theil_sen_slope":-0.0046999305486679,"median_ndre_change_2021_2025":-0.021111637353897,"median_ndvi_theil_sen_slope":-0.00187590469916655,"median_canopy_height_m":20.0},{"pattern_id":4,"interpretation":"Joint increase","project_cell_count":913,"median_ml_anomaly_percentile":0.8702104097452935,"median_ndre_theil_sen_slope":0.0062623272339502,"median_ndre_change_2021_2025":0.0211174488067626,"median_ndvi_theil_sen_slope":0.0044302195310592,"median_canopy_height_m":17.0},{"pattern_id":5,"interpretation":"NDRE-led decline","project_cell_count":420,"median_ml_anomaly_percentile":0.9991140642303432,"median_ndre_theil_sen_slope":-0.0142621845006942,"median_ndre_change_2021_2025":-0.0877153873443603,"median_ndvi_theil_sen_slope":-0.00139046460390085,"median_canopy_height_m":22.0}],"features":["ndre_delta_2022_2021","ndre_delta_2023_2021","ndre_delta_2024_2021","ndre_delta_2025_2021","ndvi_delta_2022_2021","ndvi_delta_2023_2021","ndvi_delta_2024_2021","ndvi_delta_2025_2021"],"model":{"families":3,"variants":[{"kind":"mahalanobis","parameter":0.1,"seed":20260817},{"kind":"mahalanobis","parameter":0.3,"seed":20260817},{"kind":"mahalanobis","parameter":0.6,"seed":20260817},{"kind":"pca","parameter":0.8,"seed":20260817},{"kind":"pca","parameter":0.9,"seed":20260817},{"kind":"pca","parameter":0.95,"seed":20260817},{"kind":"iforest","parameter":64.0,"seed":20267281},{"kind":"iforest","parameter":64.0,"seed":20268290},{"kind":"iforest","parameter":64.0,"seed":20269299},{"kind":"iforest","parameter":128.0,"seed":20273745},{"kind":"iforest","parameter":128.0,"seed":20274754},{"kind":"iforest","parameter":128.0,"seed":20275763},{"kind":"iforest","parameter":256.0,"seed":20286673},{"kind":"iforest","parameter":256.0,"seed":20287682},{"kind":"iforest","parameter":256.0,"seed":20288691}],"isolation_trees":128,"block_m":1500,"buffer_m":150,"family_weight":0.3333333333333333,"pattern_seed":20260913,"pattern_starts":20,"pattern_separation":0.377408},"validation":{"scheme":"Five spatial groups; three train, one calibration, one test; 150 m control exclusion; no full-control refit","folds":[{"fold":0,"train":177,"calibration":71,"test":52,"minimum_train_test_distance_m":535.3970489272424,"minimum_calibration_test_distance_m":757.1657678474378},{"fold":1,"train":174,"calibration":55,"test":71,"minimum_train_test_distance_m":535.3970489272424,"minimum_calibration_test_distance_m":612.2499489587566},{"fold":2,"train":186,"calibration":59,"test":55,"minimum_train_test_distance_m":535.3970489272424,"minimum_calibration_test_distance_m":612.2499489587566},{"fold":3,"train":178,"calibration":63,"test":59,"minimum_train_test_distance_m":535.3970489272424,"minimum_calibration_test_distance_m":638.6900656813131},{"fold":4,"train":185,"calibration":52,"test":63,"minimum_train_test_distance_m":535.3970489272424,"minimum_calibration_test_distance_m":638.6900656813131}],"controls":300,"heldout_high_count":1,"heldout_high_fraction":0.003333,"heldout_family_consensus_count":1,"old_new_spearman":0.979456,"old_new_high_jaccard":0.771263,"shifted_spearman":0.980218,"shifted_high_jaccard":0.74322,"limitation":"Controls were selected for stable five-year trajectories. This tests relative screening consistency within that selected cohort, not field accuracy or nominal false-positive control. Mean family ranks are not probabilities or p-values. A block shift is a sensitivity check, not independent replication."},"packages":{"python":"3.12.13","numpy":"2.4.6","pandas":"3.0.3","scipy":"1.17.1","gdal":"3130100","matplotlib":"3.10.9"},"backgrounds":{"canopy":{"url":"data/canopy.png?v=876eb735ecd0","sha256":"876eb735ecd0d8e342261b048bf23103aa09522b40af718d04d67043332da9a0","bounds":[[44.852210226509996,-88.98451815165339],[44.9435692344267,-88.73237436698058]],"display_crs":"EPSG:3857","label":"Historical canopy height","source":"Meta CHM v2; structural baseline"},"2021":{"url":"data/rgb_2021.png?v=cc3aa6acc755","sha256":"cc3aa6acc7550880a0014c5b17d6d9a58c341e4d8a54bfb0684865da3c09ae44","bounds":[[44.85219407973247,-88.98451815165339],[44.943569812040224,-88.7323282430699]],"display_crs":"EPSG:3857","label":"Planet RGB · 2021-07-11","date":"2021-07-11","scene_ids":["20210711_155724_02_2430","20210711_155726_32_2430","20210711_160153_82_245a","20210711_160156_12_245a","20210711_160158_43_245a"],"source":"Same-day scene mosaic; highest-confidence clear UDM2 pixel; 15 m display sampling","display_stretch":"DN 300–2500, gamma 1/1.8; identical for both dates","display_valid_fraction":0.943529,"coverage_note":"Fraction of the rectangular target grid; transparent remainder includes pixels outside the AOI/data footprint."},"2025":{"url":"data/rgb_2025.png?v=9147bdb33d7e","sha256":"9147bdb33d7e4f44c29899ec6655caf9b8c6d2f3abdfe6247207e88c545fa9a8","bounds":[[44.85219407973247,-88.98451815165339],[44.943569812040224,-88.7323282430699]],"display_crs":"EPSG:3857","label":"Planet RGB · 2025-07-03","date":"2025-07-03","scene_ids":["20250703_170831_87_251f","20250703_170833_90_251f","20250703_171844_34_2522","20250703_171846_46_2522"],"source":"Same-day scene mosaic; highest-confidence clear UDM2 pixel; 15 m display sampling","display_stretch":"DN 300–2500, gamma 1/1.8; identical for both dates","display_valid_fraction":0.943852,"coverage_note":"Fraction of the rectangular target grid; transparent remainder includes pixels outside the AOI/data footprint."}},"bounds":[[-88.98164,44.85624],[-88.73494,44.85624],[-88.73494,44.93955],[-88.98164,44.93955],[-88.98164,44.85624]],"source_hashes":{"project_grid.csv":"c8b371d48307608802fd881f19af8d3532c68f8aa35359ff839cf1281ccbbf6c","controls.csv":"bb8f80b69b8ec041f5798eedb84b8d0c02f0e68ca91f752e75e3c6a11ad1377c","scene_inventory_used.csv":"9f570fa888310bf81ef623fbcc612d61f3b75e7333dbf3df25c9a6852759a929","SMC_AOI.geojson":"13b7f5351d4f274fda18a6b45fbd6de53418d87dcdbab5d82ec58ea279bd9282"},"code_hashes":{"audit_rgb_coverage.py":"0f8c139abd004dfceb716dfd1805939061a87a68f12b19c2e0c509b0c52513ad","build_atlas.py":"47f33abaec246ae972f68bd3e9e042b59d84e2763f36d8fb7cf892ec5501fcd6","build_full_rgb_mosaic.py":"1f9108c16086956d634dcea753a1eb9fca5fde3179f971d4840431d5522caf33","build_pilot.py":"90db66b80cfe02531a1b955968a695a5107b986c963787e472622ddffc09caa8","coordinate_analysis.py":"17dff1bc2832afb35054c0e2ff912e3bfaf8dba50dcf0cb3c09ed50b4ffbb5c8","rebuild_reference.py":"3fbaf5db94ab5d65101b34acd3add16c0bd9c3e92a3a86dfe18146452e94377a","server.py":"dcd9059dd901be4af01670e98ad3a026dbdb8087aaefecbecca73b8634231079","spatial_model.py":"f3f6308359ed81788008a2fa18319efe222bd5df9b46e503a1f86716b526d777","verify_api.py":"f4816602ece34a6e54dc6e7c234d0e30022baf88991ea26cf1e607f878fe1856","verify_workflow.py":"22df9354133835d1bd3339d18c9cb2dd6ca9511593eb6d90cbc326b31c74c1be"},"source_stats_unchanged":true,"input_correction":{"matched_cells":2522,"old_cells":2522,"rebuilt_cells":9686,"control_pool":4160,"reference_controls":300,"signature":"cfc7f82514b239fec90da1c7e86ed4642d9eec4a164be896072b1c3daec34c6f","unsigned_sentinel_example":[100,255],"dates_per_year":{"2021":{"old_median":1.0,"rebuilt_median":4.0,"different_cells":2507},"2022":{"old_median":3.0,"rebuilt_median":5.0,"different_cells":2520},"2023":{"old_median":2.0,"rebuilt_median":5.0,"different_cells":2520},"2024":{"old_median":1.0,"rebuilt_median":3.0,"different_cells":2496},"2025":{"old_median":1.0,"rebuilt_median":2.0,"different_cells":2016}},"median_absolute_ndre_difference":{"2021":0.012154902029037462,"2022":0.010985804852676417,"2023":0.004938757637023894,"2024":0.00719397520523074,"2025":0.007285292071914695},"source_stats_unchanged":true,"generated_utc":"2026-09-18T23:39:56.861423+00:00","seconds":106.5},"comparison_note":"The previous ensemble method was refitted on the same corrected inputs. This isolates the method comparison from the separate input correction. Original published scores remain in the historical files.","limits":["75 m sampled cells spaced 105 m apart; gaps are not predictions.","Historical CHM defines forest context, not contemporary canopy loss.","Project trajectories use annual date medians and Theil–Sen; coordinate refinement additionally fits all-date Huber trends.","Largest robust deviation is a descriptive feature difference, not model attribution or a cause."],"references":["https://leafletjs.com/reference.html","https://scikit-learn.org/stable/modules/cross_validation.html","https://scikit-learn.org/stable/modules/outlier_detection.html"]}