{
  "site": {
    "horizonProfile": {
      "observerElevM": 839,
      "profile": {
        "N": 3.8,
        "NNE": 3.7,
        "NE": 2.5,
        "ENE": 2.4,
        "E": 1.8,
        "ESE": 1.8,
        "SE": 0.3,
        "SSE": 0.7,
        "S": 4.6,
        "SSW": 3.4,
        "SW": 5.4,
        "WSW": 5.8,
        "W": 7.3,
        "WNW": 5,
        "NW": 5.7,
        "NNW": 4.1
      },
      "parts": [
        {
          "id": "badlands-loop-road",
          "name": "Badlands Loop Road",
          "observerElevM": 839,
          "profile": {
            "N": 3.8,
            "NNE": 3.7,
            "NE": 2.5,
            "ENE": 2.4,
            "E": 0.9,
            "ESE": 1.8,
            "SE": 0.3,
            "SSE": 0,
            "S": 4.6,
            "SSW": 3.4,
            "SW": 5.4,
            "WSW": 5.8,
            "W": 7.3,
            "WNW": 5,
            "NW": 5.7,
            "NNW": 4.1
          },
          "south": {
            "worst": 5.4,
            "mean": 2.7,
            "dueSouth": 4.6
          },
          "north": {
            "worst": 5.7,
            "mean": 4,
            "dueNorth": 3.8
          }
        },
        {
          "id": "sage-creek",
          "name": "Sage Creek Rim Road",
          "observerElevM": 813,
          "profile": {
            "N": 1,
            "NNE": 0.4,
            "NE": 1,
            "ENE": 2,
            "E": 1.8,
            "ESE": 0.4,
            "SE": 0.1,
            "SSE": 0.7,
            "S": 0.6,
            "SSW": 1,
            "SW": 1,
            "WSW": 0.6,
            "W": 1.4,
            "WNW": 1.6,
            "NW": 0.7,
            "NNW": 0.9
          },
          "south": {
            "worst": 1,
            "mean": 0.7,
            "dueSouth": 0.6
          },
          "north": {
            "worst": 1,
            "mean": 0.8,
            "dueNorth": 1
          }
        }
      ],
      "core": {
        "coreAltitudeDeg": 17.1,
        "terrainDeg": 5.4,
        "marginDeg": 11.7,
        "verdict": "clear"
      },
      "computed": "2026-08-24",
      "mergedFrom": [
        "badlands-loop-road",
        "sage-creek"
      ],
      "south": {
        "worst": 5.4,
        "mean": 2.9,
        "dueSouth": 4.6
      }
    },
    "id": "badlands",
    "name": "Badlands National Park",
    "region": "Interior, SD",
    "timezone": "America/Denver",
    "darkSkyPark": true,
    "kind": "area",
    "kindNote": "The Loop Road and Sage Creek Rim Road are one trip, so they are one entry. They are 13 miles apart and the sky over them is the same sky. Where they differ is underfoot, and that is set out below.",
    "insideNote": "Sage Creek is the darker end. It sits 13 miles further from Wall, the land to the south rises 1 degree against 5.4 on the Loop Road, and it is remoter for it. The Loop Road is paved, easier to reach and has more pull-offs. Both are the same night sky; the choice is how far to drive and what is on the horizon when you stop.",
    "mergedFrom": [
      "badlands-loop-road",
      "sage-creek"
    ],
    "bortle": null,
    "skyBrightness": null,
    "skyBrightnessFrom": null,
    "darknessNote": "Not measured. Badlands is a certified International Dark Sky Park, which is a real assessment by DarkSky International, and the nearest town of any size is Wall, 10 miles north. Beyond that, nobody has published a sky-brightness reading for it that this site can point at.",
    "lat": 43.85299,
    "lng": -102.2193,
    "ground": {
      "pullouts": "It depends on the pullout. Some have a fairly clear view. In other places the formations sit low to the ground and make a beautiful silhouette against the sky.",
      "roads": "Sage Creek Rim Road gets sloppy after rain, and the berms become dangerous.",
      "parking": "A vehicle can sit in any authorized parking area with the park pass in the windshield. It cannot be left overnight anywhere except the designated campgrounds.",
      "cell": "Spotty, and it generally dies in the middle of the park. It works on the north side, along Sage Creek Rim Road and around Pinnacles, and degrades from there. It picks back up near the visitor center in the northern unit, close to Interior.",
      "underfoot": "The ground can be unstable. When it is wet it turns sloppy and slippery.",
      "lightDome": "Wall is the brightest light around here. The closer you are to it, the more light pollution there is."
    },
    "groundBy": "Daniel Milks, My XO Adventures.",
    "horizon": null,
    "access": "Badlands Loop Road, Highway 240, is open to drive 24 hours a day, seven days a week, and has numerous overlooks and pull-offs where a vehicle can be parked safely. Sage Creek Rim Road runs off it, unpaved, and can close temporarily after winter storms and spring rains. Sage Creek Campground sits on it: 22 sites, free, first come and first served. Ranger-led night sky programs run at the Cedar Pass Campground Amphitheater each evening from Memorial Day through Labor Day, starting around 9:30pm in May to July, 9pm in August, and 8:30pm in September and October, with telescopes provided. Overnight parking at the pull-offs is a separate question from driving at night, and the park’s published pages do not answer it. Camping is in the two established campgrounds, Cedar Pass and Sage Creek.",
    "accessUnknown": [],
    "contact": {
      "mail": "25216 Ben Reifel Road, Interior, SD 57750",
      "phone": "605-433-5361",
      "phoneLabel": "Park information"
    },
    "sources": [
      {
        "label": "NPS, Drive Badlands Loop Road",
        "url": "https://www.nps.gov/thingstodo/badl-loop-road.htm"
      },
      {
        "label": "NPS, Enjoy the Night Sky",
        "url": "https://www.nps.gov/thingstodo/night-sky-badl.htm"
      },
      {
        "label": "NPS, Badlands campgrounds",
        "url": "https://www.nps.gov/thingstodo/campgrounds-badl.htm"
      }
    ],
    "verified": "2026-08-24",
    "notes": "Certified an International Dark Sky Park by DarkSky International in July 2026. Confirmed 2026-08-24 against DarkSky's own announcement and its entry in the Dark Sky Places register.",
    "lightSource": {
      "name": "Wall",
      "lat": 43.9925,
      "lng": -102.241,
      "note": "Coordinates only. Used to work out which way the dome sits, not how bright it is."
    }
  },
  "days": 14,
  "generatedAt": "2026-09-18T01:08:21.304Z",
  "weather": {
    "source": "Open-Meteo",
    "error": null,
    "nightsCovered": 14,
    "nightsTotal": 14,
    "note": "Cloud forecast covers every night shown"
  },
  "headline": "Nothing outstanding in the next 14 nights. Sunday September 27 is the least compromised.",
  "best": {
    "site": "badlands",
    "siteName": "Badlands National Park",
    "region": "Interior, SD",
    "date": "2026-09-27",
    "score": 61,
    "verdict": "Fair",
    "headline": "Workable. Moon up all night, clear skies.",
    "headlineLead": "Workable",
    "headlineDetail": "moon up all night, clear skies",
    "milkyWay": {
      "visible": true,
      "maxAltitudeDeg": 11.4,
      "hoursUseful": 0.32,
      "bestAt": "8:15pm",
      "note": "Milky Way core up to 11.4°, high enough to be worth it for 0h19m"
    },
    "window": {
      "darkFrom": "8:15pm",
      "darkTo": "5:07am",
      "hours": 8.87,
      "bestFrom": "8:15pm",
      "bestTo": "5:07am"
    },
    "factors": [
      {
        "key": "cloud",
        "name": "Cloud",
        "score": 92,
        "weight": 32,
        "note": "6% cloud, essentially clear"
      },
      {
        "key": "moon",
        "name": "Moon",
        "score": 0,
        "weight": 26,
        "note": "full moon at 97%, up the whole window, washing out faint targets"
      },
      {
        "key": "darkness",
        "name": "Darkness",
        "score": 99,
        "weight": 16,
        "note": "8h52m of astronomical darkness, 8:15pm–5:07am"
      },
      {
        "key": "transparency",
        "name": "Transparency",
        "score": 100,
        "weight": 10,
        "note": "Dewpoint spread 13.4°C, dry and steady air"
      },
      {
        "key": "targets",
        "name": "Targets",
        "score": 37,
        "weight": 16,
        "note": "Milky Way core up to 11.4°, high enough to be worth it for 0h19m"
      }
    ],
    "weatherBacked": true,
    "confidence": "full",
    "dataSources": {
      "astronomy": "SunCalc (local computation)",
      "weather": "Open-Meteo"
    },
    "weekday": "Sunday",
    "isWeekend": false
  },
  "bestWeekend": {
    "site": "badlands",
    "siteName": "Badlands National Park",
    "region": "Interior, SD",
    "date": "2026-09-18",
    "score": 47,
    "verdict": "Poor",
    "headline": "Poor conditions. Moon down after 11:03pm, 100% cloud.",
    "headlineLead": "Poor conditions",
    "headlineDetail": "moon down after 11:03pm, 100% cloud",
    "milkyWay": {
      "visible": true,
      "maxAltitudeDeg": 12.8,
      "hoursUseful": 0.64,
      "bestAt": "8:33pm",
      "note": "Milky Way core up to 12.8°, high enough to be worth it for 0h38m"
    },
    "window": {
      "darkFrom": "8:33pm",
      "darkTo": "4:56am",
      "hours": 8.38,
      "bestFrom": "11:03pm",
      "bestTo": "4:56am"
    },
    "factors": [
      {
        "key": "cloud",
        "name": "Cloud",
        "score": 0,
        "weight": 32,
        "note": "100% cloud, overcast"
      },
      {
        "key": "moon",
        "name": "Moon",
        "score": 95,
        "weight": 26,
        "note": "first quarter at 54%, sets 11:03pm, dark after that"
      },
      {
        "key": "darkness",
        "name": "Darkness",
        "score": 93,
        "weight": 16,
        "note": "8h23m of astronomical darkness, 8:33pm–4:56am"
      },
      {
        "key": "transparency",
        "name": "Transparency",
        "score": 0,
        "weight": 10,
        "note": "Dewpoint spread 0.0°C, fog or heavy haze likely"
      },
      {
        "key": "targets",
        "name": "Targets",
        "score": 45,
        "weight": 16,
        "note": "Milky Way core up to 12.8°, high enough to be worth it for 0h38m"
      }
    ],
    "weatherBacked": true,
    "confidence": "full",
    "dataSources": {
      "astronomy": "SunCalc (local computation)",
      "weather": "Open-Meteo"
    },
    "weekday": "Friday",
    "isWeekend": true
  },
  "nights": [
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-17",
      "score": 48,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 10:10pm, 96% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 10:10pm, 96% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 13,
        "hoursUseful": 0.65,
        "bestAt": "8:35pm",
        "note": "Milky Way core up to 13°, high enough to be worth it for 0h39m"
      },
      "window": {
        "darkFrom": "8:35pm",
        "darkTo": "4:55am",
        "hours": 8.32,
        "bestFrom": "10:10pm",
        "bestTo": "4:55am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "96% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 98,
          "weight": 26,
          "note": "first quarter at 45%, sets 10:10pm, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 92,
          "weight": 16,
          "note": "8h19m of astronomical darkness, 8:35pm–4:55am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 0.9°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 46,
          "weight": 16,
          "note": "Milky Way core up to 13°, high enough to be worth it for 0h39m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Thursday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-18",
      "score": 47,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 11:03pm, 100% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 11:03pm, 100% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 12.8,
        "hoursUseful": 0.64,
        "bestAt": "8:33pm",
        "note": "Milky Way core up to 12.8°, high enough to be worth it for 0h38m"
      },
      "window": {
        "darkFrom": "8:33pm",
        "darkTo": "4:56am",
        "hours": 8.38,
        "bestFrom": "11:03pm",
        "bestTo": "4:56am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "100% cloud, overcast"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 95,
          "weight": 26,
          "note": "first quarter at 54%, sets 11:03pm, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 93,
          "weight": 16,
          "note": "8h23m of astronomical darkness, 8:33pm–4:56am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 0.0°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 45,
          "weight": 16,
          "note": "Milky Way core up to 12.8°, high enough to be worth it for 0h38m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Friday",
      "isWeekend": true
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-19",
      "score": 45,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 12:01am, 100% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 12:01am, 100% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 12.7,
        "hoursUseful": 0.65,
        "bestAt": "8:31pm",
        "note": "Milky Way core up to 12.7°, high enough to be worth it for 0h39m"
      },
      "window": {
        "darkFrom": "8:31pm",
        "darkTo": "4:57am",
        "hours": 8.43,
        "bestFrom": "12:01am",
        "bestTo": "4:57am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "100% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 90,
          "weight": 26,
          "note": "first quarter at 64%, sets 12:01am, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 94,
          "weight": 16,
          "note": "8h26m of astronomical darkness, 8:31pm–4:57am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 1.8°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 45,
          "weight": 16,
          "note": "Milky Way core up to 12.7°, high enough to be worth it for 0h39m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Saturday",
      "isWeekend": true
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-20",
      "score": 43,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 1:04am, 100% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 1:04am, 100% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 12.5,
        "hoursUseful": 0.49,
        "bestAt": "8:29pm",
        "note": "Milky Way core up to 12.5°, high enough to be worth it for 0h29m"
      },
      "window": {
        "darkFrom": "8:29pm",
        "darkTo": "4:58am",
        "hours": 8.49,
        "bestFrom": "1:04am",
        "bestTo": "4:58am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "100% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 80,
          "weight": 26,
          "note": "waxing gibbous at 72%, sets 1:04am, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 94,
          "weight": 16,
          "note": "8h29m of astronomical darkness, 8:29pm–4:58am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 1.4°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 43,
          "weight": 16,
          "note": "Milky Way core up to 12.5°, high enough to be worth it for 0h29m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Sunday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-21",
      "score": 48,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 2:07am, 68% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 2:07am, 68% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 12.4,
        "hoursUseful": 0.48,
        "bestAt": "8:27pm",
        "note": "Milky Way core up to 12.4°, high enough to be worth it for 0h29m"
      },
      "window": {
        "darkFrom": "8:27pm",
        "darkTo": "5:00am",
        "hours": 8.54,
        "bestFrom": "2:07am",
        "bestTo": "5:00am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 30,
          "weight": 32,
          "note": "68% cloud cover, 7% of it high"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 66,
          "weight": 26,
          "note": "waxing gibbous at 80%, sets 2:07am, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 95,
          "weight": 16,
          "note": "8h33m of astronomical darkness, 8:27pm–5:00am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 0.8°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 42,
          "weight": 16,
          "note": "Milky Way core up to 12.4°, high enough to be worth it for 0h29m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Monday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-22",
      "score": 36,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 3:15am, 100% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 3:15am, 100% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 12.2,
        "hoursUseful": 0.49,
        "bestAt": "8:25pm",
        "note": "Milky Way core up to 12.2°, high enough to be worth it for 0h29m"
      },
      "window": {
        "darkFrom": "8:25pm",
        "darkTo": "5:01am",
        "hours": 8.6,
        "bestFrom": "3:15am",
        "bestTo": "5:01am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "100% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 46,
          "weight": 26,
          "note": "waxing gibbous at 88%, sets 3:15am, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 96,
          "weight": 16,
          "note": "8h36m of astronomical darkness, 8:25pm–5:01am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 20,
          "weight": 10,
          "note": "Dewpoint spread 4.0°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 42,
          "weight": 16,
          "note": "Milky Way core up to 12.2°, high enough to be worth it for 0h29m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Tuesday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-23",
      "score": 59,
      "verdict": "Fair",
      "headline": "Workable. Moon down after 4:23am, clear skies.",
      "headlineLead": "Workable",
      "headlineDetail": "moon down after 4:23am, clear skies",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 12.1,
        "hoursUseful": 0.49,
        "bestAt": "8:23pm",
        "note": "Milky Way core up to 12.1°, high enough to be worth it for 0h29m"
      },
      "window": {
        "darkFrom": "8:23pm",
        "darkTo": "5:02am",
        "hours": 8.66,
        "bestFrom": "4:23am",
        "bestTo": "5:02am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 100,
          "weight": 32,
          "note": "0% cloud, essentially clear"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 22,
          "weight": 26,
          "note": "waxing gibbous at 93%, sets 4:23am, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 96,
          "weight": 16,
          "note": "8h39m of astronomical darkness, 8:23pm–5:02am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 1.8°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 41,
          "weight": 16,
          "note": "Milky Way core up to 12.1°, high enough to be worth it for 0h29m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Wednesday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-24",
      "score": 48,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon up all night, clear skies.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon up all night, clear skies",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 11.9,
        "hoursUseful": 0.48,
        "bestAt": "8:21pm",
        "note": "Milky Way core up to 11.9°, high enough to be worth it for 0h29m"
      },
      "window": {
        "darkFrom": "8:21pm",
        "darkTo": "5:04am",
        "hours": 8.71,
        "bestFrom": "8:21pm",
        "bestTo": "5:04am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 76,
          "weight": 32,
          "note": "18% cloud cover, 18% of it high"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 0,
          "weight": 26,
          "note": "full moon at 97%, up the whole window, washing out faint targets"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 97,
          "weight": 16,
          "note": "8h43m of astronomical darkness, 8:21pm–5:04am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 23,
          "weight": 10,
          "note": "Dewpoint spread 4.3°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 41,
          "weight": 16,
          "note": "Milky Way core up to 11.9°, high enough to be worth it for 0h29m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Thursday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-25",
      "score": 35,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon up all night, 52% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon up all night, 52% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 11.8,
        "hoursUseful": 0.32,
        "bestAt": "8:19pm",
        "note": "Milky Way core up to 11.8°, high enough to be worth it for 0h19m"
      },
      "window": {
        "darkFrom": "8:19pm",
        "darkTo": "5:05am",
        "hours": 8.76,
        "bestFrom": "8:19pm",
        "bestTo": "5:05am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 41,
          "weight": 32,
          "note": "52% cloud cover, 25% of it high"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 0,
          "weight": 26,
          "note": "full moon at 100%, up the whole window, washing out faint targets"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 97,
          "weight": 16,
          "note": "8h46m of astronomical darkness, 8:19pm–5:05am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 5,
          "weight": 10,
          "note": "Dewpoint spread 2.5°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 38,
          "weight": 16,
          "note": "Milky Way core up to 11.8°, high enough to be worth it for 0h19m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Friday",
      "isWeekend": true
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-26",
      "score": 33,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon up all night, 72% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon up all night, 72% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 11.6,
        "hoursUseful": 0.33,
        "bestAt": "8:17pm",
        "note": "Milky Way core up to 11.6°, high enough to be worth it for 0h20m"
      },
      "window": {
        "darkFrom": "8:17pm",
        "darkTo": "5:06am",
        "hours": 8.82,
        "bestFrom": "8:17pm",
        "bestTo": "5:06am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 10,
          "weight": 32,
          "note": "72% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 0,
          "weight": 26,
          "note": "full moon at 100%, up the whole window, washing out faint targets"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 98,
          "weight": 16,
          "note": "8h49m of astronomical darkness, 8:17pm–5:06am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 76,
          "weight": 10,
          "note": "Dewpoint spread 9.6°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 38,
          "weight": 16,
          "note": "Milky Way core up to 11.6°, high enough to be worth it for 0h20m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Saturday",
      "isWeekend": true
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-27",
      "score": 61,
      "verdict": "Fair",
      "headline": "Workable. Moon up all night, clear skies.",
      "headlineLead": "Workable",
      "headlineDetail": "moon up all night, clear skies",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 11.4,
        "hoursUseful": 0.32,
        "bestAt": "8:15pm",
        "note": "Milky Way core up to 11.4°, high enough to be worth it for 0h19m"
      },
      "window": {
        "darkFrom": "8:15pm",
        "darkTo": "5:07am",
        "hours": 8.87,
        "bestFrom": "8:15pm",
        "bestTo": "5:07am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 92,
          "weight": 32,
          "note": "6% cloud, essentially clear"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 0,
          "weight": 26,
          "note": "full moon at 97%, up the whole window, washing out faint targets"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 99,
          "weight": 16,
          "note": "8h52m of astronomical darkness, 8:15pm–5:07am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 100,
          "weight": 10,
          "note": "Dewpoint spread 13.4°C, dry and steady air"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 37,
          "weight": 16,
          "note": "Milky Way core up to 11.4°, high enough to be worth it for 0h19m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Sunday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-28",
      "score": 51,
      "verdict": "Fair",
      "headline": "Workable. Moon up all night, clear skies.",
      "headlineLead": "Workable",
      "headlineDetail": "moon up all night, clear skies",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 11.3,
        "hoursUseful": 0.32,
        "bestAt": "8:13pm",
        "note": "Milky Way core up to 11.3°, high enough to be worth it for 0h19m"
      },
      "window": {
        "darkFrom": "8:13pm",
        "darkTo": "5:09am",
        "hours": 8.93,
        "bestFrom": "8:13pm",
        "bestTo": "5:09am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 85,
          "weight": 32,
          "note": "12% cloud, essentially clear"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 0,
          "weight": 26,
          "note": "waning gibbous at 92%, up the whole window, washing out faint targets"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 99,
          "weight": 16,
          "note": "8h56m of astronomical darkness, 8:13pm–5:09am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 21,
          "weight": 10,
          "note": "Dewpoint spread 4.1°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 37,
          "weight": 16,
          "note": "Milky Way core up to 11.3°, high enough to be worth it for 0h19m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Monday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-29",
      "score": 56,
      "verdict": "Fair",
      "headline": "Workable. Moon up all night, clear skies.",
      "headlineLead": "Workable",
      "headlineDetail": "moon up all night, clear skies",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 11.1,
        "hoursUseful": 0.33,
        "bestAt": "8:11pm",
        "note": "Milky Way core up to 11.1°, high enough to be worth it for 0h20m"
      },
      "window": {
        "darkFrom": "8:11pm",
        "darkTo": "5:10am",
        "hours": 8.98,
        "bestFrom": "8:11pm",
        "bestTo": "5:10am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 99,
          "weight": 32,
          "note": "0% cloud, essentially clear"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 0,
          "weight": 26,
          "note": "waning gibbous at 85%, up the whole window, washing out faint targets"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "8h59m of astronomical darkness, 8:11pm–5:10am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 32,
          "weight": 10,
          "note": "Dewpoint spread 5.2°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 36,
          "weight": 16,
          "note": "Milky Way core up to 11.1°, high enough to be worth it for 0h20m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Tuesday",
      "isWeekend": false
    },
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-09-30",
      "score": 25,
      "verdict": "Not worth the drive",
      "headline": "Not worth the drive. Moon up after 8:19pm, 93% cloud.",
      "headlineLead": "Not worth the drive",
      "headlineDetail": "moon up after 8:19pm, 93% cloud",
      "milkyWay": {
        "visible": true,
        "maxAltitudeDeg": 10.9,
        "hoursUseful": 0.16,
        "bestAt": "8:09pm",
        "note": "Milky Way core up to 10.9°, high enough to be worth it for 0h10m"
      },
      "window": {
        "darkFrom": "8:09pm",
        "darkTo": "5:11am",
        "hours": 9.03,
        "bestFrom": "8:09pm",
        "bestTo": "8:19pm"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "93% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 1,
          "weight": 26,
          "note": "waning gibbous at 76%, rises 8:19pm, dark before that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "9h02m of astronomical darkness, 8:09pm–5:11am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 37,
          "weight": 10,
          "note": "Dewpoint spread 5.7°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 34,
          "weight": 16,
          "note": "Milky Way core up to 10.9°, high enough to be worth it for 0h10m"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Wednesday",
      "isWeekend": false
    }
  ]
}