Historical Hourly API

This API returns historical weather data from our network of over 120,000 stations reporting hourly weather data. This is hourly historical data, and a request will return data from data sources within ~15 k...

API Guide

Historical Hourly API

This API returns historical weather data from our network of over 120,000 stations reporting hourly weather data. This is hourly historical data, and a request will return data from data sources within ~15 km of the requested point.

This API returns hourly data. For daily historical data, see the Daily Historical Weather API.

The following per API request limitations apply (See: pricing):

  • *Plus / Business / Enterprise plans: 10 days of data per API request.
  • Other plan(s): No access

*For convenience, up to 1 month of data can be requested per API request. However, requests that exceed 10 days will count as multiple requests against the plan daily quota. Example: 30 days = 3 requests, 14 days = 2 requests.

Frequently Asked Questions

What data sources are used in the Historical Weather API?

Historical weather responses are built from a multi-source dataset that can include station observations, RTMA, radar, satellite precipitation estimates, ERA5, CAMS, GHCN, and other global sources. The exact mix depends on location, time, and source availability.

Read help article

Why does historical data sometimes change?

Historical records can be revised as higher-quality source data arrives after the first response. We recommend checking `revision_status` and `revision_version`, and retrieving updated data if your analysis requires research-quality values. For most users, "interim" data is adequate.

Read help article

How does Weatherbit combine multiple historical data sources?

We prefer nearby ground-truth station data when it is available and high quality, then blend in other datasets to improve spatial completeness and reduce gaps. As station distance or quality changes, the source selection can shift accordingly.

Read help article

What spatial resolution should I expect from historical data?

Historical weather coverage typically ranges from about 1 to 13 km, depending on nearby stations and the source mix available for that location.

Read help article

When is data valid, and how are accumulated values computed?

Unless a field is documented otherwise, values are valid at the timestamp shown in the response. Accumulated fields such as precipitation and snowfall represent the aggregate for the interval from that timestamp, to the next timestamp. The same applies to averages, max/mins, etc.

Read help article

What does the `solar_rad` field represent?

The solar radiation field is an estimated surface solar flux value that accounts for cloud cover, surface albedo, and atmospheric effects. Alternatively, GHI/DNI/DHI values are clear-sky values which do not account for these.

Read help article

Why do large historical requests need to be broken into smaller calls?

Historical API access is designed around chunked retrieval, so larger time ranges should be split into smaller windows such as monthly requests. This is expected behavior and is how bulk retrieval is meant to be handled.

Read help article

Request Parameters

Field Optional/Required Type Data Type Description
lat Optional query number Latitude component of location.
lon Optional query number Longitude component of location.
city Optional query string City search.. Example - &city=Raleigh,NC or &city=Berlin,DE or city=Paris&country=FR
postal_code Optional query string Postal Code. Example: 28546
country Optional query string Country Code (2 letter) - to be used with postal_code.
station Optional query string Station Call ID.
start_date Required query string Start Date (YYYY-MM-DD or YYYY-MM-DD:HH).
end_date Required query string End Date (YYYY-MM-DD or YYYY-MM-DD:HH).
units Optional query string Convert to units. Default Metric. Options (I = Imperial, M = Metric, S = Scientific) Options: S, I, M
lang Optional query string Language (Default: English) See language field description Options: ar, az, be, bg, bs, ca, cs, de, fi, fr, el, es, et, hr, hu, id, it, is, kw, nb, nl, pl, pt, ro, ru, sk, sl, sr, sv, tr, uk, zh, zh-tw
tz Optional query string Assume utc (default) or local time for start_date, end_date Options: local, utc
key Required query string Your registered API key.

* One of the following location methods is required: lat/lon (recommended), city,ST + country, postal_code + country or station ID .

Example Requests

Geolocation options: lat/lon (recommended), city, postal_code and country or station ID [Use with Caution]

Enter API key

lat/lon (recommended)

https://api.weatherbit.io/v2.0/history/hourly?start_date=2026-06-08&end_date=2026-06-13&key=API_KEY&lat=35.7796&lon=-78.6382
curl -s "https://api.weatherbit.io/v2.0/history/hourly?start_date=2026-06-08&end_date=2026-06-13&key=API_KEY&lat=35.7796&lon=-78.6382"
require 'uri'
require 'net/http'
require 'json'

uri = URI("https://api.weatherbit.io/v2.0/history/hourly?start_date=2026-06-08&end_date=2026-06-13&key=API_KEY&lat=35.7796&lon=-78.6382")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = (uri.scheme == "https")
request = Net::HTTP::Get.new(uri)
response = http.request(request)
json = JSON.parse(response.body)
puts JSON.pretty_generate(json)
const https = require("https");

https.get("https://api.weatherbit.io/v2.0/history/hourly?start_date=2026-06-08&end_date=2026-06-13&key=API_KEY&lat=35.7796&lon=-78.6382", (res) => {
  let raw = "";
  res.on("data", (chunk) => { raw += chunk; });
  res.on("end", () => {
    const json = JSON.parse(raw);
    console.log(JSON.stringify(json, null, 2));
  });
}).on("error", (err) => {
  console.error(err.message);
});
# pip install python-weatherbit
# https://pypi.org/project/pyweatherbit/

from weatherbit.api import Api

api = Api("YOUR_API_KEY")
response = api.get_history(lat='35.7796', lon='-78.6382', start_date='2026-06-08', end_date='2026-06-13', tp='hourly').get()
print(response)
Estimated quota: 1 requeststandard

Example Response HTTP 200

