Current Weather API

This API returns current conditions from sub-hourly reporting stations and atmospheric analyses. Each request returns the nearest and most recent data point.

API Guide

Current Weather API

This API returns current conditions from sub-hourly reporting stations and atmospheric analyses. Each request returns the nearest and most recent data point.

This API returns current conditions from our network of sub-hourly reporting weather stations, as well as relevant atmospheric meso-analyses (For example, the RTMA). Every API request will return the nearest, and most recent observation.

Note: This API endpoint is designed specifically for retrieving current weather conditions only. It is not suitable for archiving data. If you attempt to archive data from this API, it may be incomplete, lack our data enrichment process, and be subject to potential inconsistencies. The data is only quality controlled with basic checks. Therefore, we do not provide any support or warranty for data archived locally using this endpoint. For the highest quality historical weather observations, please use our dedicated Historical Weather API.

Frequently Asked Questions

How frequently does current weather data update?

Current data updates as fast as it is reported, so timing depends on local coverage and source availability. In most areas updates are typically every 15 to 30 minutes, with radar and satellite refreshes often arriving every 10 to 15 minutes.

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 is querying by station ID not recommended?

Some stations can move, stop reporting, or become unreliable while keeping the same identifier. For most integrations, we recommend more stable lookup methods such as lat/lon, postal code, or city ID.

Read help article

Is the Weatherbit API a geocoding or reverse geocoding service?

No. Geographic fields like city and state are returned for convenience, but the weather data represents the requested point and the place-name fields should not replace a dedicated geocoding service (ie. Google Maps, OpenStreetMap).

Read help article

Where can I find city, postal codes, station IDs, and related lookup data?

We recommend lat/lon for the most accurate lookup, but alternate location methods are supported. The metadata resources are the place to find city codes, postal codes, and station IDs when you need them.

Read help article

Where can I find weather condition icons and codes?

Condition codes are documented on the API codes page, and icon assets can be downloaded from the metadata resources. We also recommend hosting those icons locally rather than depending on the site asset path.

Read help article

Available Fields

Field Sources
Temperature RTMA, stations, analysis
Apparent temperature RTMA, stations, analysis
Sea level pressure RTMA, stations, analysis
Station pressure RTMA, stations, analysis
Dew point RTMA, stations, analysis
Relative humidity RTMA, stations, analysis
Wind speed RTMA, stations, analysis
Wind direction RTMA, stations, analysis
Wind gust RTMA, stations, analysis
Visibility RTMA, stations, analysis
Precipitation stations, radar
Snowfall stations, radar
Cloud cover stations, satellite
Sunrise / sunset
Solar radiation RTMA, stations, analysis
GHI / DNI / DHI RTMA, stations, analysis
UV index RTMA, stations, analysis
Weather conditions RTMA, stations, analysis
AQI RTMA, stations, analysis

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.
points Optional query string Comma separated list of points. Example: (35.5, -75.5),(45, 65),(45.12, -130.5)
include Optional query array<string> Include optional current weather add-ons in the response. Accepts a comma separated list of minutely, lightning, and/or alerts. Options: minutely, alerts, lightning
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
key Required query string Your registered API key.

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

Example Requests

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

1 Consumes additional request quota based on the selected include values.
Enter API key

lat/lon (recommended)

https://api.weatherbit.io/v2.0/current?key=API_KEY&include=minutely&lat=35.7796&lon=-78.6382
curl -s "https://api.weatherbit.io/v2.0/current?key=API_KEY&include=minutely&lat=35.7796&lon=-78.6382"
require 'uri'
require 'net/http'
require 'json'

