{
  "studyVersion": "August 2026 model replay",
  "outputWindow": {
    "start": "2025-01-01",
    "end": "2025-12-31",
    "evaluationTime": "18:00 UTC",
    "dailyOutputs": 8760
  },
  "weatherRequestWindow": {
    "start": "2024-12-25",
    "end": "2026-01-05",
    "hoursAcross24Networks": 217152,
    "hoursPerNetwork": 9048
  },
  "weatherProduct": {
    "provider": "Open-Meteo",
    "endpoint": "Historical Forecast API",
    "requestedFields": [
      "rain",
      "showers",
      "temperature_2m",
      "wind_speed_10m",
      "relative_humidity_2m",
      "soil_moisture_0_to_1cm",
      "soil_moisture_3_to_9cm",
      "snowfall",
      "snow_depth",
      "soil_temperature_0cm"
    ]
  },
  "methodNote": "Each daily evaluation ends at its 18:00 UTC snapshot and can use only earlier weather in the retained lookback. Hours after December 31 are in the archive request but cannot enter a 2025 evaluation.",
  "limits": "Published network-level annual aggregates. Daily result rows are produced by scripts/replay-state-of-dirt-2025.mjs but were not preserved with the published study. These results are model output, not field observations or closure records.",
  "totals": {
    "prime": 6327,
    "dusty": 1049,
    "caution": 252,
    "stayOff": 540,
    "frozen": 592
  },
  "networks": [
    {
      "region": "Pacific Coast",
      "ridingArea": "Bear Mountain Bike Park, British Columbia",
      "prime": 300,
      "dusty": 0,
      "caution": 13,
      "stayOff": 52,
      "frozen": 0
    },
    {
      "region": "Pacific Coast",
      "ridingArea": "Hardesty Portal, Oregon",
      "prime": 301,
      "dusty": 0,
      "caution": 13,
      "stayOff": 47,
      "frozen": 4
    },
    {
      "region": "Pacific Coast",
      "ridingArea": "Mount Diablo, California",
      "prime": 250,
      "dusty": 88,
      "caution": 8,
      "stayOff": 19,
      "frozen": 0
    },
    {
      "region": "Pacific Coast",
      "ridingArea": "Mt. Hood, Oregon",
      "prime": 186,
      "dusty": 57,
      "caution": 23,
      "stayOff": 77,
      "frozen": 22
    },
    {
      "region": "Southwest and Rockies",
      "ridingArea": "Gooseberry Mesa, Utah",
      "prime": 146,
      "dusty": 213,
      "caution": 4,
      "stayOff": 2,
      "frozen": 0
    },
    {
      "region": "Southwest and Rockies",
      "ridingArea": "Brian Head Resort, Utah",
      "prime": 277,
      "dusty": 51,
      "caution": 3,
      "stayOff": 2,
      "frozen": 32
    },
    {
      "region": "Southwest and Rockies",
      "ridingArea": "Phoenix Mountains Preserve, Arizona",
      "prime": 77,
      "dusty": 284,
      "caution": 2,
      "stayOff": 2,
      "frozen": 0
    },
    {
      "region": "Southwest and Rockies",
      "ridingArea": "Mill Creek Pipeline, Utah",
      "prime": 241,
      "dusty": 85,
      "caution": 8,
      "stayOff": 10,
      "frozen": 21
    },
    {
      "region": "Southwest and Rockies",
      "ridingArea": "Munds Park, Arizona",
      "prime": 273,
      "dusty": 73,
      "caution": 12,
      "stayOff": 5,
      "frozen": 2
    },
    {
      "region": "Southwest and Rockies",
      "ridingArea": "Montrose/Uncompahgre, Colorado",
      "prime": 231,
      "dusty": 134,
      "caution": 0,
      "stayOff": 0,
      "frozen": 0
    },
    {
      "region": "Upper Midwest",
      "ridingArea": "Bertram Chain of Lakes Regional Park, Minnesota",
      "prime": 276,
      "dusty": 32,
      "caution": 16,
      "stayOff": 12,
      "frozen": 29
    },
    {
      "region": "Upper Midwest",
      "ridingArea": "Redhead Mountain Bike Park, Minnesota",
      "prime": 291,
      "dusty": 0,
      "caution": 2,
      "stayOff": 8,
      "frozen": 64
    },
    {
      "region": "Upper Midwest",
      "ridingArea": "Olson Park, Michigan",
      "prime": 331,
      "dusty": 0,
      "caution": 6,
      "stayOff": 18,
      "frozen": 10
    },
    {
      "region": "Midwest and Southeast",
      "ridingArea": "Caesar Creek, Ohio",
      "prime": 274,
      "dusty": 4,
      "caution": 13,
      "stayOff": 65,
      "frozen": 9
    },
    {
      "region": "Midwest and Southeast",
      "ridingArea": "Athens Academy Trails, Georgia",
      "prime": 316,
      "dusty": 0,
      "caution": 17,
      "stayOff": 32,
      "frozen": 0
    },
    {
      "region": "Midwest and Southeast",
      "ridingArea": "Withlacoochee State Forest, Florida",
      "prime": 338,
      "dusty": 6,
      "caution": 11,
      "stayOff": 10,
      "frozen": 0
    },
    {
      "region": "Midwest and Southeast",
      "ridingArea": "Tannery Knobs, Tennessee",
      "prime": 341,
      "dusty": 0,
      "caution": 6,
      "stayOff": 17,
      "frozen": 1
    },
    {
      "region": "Midwest and Southeast",
      "ridingArea": "Graham Swamp, Florida",
      "prime": 337,
      "dusty": 0,
      "caution": 11,
      "stayOff": 17,
      "frozen": 0
    },
    {
      "region": "Northeast and eastern Canada",
      "ridingArea": "Port Jervis Watershed Trails, New York",
      "prime": 316,
      "dusty": 0,
      "caution": 15,
      "stayOff": 26,
      "frozen": 8
    },
    {
      "region": "Northeast and eastern Canada",
      "ridingArea": "Franconia Area Trails, New Hampshire",
      "prime": 252,
      "dusty": 18,
      "caution": 5,
      "stayOff": 20,
      "frozen": 70
    },
    {
      "region": "Northeast and eastern Canada",
      "ridingArea": "Bromont, montagne d'expériences, Quebec",
      "prime": 242,
      "dusty": 4,
      "caution": 12,
      "stayOff": 22,
      "frozen": 85
    },
    {
      "region": "Northeast and eastern Canada",
      "ridingArea": "Mont-Sainte-Anne, Quebec",
      "prime": 215,
      "dusty": 0,
      "caution": 19,
      "stayOff": 21,
      "frozen": 110
    },
    {
      "region": "Northeast and eastern Canada",
      "ridingArea": "Crabbe Mountain, New Brunswick",
      "prime": 244,
      "dusty": 0,
      "caution": 16,
      "stayOff": 23,
      "frozen": 82
    },
    {
      "region": "Northeast and eastern Canada",
      "ridingArea": "Mountain Bike Minto, New Brunswick",
      "prime": 272,
      "dusty": 0,
      "caution": 17,
      "stayOff": 33,
      "frozen": 43
    }
  ],
  "reproductionLimit": "The generated daily output was not committed. An exact rerun requires the model and catalog at the script creation commit, plus the archived upstream weather response; the published annual aggregates remain frozen here.",
  "replayScript": {
    "path": "scripts/replay-state-of-dirt-2025.mjs",
    "creationCommit": "69964cb8505c3112a65436666664ddc1c6a6b579",
    "historyCheck": "GitHub history shows no later changes to this script as of 2026-09-16."
  }
}
