{
  "status": "passed_consistency_gate",
  "target": "2026 retained strict summer LST median, averaged to 100 m; original cells unchanged",
  "model": "Same-date observed TIRS radiance and atmospheric correction, six-date seasonal features, HistGradientBoosting residual calibration to the retained summer composite",
  "features": [
    "median atmosphere-corrected blackbody temperature C",
    "summer NDVI",
    "terrain elevation m",
    "median atmospheric transmittance",
    "median downwelling radiance",
    "blackbody temperature p25 C",
    "blackbody temperature p75 C"
  ],
  "parameters": {
    "max_iter": 110,
    "max_leaf_nodes": 15,
    "learning_rate": 0.07,
    "l2_regularization": 3,
    "min_samples_leaf": 50,
    "early_stopping": false,
    "random_state": 20261016
  },
  "dates": [
    "lst_20260630",
    "lst_20260709",
    "lst_20260801",
    "lst_20260802",
    "lst_20260809",
    "lst_20260810"
  ],
  "validation": {
    "block_m": 2000,
    "buffer_m": 500,
    "folds": [
      {
        "n": 8631,
        "mae_c": 0.7667475938796997,
        "rmse_c": 1.0244476795196533,
        "bias_c": 0.14684578776359558,
        "p95_abs_error_c": 2.1830873489379883,
        "r2": 0.9529992341995239
      },
      {
        "n": 8778,
        "mae_c": 0.7233582735061646,
        "rmse_c": 0.946736752986908,
        "bias_c": 0.011398812755942345,
        "p95_abs_error_c": 1.9275460243225098,
        "r2": 0.9552153944969177
      },
      {
        "n": 7519,
        "mae_c": 0.7404577136039734,
        "rmse_c": 0.985403835773468,
        "bias_c": 0.03223675861954689,
        "p95_abs_error_c": 1.9680917263031006,
        "r2": 0.9470970034599304
      },
      {
        "n": 6204,
        "mae_c": 0.7468984723091125,
        "rmse_c": 0.9961016178131104,
        "bias_c": -0.21084171533584595,
        "p95_abs_error_c": 2.034931182861328,
        "r2": 0.9563589096069336
      },
      {
        "n": 12173,
        "mae_c": 0.6605254411697388,
        "rmse_c": 0.9026534557342529,
        "bias_c": 0.08022082597017288,
        "p95_abs_error_c": 1.7830740213394165,
        "r2": 0.959801435470581
      }
    ],
    "overall": {
      "n": 43305,
      "mae_c": 0.7206852436065674,
      "rmse_c": 0.9646944999694824,
      "bias_c": 0.029519440606236458,
      "p95_abs_error_c": 1.9766308069229126,
      "r2": 0.9551432728767395
    },
    "strata": {
      "low_ndvi": {
        "n": 2535,
        "mae_c": 0.7376356720924377,
        "rmse_c": 0.9955477118492126,
        "bias_c": -0.09706465154886246,
        "p95_abs_error_c": 1.952696681022644,
        "r2": 0.7507467865943909
      },
      "medium_ndvi": {
        "n": 25643,
        "mae_c": 0.7647358179092407,
        "rmse_c": 1.031532883644104,
        "bias_c": 0.034645870327949524,
        "p95_abs_error_c": 2.104086399078369,
        "r2": 0.8828063011169434
      },
      "high_ndvi": {
        "n": 15066,
        "mae_c": 0.6425843238830566,
        "rmse_c": 0.8319478034973145,
        "bias_c": 0.04404590278863907,
        "p95_abs_error_c": 1.7127723693847656,
        "r2": 0.773500382900238
      },
      "upland": {
        "n": 5397,
        "mae_c": 0.6371799111366272,
        "rmse_c": 0.8045895099639893,
        "bias_c": 0.05466470494866371,
        "p95_abs_error_c": 1.6042441129684448,
        "r2": 0.8683989644050598
      },
      "ndvi_missing": {
        "n": 61,
        "mae_c": 0.7880409359931946,
        "rmse_c": 1.110743761062622,
        "bias_c": -0.4528091847896576,
        "p95_abs_error_c": 2.24560546875,
        "r2": 0.8388491868972778
      }
    }
  },
  "limitations": [
    "Held-out agreement is against retained satellite estimates, not field validation or absolute accuracy.",
    "Actual gaps have missing or high-uncertainty emissivity; their errors can exceed validation errors.",
    "Prediction uses at least four of six cloud-filtered radiance dates, not new independent surface-temperature observations.",
    "Seasonal calibration reduces sample-date differences but does not make sampling uniform.",
    "NDVI is a seasonal predictor, not tree canopy or a same-date vegetation observation.",
    "Thermal detail remains about 100 m. No building-specific temperature or air temperature.",
    "Predictor extrapolation is separately flagged and shown with the same visual quality marks on all surfaces; excluded from numerical neighbourhood summaries.",
    "The final small cloud-buffer patch uses spatial interpolation from model neighbours; no clear-sky LST measurement is claimed there."
  ],
  "grid": {
    "crs": "EPSG:32633",
    "nx": 411,
    "ny": 440,
    "resolution_m": 100,
    "transform": [
      100.0,
      0.0,
      558000.0,
      0.0,
      -100.0,
      5093800.0
    ],
    "bounds": [
      558000,
      5049800,
      599100,
      5093800
    ]
  },
  "coverage": {
    "land_pixels": 704497,
    "original_pixels": 646383,
    "model_added_pixels": 58114,
    "model_supported_pixels": 57597,
    "model_extrapolated_pixels": 268,
    "remaining_pixels": 0,
    "combined_fraction": 1.0,
    "model_added_km2": 52.3026,
    "spatial_context_pixels": 249
  },
  "original_context_sha256": "3d06f1f46f6eb97c18f4b40cad8a9027e0d75c23b3bced7268a94f6c4c4ccb0a",
  "original_cells_preserved": true,
  "source_codes": {
    "0": "outside land domain",
    "1": "original accepted observation/composite",
    "2": "seasonal model estimate, predictors within training ranges",
    "3": "seasonal model estimate, some predictors outside training ranges; lower support; visual context only",
    "4": "spatial estimate of residual cloud-buffer patch; visual context only"
  },
  "spatial_context": {
    "validation": "300 m artificial withheld disks in retained high-NDVI satellite cells; observed donors 300–1200 m away. Not validation inside actual missing patch.",
    "n": 297,
    "rmse_c": 0.7981512441653635,
    "mae_c": 0.5889381048433378,
    "p95_abs_error_c": 1.710223316848279,
    "pixels": 249,
    "area_km2": 0.2241,
    "max_donor_distance_m": 440.0,
    "method": "Inverse-distance-squared estimate from 8 radiance-based model neighbours within 800 m. Only residual 249 native-grid land cells.",
    "use": "Visual context only on terrain and buildings; excluded from numeric neighbourhood summaries."
  },
  "sources": [
    "https://developers.google.com/earth-engine/datasets/catalog/LANDSAT_LC09_C02_T1_L2",
    "https://www.usgs.gov/landsat-missions/using-usgs-landsat-level-1-data-product",
    "https://planetarycomputer.microsoft.com/dataset/landsat-c2-l2"
  ],
  "generated_on": "2026-10-16"
}