uri = URI("https://api.weatherbit.io/v2.0/current?key=API_KEY&include=minutely&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/current?key=API_KEY&include=minutely&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_current(lat='35.7796', lon='-78.6382').get()
print(response)
Estimated quota: 1 requeststandard

Example Response HTTP 200

Loading weather demo...
{
  "count": 1,
  "data": [
    {
      "app_temp": 24.5,
      "aqi": 34,
      "city_name": "Raleigh",
      "clouds": 25,
      "country_code": "US",
      "datetime": "2026-06-02:17",
      "dewpt": 11.2,
      "dhi": 124,
      "dni": 931,
      "elev_angle": 76.11,
      "ghi": 1019,
      "gust": 3.6,
      "h_angle": 0,
      "lat": 35.7796,
      "lon": -78.6382,
      "ob_time": "2026-06-02 16:50",
      "pod": "d",
      "precip": 0,
      "pres": 1009.3,
      "rh": 42,
      "slp": 1023,
      "snow": 0,
      "solar_rad": 1011.7,
      "sources": [
        "1327W",
        "radar",
        "satellite"
      ],
      "state_code": "NC",
      "station": "1327W",
      "sunrise": "09:58",
      "sunset": "00:26",
      "temp": 24.8,
      "timezone": "America/New_York",
      "ts": 1780419000,
      "uv": 9,
      "vis": 16,
      "weather": {
        "code": 801,
        "description": "Few clouds",
        "icon": "c02d"
      },
      "wind_cdir": "SSE",
      "wind_cdir_full": "south-southeast",
      "wind_dir": 148,
      "wind_spd": 2.2
    }
  ],
  "minutely": [
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.1,
      "timestamp_local": "2026-06-02T13:19:00",
      "timestamp_utc": "2026-06-02T17:19:00",
      "ts": 1780420740
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.1,
      "timestamp_local": "2026-06-02T13:20:00",
      "timestamp_utc": "2026-06-02T17:20:00",
      "ts": 1780420800
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.1,
      "timestamp_local": "2026-06-02T13:21:00",
      "timestamp_utc": "2026-06-02T17:21:00",
      "ts": 1780420860
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.1,
      "timestamp_local": "2026-06-02T13:22:00",
      "timestamp_utc": "2026-06-02T17:22:00",
      "ts": 1780420920
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.1,
      "timestamp_local": "2026-06-02T13:23:00",
      "timestamp_utc": "2026-06-02T17:23:00",
      "ts": 1780420980
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.1,
      "timestamp_local": "2026-06-02T13:24:00",
      "timestamp_utc": "2026-06-02T17:24:00",
      "ts": 1780421040
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:25:00",
      "timestamp_utc": "2026-06-02T17:25:00",
      "ts": 1780421100
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:26:00",
      "timestamp_utc": "2026-06-02T17:26:00",
      "ts": 1780421160
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:27:00",
      "timestamp_utc": "2026-06-02T17:27:00",
      "ts": 1780421220
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:28:00",
      "timestamp_utc": "2026-06-02T17:28:00",
      "ts": 1780421280
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:29:00",
      "timestamp_utc": "2026-06-02T17:29:00",
      "ts": 1780421340
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:30:00",
      "timestamp_utc": "2026-06-02T17:30:00",
      "ts": 1780421400
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.2,
      "timestamp_local": "2026-06-02T13:31:00",
      "timestamp_utc": "2026-06-02T17:31:00",
      "ts": 1780421460
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:32:00",
      "timestamp_utc": "2026-06-02T17:32:00",
      "ts": 1780421520
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:33:00",
      "timestamp_utc": "2026-06-02T17:33:00",
      "ts": 1780421580
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:34:00",
      "timestamp_utc": "2026-06-02T17:34:00",
      "ts": 1780421640
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:35:00",
      "timestamp_utc": "2026-06-02T17:35:00",
      "ts": 1780421700
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:36:00",
      "timestamp_utc": "2026-06-02T17:36:00",
      "ts": 1780421760
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:37:00",
      "timestamp_utc": "2026-06-02T17:37:00",
      "ts": 1780421820
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.3,
      "timestamp_local": "2026-06-02T13:38:00",
      "timestamp_utc": "2026-06-02T17:38:00",
      "ts": 1780421880
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:39:00",
      "timestamp_utc": "2026-06-02T17:39:00",
      "ts": 1780421940
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:40:00",
      "timestamp_utc": "2026-06-02T17:40:00",
      "ts": 1780422000
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:41:00",
      "timestamp_utc": "2026-06-02T17:41:00",
      "ts": 1780422060
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:42:00",
      "timestamp_utc": "2026-06-02T17:42:00",
      "ts": 1780422120
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:43:00",
      "timestamp_utc": "2026-06-02T17:43:00",
      "ts": 1780422180
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:44:00",
      "timestamp_utc": "2026-06-02T17:44:00",
      "ts": 1780422240
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:45:00",
      "timestamp_utc": "2026-06-02T17:45:00",
      "ts": 1780422300
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.4,
      "timestamp_local": "2026-06-02T13:46:00",
      "timestamp_utc": "2026-06-02T17:46:00",
      "ts": 1780422360
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:47:00",
      "timestamp_utc": "2026-06-02T17:47:00",
      "ts": 1780422420
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:48:00",
      "timestamp_utc": "2026-06-02T17:48:00",
      "ts": 1780422480
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:49:00",
      "timestamp_utc": "2026-06-02T17:49:00",
      "ts": 1780422540
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:50:00",
      "timestamp_utc": "2026-06-02T17:50:00",
      "ts": 1780422600
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:51:00",
      "timestamp_utc": "2026-06-02T17:51:00",
      "ts": 1780422660
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:52:00",
      "timestamp_utc": "2026-06-02T17:52:00",
      "ts": 1780422720
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.5,
      "timestamp_local": "2026-06-02T13:53:00",
      "timestamp_utc": "2026-06-02T17:53:00",
      "ts": 1780422780
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T13:54:00",
      "timestamp_utc": "2026-06-02T17:54:00",
      "ts": 1780422840
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T13:55:00",
      "timestamp_utc": "2026-06-02T17:55:00",
      "ts": 1780422900
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T13:56:00",
      "timestamp_utc": "2026-06-02T17:56:00",
      "ts": 1780422960
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T13:57:00",
      "timestamp_utc": "2026-06-02T17:57:00",
      "ts": 1780423020
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T13:58:00",
      "timestamp_utc": "2026-06-02T17:58:00",
      "ts": 1780423080
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T13:59:00",
      "timestamp_utc": "2026-06-02T17:59:00",
      "ts": 1780423140
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.6,
      "timestamp_local": "2026-06-02T14:00:00",
      "timestamp_utc": "2026-06-02T18:00:00",
      "ts": 1780423200
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:01:00",
      "timestamp_utc": "2026-06-02T18:01:00",
      "ts": 1780423260
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:02:00",
      "timestamp_utc": "2026-06-02T18:02:00",
      "ts": 1780423320
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:03:00",
      "timestamp_utc": "2026-06-02T18:03:00",
      "ts": 1780423380
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:04:00",
      "timestamp_utc": "2026-06-02T18:04:00",
      "ts": 1780423440
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:05:00",
      "timestamp_utc": "2026-06-02T18:05:00",
      "ts": 1780423500
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:06:00",
      "timestamp_utc": "2026-06-02T18:06:00",
      "ts": 1780423560
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:07:00",
      "timestamp_utc": "2026-06-02T18:07:00",
      "ts": 1780423620
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:08:00",
      "timestamp_utc": "2026-06-02T18:08:00",
      "ts": 1780423680
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:09:00",
      "timestamp_utc": "2026-06-02T18:09:00",
      "ts": 1780423740
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:10:00",
      "timestamp_utc": "2026-06-02T18:10:00",
      "ts": 1780423800
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.7,
      "timestamp_local": "2026-06-02T14:11:00",
      "timestamp_utc": "2026-06-02T18:11:00",
      "ts": 1780423860
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:12:00",
      "timestamp_utc": "2026-06-02T18:12:00",
      "ts": 1780423920
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:13:00",
      "timestamp_utc": "2026-06-02T18:13:00",
      "ts": 1780423980
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:14:00",
      "timestamp_utc": "2026-06-02T18:14:00",
      "ts": 1780424040
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:15:00",
      "timestamp_utc": "2026-06-02T18:15:00",
      "ts": 1780424100
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:16:00",
      "timestamp_utc": "2026-06-02T18:16:00",
      "ts": 1780424160
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:17:00",
      "timestamp_utc": "2026-06-02T18:17:00",
      "ts": 1780424220
    },
    {
      "precip": 0,
      "snow": 0,
      "temp": 24.8,
      "timestamp_local": "2026-06-02T14:18:00",
      "timestamp_utc": "2026-06-02T18:18:00",
      "ts": 1780424280
    }
  ]
}

