Weather · Analysis

HRRR national weather field

Temperature, hub-height wind speed and surface irradiance every hour at 19,080 points across the continental United States — the three weather series that load, wind output and solar output are functions of, at one resolution across every grid operator rather than one. Read from NOAA's HRRR analysis on Open Data Dissemination: a US government work, public domain, no attribution owed.

noaa-hrrr-fieldhourly · 1h rows19,080 entities
H_0200_0970
27.5°C
2026-09-18 02:00 UTC
H_0670_1170
19.7°C
2026-09-18 02:00 UTC
H_0700_1550
25.3°C
2026-09-18 02:00 UTC
Read from the Dryos API and cached for an hour; the stream itself updates hourly.

What is in it

Updates
hourly · 1h rows
Entities
19,080 entities — H_0200_0970, H_0670_1170, H_0700_1550…
Source timezone
UTC — every timestamp Dryos serves is UTC
Coverage
18 September 2026 to now
Rows held
19,080
Primary key
cell, interval_start_utc
On the map
19,080 of 19,080 placed

What it measures

Every value, its unit, and what the source means by it.

  • Temperature°C

    Air temperature at 2 m — the series load is a function of. Published in kelvin and converted on read.

    temp_c
  • Wind speedm/s

    Wind speed at 80 m, HRRR's hub-height level — the field that matters for wind generation. The Texas wind field beside this one publishes 100 m, which is a different number.

    wind_speed_80m_ms
  • IrradianceW/m²

    Downward short-wave radiation at the surface — what reaches a solar panel. Zero at night, which is a reading and not a gap.

    irradiance_wm2
  • Wind, eastwardm/s

    Eastward wind component at 80 m, resolved against HRRR's Lambert grid rather than true north. Stored verbatim so the rotation to a compass bearing can be checked from the table; a direction taken from it unrotated is wrong by up to 17° at the edges of the map.

    wind_u_80m_ms
  • Wind, northwardm/s

    Northward wind component at 80 m, in the same grid-relative frame as the eastward component beside it.

    wind_v_80m_ms

Columns

Exactly what a request answers with, read from the API rather than written here.

ColumnTypeDescription
interval_start_utcrequiredtimestampStart of the hour the values describe, UTC.e.g. 2026-08-31T12:00:00Z
cellrequiredstringGrid cell id: H_0500_0900 is row 500, column 900 of HRRR's native 1059 x 1799 grid. The index is the native one even though the stream samples every tenth point, so a cell keeps its id if the sampling ever changes. HRRR is a Lambert projection, so unlike the Texas wind field's ids this one cannot encode its own latitude and longitude — they are columns instead.e.g. H_0500_0900
temp_crequirednumberAir temperature at 2 m, degrees Celsius. Published in kelvin and converted on read.e.g. 24.8
wind_speed_80m_msrequirednumberWind speed at 80 m, metres per second — HRRR's hub-height level, and the field that matters for wind generation. Derived as the magnitude of the two components below, which is the same number whichever frame they are resolved in.e.g. 8.7
wind_u_80m_msrequirednumberEastward wind component at 80 m, metres per second, **relative to HRRR's Lambert grid and not to true north** (uvRelativeToGrid = 1). A compass bearing taken from this and the northward component without rotating them by n(lon - lon0) is wrong by up to 17 degrees at the edges of the country and correct down the middle of it.e.g. -3.1
wind_v_80m_msrequirednumberNorthward wind component at 80 m, metres per second, in the same grid-relative frame as the eastward component beside it.e.g. 6.4
irradiance_wm2requirednumberDownward short-wave radiation flux at the surface, watts per square metre — what reaches a solar panel. Zero at night, and that is a reading rather than a gap.e.g. 612.4
latrequirednumberLatitude of the reading, degrees north. Published by the source, not inferred: this is where the instrument is or the point that was sampled.e.g. 30.19
lonrequirednumberLongitude of the reading, degrees east of Greenwich.e.g. -97.67
collected_at_utcrequiredtimestampWhen Dryos collected this row, UTC. Stamped by the platform, not the collector.e.g. 2026-08-31T13:02:00Z

Read it

Public, read-only, no key and no sign-up. Relative times stay relative, so a URL keeps working.

The newest rows

shell
curl "https://api.dryos.ai/v1/datasets/noaa-hrrr-field/query?node=H_0200_0970&limit=12"

The catalogue entry — every column, its type and the source

shell
curl "https://api.dryos.ai/v1/datasets/noaa-hrrr-field"

Full parameters — bucketing, aggregation, filters and search — are on the API reference.

Ask an agent

The same stream through the Model Context Protocol, so Claude, ChatGPT, Cursor or any MCP client can query it directly.

shell
claude mcp add --transport http dryos https://api.dryos.ai/mcp

Then ask:

What has Temperature been at H_0200_0970 over the last 24 hours, and when did it peak?

Setup for every client is on the MCP server page.

How this stream is checked

  • Pulled straight from NOAA · High-Resolution Rapid Refresh, via Open Data Dissemination — no reseller in between — and compared against that file before it is served.
  • Null means the source did not report it — never zero.
  • A reading lands hourly; the interval timestamp is the start of the interval, in UTC.
  • Every weather timestamp is UTC at the source and at Dryos.

Related streams