{"site":"KSJT","name":"San Angelo","scanned":"2026-10-16T07:57:27.000Z","storms":[{"id":"F9","lon":-98.8222,"lat":30.9766,"fromRadar":{"deg":105,"mi":102.4},"moving":null,"ahead":[],"errorMi":0},{"id":"D6","lon":-99.5636,"lat":30.2217,"fromRadar":{"deg":145,"mi":96.7},"moving":{"toward":196,"mph":14},"ahead":[{"minutes":15,"lon":-99.5657,"lat":30.1803}],"errorMi":3},{"id":"S2","lon":-100.4627,"lat":29.9057,"fromRadar":{"deg":179,"mi":101.3},"moving":null,"ahead":[],"errorMi":0},{"id":"Q4","lon":-99.929,"lat":29.9526,"fromRadar":{"deg":161,"mi":103.6},"moving":null,"ahead":[],"errorMi":0},{"id":"L1","lon":-99.3393,"lat":30.9256,"fromRadar":{"deg":114,"mi":74.8},"moving":{"toward":205,"mph":23},"ahead":[{"minutes":15,"lon":-99.3894,"lat":30.8415}],"errorMi":2.1},{"id":"K2","lon":-99.7118,"lat":30.7208,"fromRadar":{"deg":134,"mi":64.4},"moving":{"toward":267,"mph":5},"ahead":[],"errorMi":4},{"id":"O9","lon":-99.5857,"lat":30.6658,"fromRadar":{"deg":132,"mi":72.5},"moving":null,"ahead":[],"errorMi":0},{"id":"B7","lon":-99.6608,"lat":30.601,"fromRadar":{"deg":137,"mi":72.5},"moving":null,"ahead":[],"errorMi":0},{"id":"D8","lon":-100.0104,"lat":30.0871,"fromRadar":{"deg":162,"mi":93.2},"moving":null,"ahead":[],"errorMi":0},{"id":"M1","lon":-101.5579,"lat":30.569,"fromRadar":{"deg":229,"mi":84},"moving":{"toward":160,"mph":10},"ahead":[{"minutes":15,"lon":-101.5386,"lat":30.5263},{"minutes":30,"lon":-101.535,"lat":30.4992}],"errorMi":1.5},{"id":"S3","lon":-99.5341,"lat":30.8929,"fromRadar":{"deg":120,"mi":65.6},"moving":{"toward":24,"mph":17},"ahead":[{"minutes":15,"lon":-99.4973,"lat":30.9511},{"minutes":30,"lon":-99.4652,"lat":31.0114}],"errorMi":1.7},{"id":"I1","lon":-99.1065,"lat":30.9776,"fromRadar":{"deg":108,"mi":86.3},"moving":null,"ahead":[],"errorMi":0},{"id":"Q8","lon":-100.7169,"lat":30.3736,"fromRadar":{"deg":191,"mi":70.2},"moving":{"toward":182,"mph":12},"ahead":[{"minutes":15,"lon":-100.7278,"lat":30.3245}],"errorMi":2.5},{"id":"F2","lon":-101.7131,"lat":30.6297,"fromRadar":{"deg":235,"mi":88.6},"moving":null,"ahead":[],"errorMi":0},{"id":"G3","lon":-99.9936,"lat":30.3046,"fromRadar":{"deg":158,"mi":79.4},"moving":{"toward":357,"mph":22},"ahead":[{"minutes":15,"lon":-99.9896,"lat":30.3963},{"minutes":30,"lon":-100.0023,"lat":30.4645},{"minutes":45,"lon":-100.0093,"lat":30.554}],"errorMi":1.2},{"id":"A7","lon":-99.72,"lat":30.4525,"fromRadar":{"deg":144,"mi":78.3},"moving":{"toward":81,"mph":9},"ahead":[{"minutes":15,"lon":-99.7015,"lat":30.4642},{"minutes":30,"lon":-99.6531,"lat":30.4753},{"minutes":45,"lon":-99.6227,"lat":30.4751},{"minutes":60,"lon":-99.5921,"lat":30.4755}],"errorMi":0.3},{"id":"A2","lon":-99.589,"lat":30.3705,"fromRadar":{"deg":142,"mi":87.5},"moving":{"toward":86,"mph":6},"ahead":[{"minutes":15,"lon":-99.5568,"lat":30.371}],"errorMi":2.4},{"id":"N8","lon":-101.1428,"lat":30.2168,"fromRadar":{"deg":206,"mi":88.6},"moving":null,"ahead":[],"errorMi":0},{"id":"E8","lon":-99.3169,"lat":30.7828,"fromRadar":{"deg":120,"mi":80.6},"moving":null,"ahead":[],"errorMi":0},{"id":"K9","lon":-99.8504,"lat":30.8373,"fromRadar":{"deg":134,"mi":52.9},"moving":null,"ahead":[],"errorMi":0},{"id":"Z8","lon":-100.1067,"lat":30.5886,"fromRadar":{"deg":157,"mi":58.7},"moving":null,"ahead":[],"errorMi":0},{"id":"W0","lon":-99.5445,"lat":31.2682,"fromRadar":{"deg":97,"mi":56.4},"moving":null,"ahead":[],"errorMi":0},{"id":"I3","lon":-99.8911,"lat":31.096,"fromRadar":{"deg":118,"mi":40.3},"moving":{"toward":71,"mph":3},"ahead":[{"minutes":15,"lon":-99.8683,"lat":31.0974},{"minutes":30,"lon":-99.8628,"lat":31.1067}],"errorMi":1.4},{"id":"C7","lon":-100.467,"lat":31.2907,"fromRadar":{"deg":165,"mi":5.8},"moving":null,"ahead":[],"errorMi":0}],"about":"the radar’s own storm tracking: each storm cell it follows from scan to scan, where it is, the way it is moving (toward, in degrees from north) and how fast, and where its track puts it 15 to 60 minutes on; errorMi is how far its last forecast missed"}