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 articleWhy 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 articleHow 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 articleWhat 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 articleWhen 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 articleWhat 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 articleWhy 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 articleRequest 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) |
lang
|
Optional | query | string | Language (Default: English) See language field description |
tz
|
Optional | query | string | Assume utc (default) or local time for start_date, end_date |
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
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)
Example Response HTTP 200
{
"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 |
|
| 403 | Unauthorized/No Access for current plan level |
|
| 429 | Daily or Velocity limit exceeded See rate limit guidance. |
|
| 500 | Internal 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) |