{
 "ocl_version": "0.1.0",
 "name": "Spirelake Hill",
 "slug": "spirelake-hill",
 "confidence": "U",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 41.97399580553238,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 950.0,
   "end_distance_m": 952.0,
   "start_elevation_m": 127.21189502216397,
   "end_elevation_m": 128.05137493827462,
   "min_gradient_pct": -47.95969651536893
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 40.14908274727039,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 1015.0,
   "end_distance_m": 1018.0,
   "start_elevation_m": 137.48152600855403,
   "end_elevation_m": 138.68599849097214,
   "min_gradient_pct": -43.868720244082716
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 39.78934879693554,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1013.0,
   "end_distance_m": 1018.0,
   "start_elevation_m": 136.69653105112536,
   "end_elevation_m": 138.68599849097214,
   "min_gradient_pct": -31.859591074157265
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 31.60062916788945,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1009.0,
   "end_distance_m": 1019.0,
   "start_elevation_m": 135.8017296347327,
   "end_elevation_m": 138.96179255152165,
   "min_gradient_pct": -19.966480202395473
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 25.450491973568745,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 999.0,
   "end_distance_m": 1019.0,
   "start_elevation_m": 133.8716941568079,
   "end_elevation_m": 138.96179255152165,
   "min_gradient_pct": -15.225498940089679
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 23.1385181025355,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 994.0,
   "end_distance_m": 1019.0,
   "start_elevation_m": 133.17716302588778,
   "end_elevation_m": 138.96179255152165,
   "min_gradient_pct": -14.941740548001349
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 18.714557097541217,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 969.0,
   "end_distance_m": 1019.0,
   "start_elevation_m": 129.60451400275105,
   "end_elevation_m": 138.96179255152165,
   "min_gradient_pct": -11.734115972162101
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 16.014033038431876,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 919.0,
   "end_distance_m": 1019.0,
   "start_elevation_m": 122.94775951308978,
   "end_elevation_m": 138.96179255152165,
   "min_gradient_pct": -8.716271512719885
  }
 ],
 "shape": {
  "ascent_concentration": 0.522,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 78.0,
  "shape_class": "stepped"
 },
 "length_m": 2087.00513193962,
 "start_elevation_m": 116.2297934436064,
 "end_elevation_m": 162.74557646679682,
 "endpoint_gain_m": 46.51578302319042,
 "overall_gradient_pct": 2.2288293551036746,
 "accumulated_ascent_m": 94.24203556880875,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 39.78934879693554,
   "start_distance_m": 1013.0,
   "end_distance_m": 1018.0,
   "midpoint_distance_m": 1015.5,
   "start_elevation_m": 136.69653105112536,
   "end_elevation_m": 138.68599849097214,
   "start_xy": [
    278419.44650915987,
    105212.47709913747
   ],
   "end_xy": [
    278422.7273503247,
    105208.70402595356
   ]
  },
  "max_10m": {
   "gradient_pct": 31.60062916788945,
   "start_distance_m": 1009.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 1014.0,
   "start_elevation_m": 135.8017296347327,
   "end_elevation_m": 138.96179255152165,
   "start_xy": [
    278416.821836228,
    105215.49555768461
   ],
   "end_xy": [
    278423.38351855765,
    105207.94941131677
   ]
  },
  "max_20m": {
   "gradient_pct": 25.450491973568745,
   "start_distance_m": 999.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 1009.0,
   "start_elevation_m": 133.8716941568079,
   "end_elevation_m": 138.96179255152165,
   "start_xy": [
    278410.00514513947,
    105222.79846708954
   ],
   "end_xy": [
    278423.38351855765,
    105207.94941131677
   ]
  },
  "max_25m": {
   "gradient_pct": 23.1385181025355,
   "start_distance_m": 994.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 1006.5,
   "start_elevation_m": 133.17716302588778,
   "end_elevation_m": 138.96179255152165,
   "start_xy": [
    278406.39122495643,
    105226.2538369555
   ],
   "end_xy": [
    278423.38351855765,
    105207.94941131677
   ]
  },
  "max_50m": {
   "gradient_pct": 18.714557097541217,
   "start_distance_m": 969.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 994.0,
   "start_elevation_m": 129.60451400275105,
   "end_elevation_m": 138.96179255152165,
   "start_xy": [
    278386.69947460876,
    105241.31143285097
   ],
   "end_xy": [
    278423.38351855765,
    105207.94941131677
   ]
  },
  "max_100m": {
   "gradient_pct": 16.014033038431876,
   "start_distance_m": 919.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 969.0,
   "start_elevation_m": 122.94775951308978,
   "end_elevation_m": 138.96179255152165,
   "start_xy": [
    278341.9658199768,
    105263.49547052584
   ],
   "end_xy": [
    278423.38351855765,
    105207.94941131677
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -31.859591074157265,
   "start_distance_m": 216.0,
   "end_distance_m": 221.0,
   "midpoint_distance_m": 218.5,
   "start_elevation_m": 128.5483253010967,
   "end_elevation_m": 126.95534574738883,
   "start_xy": [
    277822.4142297799,
    105729.09986968493
   ],
   "end_xy": [
    277825.78129405784,
    105725.4035366171
   ]
  },
  "min_10m": {
   "gradient_pct": -19.966480202395473,
   "start_distance_m": 216.0,
   "end_distance_m": 226.0,
   "midpoint_distance_m": 221.0,
   "start_elevation_m": 128.5483253010967,
   "end_elevation_m": 126.55167728085715,
   "start_xy": [
    277822.4142297799,
    105729.09986968493
   ],
   "end_xy": [
    277829.1483583358,
    105721.70720354927
   ]
  },
  "min_20m": {
   "gradient_pct": -15.225498940089679,
   "start_distance_m": 205.0,
   "end_distance_m": 225.0,
   "midpoint_distance_m": 215.0,
   "start_elevation_m": 129.73799563473665,
   "end_elevation_m": 126.69289584671871,
   "start_xy": [
    277815.00668836845,
    105737.23180243414
   ],
   "end_xy": [
    277828.4749454802,
    105722.44647016285
   ]
  },
  "min_25m": {
   "gradient_pct": -14.941740548001349,
   "start_distance_m": 205.0,
   "end_distance_m": 230.0,
   "midpoint_distance_m": 217.5,
   "start_elevation_m": 129.73799563473665,
   "end_elevation_m": 126.00256049773631,
   "start_xy": [
    277815.00668836845,
    105737.23180243414
   ],
   "end_xy": [
    277831.8420097581,
    105718.75013709502
   ]
  },
  "min_50m": {
   "gradient_pct": -11.734115972162101,
   "start_distance_m": 205.0,
   "end_distance_m": 255.0,
   "midpoint_distance_m": 230.0,
   "start_elevation_m": 129.73799563473665,
   "end_elevation_m": 123.8709376486556,
   "start_xy": [
    277815.00668836845,
    105737.23180243414
   ],
   "end_xy": [
    277848.6773311478,
    105700.2684717559
   ]
  },
  "min_100m": {
   "gradient_pct": -8.716271512719885,
   "start_distance_m": 187.0,
   "end_distance_m": 287.0,
   "midpoint_distance_m": 237.0,
   "start_elevation_m": 130.68819390536535,
   "end_elevation_m": 121.97192239264547,
   "start_xy": [
    277802.8852569679,
    105750.5386014783
   ],
   "end_xy": [
    277870.2345869375,
    105676.61928336494
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 41.97399580553238,
   "start_distance_m": 950.0,
   "end_distance_m": 952.0,
   "midpoint_distance_m": 951.0,
   "start_elevation_m": 127.21189502216397,
   "end_elevation_m": 128.05137493827462,
   "start_xy": [
    278370.02005637746,
    105250.41071894743
   ],
   "end_xy": [
    278371.77578461234,
    105249.45289935834
   ]
  },
  "max_3m": {
   "gradient_pct": 40.14908274727039,
   "start_distance_m": 1015.0,
   "end_distance_m": 1018.0,
   "midpoint_distance_m": 1016.5,
   "start_elevation_m": 137.48152600855403,
   "end_elevation_m": 138.68599849097214,
   "start_xy": [
    278420.7588456258,
    105210.9678698639
   ],
   "end_xy": [
    278422.7273503247,
    105208.70402595356
   ]
  }
 },
 "diagnostic_note": "Windows <=3 m are at raster-noise scale (1-sigma raster noise alone is roughly +/-7 pp at 2 m and +/-5 pp at 3 m on a 1 m DTM). Diagnostic use only: never a headline or ranking value.",
 "quality_summary": {
  "overhead_obstruction": {
   "obstruction_threshold_m": 2.0,
   "obstructed_fraction": 0.07,
   "obstruction_max_height_m": 22.72,
   "flagged_windows_m": []
  },
  "review": [
   "short_window_divergence"
  ],
  "extent": [
   "may_start_earlier"
  ]
 },
 "provenance": {
  "analysis_version": "0.1.0",
  "sample_interval_m": 1.0,
  "interpolation": "bilinear",
  "smoothing": "none",
  "gradient_windows_m": [
   5.0,
   10.0,
   20.0,
   25.0,
   50.0,
   100.0
  ],
  "diagnostic_windows_m": [
   2.0,
   3.0
  ],
  "elevation_crs": "EPSG:27700",
  "elevation_resolution_m": 1.0,
  "elevation_tiles": [
   "data/cache/england/bulk_dtm_1m/SS7500.tif",
   "data/cache/england/bulk_dtm_1m/SS7505.tif"
  ],
  "calculated_at": "2026-08-15T04:33:03+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/england-2026-08-12-roads.osm.pbf",
  "osm_snapshot": "2026-08-12T20:21:46Z",
  "elevation_provider": "Environment Agency",
  "elevation_dataset": "EA LIDAR Composite DTM 1m (2022)",
  "elevation_licence": "Open Government Licence v3 \u2014 \u00a9 Environment Agency",
  "elevation_coverage_id": "13787b9a-26a4-4775-8523-806d13af58fc__Lidar_Composite_Elevation_DTM_1m",
  "elevation_tile_ids": [
   "SS7500.tif",
   "SS7505.tif"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 12.0% over 200 m (Terrain 50), gain 32.1 m over 1901 m way. EXTENDED by graph walk: +2 segment(s) at base, +0 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting."
 },
 "area": {
  "place": "Oldborough",
  "county": "Devon"
 }
}