{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "@id": "https://windbornesystems.com/weather/united-states/sterling-heights/#forecast",
  "name": "15-day weather forecast for Sterling Heights, Michigan, United States",
  "description": "Weather forecast for Sterling Heights produced by WindBorne WeatherMesh (init 2026-07-23T16:00:00Z). Includes daily high/low temperature, precipitation, wind, cloud cover, and humidity in both metric and imperial units.",
  "url": "https://windbornesystems.com/weather/united-states/sterling-heights/",
  "sameAs": "https://windbornesystems.com/weather/united-states/sterling-heights/forecast.json",
  "license": "https://windbornesystems.com/terms",
  "creator": {
    "@type": "Organization",
    "name": "WindBorne Systems",
    "url": "https://windbornesystems.com"
  },
  "isBasedOn": {
    "@type": "SoftwareApplication",
    "name": "WindBorne WeatherMesh",
    "softwareVersion": "wm-6",
    "applicationCategory": "WeatherForecastModel"
  },
  "dateModified": "2026-07-23T16:00:00Z",
  "datePublished": "2026-07-23T17:39:20.671Z",
  "temporalCoverage": "2026-07-23/2026-08-06",
  "spatialCoverage": {
    "@type": "Place",
    "name": "Sterling Heights, Michigan, United States",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Sterling Heights",
      "addressRegion": "Michigan",
      "addressCountry": "United States"
    },
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": 42.58031,
      "longitude": -83.0302,
      "elevation": 187
    },
    "additionalProperty": [
      {
        "@type": "PropertyValue",
        "name": "timezone",
        "value": "America/Detroit"
      },
      {
        "@type": "PropertyValue",
        "name": "population",
        "value": 132052
      }
    ]
  },
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "propertyID": "temperature_high",
      "name": "Daily high temperature",
      "unitText": "degrees Celsius",
      "unitCode": "CEL",
      "description": "The warmest temperature expected during the day, rounded to your selected units."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "temperature_low",
      "name": "Daily low temperature",
      "unitText": "degrees Celsius",
      "unitCode": "CEL",
      "description": "The coolest temperature expected during the day, rounded to your selected units."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "precipitation",
      "name": "Total daily precipitation",
      "unitText": "millimetres",
      "unitCode": "MMT",
      "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "precipitation_probability",
      "name": "Displayed precipitation probability",
      "unitText": "percent",
      "unitCode": "P1",
      "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "snowfall",
      "name": "Total daily snowfall",
      "unitText": "millimetres",
      "unitCode": "MMT",
      "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "wind_speed",
      "name": "Daily mean 10 m wind speed",
      "unitText": "miles per hour",
      "unitCode": "HM",
      "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "wind_direction",
      "name": "Daily mean 10 m wind direction",
      "unitText": "degrees",
      "unitCode": "DD",
      "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "cloud_cover",
      "name": "Mean total cloud cover",
      "unitText": "percent",
      "unitCode": "P1",
      "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
    },
    {
      "@type": "PropertyValue",
      "propertyID": "humidity",
      "name": "Mean relative humidity",
      "unitText": "percent",
      "unitCode": "P1"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "pressure",
      "name": "Mean mean-sea-level pressure",
      "unitText": "hectopascals",
      "unitCode": "A97"
    }
  ],
  "distribution": [
    {
      "@type": "DataDownload",
      "encodingFormat": "application/json",
      "contentUrl": "https://windbornesystems.com/weather/united-states/sterling-heights/forecast.json"
    }
  ],
  "hasPart": [
    {
      "@type": "Observation",
      "observationDate": "2026-07-23T18:00:00Z",
      "name": "Current conditions for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_c",
          "value": 24.9,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_f",
          "value": 77,
          "unitText": "°F",
          "unitCode": "FAH"
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 33,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 2,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 3,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 343,
          "unitText": "°",
          "unitCode": "DD"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "NNW"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1022,
          "unitText": "hPa",
          "unitCode": "A97"
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-23",
      "name": "Thursday 2026-07-23 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 26,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 79,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 15,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 59,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 26,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 15,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 0,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 4,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 6,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 6,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 10,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 198,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "SSW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 4,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 45,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1022,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "clear",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Mostly clear and warm, with a high of 26°C and morning low of 15°C. Light wind from the NW around 5 km/h. Dry air."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Mostly clear, with a low around 18°C. Light wind from the SSE around 10 km/h."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-24",
      "name": "Friday 2026-07-24 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 27,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 81,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 15,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 58,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 27,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 15,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 0,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 5,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 8,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 154,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "SSE",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 44,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 55,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1020,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "partly-cloudy",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and warm, with a high of 27°C and morning low of 17°C. Light wind from the SE around 8 km/h."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 15°C. Light wind from the S around 8 km/h."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-25",
      "name": "Saturday 2026-07-25 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 86,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 16,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 60,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 16,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 1,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 5,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 8,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 224,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "SW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 24,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 55,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1015,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "clear",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and hot, with a high of 30°C and morning low of 19°C. Breezy from the SW at 8 to 11 km/h."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Mostly clear, with a low around 16°C. Light wind from the SSW around 8 km/h."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-26",
      "name": "Sunday 2026-07-26 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 32,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 90,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 21,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 70,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 32,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 21,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 1.2,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 19,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 5,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 9,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 6,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 9,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 272,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "W",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 43,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 59,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1011,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and hot, with a high of 32°C and morning low of 22°C. Light wind from the WNW around 9 km/h. 15% chance of drizzle throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 21°C. Light wind from the WSW around 8 km/h. 19% chance of drizzle in the evening."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-27",
      "name": "Monday 2026-07-27 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 31,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 89,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 22,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 71,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 33,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 22,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 4.6,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 43,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 6,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 10,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 8,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 13,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 218,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "SW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 61,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 65,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1007,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "showers",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Mostly cloudy and hot, with a high of 31°C and morning low of 23°C. Breezy from the SW at 11 to 13 km/h. 26% chance of showers throughout the day. Humid."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Mostly cloudy, with a low around 22°C. Breezy from the SSW at 9 to 11 km/h. 43% chance of showers throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-28",
      "name": "Tuesday 2026-07-28 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 29,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 83,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 22,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 71,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 22,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 5.6,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 45,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 9,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 14,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 11,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 17,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 346,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "NNW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 43,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 68,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1005,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "showers",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and warm, with a high of 29°C and morning low of 23°C. Breezy from the NNW at 15 to 17 km/h. 33% chance of showers throughout the day. Humid."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 22°C. Breezy from the N at 13 to 15 km/h. 45% chance of showers throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-29",
      "name": "Wednesday 2026-07-29 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 28,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 82,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 18,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 64,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 28,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 18,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 0.5,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 9,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 8,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 13,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 1,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "N",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 24,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 58,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1011,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "clear",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and warm, with a high of 28°C and morning low of 19°C. Breezy from the N at 12 km/h."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Mostly clear, with a low around 18°C. Breezy from the N at 11 km/h."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-30",
      "name": "Thursday 2026-07-30 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 29,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 85,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 18,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 64,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 29,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 18,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 0.9,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 10,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 6,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 10,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 345,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "NNW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 31,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 56,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1013,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and warm, with a high of 29°C and morning low of 19°C. Breezy from the NW at 10 to 11 km/h. 10% chance of drizzle in the morning."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 18°C. Light wind from the ENE around 9 km/h. 10% chance of drizzle in the evening."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-07-31",
      "name": "Friday 2026-07-31 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 31,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 87,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 66,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 31,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 1.7,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 22,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 6,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 10,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 12,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 244,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "WSW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 39,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 57,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1013,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and hot, with a high of 31°C and morning low of 21°C. Breezy from the WSW at 11 km/h. 19% chance of drizzle throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 19°C. Light wind from the SW around 9 km/h. 22% chance of drizzle throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-08-01",
      "name": "Saturday 2026-08-01 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 86,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 20,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 68,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 20,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 2,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 25,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 8,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 13,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 299,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "WNW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 39,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 58,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1011,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "showers",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and warm, with a high of 30°C and morning low of 21°C. Breezy from the WNW at 11 to 13 km/h. 19% chance of drizzle throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 20°C. Light wind from the NW around 10 km/h. 25% chance of showers throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-08-02",
      "name": "Sunday 2026-08-02 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 86,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 66,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 1.3,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 19,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 8,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 13,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 278,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "W",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 40,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 58,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1011,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Partly cloudy and warm, with a high of 30°C and morning low of 20°C. Breezy from the W at 12 to 13 km/h. 13% chance of drizzle in the afternoon."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 19°C. Light wind from the W around 10 km/h. 19% chance of drizzle throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-08-03",
      "name": "Monday 2026-08-03 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 86,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 67,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 1.5,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 17,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 9,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 14,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 226,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "SW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 46,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 59,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1012,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Mostly cloudy and hot, with a high of 30°C and morning low of 21°C. Breezy from the SW at 12 to 14 km/h. 17% chance of drizzle throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 19°C. Breezy from the SSW at 10 to 11 km/h. 13% chance of drizzle throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-08-04",
      "name": "Tuesday 2026-08-04 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 86,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 21,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 69,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 30,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 21,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 2.2,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 19,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 12,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 9,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 14,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 240,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "WSW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 56,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 58,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1013,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Mostly cloudy and warm, with a high of 30°C and morning low of 21°C. Breezy from the WSW at 12 to 14 km/h. 18% chance of drizzle throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Mostly cloudy, with a low around 21°C. Breezy from the SW at 11 km/h. 19% chance of drizzle throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-08-05",
      "name": "Wednesday 2026-08-05 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 29,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 84,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 20,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 68,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 29,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 20,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 2.4,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 18,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 12,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 9,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 14,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 252,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "WSW",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 49,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 59,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1014,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "drizzle",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Mostly cloudy and warm, with a high of 29°C and morning low of 21°C. Breezy from the WSW at 12 to 14 km/h. 18% chance of drizzle throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 20°C. Breezy from the WSW at 11 km/h. 17% chance of drizzle throughout the night."
        }
      ]
    },
    {
      "@type": "Observation",
      "observationDate": "2026-08-06",
      "name": "Thursday 2026-08-06 forecast for Sterling Heights",
      "variableMeasured": [
        {
          "@type": "PropertyValue",
          "name": "temperature_high_c",
          "value": 28,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_high_f",
          "value": 83,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The warmest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "temperature_low_f",
          "value": 66,
          "unitText": "°F",
          "unitCode": "FAH",
          "description": "The coolest temperature expected during the day, rounded to your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_high_c",
          "value": 28,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "feels_like_low_c",
          "value": 19,
          "unitText": "°C",
          "unitCode": "CEL"
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_mm",
          "value": 2.6,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "precipitation_probability_pct",
          "value": 19,
          "unitText": "%",
          "unitCode": "P1",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "snowfall_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "max_snowfall_3h_mm",
          "value": 0,
          "unitText": "mm",
          "unitCode": "MMT",
          "description": "The amount is our best estimate for the whole day. The percent is the highest chance, among the day's 3-hour forecast periods, of at least 0.25 mm (0.01 in) of precipitation. Because amount and chance answer different questions, a small daily total can still have a noticeable percent. If snow is expected, the amount shown is snowfall."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_mph",
          "value": 7,
          "unitText": "mph",
          "unitCode": "HM",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_kmh",
          "value": 11,
          "unitText": "km/h",
          "unitCode": "KMH",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_mph",
          "value": 8,
          "unitText": "mph",
          "unitCode": "HM"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_speed_max_kmh",
          "value": 13,
          "unitText": "km/h",
          "unitCode": "KMH"
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_deg",
          "value": 259,
          "unitText": "°",
          "unitCode": "DD",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "wind_direction_cardinal",
          "value": "W",
          "description": "The day's average wind. Direction shows where the wind comes from, and speed is shown in your selected units."
        },
        {
          "@type": "PropertyValue",
          "name": "cloud_cover_pct",
          "value": 47,
          "unitText": "%",
          "unitCode": "P1",
          "description": "How cloudy the day is expected to be on average, from clear (0%) to overcast (100%)."
        },
        {
          "@type": "PropertyValue",
          "name": "humidity_pct",
          "value": 60,
          "unitText": "%",
          "unitCode": "P1"
        },
        {
          "@type": "PropertyValue",
          "name": "pressure_hpa",
          "value": 1015,
          "unitText": "hPa",
          "unitCode": "A97"
        },
        {
          "@type": "PropertyValue",
          "name": "condition",
          "value": "showers",
          "description": "A plain-language summary for the day. Wet days use the precipitation-type forecast first, then the expected intensity to choose labels like downpour, light rain, flurries, sleet, or freezing drizzle. Otherwise, the summary uses cloud cover, feels-like temperature, and wind."
        },
        {
          "@type": "PropertyValue",
          "name": "day_text",
          "value": "Mostly cloudy and warm, with a high of 28°C and morning low of 20°C. Breezy from the WSW at 12 to 13 km/h. 19% chance of showers throughout the day."
        },
        {
          "@type": "PropertyValue",
          "name": "night_text",
          "value": "Partly cloudy, with a low around 19°C. Breezy from the W at 10 to 11 km/h. 17% chance of drizzle throughout the night."
        }
      ]
    }
  ]
}