{
  "graph" : {
    "columns" : [
      {
        "date" : "2026-09-20T01:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.8",
        "wind" : {
          "direction" : "W",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-20T02:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "14.9",
        "wind" : {
          "direction" : "W",
          "speed" : "44"
        }
      },
      {
        "date" : "2026-09-20T03:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.6",
        "wind" : {
          "direction" : "W",
          "speed" : "44"
        }
      },
      {
        "date" : "2026-09-20T04:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.6",
        "wind" : {
          "direction" : "W",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-20T05:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.9",
        "wind" : {
          "direction" : "W",
          "speed" : "35"
        }
      },
      {
        "date" : "2026-09-20T06:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "14.5",
        "wind" : {
          "direction" : "W",
          "speed" : "41"
        }
      },
      {
        "date" : "2026-09-20T07:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.6",
        "wind" : {
          "direction" : "W",
          "speed" : "46"
        }
      },
      {
        "date" : "2026-09-20T08:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.5",
        "wind" : {
          "direction" : "SW",
          "speed" : "57"
        }
      },
      {
        "date" : "2026-09-20T09:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "12.4",
        "wind" : {
          "direction" : "SW",
          "speed" : "67"
        }
      },
      {
        "date" : "2026-09-20T10:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.2",
        "wind" : {
          "direction" : "SW",
          "speed" : "48"
        }
      },
      {
        "date" : "2026-09-20T11:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.8",
        "wind" : {
          "direction" : "SW",
          "speed" : "44"
        }
      },
      {
        "date" : "2026-09-20T12:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "12.9",
        "wind" : {
          "direction" : "SW",
          "speed" : "46"
        }
      },
      {
        "date" : "2026-09-20T13:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.6",
        "wind" : {
          "direction" : "SW",
          "speed" : "50"
        }
      },
      {
        "date" : "2026-09-20T14:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.4",
        "wind" : {
          "direction" : "SW",
          "speed" : "46"
        }
      },
      {
        "date" : "2026-09-20T15:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.1",
        "wind" : {
          "direction" : "SW",
          "speed" : "48"
        }
      },
      {
        "date" : "2026-09-20T16:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.8",
        "wind" : {
          "direction" : "SW",
          "speed" : "41"
        }
      },
      {
        "date" : "2026-09-20T17:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.2",
        "wind" : {
          "direction" : "SW",
          "speed" : "39"
        }
      },
      {
        "date" : "2026-09-20T18:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.6",
        "wind" : {
          "direction" : "SW",
          "speed" : "44"
        }
      },
      {
        "date" : "2026-09-20T19:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.5",
        "wind" : {
          "direction" : "SW",
          "speed" : "37"
        }
      },
      {
        "date" : "2026-09-20T20:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.4",
        "wind" : {
          "direction" : "SW",
          "speed" : "35"
        }
      },
      {
        "date" : "2026-09-20T21:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.1",
        "wind" : {
          "direction" : "SW",
          "speed" : "35"
        }
      },
      {
        "date" : "2026-09-20T22:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.3",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-20T23:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "12.8",
        "wind" : {
          "direction" : "SW",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-21T00:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-21T01:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-21T02:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-21T03:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-21T04:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-21T05:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-21T06:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-21T07:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-21T08:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-21T09:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "20"
        }
      },
      {
        "date" : "2026-09-21T10:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "22"
        }
      },
      {
        "date" : "2026-09-21T11:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-21T12:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-21T13:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-21T14:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-21T15:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-21T16:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-21T17:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-21T18:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "22"
        }
      },
      {
        "date" : "2026-09-21T19:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "20"
        }
      },
      {
        "date" : "2026-09-21T20:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "20"
        }
      },
      {
        "date" : "2026-09-21T21:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-21T22:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-21T23:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-22T00:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-22T01:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-22T02:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-22T03:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-22T04:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-22T05:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-22T06:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "W",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-22T07:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-22T08:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "W",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-22T09:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "16",
        "wind" : {
          "direction" : "W",
          "speed" : "22"
        }
      },
      {
        "date" : "2026-09-22T10:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "17",
        "wind" : {
          "direction" : "W",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-22T11:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "17",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-22T12:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "17",
        "wind" : {
          "direction" : "W",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-22T13:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "17",
        "wind" : {
          "direction" : "W",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-22T14:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "16",
        "wind" : {
          "direction" : "SW",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-22T15:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-22T16:00:00+12:00",
        "rainFallPerHour" : "0.6",
        "rainfall" : "0.6",
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-22T17:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-22T18:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-22T19:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-22T20:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-22T21:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-22T22:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-22T23:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      }
    ],
    "series" : [
      {
        "count" : 23,
        "label" : "Observed",
        "start" : 0
      },
      {
        "count" : 48,
        "label" : "Forecast",
        "start" : 23
      }
    ],
    "sunriseSunset" : [
      {
        "date" : "2026-09-20T00:00:00+12:00",
        "riseHour" : 6,
        "setHour" : 18,
        "sunRise" : "6:13am",
        "sunRiseISO" : "2026-09-20T06:13:00+12:00",
        "sunSet" : "6:16pm",
        "sunSetISO" : "2026-09-20T18:16:00+12:00"
      },
      {
        "date" : "2026-09-21T00:00:00+12:00",
        "riseHour" : 6,
        "setHour" : 18,
        "sunRise" : "6:12am",
        "sunRiseISO" : "2026-09-21T06:12:00+12:00",
        "sunSet" : "6:17pm",
        "sunSetISO" : "2026-09-21T18:17:00+12:00"
      },
      {
        "date" : "2026-09-22T00:00:00+12:00",
        "riseHour" : 6,
        "setHour" : 18,
        "sunRise" : "6:10am",
        "sunRiseISO" : "2026-09-22T06:10:00+12:00",
        "sunSet" : "6:18pm",
        "sunSetISO" : "2026-09-22T18:18:00+12:00"
      }
    ]
  },
  "keys" : [
    {
      "items" : [
        {
          "label" : "Calm: 0"
        },
        {
          "icon" : "wind-north-light",
          "label" : "Light Winds: 1 - 14"
        },
        {
          "icon" : "wind-north-moderate",
          "label" : "Moderate: 15 - 29"
        },
        {
          "icon" : "wind-north-fresh",
          "label" : "Fresh: 30 - 39"
        },
        {
          "icon" : "wind-north-strong",
          "label" : "Strong: 40 - 62"
        },
        {
          "icon" : "wind-north-gale",
          "label" : "Gale: 63 - 89"
        },
        {
          "icon" : "wind-north-gale",
          "label" : "Severe Gale: > 89"
        }
      ],
      "label" : "Wind (km/h)"
    },
    {
      "items" : [
        {
          "className" : "rainfall-light",
          "icon" : "rainfall-light",
          "label" : "Light: 0.2 - 2.0"
        },
        {
          "className" : "rainfall-moderate",
          "icon" : "rainfall-moderate",
          "label" : "Moderate: 2.1 - 6.0"
        },
        {
          "className" : "rainfall-heavy",
          "icon" : "rainfall-heavy",
          "label" : "Heavy: 6.1 - 25"
        },
        {
          "className" : "rainfall-torrential",
          "icon" : "rainfall-torrential",
          "label" : "Torrential: > 25"
        }
      ],
      "label" : "Rain (mm/h)"
    }
  ],
  "labels" : [
    "",
    "Rainfall (mm/h)",
    "Temperature (°C)",
    "Avg wind speed (not gusts) in km/h"
  ],
  "name" : "forty-eight-hour-forecast/1",
  "notes" : [
    {
      "text" : "Total rainfall so far today: 0.4 mm. Total rainfall forecast for today: 0.4 mm"
    }
  ],
  "notesLast" : [
    {
      "text" : "The hourly model data shown can differ from the written forecast and icons, which are produced by MetService meteorologists and take into account model data along with many other data sources. If they differ significantly, please use the text forecasts."
    },
    {
      "text" : "Forecast data is specifically generated for Central Auckland (90544). Rainfall shown is for the sum up to the hour. Wind speed, wind direction and temperature are the observed or forecast values at the given hour."
    }
  ],
  "title" : "Hourly Observations and Forecast",
  "type" : "module",
  "types" : [
    "date",
    "rainfall",
    "temperature",
    "wind"
  ]
}