{
  "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"
    ],
    "visited": null,
    "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-11-02T12:15:12.797Z",
  "weather": {
    "source": "Open-Meteo",
    "error": null,
    "nightsCovered": 14,
    "nightsTotal": 14,
    "note": "Cloud forecast covers every night shown"
  },
  "headline": "Saturday November 7 looks like the pick of the next 14 nights.",
  "best": {
    "site": "badlands",
    "siteName": "Badlands National Park",
    "region": "Interior, SD",
    "date": "2026-11-07",
    "score": 83,
    "verdict": "Good",
    "headline": "Good night. No moon all night, clear skies.",
    "headlineLead": "Good night",
    "headlineDetail": "no moon all night, clear skies",
    "milkyWay": {
      "visible": false,
      "maxAltitudeDeg": 0.6,
      "hoursUseful": 0,
      "bestAt": "6:11pm",
      "note": "Milky Way core only reaches 0.6°, low enough that haze takes most of it"
    },
    "window": {
      "darkFrom": "6:11pm",
      "darkTo": "4:56am",
      "hours": 10.75,
      "bestFrom": "6:11pm",
      "bestTo": "4:56am"
    },
    "factors": [
      {
        "key": "cloud",
        "name": "Cloud",
        "score": 98,
        "weight": 32,
        "note": "1% cloud, essentially clear"
      },
      {
        "key": "moon",
        "name": "Moon",
        "score": 100,
        "weight": 26,
        "note": "new moon, below the horizon all night, so no moonlight at all"
      },
      {
        "key": "darkness",
        "name": "Darkness",
        "score": 100,
        "weight": 16,
        "note": "10h45m of astronomical darkness, 6:11pm–4:56am"
      },
      {
        "key": "transparency",
        "name": "Transparency",
        "score": 91,
        "weight": 10,
        "note": "Dewpoint spread 11.1°C, dry and steady air"
      },
      {
        "key": "targets",
        "name": "Targets",
        "score": 0,
        "weight": 16,
        "note": "Leonids running, about 0 an hour at best"
      }
    ],
    "weatherBacked": true,
    "confidence": "full",
    "dataSources": {
      "astronomy": "SunCalc (local computation)",
      "weather": "Open-Meteo"
    },
    "weekday": "Saturday",
    "isWeekend": true
  },
  "bestWeekend": null,
  "nights": [
    {
      "site": "badlands",
      "siteName": "Badlands National Park",
      "region": "Interior, SD",
      "date": "2026-11-02",
      "score": 39,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon up after 12:17am, 100% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon up after 12:17am, 100% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 2.5,
        "hoursUseful": 0,
        "bestAt": "6:17pm",
        "note": "Milky Way core only reaches 2.5°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:17pm",
        "darkTo": "4:51am",
        "hours": 10.56,
        "bestFrom": "6:17pm",
        "bestTo": "12:17am"
      },
      "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": 88,
          "weight": 26,
          "note": "last quarter at 35%, rises 12:17am, dark before that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h34m of astronomical darkness, 6:17pm–4:51am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 1.1°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Orionids running, about 0 an hour at best"
        }
      ],
      "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-11-03",
      "score": 72,
      "verdict": "Good",
      "headline": "Good night. Moon up after 1:31am, clear skies.",
      "headlineLead": "Good night",
      "headlineDetail": "moon up after 1:31am, clear skies",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 2.1,
        "hoursUseful": 0,
        "bestAt": "6:16pm",
        "note": "Milky Way core only reaches 2.1°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:16pm",
        "darkTo": "4:52am",
        "hours": 10.6,
        "bestFrom": "6:16pm",
        "bestTo": "1:31am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 89,
          "weight": 32,
          "note": "9% cloud, essentially clear"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 95,
          "weight": 26,
          "note": "waning crescent at 24%, rises 1:31am, dark before that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h36m of astronomical darkness, 6:16pm–4:52am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 31,
          "weight": 10,
          "note": "Dewpoint spread 5.1°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Orionids running, about 0 an hour at best"
        }
      ],
      "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-11-04",
      "score": 56,
      "verdict": "Fair",
      "headline": "Workable. Moon up after 2:45am, 58% cloud.",
      "headlineLead": "Workable",
      "headlineDetail": "moon up after 2:45am, 58% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 1.8,
        "hoursUseful": 0,
        "bestAt": "6:15pm",
        "note": "Milky Way core only reaches 1.8°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:15pm",
        "darkTo": "4:53am",
        "hours": 10.64,
        "bestFrom": "6:15pm",
        "bestTo": "2:45am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 25,
          "weight": 32,
          "note": "58% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 99,
          "weight": 26,
          "note": "waning crescent at 16%, rises 2:45am, dark before that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h38m of astronomical darkness, 6:15pm–4:53am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 60,
          "weight": 10,
          "note": "Dewpoint spread 8.0°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Orionids running, about 0 an hour at best"
        }
      ],
      "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-11-05",
      "score": 49,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon up after 3:54am, 72% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon up after 3:54am, 72% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 1.4,
        "hoursUseful": 0,
        "bestAt": "6:14pm",
        "note": "Milky Way core only reaches 1.4°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:14pm",
        "darkTo": "4:54am",
        "hours": 10.68,
        "bestFrom": "6:14pm",
        "bestTo": "3:54am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 7,
          "weight": 32,
          "note": "72% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "waning crescent at 9%, rises 3:54am, dark before that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h41m of astronomical darkness, 6:14pm–4:54am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 45,
          "weight": 10,
          "note": "Dewpoint spread 6.5°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Orionids running, about 0 an hour at best"
        }
      ],
      "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-11-06",
      "score": 55,
      "verdict": "Fair",
      "headline": "Workable. No moon all night, 69% cloud.",
      "headlineLead": "Workable",
      "headlineDetail": "no moon all night, 69% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 1,
        "hoursUseful": 0,
        "bestAt": "6:12pm",
        "note": "Milky Way core only reaches 1°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:12pm",
        "darkTo": "4:55am",
        "hours": 10.71,
        "bestFrom": "6:12pm",
        "bestTo": "4:55am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 11,
          "weight": 32,
          "note": "69% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "waning crescent, below the horizon all night, so no moonlight at all"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h43m of astronomical darkness, 6:12pm–4:55am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 89,
          "weight": 10,
          "note": "Dewpoint spread 10.9°C, dry and steady air"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Leonids running, about 0 an hour at best"
        }
      ],
      "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-11-07",
      "score": 83,
      "verdict": "Good",
      "headline": "Good night. No moon all night, clear skies.",
      "headlineLead": "Good night",
      "headlineDetail": "no moon all night, clear skies",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 0.6,
        "hoursUseful": 0,
        "bestAt": "6:11pm",
        "note": "Milky Way core only reaches 0.6°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:11pm",
        "darkTo": "4:56am",
        "hours": 10.75,
        "bestFrom": "6:11pm",
        "bestTo": "4:56am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 98,
          "weight": 32,
          "note": "1% cloud, essentially clear"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "new moon, below the horizon all night, so no moonlight at all"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h45m of astronomical darkness, 6:11pm–4:56am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 91,
          "weight": 10,
          "note": "Dewpoint spread 11.1°C, dry and steady air"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Leonids running, about 0 an hour at best"
        }
      ],
      "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-11-08",
      "score": 66,
      "verdict": "Fair",
      "headline": "Workable. No moon all night, 46% cloud.",
      "headlineLead": "Workable",
      "headlineDetail": "no moon all night, 46% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": 0.3,
        "hoursUseful": 0,
        "bestAt": "6:10pm",
        "note": "Milky Way core only reaches 0.3°, low enough that haze takes most of it"
      },
      "window": {
        "darkFrom": "6:10pm",
        "darkTo": "4:58am",
        "hours": 10.79,
        "bestFrom": "6:10pm",
        "bestTo": "4:58am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 41,
          "weight": 32,
          "note": "46% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "new moon, below the horizon all night, so no moonlight at all"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h47m of astronomical darkness, 6:10pm–4:58am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 100,
          "weight": 10,
          "note": "Dewpoint spread 12.6°C, dry and steady air"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Leonids running, about 0 an hour at best"
        }
      ],
      "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-11-09",
      "score": 63,
      "verdict": "Fair",
      "headline": "Workable. No moon all night, 39% cloud.",
      "headlineLead": "Workable",
      "headlineDetail": "no moon all night, 39% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -0.1,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:09pm",
        "darkTo": "4:59am",
        "hours": 10.82,
        "bestFrom": "6:09pm",
        "bestTo": "4:59am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 50,
          "weight": 32,
          "note": "39% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "new moon, below the horizon all night, so no moonlight at all"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h49m of astronomical darkness, 6:09pm–4:59am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 47,
          "weight": 10,
          "note": "Dewpoint spread 6.7°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Leonids running, about 0 an hour at best"
        }
      ],
      "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-11-10",
      "score": 49,
      "verdict": "Poor",
      "headline": "Poor conditions. No moon all night, 83% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "no moon all night, 83% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -0.5,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:09pm",
        "darkTo": "5:00am",
        "hours": 10.86,
        "bestFrom": "6:09pm",
        "bestTo": "5:00am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "83% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "new moon, below the horizon all night, so no moonlight at all"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h51m of astronomical darkness, 6:09pm–5:00am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 63,
          "weight": 10,
          "note": "Dewpoint spread 8.3°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 0,
          "weight": 16,
          "note": "Leonids running, about 0 an hour at best"
        }
      ],
      "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-11-11",
      "score": 50,
      "verdict": "Fair",
      "headline": "Workable. No moon all night, 91% cloud.",
      "headlineLead": "Workable",
      "headlineDetail": "no moon all night, 91% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -0.9,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:08pm",
        "darkTo": "5:01am",
        "hours": 10.89,
        "bestFrom": "6:08pm",
        "bestTo": "5:01am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "91% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "waxing crescent, below the horizon all night, so no moonlight at all"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h53m of astronomical darkness, 6:08pm–5:01am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 74,
          "weight": 10,
          "note": "Dewpoint spread 9.4°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 1,
          "weight": 16,
          "note": "Leonids running, about 1 an hour at best"
        }
      ],
      "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-11-12",
      "score": 48,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 6:42pm, 98% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 6:42pm, 98% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -1.4,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:07pm",
        "darkTo": "5:02am",
        "hours": 10.92,
        "bestFrom": "6:42pm",
        "bestTo": "5:02am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "98% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 100,
          "weight": 26,
          "note": "waxing crescent at 15%, sets 6:42pm, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h55m of astronomical darkness, 6:07pm–5:02am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 49,
          "weight": 10,
          "note": "Dewpoint spread 6.9°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 2,
          "weight": 16,
          "note": "Leonids running, about 2 an hour at best"
        }
      ],
      "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-11-13",
      "score": 46,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 7:41pm, 94% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 7:41pm, 94% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -1.8,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:06pm",
        "darkTo": "5:03am",
        "hours": 10.96,
        "bestFrom": "7:41pm",
        "bestTo": "5:03am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "94% cloud, mostly high cirrus, thin to the eye but ruinous for photography"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 99,
          "weight": 26,
          "note": "waxing crescent at 22%, sets 7:41pm, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h57m of astronomical darkness, 6:06pm–5:03am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 30,
          "weight": 10,
          "note": "Dewpoint spread 5.0°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 4,
          "weight": 16,
          "note": "Leonids running, about 4 an hour at best"
        }
      ],
      "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-11-14",
      "score": 42,
      "verdict": "Poor",
      "headline": "Poor conditions. Moon down after 8:45pm, 100% cloud.",
      "headlineLead": "Poor conditions",
      "headlineDetail": "moon down after 8:45pm, 100% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -2.2,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:05pm",
        "darkTo": "5:04am",
        "hours": 10.99,
        "bestFrom": "8:45pm",
        "bestTo": "5:04am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 0,
          "weight": 32,
          "note": "100% cloud, overcast"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 97,
          "weight": 26,
          "note": "waxing crescent at 30%, sets 8:45pm, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "10h59m of astronomical darkness, 6:05pm–5:04am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 0,
          "weight": 10,
          "note": "Dewpoint spread 0.9°C, fog or heavy haze likely"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 6,
          "weight": 16,
          "note": "Leonids running, about 6 an hour at best"
        }
      ],
      "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-11-15",
      "score": 56,
      "verdict": "Fair",
      "headline": "Workable. Moon down after 9:49pm, 56% cloud.",
      "headlineLead": "Workable",
      "headlineDetail": "moon down after 9:49pm, 56% cloud",
      "milkyWay": {
        "visible": false,
        "maxAltitudeDeg": -2.7,
        "hoursUseful": 0,
        "bestAt": null,
        "note": "Milky Way core below the horizon all night. It is a summer object here, roughly late April to early September"
      },
      "window": {
        "darkFrom": "6:04pm",
        "darkTo": "5:06am",
        "hours": 11.02,
        "bestFrom": "9:49pm",
        "bestTo": "5:06am"
      },
      "factors": [
        {
          "key": "cloud",
          "name": "Cloud",
          "score": 44,
          "weight": 32,
          "note": "56% cloud cover, 1% of it high"
        },
        {
          "key": "moon",
          "name": "Moon",
          "score": 93,
          "weight": 26,
          "note": "first quarter at 39%, sets 9:49pm, dark after that"
        },
        {
          "key": "darkness",
          "name": "Darkness",
          "score": 100,
          "weight": 16,
          "note": "11h01m of astronomical darkness, 6:04pm–5:06am"
        },
        {
          "key": "transparency",
          "name": "Transparency",
          "score": 1,
          "weight": 10,
          "note": "Dewpoint spread 2.1°C, some haze possible"
        },
        {
          "key": "targets",
          "name": "Targets",
          "score": 10,
          "weight": 16,
          "note": "Leonids running, about 10 an hour at best"
        }
      ],
      "weatherBacked": true,
      "confidence": "full",
      "dataSources": {
        "astronomy": "SunCalc (local computation)",
        "weather": "Open-Meteo"
      },
      "weekday": "Sunday",
      "isWeekend": false
    }
  ]
}