Loading weather demo...
{
  "city_id": "4487042",
  "city_name": "Raleigh",
  "country_code": "US",
  "data": [
    {
      "app_temp": 25.2,
      "azimuth": 294.1,
      "clouds": 33,
      "datetime": "2026-05-27:00",
      "dewpt": 22.1,
      "dhi": 26,
      "dni": 199,
      "elev_angle": 3.3,
      "ghi": 28,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 87,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 26,
      "temp": 24.4,
      "timestamp_local": "2026-05-26T20:00:00",
      "timestamp_utc": "2026-05-27T00:00:00",
      "ts": 1779840000,
      "uv": 1.4,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 212,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.4
    },
    {
      "app_temp": 24.4,
      "azimuth": 303.1,
      "clouds": 42,
      "datetime": "2026-05-27:01",
      "dewpt": 21.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -7.4,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 89,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 23.7,
      "timestamp_local": "2026-05-26T21:00:00",
      "timestamp_utc": "2026-05-27T01:00:00",
      "ts": 1779843600,
      "uv": 0,
      "vis": 13.8,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 194,
      "wind_gust_spd": 2,
      "wind_spd": 1.6
    },
    {
      "app_temp": 23.7,
      "azimuth": 313.6,
      "clouds": 65,
      "datetime": "2026-05-27:02",
      "dewpt": 21.4,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -16.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 91,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 23,
      "timestamp_local": "2026-05-26T22:00:00",
      "timestamp_utc": "2026-05-27T02:00:00",
      "ts": 1779847200,
      "uv": 0,
      "vis": 15,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 220,
      "wind_gust_spd": 2.4,
      "wind_spd": 2
    },
    {
      "app_temp": 23.3,
      "azimuth": 326,
      "clouds": 80,
      "datetime": "2026-05-27:03",
      "dewpt": 21.1,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -24.8,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 91,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.6,
      "timestamp_local": "2026-05-26T23:00:00",
      "timestamp_utc": "2026-05-27T03:00:00",
      "ts": 1779850800,
      "uv": 0,
      "vis": 14.5,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 210,
      "wind_gust_spd": 2,
      "wind_spd": 0.8
    },
    {
      "app_temp": 22.9,
      "azimuth": 340.5,
      "clouds": 12,
      "datetime": "2026-05-27:04",
      "dewpt": 21,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -30.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 93,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-27T00:00:00",
      "timestamp_utc": "2026-05-27T04:00:00",
      "ts": 1779854400,
      "uv": 0,
      "vis": 14,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 246,
      "wind_gust_spd": 1.6,
      "wind_spd": 1.2
    },
    {
      "app_temp": 22.6,
      "azimuth": 356.6,
      "clouds": 93,
      "datetime": "2026-05-27:05",
      "dewpt": 20.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -32.7,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 93,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.9,
      "timestamp_local": "2026-05-27T01:00:00",
      "timestamp_utc": "2026-05-27T05:00:00",
      "ts": 1779858000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 218,
      "wind_gust_spd": 2,
      "wind_spd": 2
    },
    {
      "app_temp": 22.6,
      "azimuth": 13.1,
      "clouds": 84,
      "datetime": "2026-05-27:06",
      "dewpt": 20.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -31.6,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 93,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.9,
      "timestamp_local": "2026-05-27T02:00:00",
      "timestamp_utc": "2026-05-27T06:00:00",
      "ts": 1779861600,
      "uv": 0,
      "vis": 13.4,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 208,
      "wind_gust_spd": 2.8,
      "wind_spd": 1.6
    },
    {
      "app_temp": 22.7,
      "azimuth": 28.3,
      "clouds": 78,
      "datetime": "2026-05-27:07",
      "dewpt": 21.2,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -27.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 96,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.9,
      "timestamp_local": "2026-05-27T03:00:00",
      "timestamp_utc": "2026-05-27T07:00:00",
      "ts": 1779865200,
      "uv": 0,
      "vis": 14.9,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 232,
      "wind_gust_spd": 3.6,
      "wind_spd": 1.6
    },
    {
      "app_temp": 23,
      "azimuth": 41.6,
      "clouds": 91,
      "datetime": "2026-05-27:08",
      "dewpt": 21.5,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -20.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1005,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 96,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-27T04:00:00",
      "timestamp_utc": "2026-05-27T08:00:00",
      "ts": 1779868800,
      "uv": 0,
      "vis": 12.8,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 240,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.4
    },
    {
      "app_temp": 22.9,
      "azimuth": 52.8,
      "clouds": 86,
      "datetime": "2026-05-27:09",
      "dewpt": 21,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -11.4,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1005,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 93,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-27T05:00:00",
      "timestamp_utc": "2026-05-27T09:00:00",
      "ts": 1779872400,
      "uv": 0,
      "vis": 14.1,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 224,
      "wind_gust_spd": 3.6,
      "wind_spd": 2
    },
    {
      "app_temp": 22.7,
      "azimuth": 62.3,
      "clouds": 76,
      "datetime": "2026-05-27:10",
      "dewpt": 21.2,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -1.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 96,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.9,
      "timestamp_local": "2026-05-27T06:00:00",
      "timestamp_utc": "2026-05-27T10:00:00",
      "ts": 1779876000,
      "uv": 0,
      "vis": 15.6,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 222,
      "wind_gust_spd": 4,
      "wind_spd": 2.8
    },
    {
      "app_temp": 22.9,
      "azimuth": 70.7,
      "clouds": 74,
      "datetime": "2026-05-27:11",
      "dewpt": 21,
      "dhi": 51,
      "dni": 463,
      "elev_angle": 10,
      "ghi": 124,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 93,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 77,
      "temp": 22.2,
      "timestamp_local": "2026-05-27T07:00:00",
      "timestamp_utc": "2026-05-27T11:00:00",
      "ts": 1779879600,
      "uv": 0.9,
      "vis": 11.4,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04d"
      },
      "wind_dir": 218,
      "wind_gust_spd": 3.6,
      "wind_spd": 3.2
    },
    {
      "app_temp": 23.7,
      "azimuth": 78.6,
      "clouds": 88,
      "datetime": "2026-05-27:12",
      "dewpt": 21.4,
      "dhi": 78,
      "dni": 677,
      "elev_angle": 21.7,
      "ghi": 322,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 91,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 115,
      "temp": 23,
      "timestamp_local": "2026-05-27T08:00:00",
      "timestamp_utc": "2026-05-27T12:00:00",
      "ts": 1779883200,
      "uv": 0.9,
      "vis": 15.7,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04d"
      },
      "wind_dir": 234,
      "wind_gust_spd": 4.4,
      "wind_spd": 4
    },
    {
      "app_temp": 24,
      "azimuth": 86.6,
      "clouds": 85,
      "datetime": "2026-05-27:13",
      "dewpt": 21.4,
      "dhi": 96,
      "dni": 790,
      "elev_angle": 33.7,
      "ghi": 529,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 89,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 223,
      "temp": 23.3,
      "timestamp_local": "2026-05-27T09:00:00",
      "timestamp_utc": "2026-05-27T13:00:00",
      "ts": 1779886800,
      "uv": 1.5,
      "vis": 15.7,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04d"
      },
      "wind_dir": 242,
      "wind_gust_spd": 5.6,
      "wind_spd": 3.6
    },
    {
      "app_temp": 25.6,
      "azimuth": 95.7,
      "clouds": 94,
      "datetime": "2026-05-27:14",
      "dewpt": 22.3,
      "dhi": 109,
      "dni": 857,
      "elev_angle": 45.9,
      "ghi": 717,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 86,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 148,
      "temp": 24.8,
      "timestamp_local": "2026-05-27T10:00:00",
      "timestamp_utc": "2026-05-27T14:00:00",
      "ts": 1779890400,
      "uv": 2,
      "vis": 16,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04d"
      },
      "wind_dir": 232,
      "wind_gust_spd": 7.2,
      "wind_spd": 4
    },
    {
      "app_temp": 26.4,
      "azimuth": 107.6,
      "clouds": 82,
      "datetime": "2026-05-27:15",
      "dewpt": 22.7,
      "dhi": 117,
      "dni": 899,
      "elev_angle": 57.8,
      "ghi": 870,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1007,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 84,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 414,
      "temp": 25.6,
      "timestamp_local": "2026-05-27T11:00:00",
      "timestamp_utc": "2026-05-27T15:00:00",
      "ts": 1779894000,
      "uv": 3.5,
      "vis": 15.9,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04d"
      },
      "wind_dir": 230,
      "wind_gust_spd": 6.4,
      "wind_spd": 3.6
    },
    {
      "app_temp": 27,
      "azimuth": 127.6,
      "clouds": 49,
      "datetime": "2026-05-27:16",
      "dewpt": 22.2,
      "dhi": 122,
      "dni": 922,
      "elev_angle": 68.6,
      "ghi": 973,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 78,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 834,
      "temp": 26.3,
      "timestamp_local": "2026-05-27T12:00:00",
      "timestamp_utc": "2026-05-27T16:00:00",
      "ts": 1779897600,
      "uv": 6.6,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 236,
      "wind_gust_spd": 6.8,
      "wind_spd": 4.8
    },
    {
      "app_temp": 29.5,
      "azimuth": 168.6,
      "clouds": 66,
      "datetime": "2026-05-27:17",
      "dewpt": 22.6,
      "dhi": 124,
      "dni": 932,
      "elev_angle": 75.3,
      "ghi": 1017,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 77,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 728,
      "temp": 27,
      "timestamp_local": "2026-05-27T13:00:00",
      "timestamp_utc": "2026-05-27T17:00:00",
      "ts": 1779901200,
      "uv": 6,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 236,
      "wind_gust_spd": 5.6,
      "wind_spd": 4
    },
    {
      "app_temp": 31.3,
      "azimuth": 219,
      "clouds": 31,
      "datetime": "2026-05-27:18",
      "dewpt": 22.8,
      "dhi": 124,
      "dni": 928,
      "elev_angle": 72.2,
      "ghi": 998,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1005,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 73,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 916,
      "temp": 28.1,
      "timestamp_local": "2026-05-27T14:00:00",
      "timestamp_utc": "2026-05-27T18:00:00",
      "ts": 1779904800,
      "uv": 8.3,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 246,
      "wind_gust_spd": 6,
      "wind_spd": 3.2
    },
    {
      "app_temp": 31.9,
      "azimuth": 245.7,
      "clouds": 58,
      "datetime": "2026-05-27:19",
      "dewpt": 21.3,
      "dhi": 120,
      "dni": 910,
      "elev_angle": 62.5,
      "ghi": 919,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 62,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 734,
      "temp": 29.3,
      "timestamp_local": "2026-05-27T15:00:00",
      "timestamp_utc": "2026-05-27T19:00:00",
      "ts": 1779908400,
      "uv": 5.4,
      "vis": 15.9,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 236,
      "wind_gust_spd": 8.4,
      "wind_spd": 4
    },
    {
      "app_temp": 32.4,
      "azimuth": 260,
      "clouds": 52,
      "datetime": "2026-05-27:20",
      "dewpt": 20.8,
      "dhi": 113,
      "dni": 877,
      "elev_angle": 50.9,
      "ghi": 786,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1003,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 58,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 664,
      "temp": 30,
      "timestamp_local": "2026-05-27T16:00:00",
      "timestamp_utc": "2026-05-27T20:00:00",
      "ts": 1779912000,
      "uv": 4.3,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 242,
      "wind_gust_spd": 7.6,
      "wind_spd": 4.8
    },
    {
      "app_temp": 32.6,
      "azimuth": 269.9,
      "clouds": 0,
      "datetime": "2026-05-27:21",
      "dewpt": 20.3,
      "dhi": 102,
      "dni": 822,
      "elev_angle": 38.8,
      "ghi": 610,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1003,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 55,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 576,
      "temp": 30.4,
      "timestamp_local": "2026-05-27T17:00:00",
      "timestamp_utc": "2026-05-27T21:00:00",
      "ts": 1779915600,
      "uv": 4.5,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 232,
      "wind_gust_spd": 10,
      "wind_spd": 4.4
    },
    {
      "app_temp": 31.9,
      "azimuth": 278.2,
      "clouds": 6,
      "datetime": "2026-05-27:22",
      "dewpt": 21.3,
      "dhi": 86,
      "dni": 732,
      "elev_angle": 26.7,
      "ghi": 408,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 62,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 384,
      "temp": 29.3,
      "timestamp_local": "2026-05-27T18:00:00",
      "timestamp_utc": "2026-05-27T22:00:00",
      "ts": 1779919200,
      "uv": 2.7,
      "vis": 13.8,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 224,
      "wind_gust_spd": 6.4,
      "wind_spd": 4.4
    },
    {
      "app_temp": 31.2,
      "azimuth": 286,
      "clouds": 10,
      "datetime": "2026-05-27:23",
      "dewpt": 21.8,
      "dhi": 64,
      "dni": 572,
      "elev_angle": 14.8,
      "ghi": 203,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "final",
      "revision_version": "2.1",
      "rh": 67,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 190,
      "temp": 28.5,
      "timestamp_local": "2026-05-27T19:00:00",
      "timestamp_utc": "2026-05-27T23:00:00",
      "ts": 1779922800,
      "uv": 1.8,
      "vis": 15.8,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 214,
      "wind_gust_spd": 4,
      "wind_spd": 3.6
    },
    {
      "app_temp": 30.1,
      "azimuth": 294.2,
      "clouds": 55,
      "datetime": "2026-05-28:00",
      "dewpt": 22.6,
      "dhi": 26,
      "dni": 206,
      "elev_angle": 3.4,
      "ghi": 29,
      "h_angle": null,
      "pod": "d",
      "precip": 0.25,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 75,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 49,
      "temp": 27.4,
      "timestamp_local": "2026-05-27T20:00:00",
      "timestamp_utc": "2026-05-28T00:00:00",
      "ts": 1779926400,
      "uv": 1.1,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 212,
      "wind_gust_spd": 2.4,
      "wind_spd": 2
    },
    {
      "app_temp": 29.1,
      "azimuth": 303.2,
      "clouds": 45,
      "datetime": "2026-05-28:01",
      "dewpt": 23,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -7.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0.25,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 80,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 26.7,
      "timestamp_local": "2026-05-27T21:00:00",
      "timestamp_utc": "2026-05-28T01:00:00",
      "ts": 1779930000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 222,
      "wind_gust_spd": 5.2,
      "wind_spd": 3.2
    },
    {
      "app_temp": 25.6,
      "azimuth": 313.7,
      "clouds": 53,
      "datetime": "2026-05-28:02",
      "dewpt": 22.3,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -16.8,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 86,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 24.8,
      "timestamp_local": "2026-05-27T22:00:00",
      "timestamp_utc": "2026-05-28T02:00:00",
      "ts": 1779933600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 238,
      "wind_gust_spd": 7.2,
      "wind_spd": 4.8
    },
    {
      "app_temp": 24.4,
      "azimuth": 326,
      "clouds": 10,
      "datetime": "2026-05-28:03",
      "dewpt": 21.4,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -24.6,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 87,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 23.7,
      "timestamp_local": "2026-05-27T23:00:00",
      "timestamp_utc": "2026-05-28T03:00:00",
      "ts": 1779937200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 246,
      "wind_gust_spd": 6.4,
      "wind_spd": 2.4
    },
    {
      "app_temp": 23.1,
      "azimuth": 340.5,
      "clouds": 34,
      "datetime": "2026-05-28:04",
      "dewpt": 19.9,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -30.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 85,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.6,
      "timestamp_local": "2026-05-28T00:00:00",
      "timestamp_utc": "2026-05-28T04:00:00",
      "ts": 1779940800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 244,
      "wind_gust_spd": 4.8,
      "wind_spd": 2
    },
    {
      "app_temp": 22.8,
      "azimuth": 356.6,
      "clouds": 37,
      "datetime": "2026-05-28:05",
      "dewpt": 20.3,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -32.5,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 89,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-28T01:00:00",
      "timestamp_utc": "2026-05-28T05:00:00",
      "ts": 1779944400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 252,
      "wind_gust_spd": 3.2,
      "wind_spd": 1.2
    },
    {
      "app_temp": 22.9,
      "azimuth": 13,
      "clouds": 62,
      "datetime": "2026-05-28:06",
      "dewpt": 20.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -31.5,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 91,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-28T02:00:00",
      "timestamp_utc": "2026-05-28T06:00:00",
      "ts": 1779948000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 264,
      "wind_gust_spd": 2.4,
      "wind_spd": 0.8
    },
    {
      "app_temp": 23.3,
      "azimuth": 28.2,
      "clouds": 85,
      "datetime": "2026-05-28:07",
      "dewpt": 21.1,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -27.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 91,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.6,
      "timestamp_local": "2026-05-28T03:00:00",
      "timestamp_utc": "2026-05-28T07:00:00",
      "ts": 1779951600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 232,
      "wind_gust_spd": 2.8,
      "wind_spd": 2
    },
    {
      "app_temp": 22.9,
      "azimuth": 41.4,
      "clouds": 16,
      "datetime": "2026-05-28:08",
      "dewpt": 20.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -20.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 91,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-28T04:00:00",
      "timestamp_utc": "2026-05-28T08:00:00",
      "ts": 1779955200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 244,
      "wind_gust_spd": 2.8,
      "wind_spd": 1.6
    },
    {
      "app_temp": 22.9,
      "azimuth": 52.6,
      "clouds": 12,
      "datetime": "2026-05-28:09",
      "dewpt": 20.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -11.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 91,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-28T05:00:00",
      "timestamp_utc": "2026-05-28T09:00:00",
      "ts": 1779958800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 250,
      "wind_gust_spd": 3.2,
      "wind_spd": 2
    },
    {
      "app_temp": 22.9,
      "azimuth": 62.2,
      "clouds": 13,
      "datetime": "2026-05-28:10",
      "dewpt": 21,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -1.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 93,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-28T06:00:00",
      "timestamp_utc": "2026-05-28T10:00:00",
      "ts": 1779962400,
      "uv": 0,
      "vis": 14,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 250,
      "wind_gust_spd": 4,
      "wind_spd": 2.8
    },
    {
      "app_temp": 23,
      "azimuth": 70.6,
      "clouds": 58,
      "datetime": "2026-05-28:11",
      "dewpt": 21.5,
      "dhi": 52,
      "dni": 465,
      "elev_angle": 10.1,
      "ghi": 125,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 96,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 100,
      "temp": 22.2,
      "timestamp_local": "2026-05-28T07:00:00",
      "timestamp_utc": "2026-05-28T11:00:00",
      "ts": 1779966000,
      "uv": 1.1,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 248,
      "wind_gust_spd": 3.6,
      "wind_spd": 1.6
    },
    {
      "app_temp": 24,
      "azimuth": 78.5,
      "clouds": 44,
      "datetime": "2026-05-28:12",
      "dewpt": 21.4,
      "dhi": 78,
      "dni": 678,
      "elev_angle": 21.8,
      "ghi": 323,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 89,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 286,
      "temp": 23.3,
      "timestamp_local": "2026-05-28T08:00:00",
      "timestamp_utc": "2026-05-28T12:00:00",
      "ts": 1779969600,
      "uv": 1.6,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 294,
      "wind_gust_spd": 4.4,
      "wind_spd": 2
    },
    {
      "app_temp": 25.9,
      "azimuth": 86.5,
      "clouds": 27,
      "datetime": "2026-05-28:13",
      "dewpt": 21.5,
      "dhi": 96,
      "dni": 790,
      "elev_angle": 33.8,
      "ghi": 529,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 80,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 491,
      "temp": 25.2,
      "timestamp_local": "2026-05-28T09:00:00",
      "timestamp_utc": "2026-05-28T13:00:00",
      "ts": 1779973200,
      "uv": 3,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 302,
      "wind_gust_spd": 4.4,
      "wind_spd": 2.4
    },
    {
      "app_temp": 28.9,
      "azimuth": 95.4,
      "clouds": 17,
      "datetime": "2026-05-28:14",
      "dewpt": 21.1,
      "dhi": 109,
      "dni": 857,
      "elev_angle": 45.9,
      "ghi": 718,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 70,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 674,
      "temp": 27,
      "timestamp_local": "2026-05-28T10:00:00",
      "timestamp_utc": "2026-05-28T14:00:00",
      "ts": 1779976800,
      "uv": 5.1,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 316,
      "wind_gust_spd": 6,
      "wind_spd": 3.2
    },
    {
      "app_temp": 30.2,
      "azimuth": 107.3,
      "clouds": 30,
      "datetime": "2026-05-28:15",
      "dewpt": 20,
      "dhi": 117,
      "dni": 899,
      "elev_angle": 57.8,
      "ghi": 870,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 60,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 809,
      "temp": 28.5,
      "timestamp_local": "2026-05-28T11:00:00",
      "timestamp_utc": "2026-05-28T15:00:00",
      "ts": 1779980400,
      "uv": 6.4,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 330,
      "wind_gust_spd": 4.8,
      "wind_spd": 3.2
    },
    {
      "app_temp": 31.1,
      "azimuth": 127.3,
      "clouds": 21,
      "datetime": "2026-05-28:16",
      "dewpt": 19.9,
      "dhi": 122,
      "dni": 922,
      "elev_angle": 68.7,
      "ghi": 973,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 57,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 915,
      "temp": 29.3,
      "timestamp_local": "2026-05-28T12:00:00",
      "timestamp_utc": "2026-05-28T16:00:00",
      "ts": 1779984000,
      "uv": 8.6,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 240,
      "wind_gust_spd": 4.8,
      "wind_spd": 3.2
    },
    {
      "app_temp": 31.1,
      "azimuth": 168.4,
      "clouds": 43,
      "datetime": "2026-05-28:17",
      "dewpt": 19.3,
      "dhi": 124,
      "dni": 931,
      "elev_angle": 75.4,
      "ghi": 1017,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 54,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 911,
      "temp": 29.6,
      "timestamp_local": "2026-05-28T13:00:00",
      "timestamp_utc": "2026-05-28T17:00:00",
      "ts": 1779987600,
      "uv": 7.7,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 340,
      "wind_gust_spd": 6.8,
      "wind_spd": 3.2
    },
    {
      "app_temp": 31.2,
      "azimuth": 219.2,
      "clouds": 41,
      "datetime": "2026-05-28:18",
      "dewpt": 18.8,
      "dhi": 124,
      "dni": 928,
      "elev_angle": 72.3,
      "ghi": 999,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 51,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 905,
      "temp": 30,
      "timestamp_local": "2026-05-28T14:00:00",
      "timestamp_utc": "2026-05-28T18:00:00",
      "ts": 1779991200,
      "uv": 7.6,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 344,
      "wind_gust_spd": 6.8,
      "wind_spd": 2.4
    },
    {
      "app_temp": 30.8,
      "azimuth": 245.9,
      "clouds": 21,
      "datetime": "2026-05-28:19",
      "dewpt": 16.3,
      "dhi": 120,
      "dni": 910,
      "elev_angle": 62.6,
      "ghi": 920,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 42,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 876,
      "temp": 30.7,
      "timestamp_local": "2026-05-28T15:00:00",
      "timestamp_utc": "2026-05-28T19:00:00",
      "ts": 1779994800,
      "uv": 7.7,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 324,
      "wind_gust_spd": 6,
      "wind_spd": 1.6
    },
    {
      "app_temp": 32.1,
      "azimuth": 260.2,
      "clouds": 30,
      "datetime": "2026-05-28:20",
      "dewpt": 17.4,
      "dhi": 113,
      "dni": 877,
      "elev_angle": 51,
      "ghi": 787,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 43,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 738,
      "temp": 31.5,
      "timestamp_local": "2026-05-28T16:00:00",
      "timestamp_utc": "2026-05-28T20:00:00",
      "ts": 1779998400,
      "uv": 5.3,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 12,
      "wind_gust_spd": 4.4,
      "wind_spd": 3.6
    },
    {
      "app_temp": 31.6,
      "azimuth": 270.1,
      "clouds": 9,
      "datetime": "2026-05-28:21",
      "dewpt": 16.3,
      "dhi": 102,
      "dni": 822,
      "elev_angle": 38.9,
      "ghi": 611,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 40,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 584,
      "temp": 31.5,
      "timestamp_local": "2026-05-28T17:00:00",
      "timestamp_utc": "2026-05-28T21:00:00",
      "ts": 1780002000,
      "uv": 4.2,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 8,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.8
    },
    {
      "app_temp": 31.7,
      "azimuth": 278.3,
      "clouds": 12,
      "datetime": "2026-05-28:22",
      "dewpt": 17.4,
      "dhi": 87,
      "dni": 732,
      "elev_angle": 26.8,
      "ghi": 410,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 44,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 391,
      "temp": 31.1,
      "timestamp_local": "2026-05-28T18:00:00",
      "timestamp_utc": "2026-05-28T22:00:00",
      "ts": 1780005600,
      "uv": 2.6,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 276,
      "wind_gust_spd": 4,
      "wind_spd": 2
    },
    {
      "app_temp": 31,
      "azimuth": 286.2,
      "clouds": 1,
      "datetime": "2026-05-28:23",
      "dewpt": 17.5,
      "dhi": 64,
      "dni": 574,
      "elev_angle": 14.9,
      "ghi": 205,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 46,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 195,
      "temp": 30.4,
      "timestamp_local": "2026-05-28T19:00:00",
      "timestamp_utc": "2026-05-28T23:00:00",
      "ts": 1780009200,
      "uv": 2,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 50,
      "wind_gust_spd": 2.8,
      "wind_spd": 2.8
    },
    {
      "app_temp": 28.8,
      "azimuth": 294.3,
      "clouds": 17,
      "datetime": "2026-05-29:00",
      "dewpt": 18.2,
      "dhi": 27,
      "dni": 212,
      "elev_angle": 3.5,
      "ghi": 31,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 56,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 29,
      "temp": 27.8,
      "timestamp_local": "2026-05-28T20:00:00",
      "timestamp_utc": "2026-05-29T00:00:00",
      "ts": 1780012800,
      "uv": 1.5,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 50,
      "wind_gust_spd": 2.4,
      "wind_spd": 2.4
    },
    {
      "app_temp": 25.8,
      "azimuth": 303.3,
      "clouds": 13,
      "datetime": "2026-05-29:01",
      "dewpt": 17.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -7.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 62,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 25.6,
      "timestamp_local": "2026-05-28T21:00:00",
      "timestamp_utc": "2026-05-29T01:00:00",
      "ts": 1780016400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 44,
      "wind_gust_spd": 1.2,
      "wind_spd": 0.8
    },
    {
      "app_temp": 24.7,
      "azimuth": 313.8,
      "clouds": 14,
      "datetime": "2026-05-29:02",
      "dewpt": 18.1,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -16.6,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 68,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 24.4,
      "timestamp_local": "2026-05-28T22:00:00",
      "timestamp_utc": "2026-05-29T02:00:00",
      "ts": 1780020000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 86,
      "wind_gust_spd": 1.2,
      "wind_spd": 1.2
    },
    {
      "app_temp": 23.5,
      "azimuth": 326.1,
      "clouds": 8,
      "datetime": "2026-05-29:03",
      "dewpt": 17.3,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -24.5,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 69,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 23.3,
      "timestamp_local": "2026-05-28T23:00:00",
      "timestamp_utc": "2026-05-29T03:00:00",
      "ts": 1780023600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 240,
      "wind_gust_spd": 1.2,
      "wind_spd": 1.2
    },
    {
      "app_temp": 22.6,
      "azimuth": 340.5,
      "clouds": 27,
      "datetime": "2026-05-29:04",
      "dewpt": 15.2,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -29.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 63,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.6,
      "timestamp_local": "2026-05-29T00:00:00",
      "timestamp_utc": "2026-05-29T04:00:00",
      "ts": 1780027200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 48,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.4
    },
    {
      "app_temp": 22.1,
      "azimuth": 356.5,
      "clouds": 18,
      "datetime": "2026-05-29:05",
      "dewpt": 14.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -32.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 63,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-29T01:00:00",
      "timestamp_utc": "2026-05-29T05:00:00",
      "ts": 1780030800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 96,
      "wind_gust_spd": 2,
      "wind_spd": 1.6
    },
    {
      "app_temp": 20.5,
      "azimuth": 12.9,
      "clouds": 24,
      "datetime": "2026-05-29:06",
      "dewpt": 13.6,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -31.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 64,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 20.7,
      "timestamp_local": "2026-05-29T02:00:00",
      "timestamp_utc": "2026-05-29T06:00:00",
      "ts": 1780034400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 82,
      "wind_gust_spd": 2,
      "wind_spd": 1.2
    },
    {
      "app_temp": 19.9,
      "azimuth": 28.1,
      "clouds": 19,
      "datetime": "2026-05-29:07",
      "dewpt": 14.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -27.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 72,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 20,
      "timestamp_local": "2026-05-29T03:00:00",
      "timestamp_utc": "2026-05-29T07:00:00",
      "ts": 1780038000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 202,
      "wind_gust_spd": 0.8,
      "wind_spd": 0.4
    },
    {
      "app_temp": 18.5,
      "azimuth": 41.3,
      "clouds": 23,
      "datetime": "2026-05-29:08",
      "dewpt": 14.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -20.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 79,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 18.5,
      "timestamp_local": "2026-05-29T04:00:00",
      "timestamp_utc": "2026-05-29T08:00:00",
      "ts": 1780041600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 54,
      "wind_gust_spd": 0.8,
      "wind_spd": 0
    },
    {
      "app_temp": 17.4,
      "azimuth": 52.5,
      "clouds": 9,
      "datetime": "2026-05-29:09",
      "dewpt": 14.5,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -11.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 83,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 17.4,
      "timestamp_local": "2026-05-29T05:00:00",
      "timestamp_utc": "2026-05-29T09:00:00",
      "ts": 1780045200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 144,
      "wind_gust_spd": 1.2,
      "wind_spd": 0
    },
    {
      "app_temp": 16.7,
      "azimuth": 62,
      "clouds": 1,
      "datetime": "2026-05-29:10",
      "dewpt": 14.2,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 85,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 16.7,
      "timestamp_local": "2026-05-29T06:00:00",
      "timestamp_utc": "2026-05-29T10:00:00",
      "ts": 1780048800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01n"
      },
      "wind_dir": 166,
      "wind_gust_spd": 1.2,
      "wind_spd": 0.4
    },
    {
      "app_temp": 17,
      "azimuth": 70.4,
      "clouds": 8,
      "datetime": "2026-05-29:11",
      "dewpt": 12.5,
      "dhi": 52,
      "dni": 467,
      "elev_angle": 10.1,
      "ghi": 126,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 75,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 122,
      "temp": 17,
      "timestamp_local": "2026-05-29T07:00:00",
      "timestamp_utc": "2026-05-29T11:00:00",
      "ts": 1780052400,
      "uv": 1.7,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 42,
      "wind_gust_spd": 4,
      "wind_spd": 2
    },
    {
      "app_temp": 18.2,
      "azimuth": 78.3,
      "clouds": 6,
      "datetime": "2026-05-29:12",
      "dewpt": 12.3,
      "dhi": 78,
      "dni": 678,
      "elev_angle": 21.8,
      "ghi": 324,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 67,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 313,
      "temp": 18.5,
      "timestamp_local": "2026-05-29T08:00:00",
      "timestamp_utc": "2026-05-29T12:00:00",
      "ts": 1780056000,
      "uv": 2.3,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 54,
      "wind_gust_spd": 4,
      "wind_spd": 2.4
    },
    {
      "app_temp": 20.4,
      "azimuth": 86.3,
      "clouds": 1,
      "datetime": "2026-05-29:13",
      "dewpt": 12.9,
      "dhi": 96,
      "dni": 790,
      "elev_angle": 33.8,
      "ghi": 530,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 61,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 511,
      "temp": 20.7,
      "timestamp_local": "2026-05-29T09:00:00",
      "timestamp_utc": "2026-05-29T13:00:00",
      "ts": 1780059600,
      "uv": 3.7,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 50,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.4
    },
    {
      "app_temp": 22.5,
      "azimuth": 95.2,
      "clouds": 5,
      "datetime": "2026-05-29:14",
      "dewpt": 14.2,
      "dhi": 109,
      "dni": 857,
      "elev_angle": 46,
      "ghi": 718,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 59,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 690,
      "temp": 22.6,
      "timestamp_local": "2026-05-29T10:00:00",
      "timestamp_utc": "2026-05-29T14:00:00",
      "ts": 1780063200,
      "uv": 5.6,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 60,
      "wind_gust_spd": 2.4,
      "wind_spd": 2
    },
    {
      "app_temp": 24,
      "azimuth": 107.1,
      "clouds": 3,
      "datetime": "2026-05-29:15",
      "dewpt": 14.2,
      "dhi": 117,
      "dni": 899,
      "elev_angle": 57.9,
      "ghi": 871,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 54,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 837,
      "temp": 24.1,
      "timestamp_local": "2026-05-29T11:00:00",
      "timestamp_utc": "2026-05-29T15:00:00",
      "ts": 1780066800,
      "uv": 7.9,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 92,
      "wind_gust_spd": 2,
      "wind_spd": 2
    },
    {
      "app_temp": 25.7,
      "azimuth": 126.9,
      "clouds": 7,
      "datetime": "2026-05-29:16",
      "dewpt": 13.4,
      "dhi": 122,
      "dni": 922,
      "elev_angle": 68.8,
      "ghi": 973,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 46,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 937,
      "temp": 25.9,
      "timestamp_local": "2026-05-29T12:00:00",
      "timestamp_utc": "2026-05-29T16:00:00",
      "ts": 1780070400,
      "uv": 9.6,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 68,
      "wind_gust_spd": 2.4,
      "wind_spd": 1.6
    },
    {
      "app_temp": 27.1,
      "azimuth": 168.2,
      "clouds": 6,
      "datetime": "2026-05-29:17",
      "dewpt": 13.7,
      "dhi": 124,
      "dni": 931,
      "elev_angle": 75.6,
      "ghi": 1018,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 44,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 980,
      "temp": 27,
      "timestamp_local": "2026-05-29T13:00:00",
      "timestamp_utc": "2026-05-29T17:00:00",
      "ts": 1780074000,
      "uv": 10.5,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 100,
      "wind_gust_spd": 2.4,
      "wind_spd": 1.6
    },
    {
      "app_temp": 27.9,
      "azimuth": 219.4,
      "clouds": 5,
      "datetime": "2026-05-29:18",
      "dewpt": 14,
      "dhi": 124,
      "dni": 928,
      "elev_angle": 72.5,
      "ghi": 1000,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 42,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 962,
      "temp": 28.1,
      "timestamp_local": "2026-05-29T14:00:00",
      "timestamp_utc": "2026-05-29T18:00:00",
      "ts": 1780077600,
      "uv": 10.2,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 218,
      "wind_gust_spd": 1.6,
      "wind_spd": 1.2
    },
    {
      "app_temp": 28.1,
      "azimuth": 246.2,
      "clouds": 10,
      "datetime": "2026-05-29:19",
      "dewpt": 13.6,
      "dhi": 120,
      "dni": 910,
      "elev_angle": 62.7,
      "ghi": 921,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 40,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 887,
      "temp": 28.5,
      "timestamp_local": "2026-05-29T15:00:00",
      "timestamp_utc": "2026-05-29T19:00:00",
      "ts": 1780081200,
      "uv": 8.4,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 230,
      "wind_gust_spd": 3.2,
      "wind_spd": 3.2
    },
    {
      "app_temp": 28.5,
      "azimuth": 260.4,
      "clouds": 10,
      "datetime": "2026-05-29:20",
      "dewpt": 13.9,
      "dhi": 113,
      "dni": 877,
      "elev_angle": 51.1,
      "ghi": 788,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 40,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 758,
      "temp": 28.9,
      "timestamp_local": "2026-05-29T16:00:00",
      "timestamp_utc": "2026-05-29T20:00:00",
      "ts": 1780084800,
      "uv": 6.3,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 228,
      "wind_gust_spd": 3.6,
      "wind_spd": 3.6
    },
    {
      "app_temp": 28.8,
      "azimuth": 270.2,
      "clouds": 7,
      "datetime": "2026-05-29:21",
      "dewpt": 13.9,
      "dhi": 102,
      "dni": 822,
      "elev_angle": 39,
      "ghi": 613,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 39,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 590,
      "temp": 29.3,
      "timestamp_local": "2026-05-29T17:00:00",
      "timestamp_utc": "2026-05-29T21:00:00",
      "ts": 1780088400,
      "uv": 4.3,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 260,
      "wind_gust_spd": 6,
      "wind_spd": 2.4
    },
    {
      "app_temp": 28.7,
      "azimuth": 278.5,
      "clouds": 16,
      "datetime": "2026-05-29:22",
      "dewpt": 14.7,
      "dhi": 87,
      "dni": 733,
      "elev_angle": 26.9,
      "ghi": 412,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 42,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 395,
      "temp": 28.9,
      "timestamp_local": "2026-05-29T18:00:00",
      "timestamp_utc": "2026-05-29T22:00:00",
      "ts": 1780092000,
      "uv": 2.5,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 246,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.8
    },
    {
      "app_temp": 28.1,
      "azimuth": 286.3,
      "clouds": 0,
      "datetime": "2026-05-29:23",
      "dewpt": 15,
      "dhi": 65,
      "dni": 576,
      "elev_angle": 15,
      "ghi": 207,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 45,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 199,
      "temp": 28.1,
      "timestamp_local": "2026-05-29T19:00:00",
      "timestamp_utc": "2026-05-29T23:00:00",
      "ts": 1780095600,
      "uv": 2,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 238,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.8
    },
    {
      "app_temp": 26.3,
      "azimuth": 294.4,
      "clouds": 0,
      "datetime": "2026-05-30:00",
      "dewpt": 15.7,
      "dhi": 27,
      "dni": 219,
      "elev_angle": 3.6,
      "ghi": 32,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 52,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 31,
      "temp": 26.3,
      "timestamp_local": "2026-05-29T20:00:00",
      "timestamp_utc": "2026-05-30T00:00:00",
      "ts": 1780099200,
      "uv": 1.8,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01n"
      },
      "wind_dir": 232,
      "wind_gust_spd": 2.8,
      "wind_spd": 2
    },
    {
      "app_temp": 23.8,
      "azimuth": 303.4,
      "clouds": 0,
      "datetime": "2026-05-30:01",
      "dewpt": 16.2,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -7,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 63,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 23.7,
      "timestamp_local": "2026-05-29T21:00:00",
      "timestamp_utc": "2026-05-30T01:00:00",
      "ts": 1780102800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01n"
      },
      "wind_dir": 212,
      "wind_gust_spd": 0.4,
      "wind_spd": 0.4
    },
    {
      "app_temp": 22,
      "azimuth": 313.8,
      "clouds": 35,
      "datetime": "2026-05-30:02",
      "dewpt": 16.6,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -16.5,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 72,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.9,
      "timestamp_local": "2026-05-29T22:00:00",
      "timestamp_utc": "2026-05-30T02:00:00",
      "ts": 1780106400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 230,
      "wind_gust_spd": 2,
      "wind_spd": 0.8
    },
    {
      "app_temp": 21.2,
      "azimuth": 326.1,
      "clouds": 28,
      "datetime": "2026-05-30:03",
      "dewpt": 16.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -24.3,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 76,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.1,
      "timestamp_local": "2026-05-29T23:00:00",
      "timestamp_utc": "2026-05-30T03:00:00",
      "ts": 1780110000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 202,
      "wind_gust_spd": 1.6,
      "wind_spd": 1.2
    },
    {
      "app_temp": 21.7,
      "azimuth": 340.5,
      "clouds": 80,
      "datetime": "2026-05-30:04",
      "dewpt": 17.1,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -29.8,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 76,
      "slp": 1014,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.5,
      "timestamp_local": "2026-05-30T00:00:00",
      "timestamp_utc": "2026-05-30T04:00:00",
      "ts": 1780113600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04n"
      },
      "wind_dir": 218,
      "wind_gust_spd": 2,
      "wind_spd": 1.6
    },
    {
      "app_temp": 22.5,
      "azimuth": 356.5,
      "clouds": 63,
      "datetime": "2026-05-30:05",
      "dewpt": 17.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -32.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 76,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-30T01:00:00",
      "timestamp_utc": "2026-05-30T05:00:00",
      "ts": 1780117200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 216,
      "wind_gust_spd": 3.2,
      "wind_spd": 3.2
    },
    {
      "app_temp": 22.5,
      "azimuth": 12.9,
      "clouds": 53,
      "datetime": "2026-05-30:06",
      "dewpt": 18.2,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -31.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 78,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 22.2,
      "timestamp_local": "2026-05-30T02:00:00",
      "timestamp_utc": "2026-05-30T06:00:00",
      "ts": 1780120800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 222,
      "wind_gust_spd": 4,
      "wind_spd": 3.2
    },
    {
      "app_temp": 22.3,
      "azimuth": 28,
      "clouds": 14,
      "datetime": "2026-05-30:07",
      "dewpt": 18.9,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -26.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 83,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.9,
      "timestamp_local": "2026-05-30T03:00:00",
      "timestamp_utc": "2026-05-30T07:00:00",
      "ts": 1780124400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 226,
      "wind_gust_spd": 3.6,
      "wind_spd": 3.2
    },
    {
      "app_temp": 21.9,
      "azimuth": 41.2,
      "clouds": 57,
      "datetime": "2026-05-30:08",
      "dewpt": 18.9,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -20,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 85,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.5,
      "timestamp_local": "2026-05-30T04:00:00",
      "timestamp_utc": "2026-05-30T08:00:00",
      "ts": 1780128000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 226,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.8
    },
    {
      "app_temp": 21.5,
      "azimuth": 52.3,
      "clouds": 55,
      "datetime": "2026-05-30:09",
      "dewpt": 18.9,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -11.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 998,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 87,
      "slp": 1010,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.1,
      "timestamp_local": "2026-05-30T05:00:00",
      "timestamp_utc": "2026-05-30T09:00:00",
      "ts": 1780131600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 238,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.4
    },
    {
      "app_temp": 21.3,
      "azimuth": 61.9,
      "clouds": 0,
      "datetime": "2026-05-30:10",
      "dewpt": 19.5,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -0.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 998,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 93,
      "slp": 1010,
      "snow": 0,
      "solar_rad": 0,
      "temp": 20.7,
      "timestamp_local": "2026-05-30T06:00:00",
      "timestamp_utc": "2026-05-30T10:00:00",
      "ts": 1780135200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01n"
      },
      "wind_dir": 252,
      "wind_gust_spd": 2.8,
      "wind_spd": 1.2
    },
    {
      "app_temp": 21.7,
      "azimuth": 70.3,
      "clouds": 34,
      "datetime": "2026-05-30:11",
      "dewpt": 19.9,
      "dhi": 52,
      "dni": 468,
      "elev_angle": 10.2,
      "ghi": 126,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 93,
      "slp": 1012,
      "snow": 0,
      "solar_rad": 116,
      "temp": 21.1,
      "timestamp_local": "2026-05-30T07:00:00",
      "timestamp_utc": "2026-05-30T11:00:00",
      "ts": 1780138800,
      "uv": 1.4,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 268,
      "wind_gust_spd": 2.8,
      "wind_spd": 0.8
    },
    {
      "app_temp": 23.7,
      "azimuth": 78.2,
      "clouds": 10,
      "datetime": "2026-05-30:12",
      "dewpt": 21.1,
      "dhi": 78,
      "dni": 679,
      "elev_angle": 21.9,
      "ghi": 325,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 89,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 306,
      "temp": 23,
      "timestamp_local": "2026-05-30T08:00:00",
      "timestamp_utc": "2026-05-30T12:00:00",
      "ts": 1780142400,
      "uv": 2.2,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 284,
      "wind_gust_spd": 4,
      "wind_spd": 2
    },
    {
      "app_temp": 24.5,
      "azimuth": 86.1,
      "clouds": 0,
      "datetime": "2026-05-30:13",
      "dewpt": 16.9,
      "dhi": 96,
      "dni": 790,
      "elev_angle": 33.9,
      "ghi": 531,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 63,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 507,
      "temp": 24.4,
      "timestamp_local": "2026-05-30T09:00:00",
      "timestamp_utc": "2026-05-30T13:00:00",
      "ts": 1780146000,
      "uv": 3.7,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 344,
      "wind_gust_spd": 4,
      "wind_spd": 2.8
    },
    {
      "app_temp": 25.1,
      "azimuth": 95,
      "clouds": 83,
      "datetime": "2026-05-30:14",
      "dewpt": 14,
      "dhi": 109,
      "dni": 857,
      "elev_angle": 46,
      "ghi": 719,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 50,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 348,
      "temp": 25.2,
      "timestamp_local": "2026-05-30T10:00:00",
      "timestamp_utc": "2026-05-30T14:00:00",
      "ts": 1780149600,
      "uv": 2.5,
      "vis": 16,
      "weather": {
        "code": 804,
        "description": "Overcast clouds",
        "icon": "c04d"
      },
      "wind_dir": 344,
      "wind_gust_spd": 6.8,
      "wind_spd": 3.2
    },
    {
      "app_temp": 26.7,
      "azimuth": 106.8,
      "clouds": 0,
      "datetime": "2026-05-30:15",
      "dewpt": 12.7,
      "dhi": 117,
      "dni": 898,
      "elev_angle": 58,
      "ghi": 871,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 42,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 841,
      "temp": 26.7,
      "timestamp_local": "2026-05-30T11:00:00",
      "timestamp_utc": "2026-05-30T15:00:00",
      "ts": 1780153200,
      "uv": 8.1,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 178,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.8
    },
    {
      "app_temp": 27.4,
      "azimuth": 126.6,
      "clouds": 1,
      "datetime": "2026-05-30:16",
      "dewpt": 8.2,
      "dhi": 122,
      "dni": 922,
      "elev_angle": 68.9,
      "ghi": 974,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 28,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 974,
      "temp": 28.5,
      "timestamp_local": "2026-05-30T12:00:00",
      "timestamp_utc": "2026-05-30T16:00:00",
      "ts": 1780156800,
      "uv": 10,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 340,
      "wind_gust_spd": 4.4,
      "wind_spd": 3.2
    },
    {
      "app_temp": 28.2,
      "azimuth": 167.9,
      "clouds": 56,
      "datetime": "2026-05-30:17",
      "dewpt": 8.6,
      "dhi": 124,
      "dni": 931,
      "elev_angle": 75.7,
      "ghi": 1018,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 27,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 890,
      "temp": 29.6,
      "timestamp_local": "2026-05-30T13:00:00",
      "timestamp_utc": "2026-05-30T17:00:00",
      "ts": 1780160400,
      "uv": 6.7,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03d"
      },
      "wind_dir": 50,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.4
    },
    {
      "app_temp": 28.7,
      "azimuth": 219.5,
      "clouds": 0,
      "datetime": "2026-05-30:18",
      "dewpt": 7.6,
      "dhi": 124,
      "dni": 927,
      "elev_angle": 72.6,
      "ghi": 1000,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 24,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 1000,
      "temp": 30.4,
      "timestamp_local": "2026-05-30T14:00:00",
      "timestamp_utc": "2026-05-30T18:00:00",
      "ts": 1780164000,
      "uv": 10.6,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 54,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.8
    },
    {
      "app_temp": 29.1,
      "azimuth": 246.4,
      "clouds": 0,
      "datetime": "2026-05-30:19",
      "dewpt": 4.8,
      "dhi": 120,
      "dni": 910,
      "elev_angle": 62.8,
      "ghi": 921,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 19,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 921,
      "temp": 31.1,
      "timestamp_local": "2026-05-30T15:00:00",
      "timestamp_utc": "2026-05-30T19:00:00",
      "ts": 1780167600,
      "uv": 9,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 28,
      "wind_gust_spd": 6,
      "wind_spd": 2.8
    },
    {
      "app_temp": 29.2,
      "azimuth": 260.5,
      "clouds": 34,
      "datetime": "2026-05-30:20",
      "dewpt": 6.2,
      "dhi": 113,
      "dni": 877,
      "elev_angle": 51.2,
      "ghi": 789,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 21,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 771,
      "temp": 31.1,
      "timestamp_local": "2026-05-30T16:00:00",
      "timestamp_utc": "2026-05-30T20:00:00",
      "ts": 1780171200,
      "uv": 5.2,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 24,
      "wind_gust_spd": 6.8,
      "wind_spd": 3.6
    },
    {
      "app_temp": 29.1,
      "azimuth": 270.4,
      "clouds": 2,
      "datetime": "2026-05-30:21",
      "dewpt": 8.4,
      "dhi": 102,
      "dni": 823,
      "elev_angle": 39.1,
      "ghi": 614,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 25,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 614,
      "temp": 30.7,
      "timestamp_local": "2026-05-30T17:00:00",
      "timestamp_utc": "2026-05-30T21:00:00",
      "ts": 1780174800,
      "uv": 4.5,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 30,
      "wind_gust_spd": 3.6,
      "wind_spd": 2.4
    },
    {
      "app_temp": 28.2,
      "azimuth": 278.6,
      "clouds": 0,
      "datetime": "2026-05-30:22",
      "dewpt": 8.6,
      "dhi": 87,
      "dni": 734,
      "elev_angle": 27,
      "ghi": 413,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 27,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 413,
      "temp": 29.6,
      "timestamp_local": "2026-05-30T18:00:00",
      "timestamp_utc": "2026-05-30T22:00:00",
      "ts": 1780178400,
      "uv": 2.8,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 36,
      "wind_gust_spd": 5.6,
      "wind_spd": 2
    },
    {
      "app_temp": 27,
      "azimuth": 286.4,
      "clouds": 0,
      "datetime": "2026-05-30:23",
      "dewpt": 11.4,
      "dhi": 65,
      "dni": 578,
      "elev_angle": 15.1,
      "ghi": 208,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 37,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 201,
      "temp": 27.4,
      "timestamp_local": "2026-05-30T19:00:00",
      "timestamp_utc": "2026-05-30T23:00:00",
      "ts": 1780182000,
      "uv": 2,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 44,
      "wind_gust_spd": 3.6,
      "wind_spd": 3.6
    },
    {
      "app_temp": 25.7,
      "azimuth": 294.5,
      "clouds": 47,
      "datetime": "2026-05-31:00",
      "dewpt": 12.4,
      "dhi": 28,
      "dni": 225,
      "elev_angle": 3.7,
      "ghi": 34,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1000,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 43,
      "slp": 1011,
      "snow": 0,
      "solar_rad": 30,
      "temp": 25.9,
      "timestamp_local": "2026-05-30T20:00:00",
      "timestamp_utc": "2026-05-31T00:00:00",
      "ts": 1780185600,
      "uv": 1.2,
      "vis": 16,
      "weather": {
        "code": 803,
        "description": "Broken clouds",
        "icon": "c03n"
      },
      "wind_dir": 52,
      "wind_gust_spd": 2.8,
      "wind_spd": 2
    },
    {
      "app_temp": 23.8,
      "azimuth": 303.5,
      "clouds": 0,
      "datetime": "2026-05-31:01",
      "dewpt": 11.8,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -6.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1002,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 46,
      "slp": 1013,
      "snow": 0,
      "solar_rad": 0,
      "temp": 24.1,
      "timestamp_local": "2026-05-30T21:00:00",
      "timestamp_utc": "2026-05-31T01:00:00",
      "ts": 1780189200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01n"
      },
      "wind_dir": 38,
      "wind_gust_spd": 4.4,
      "wind_spd": 2
    },
    {
      "app_temp": 22.5,
      "azimuth": 313.9,
      "clouds": 18,
      "datetime": "2026-05-31:02",
      "dewpt": 10.4,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -16.4,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 45,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 23,
      "timestamp_local": "2026-05-30T22:00:00",
      "timestamp_utc": "2026-05-31T02:00:00",
      "ts": 1780192800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 80,
      "wind_gust_spd": 10,
      "wind_spd": 4.8
    },
    {
      "app_temp": 21.3,
      "azimuth": 326.2,
      "clouds": 33,
      "datetime": "2026-05-31:03",
      "dewpt": 13.7,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -24.2,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 61,
      "slp": 1016,
      "snow": 0,
      "solar_rad": 0,
      "temp": 21.5,
      "timestamp_local": "2026-05-30T23:00:00",
      "timestamp_utc": "2026-05-31T03:00:00",
      "ts": 1780196400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 94,
      "wind_gust_spd": 10.4,
      "wind_spd": 5.6
    },
    {
      "app_temp": 19.3,
      "azimuth": 340.5,
      "clouds": 34,
      "datetime": "2026-05-31:04",
      "dewpt": 12.6,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -29.6,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 64,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 19.6,
      "timestamp_local": "2026-05-31T00:00:00",
      "timestamp_utc": "2026-05-31T04:00:00",
      "ts": 1780200000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 86,
      "wind_gust_spd": 9.6,
      "wind_spd": 5.6
    },
    {
      "app_temp": 18.1,
      "azimuth": 356.5,
      "clouds": 21,
      "datetime": "2026-05-31:05",
      "dewpt": 11.4,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -32.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 65,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 18.1,
      "timestamp_local": "2026-05-31T01:00:00",
      "timestamp_utc": "2026-05-31T05:00:00",
      "ts": 1780203600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 88,
      "wind_gust_spd": 5.6,
      "wind_spd": 3.2
    },
    {
      "app_temp": 17,
      "azimuth": 12.8,
      "clouds": 11,
      "datetime": "2026-05-31:06",
      "dewpt": 10.6,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -31.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 66,
      "slp": 1018,
      "snow": 0,
      "solar_rad": 0,
      "temp": 17,
      "timestamp_local": "2026-05-31T02:00:00",
      "timestamp_utc": "2026-05-31T06:00:00",
      "ts": 1780207200,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 92,
      "wind_gust_spd": 4.4,
      "wind_spd": 2
    },
    {
      "app_temp": 15.9,
      "azimuth": 27.9,
      "clouds": 32,
      "datetime": "2026-05-31:07",
      "dewpt": 8.9,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -26.8,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 63,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 0,
      "temp": 15.9,
      "timestamp_local": "2026-05-31T03:00:00",
      "timestamp_utc": "2026-05-31T07:00:00",
      "ts": 1780210800,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02n"
      },
      "wind_dir": 78,
      "wind_gust_spd": 2.4,
      "wind_spd": 1.6
    },
    {
      "app_temp": 15.2,
      "azimuth": 41.1,
      "clouds": 15,
      "datetime": "2026-05-31:08",
      "dewpt": 9.6,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -19.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 69,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 0,
      "temp": 15.2,
      "timestamp_local": "2026-05-31T04:00:00",
      "timestamp_utc": "2026-05-31T08:00:00",
      "ts": 1780214400,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 82,
      "wind_gust_spd": 3.2,
      "wind_spd": 1.2
    },
    {
      "app_temp": 14.1,
      "azimuth": 52.2,
      "clouds": 17,
      "datetime": "2026-05-31:09",
      "dewpt": 9.9,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -11.1,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 76,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 0,
      "temp": 14.1,
      "timestamp_local": "2026-05-31T05:00:00",
      "timestamp_utc": "2026-05-31T09:00:00",
      "ts": 1780218000,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 64,
      "wind_gust_spd": 1.6,
      "wind_spd": 1.2
    },
    {
      "app_temp": 13.3,
      "azimuth": 61.7,
      "clouds": 8,
      "datetime": "2026-05-31:10",
      "dewpt": 9.5,
      "dhi": 0,
      "dni": 0,
      "elev_angle": -0.9,
      "ghi": 0,
      "h_angle": null,
      "pod": "n",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 78,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 0,
      "temp": 13.3,
      "timestamp_local": "2026-05-31T06:00:00",
      "timestamp_utc": "2026-05-31T10:00:00",
      "ts": 1780221600,
      "uv": 0,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02n"
      },
      "wind_dir": 34,
      "wind_gust_spd": 1.6,
      "wind_spd": 1.2
    },
    {
      "app_temp": 12.6,
      "azimuth": 70.2,
      "clouds": 11,
      "datetime": "2026-05-31:11",
      "dewpt": 10,
      "dhi": 52,
      "dni": 469,
      "elev_angle": 10.2,
      "ghi": 127,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 84,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 123,
      "temp": 12.6,
      "timestamp_local": "2026-05-31T07:00:00",
      "timestamp_utc": "2026-05-31T11:00:00",
      "ts": 1780225200,
      "uv": 1.7,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 24,
      "wind_gust_spd": 1.2,
      "wind_spd": 0.8
    },
    {
      "app_temp": 15.6,
      "azimuth": 78,
      "clouds": 18,
      "datetime": "2026-05-31:12",
      "dewpt": 11.2,
      "dhi": 79,
      "dni": 679,
      "elev_angle": 21.9,
      "ghi": 325,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 75,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 314,
      "temp": 15.6,
      "timestamp_local": "2026-05-31T08:00:00",
      "timestamp_utc": "2026-05-31T12:00:00",
      "ts": 1780228800,
      "uv": 2.1,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 88,
      "wind_gust_spd": 2.8,
      "wind_spd": 2
    },
    {
      "app_temp": 17.8,
      "azimuth": 85.9,
      "clouds": 6,
      "datetime": "2026-05-31:13",
      "dewpt": 10.7,
      "dhi": 96,
      "dni": 790,
      "elev_angle": 33.9,
      "ghi": 531,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 63,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 515,
      "temp": 17.8,
      "timestamp_local": "2026-05-31T09:00:00",
      "timestamp_utc": "2026-05-31T13:00:00",
      "ts": 1780232400,
      "uv": 3.6,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 114,
      "wind_gust_spd": 2.8,
      "wind_spd": 2
    },
    {
      "app_temp": 19.1,
      "azimuth": 94.8,
      "clouds": 12,
      "datetime": "2026-05-31:14",
      "dewpt": 10.6,
      "dhi": 109,
      "dni": 857,
      "elev_angle": 46.1,
      "ghi": 719,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 56,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 697,
      "temp": 19.6,
      "timestamp_local": "2026-05-31T10:00:00",
      "timestamp_utc": "2026-05-31T14:00:00",
      "ts": 1780236000,
      "uv": 5.3,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 96,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.4
    },
    {
      "app_temp": 20.1,
      "azimuth": 106.5,
      "clouds": 13,
      "datetime": "2026-05-31:15",
      "dewpt": 9.9,
      "dhi": 117,
      "dni": 898,
      "elev_angle": 58,
      "ghi": 871,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 50,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 870,
      "temp": 20.7,
      "timestamp_local": "2026-05-31T11:00:00",
      "timestamp_utc": "2026-05-31T15:00:00",
      "ts": 1780239600,
      "uv": 7.4,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 96,
      "wind_gust_spd": 2.4,
      "wind_spd": 2
    },
    {
      "app_temp": 22.1,
      "azimuth": 126.2,
      "clouds": 0,
      "datetime": "2026-05-31:16",
      "dewpt": 10.1,
      "dhi": 122,
      "dni": 922,
      "elev_angle": 68.9,
      "ghi": 974,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 45,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 974,
      "temp": 22.6,
      "timestamp_local": "2026-05-31T12:00:00",
      "timestamp_utc": "2026-05-31T16:00:00",
      "ts": 1780243200,
      "uv": 10.1,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 122,
      "wind_gust_spd": 1.6,
      "wind_spd": 1.6
    },
    {
      "app_temp": 23.7,
      "azimuth": 167.7,
      "clouds": 0,
      "datetime": "2026-05-31:17",
      "dewpt": 10.4,
      "dhi": 124,
      "dni": 931,
      "elev_angle": 75.9,
      "ghi": 1018,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1008,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 42,
      "slp": 1020,
      "snow": 0,
      "solar_rad": 1018,
      "temp": 24.1,
      "timestamp_local": "2026-05-31T13:00:00",
      "timestamp_utc": "2026-05-31T17:00:00",
      "ts": 1780246800,
      "uv": 11,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 136,
      "wind_gust_spd": 2.4,
      "wind_spd": 2.4
    },
    {
      "app_temp": 24.8,
      "azimuth": 219.7,
      "clouds": 3,
      "datetime": "2026-05-31:18",
      "dewpt": 10.3,
      "dhi": 124,
      "dni": 927,
      "elev_angle": 72.8,
      "ghi": 1001,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 39,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 1001,
      "temp": 25.2,
      "timestamp_local": "2026-05-31T14:00:00",
      "timestamp_utc": "2026-05-31T18:00:00",
      "ts": 1780250400,
      "uv": 10.4,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 166,
      "wind_gust_spd": 2.4,
      "wind_spd": 0.8
    },
    {
      "app_temp": 25.2,
      "azimuth": 246.6,
      "clouds": 0,
      "datetime": "2026-05-31:19",
      "dewpt": 9.4,
      "dhi": 120,
      "dni": 910,
      "elev_angle": 62.9,
      "ghi": 922,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1006,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 36,
      "slp": 1017,
      "snow": 0,
      "solar_rad": 922,
      "temp": 25.6,
      "timestamp_local": "2026-05-31T15:00:00",
      "timestamp_utc": "2026-05-31T19:00:00",
      "ts": 1780254000,
      "uv": 9.1,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 196,
      "wind_gust_spd": 2.4,
      "wind_spd": 1.2
    },
    {
      "app_temp": 25.5,
      "azimuth": 260.7,
      "clouds": 0,
      "datetime": "2026-05-31:20",
      "dewpt": 10.5,
      "dhi": 113,
      "dni": 877,
      "elev_angle": 51.3,
      "ghi": 790,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 38,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 766,
      "temp": 25.9,
      "timestamp_local": "2026-05-31T16:00:00",
      "timestamp_utc": "2026-05-31T20:00:00",
      "ts": 1780257600,
      "uv": 6.8,
      "vis": 16,
      "weather": {
        "code": 800,
        "description": "Clear Sky",
        "icon": "c01d"
      },
      "wind_dir": 192,
      "wind_gust_spd": 2.8,
      "wind_spd": 2
    },
    {
      "app_temp": 25.6,
      "azimuth": 270.5,
      "clouds": 5,
      "datetime": "2026-05-31:21",
      "dewpt": 12,
      "dhi": 102,
      "dni": 823,
      "elev_angle": 39.2,
      "ghi": 615,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 42,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 595,
      "temp": 25.9,
      "timestamp_local": "2026-05-31T17:00:00",
      "timestamp_utc": "2026-05-31T21:00:00",
      "ts": 1780261200,
      "uv": 4.4,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 200,
      "wind_gust_spd": 3.2,
      "wind_spd": 2.4
    },
    {
      "app_temp": 25.7,
      "azimuth": 278.7,
      "clouds": 7,
      "datetime": "2026-05-31:22",
      "dewpt": 12.7,
      "dhi": 87,
      "dni": 735,
      "elev_angle": 27.1,
      "ghi": 415,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 44,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 400,
      "temp": 25.9,
      "timestamp_local": "2026-05-31T18:00:00",
      "timestamp_utc": "2026-05-31T22:00:00",
      "ts": 1780264800,
      "uv": 2.7,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_dir": 210,
      "wind_gust_spd": 6.4,
      "wind_spd": 3.2
    },
    {
      "app_temp": 24.6,
      "azimuth": 286.5,
      "clouds": 34,
      "datetime": "2026-05-31:23",
      "dewpt": 12.7,
      "dhi": 65,
      "dni": 580,
      "elev_angle": 15.2,
      "ghi": 210,
      "h_angle": null,
      "pod": "d",
      "precip": 0,
      "pres": 1004,
      "revision_status": "interim",
      "revision_version": "0.0",
      "rh": 47,
      "slp": 1015,
      "snow": 0,
      "solar_rad": 198,
      "temp": 24.8,
      "timestamp_local": "2026-05-31T19:00:00",
      "timestamp_utc": "2026-05-31T23:00:00",
      "ts": 1780268400,
      "uv": 1.5,
      "vis": 16,
      "weather": {
        "code": 802,
        "description": "Scattered clouds",
        "icon": "c02d"
      },
      "wind_dir": 220,
      "wind_gust_spd": 3.6,
      "wind_spd": 3.6
    }
  ],
  "lat": 35.7721,
  "lon": -78.63861,
  "sources": [
    "imerg",
    "era5",
    "sat",
    "radar"
  ],
  "state_code": "NC",
  "station_id": "723060-13722",
  "timezone": "America/New_York"
}

