{
 "ocl_version": "0.1.0",
 "name": "Westhope Hill",
 "slug": "westhope-hill",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 53.91263214951891,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 753.0,
   "end_distance_m": 755.0,
   "start_elevation_m": 149.7644249106934,
   "end_elevation_m": 150.84267755368379,
   "min_gradient_pct": -41.02349805618957,
   "suppressed_max_gradient_pct": 64.15027483279658,
   "suppressed_location_m": [
    884.0,
    886.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 45.661558728276454,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 753.0,
   "end_distance_m": 756.0,
   "start_elevation_m": 149.7644249106934,
   "end_elevation_m": 151.1342716725417,
   "min_gradient_pct": -35.92448371935385,
   "suppressed_max_gradient_pct": 61.4074820803476,
   "suppressed_location_m": [
    884.0,
    887.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 39.38922828804607,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 1156.0,
   "end_distance_m": 1161.0,
   "start_elevation_m": 196.8932653028665,
   "end_elevation_m": 198.8627267172688,
   "min_gradient_pct": -33.51358943131572,
   "suppressed_max_gradient_pct": 54.10230091491371,
   "suppressed_location_m": [
    883.0,
    888.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 34.52239860519995,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 1155.0,
   "end_distance_m": 1165.0,
   "start_elevation_m": 196.65392517728267,
   "end_elevation_m": 200.10616503780267,
   "min_gradient_pct": -20.88841338183073,
   "suppressed_max_gradient_pct": 42.484413173989424,
   "suppressed_location_m": [
    879.0,
    889.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 29.44817871449473,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 1154.0,
   "end_distance_m": 1174.0,
   "start_elevation_m": 196.43834751394,
   "end_elevation_m": 202.32798325683893,
   "min_gradient_pct": -7.494621572376872
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 27.378150312726575,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 1154.0,
   "end_distance_m": 1179.0,
   "start_elevation_m": 196.43834751394,
   "end_elevation_m": 203.28288509212163,
   "min_gradient_pct": -6.731889111067176
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 23.50709274384798,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 1154.0,
   "end_distance_m": 1204.0,
   "start_elevation_m": 196.43834751394,
   "end_elevation_m": 208.19189388586398,
   "min_gradient_pct": 0.47117312993259475
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.903779050495615,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 1112.0,
   "end_distance_m": 1212.0,
   "start_elevation_m": 190.06534990510684,
   "end_elevation_m": 209.96912895560246,
   "min_gradient_pct": 3.5991911703150237
  }
 ],
 "shape": {
  "ascent_concentration": 0.382,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 79.0,
  "shape_class": "sustained"
 },
 "length_m": 1325.7283454160242,
 "start_elevation_m": 98.66054026060525,
 "end_elevation_m": 219.3999733371578,
 "endpoint_gain_m": 120.73943307655256,
 "overall_gradient_pct": 9.10740375236252,
 "accumulated_ascent_m": 128.36885459298034,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 39.38922828804607,
   "start_distance_m": 1156.0,
   "end_distance_m": 1161.0,
   "midpoint_distance_m": 1158.5,
   "start_elevation_m": 196.8932653028665,
   "end_elevation_m": 198.8627267172688,
   "start_xy": [
    346566.64939716697,
    251628.2163853317
   ],
   "end_xy": [
    346569.49060847214,
    251632.330691501
   ]
  },
  "max_10m": {
   "gradient_pct": 34.52239860519995,
   "start_distance_m": 1155.0,
   "end_distance_m": 1165.0,
   "midpoint_distance_m": 1160.0,
   "start_elevation_m": 196.65392517728267,
   "end_elevation_m": 200.10616503780267,
   "start_xy": [
    346566.08138381847,
    251627.39336599055
   ],
   "end_xy": [
    346571.762661866,
    251635.62276886575
   ]
  },
  "max_20m": {
   "gradient_pct": 29.44817871449473,
   "start_distance_m": 1154.0,
   "end_distance_m": 1174.0,
   "midpoint_distance_m": 1164.0,
   "start_elevation_m": 196.43834751394,
   "end_elevation_m": 202.32798325683893,
   "start_xy": [
    346565.51337047,
    251626.57034664936
   ],
   "end_xy": [
    346576.87545917084,
    251643.02947517182
   ]
  },
  "max_25m": {
   "gradient_pct": 27.378150312726575,
   "start_distance_m": 1154.0,
   "end_distance_m": 1179.0,
   "midpoint_distance_m": 1166.5,
   "start_elevation_m": 196.43834751394,
   "end_elevation_m": 203.28288509212163,
   "start_xy": [
    346565.51337047,
    251626.57034664936
   ],
   "end_xy": [
    346579.716670476,
    251647.14378134112
   ]
  },
  "max_50m": {
   "gradient_pct": 23.50709274384798,
   "start_distance_m": 1154.0,
   "end_distance_m": 1204.0,
   "midpoint_distance_m": 1179.0,
   "start_elevation_m": 196.43834751394,
   "end_elevation_m": 208.19189388586398,
   "start_xy": [
    346565.51337047,
    251626.57034664936
   ],
   "end_xy": [
    346593.9195030877,
    251667.71753880495
   ]
  },
  "max_100m": {
   "gradient_pct": 19.903779050495615,
   "start_distance_m": 1112.0,
   "end_distance_m": 1212.0,
   "midpoint_distance_m": 1162.0,
   "start_elevation_m": 190.06534990510684,
   "end_elevation_m": 209.96912895560246,
   "start_xy": [
    346559.90118601726,
    251588.79752504168
   ],
   "end_xy": [
    346598.4642870441,
    251674.30122576983
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -33.51358943131572,
   "start_distance_m": 867.0,
   "end_distance_m": 872.0,
   "midpoint_distance_m": 869.5,
   "start_elevation_m": 167.73363148827164,
   "end_elevation_m": 166.05795201670585,
   "start_xy": [
    346574.08159938967,
    251352.54115773237
   ],
   "end_xy": [
    346575.38471409294,
    251357.36836053524
   ]
  },
  "min_10m": {
   "gradient_pct": -20.88841338183073,
   "start_distance_m": 866.0,
   "end_distance_m": 876.0,
   "midpoint_distance_m": 871.0,
   "start_elevation_m": 167.75095544444656,
   "end_elevation_m": 165.6621141062635,
   "start_xy": [
    346573.82082185376,
    251351.57575896112
   ],
   "end_xy": [
    346576.4268741538,
    251361.2302123852
   ]
  },
  "min_20m": {
   "gradient_pct": -7.494621572376872,
   "start_distance_m": 918.0,
   "end_distance_m": 938.0,
   "midpoint_distance_m": 928.0,
   "start_elevation_m": 171.77020258987105,
   "end_elevation_m": 170.27127827539567,
   "start_xy": [
    346587.373757362,
    251401.77852051478
   ],
   "end_xy": [
    346592.58661694144,
    251421.08722294416
   ]
  },
  "min_25m": {
   "gradient_pct": -6.731889111067176,
   "start_distance_m": 906.0,
   "end_distance_m": 931.0,
   "midpoint_distance_m": 918.5,
   "start_elevation_m": 171.85296823665956,
   "end_elevation_m": 170.16999595889277,
   "start_xy": [
    346584.24590730784,
    251390.19333509335
   ],
   "end_xy": [
    346590.76188169525,
    251414.32924029737
   ]
  },
  "min_50m": {
   "gradient_pct": 0.47117312993259475,
   "start_distance_m": 890.0,
   "end_distance_m": 940.0,
   "midpoint_distance_m": 915.0,
   "start_elevation_m": 170.2426371743029,
   "end_elevation_m": 170.4782237392692,
   "start_xy": [
    346580.07589736575,
    251374.7462982963
   ],
   "end_xy": [
    346593.10784607497,
    251423.01810846155
   ]
  },
  "min_100m": {
   "gradient_pct": 3.5991911703150237,
   "start_distance_m": 388.0,
   "end_distance_m": 488.0,
   "midpoint_distance_m": 438.0,
   "start_elevation_m": 117.92979805976219,
   "end_elevation_m": 121.52898923007722,
   "start_xy": [
    346359.8765318711,
    251016.39519419323
   ],
   "end_xy": [
    346408.3929051811,
    251100.7404094421
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 53.91263214951891,
   "start_distance_m": 753.0,
   "end_distance_m": 755.0,
   "midpoint_distance_m": 754.0,
   "start_elevation_m": 149.7644249106934,
   "end_elevation_m": 150.84267755368379,
   "start_xy": [
    346543.10953528277,
    251242.83124342543
   ],
   "end_xy": [
    346543.65950580034,
    251244.7541402906
   ]
  },
  "max_3m": {
   "gradient_pct": 45.661558728276454,
   "start_distance_m": 753.0,
   "end_distance_m": 756.0,
   "midpoint_distance_m": 754.5,
   "start_elevation_m": 149.7644249106934,
   "end_elevation_m": 151.1342716725417,
   "start_xy": [
    346543.10953528277,
    251242.83124342543
   ],
   "end_xy": [
    346543.93418739154,
    251245.7156754864
   ]
  }
 },
 "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.148,
   "obstruction_max_height_m": 20.6,
   "flagged_windows_m": [
    2,
    3,
    5,
    10,
    20,
    25,
    50,
    100
   ]
  },
  "structure_suppression": {
   "masked_fraction": 0.01,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0
   ],
   "windows_unresolved": []
  },
  "excluded_ranges_m": [
   [
    759.0,
    764.0
   ],
   [
    882.0,
    888.0
   ]
  ],
  "review": [],
  "extent": []
 },
 "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/SO4550.tif"
  ],
  "calculated_at": "2026-08-19T18:52:25+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/england-2026-08-12.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": [
   "SO4550.tif"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 15.4% over 200 m (Terrain 50), gain 96.0 m over 874 m way. EXTENDED by graph walk: +1 segment(s) at base, +1 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. ADOPTED (England launch slice 2026-08-16): qualified-steep."
 },
 "area": {
  "place": "Westhope",
  "county": "County of Herefordshire"
 }
}