HTTP Statuses

Code Description Example
200 An Observation Group 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
count integer Count of found observations
data array<CurrentObs>
data[].city_name string Nearest city name
data[].state_code string State abbreviation
data[].country_code string Country abbreviation
data[].timezone string Local IANA time zone
data[].lat number Latitude
data[].lon number Longitude
data[].station string [DEPRECATED] Deprecated - Deprecated - 'sources'
data[].sources array<string> List of data sources used in response
data[].vis number Visibility - default (KM)
data[].rh integer Relative humidity (%)
data[].dewpt number Dew point temperature - default (C)
data[].wind_dir integer Wind direction (degrees) - Degrees clockwise from 0 = North
data[].wind_cdir string Cardinal wind direction
data[].wind_cdir_full string Cardinal wind direction (text)
data[].wind_spd number 10m wind speed - Default (m/s)
data[].gust ['number', 'null'] Wind gust speed - Default (m/s)
data[].temp number Temperature - Default (C)
data[].app_temp number Apparent temperature- Same as Feels-Like or Heat + Wind Chill Indices - Default (C)
data[].clouds integer Cloud cover (%)
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[].datetime string [DEPRECATED] Deprecated - use 'ob_time'
data[].ob_time string Full time (UTC) of observation (YYYY-MM-DD HH:MM)
data[].ts number Unix Timestamp
data[].sunrise ['string', 'null'] Time (UTC) of Sunrise (HH:MM)
data[].sunset ['string', 'null'] Time (UTC) of Sunset (HH:MM)
data[].slp number Mean sea level pressure in millibars (mb)
data[].pres number Pressure (mb)
data[].aqi number Air quality index (US EPA standard 0 to +500)
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 irradiance (W/m^2)
data[].dni number Direct normal irradiance (W/m^2)
data[].dhi number Diffuse horizontal irradiance (W/m^2)
data[].elev_angle number Current solar elevation angle (Degrees)
data[].hour_angle ['number', 'null'] [DEPRECATED] Current solar hour angle (Degrees)
data[].h_angle ['number', 'null'] [DEPRECATED] Deprecated - use 'hour_angle'
data[].pod string Part of the day (d = day, n = night)
data[].precip number Precipitation rate - Default (mm/hr)
data[].snow number Snowfall rate - Default (mm/hr)
minutely array<FCMinutelyOb> Optional minutely precipitation and temperature series when include=minutely.
minutely[].timestamp_utc string Full time (UTC) of forecast point (YYYY-MM-DD HH:MM)
minutely[].timestamp_local string Full local time of forecast point (YYYY-MM-DD HH:MM)
minutely[].ts number Unix Timestamp
minutely[].precip number Precipitation rate - Default (mm/hr)
minutely[].temp number Temperature - Default (C)
minutely[].snow number Snowfall rate - Default (mm/hr)
alerts array<WeatherAlertGroup> Optional severe weather alerts array when include=alerts.
lightning array<LightningObs> Optional nearby lightning observations array when include=lightning.