HTTP Statuses

Code Description Example
200 An Historical Data Object. -
204 No Data Found -
400 Client Error
{
  "error": "Some relevant message"
}
403 Unauthorized/No Access for current plan level
{
  "error": "Some relevant message"
}
429 Daily or Velocity limit exceeded See rate limit guidance.
{
  "error": "Rate limit exceeded.",
  "status_code": 429,
  "status_message": "Rate limit exceeded. Try again later."
}
500 Internal Server Error
{
  "error": "Server Error"
}

Return Fields

Field Data Type Description
city_name string Nearest city name
state_code string State abbreviation
country_code string Country abbreviation
timezone string Local IANA time zone
lat number Latitude
lon number Longitude
city_id string Nearest city ID
sources array<string> List of data sources used in response
station_id string [DEPRECATED] Deprecated - use 'sources'
data array<HistoryObj>
data[].ts number Unix Timestamp
data[].timestamp_local string Timestamp in local time
data[].timestamp_utc string Timestamp UTC
data[].revision_status string Data revision status (interim or final). interim = Data subject to change.
data[].revision_version string Final data revision version.
data[].datetime string [DEPRECATED] Deprecated - use 'timestamp_utc'.
data[].slp number Sea level pressure (mb)
data[].pres number Pressure (mb)
data[].rh integer Relative Humidity as a percentage (%)
data[].dewpt number Dew point (Default Celsius)
data[].temp number Temperature (Default Celsius)
data[].app_temp number Apparent Temperature - Same as Feels-Like or Heat + Wind Chill Indices (Default Celsius)
data[].wind_spd number 10m wind Speed (Default m/s)
data[].wind_gust_spd number 10m wind Gust Speed - Default (m/s)
data[].wind_dir integer 10m wind direction (Degrees) - Degrees clockwise from 0 = North
data[].uv number UV Index (0-11+)
data[].solar_rad number Estimated solar radiation (W/m^2) - Accounts for cloud cover, and other factors.
data[].ghi number Global horizontal solar irradiance (W/m^2)
data[].dhi number Diffuse normal solar irradiance (W/m^2)
data[].dni number Direct normal solar irradiance (W/m^2)
data[].h_angle ['number', 'null'] Solar hour angle (Degrees)
data[].elev_angle number Solar elevation angle (Degrees)
data[].azimuth number Azimuth angle (Degrees)
data[].vis number Visibility (KM)
data[].pod string Part of the day (d = day, n = night)
data[].weather object
data[].weather.icon string Icon code for forecast image display
data[].weather.code integer Weather Condition code
data[].weather.description string Weather Condition description
data[].clouds integer Cloud Cover 0-100 (%)
data[].precip number Accumulated liquid equivalent precipitation - Default (mm)
data[].snow number Snowfall - Default (mm)