{
  "graph" : {
    "columns" : [
      {
        "date" : "2026-09-18T01:00:00+12:00",
        "rainFallPerHour" : "1.4",
        "rainfall" : "1.4",
        "temperature" : "14.5",
        "wind" : {
          "direction" : "NE",
          "speed" : "22"
        }
      },
      {
        "date" : "2026-09-18T02:00:00+12:00",
        "rainFallPerHour" : "0.6",
        "rainfall" : "0.6",
        "temperature" : "13.3",
        "wind" : {
          "direction" : "NE",
          "speed" : "11"
        }
      },
      {
        "date" : "2026-09-18T03:00:00+12:00",
        "rainFallPerHour" : "0.4",
        "rainfall" : "0.4",
        "temperature" : "13.6",
        "wind" : {
          "direction" : "E",
          "speed" : "13"
        }
      },
      {
        "date" : "2026-09-18T04:00:00+12:00",
        "rainFallPerHour" : "2.2",
        "rainfall" : "2.2",
        "temperature" : "13.4",
        "wind" : {
          "direction" : "E",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-18T05:00:00+12:00",
        "rainFallPerHour" : "2.6",
        "rainfall" : "2.6",
        "temperature" : "13.0",
        "wind" : {
          "direction" : "SE",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-18T06:00:00+12:00",
        "rainFallPerHour" : "4.0",
        "rainfall" : "4.0",
        "temperature" : "12.7",
        "wind" : {
          "direction" : "SE",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-18T07:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.2",
        "wind" : {
          "direction" : "E",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-18T08:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.6",
        "wind" : {
          "direction" : "SE",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-18T09:00:00+12:00",
        "rainFallPerHour" : "0.2",
        "rainfall" : "0.2",
        "temperature" : "14.5",
        "wind" : {
          "direction" : "E",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-18T10:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.6",
        "wind" : {
          "direction" : "E",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-18T11:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "16.6",
        "wind" : {
          "direction" : "NE",
          "speed" : "19"
        }
      },
      {
        "date" : "2026-09-18T12:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "17.7",
        "wind" : {
          "direction" : "NE",
          "speed" : "17"
        }
      },
      {
        "date" : "2026-09-18T13:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "17.8",
        "wind" : {
          "direction" : "NE",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-18T14:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "17.5",
        "wind" : {
          "direction" : "NE",
          "speed" : "13"
        }
      },
      {
        "date" : "2026-09-18T15:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "17.9",
        "wind" : {
          "direction" : "N",
          "speed" : "9"
        }
      },
      {
        "date" : "2026-09-18T16:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "15.5",
        "wind" : {
          "direction" : "SW",
          "speed" : "20"
        }
      },
      {
        "date" : "2026-09-18T17:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "14.8",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-18T18:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.6",
        "wind" : {
          "direction" : "S",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-18T19:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.9",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-18T20:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.2",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-18T21:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.2",
        "wind" : {
          "direction" : "SW",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-18T22:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "12.9",
        "wind" : {
          "direction" : "S",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-18T23:00:00+12:00",
        "rainFallPerHour" : "0.0",
        "rainfall" : 0.0,
        "temperature" : "13.2",
        "wind" : {
          "direction" : "SW",
          "speed" : "15"
        }
      },
      {
        "date" : "2026-09-19T00:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T01:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "25"
        }
      },
      {
        "date" : "2026-09-19T02:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T03:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-19T04:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-19T05:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T06:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-19T07:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-19T08:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-19T09:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-19T10:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-19T11:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "16",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-19T12:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "16",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-19T13:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "16",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-19T14:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "16",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-19T15:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-19T16:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-19T17:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-19T18:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T19:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T20:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T21:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T22:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-19T23:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-20T00:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-20T01:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-20T02:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "28"
        }
      },
      {
        "date" : "2026-09-20T03:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-20T04:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-20T05:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-20T06:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "W",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-20T07:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-20T08:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "35"
        }
      },
      {
        "date" : "2026-09-20T09:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "37"
        }
      },
      {
        "date" : "2026-09-20T10:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "39"
        }
      },
      {
        "date" : "2026-09-20T11:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "41"
        }
      },
      {
        "date" : "2026-09-20T12:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "41"
        }
      },
      {
        "date" : "2026-09-20T13:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "43"
        }
      },
      {
        "date" : "2026-09-20T14:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "15",
        "wind" : {
          "direction" : "SW",
          "speed" : "41"
        }
      },
      {
        "date" : "2026-09-20T15:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "41"
        }
      },
      {
        "date" : "2026-09-20T16:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "39"
        }
      },
      {
        "date" : "2026-09-20T17:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "14",
        "wind" : {
          "direction" : "SW",
          "speed" : "37"
        }
      },
      {
        "date" : "2026-09-20T18:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "33"
        }
      },
      {
        "date" : "2026-09-20T19:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "31"
        }
      },
      {
        "date" : "2026-09-20T20:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "30"
        }
      },
      {
        "date" : "2026-09-20T21:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "13",
        "wind" : {
          "direction" : "SW",
          "speed" : "26"
        }
      },
      {
        "date" : "2026-09-20T22:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      },
      {
        "date" : "2026-09-20T23:00:00+12:00",
        "rainFallPerHour" : "0",
        "rainfall" : 0.0,
        "temperature" : "12",
        "wind" : {
          "direction" : "SW",
          "speed" : "24"
        }
      }
    ],
    "series" : [
      {
        "count" : 23,
        "label" : "Observed",
        "start" : 0
      },
      {
        "count" : 48,
        "label" : "Forecast",
        "start" : 23
      }
    ],
    "sunriseSunset" : [
      {
        "date" : "2026-09-18T00:00:00+12:00",
        "riseHour" : 6,
        "setHour" : 18,
        "sunRise" : "6:16am",
        "sunRiseISO" : "2026-09-18T06:16:00+12:00",
        "sunSet" : "6:15pm",
        "sunSetISO" : "2026-09-18T18:15:00+12:00"
      },
      {
        "date" : "2026-09-19T00:00:00+12:00",
        "riseHour" : 6,
        "setHour" : 18,
        "sunRise" : "6:15am",
        "sunRiseISO" : "2026-09-19T06:15:00+12:00",
        "sunSet" : "6:15pm",
        "sunSetISO" : "2026-09-19T18:15:00+12:00"
      },
      {
        "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"
      }
    ]
  },
  "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: 11.4 mm. Total rainfall forecast for today: 11.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"
  ]
}