Skip to content

Radar scans

noaa:nexrad-level2 downloads whole Level II scans over anonymous HTTPS from the public archive. Provide both timestamps and a radar ID or geographic query. Start with a dry run to inspect the number and size of files:

usdata fetch noaa:nexrad-level2 -p site=KTLX \
  --start 2024-05-06T20:00Z --end 2024-05-06T20:05Z --dry-run

A query spans at most 31 days; split longer intervals. Remove --dry-run to download. There is no server-side variable subsetting; each file contains the available scan moments.

Times are UTC

Timestamps without a timezone are treated as UTC, including queries built directly in Python; explicit offsets are converted to UTC. Both bounds are inclusive. A date alone as the end means the last instant of that UTC day, in any ISO 8601 spelling (2024-05-07, 20240507, or 2024-W19-2), so a window from 2024-05-07 to 2024-05-07 is that whole day; give the end a time to stop earlier. See time and place.

site and sites are mutually exclusive and accept non-empty strings or lists. IDs are case-insensitive. With a geographic query, nearest selects a positive number of nearby radars and cannot be combined with explicit IDs. Selection falls back to the nearest radar when none lies inside the bounding rectangle.

The bundled station list excludes test/research radars from default selection. See archive and station metadata notes.

Coverage outside the declared extent

The catalog extent, 180°W to 27°W and 15°N to 72°N, holds every bundled radar in the western hemisphere, from the Aleutians to Lajes in the Azores (LPLA). Four radars lie across the antimeridian from it: Andersen AFB on Guam (PGUA), Kunsan (RKJK) and Camp Humphreys (RKSG) in Korea, and Kadena on Okinawa (RODN). A box cannot wrap across 180°, and one spanning every longitude would match any search anywhere, so these four stay outside the extent. Registry search by place or point does not list the radar datasets there; fetch them by site id (-p site=PGUA), or with a geographic query, which falls back to the nearest radar. A registry test keeps this list and the bundled table in agreement. The optional usdata[radar] reader opens local scans with xradar; an explicit zero-based sweep chooses a sweep. See choosing sweeps, reader limits, temporal selection, and the executed radar example.

Choosing sweeps

A sweep index is a position in the volume, not an elevation. Each low angle is a split cut, scanned once for reflectivity and the dual-polarization moments and once more for velocity, and SAILS rescans the lowest angle inside the volume. KTLX20240507_021123_V06, the KTLX volume in progress when the Barnsdall EF4 began, is VCP 212 with three SAILS cuts, 23 sweeps over seven minutes:

$ usdata inspect noaa:nexrad-level2/KTLX20240507_021123_V06
  vcp:       212
  sweeps:
    #   cut  angle  moments                                 start     end       rays  notes
    0   1    0.48   DBZH ZDR PHIDP RHOHV CCORH              02:11:23  02:11:39  720
    1   2    0.48   DBZH VRADH WRADH                        02:11:40  02:12:04  720
    2   3    0.88   DBZH ZDR PHIDP RHOHV CCORH              02:12:05  02:12:21  720
    3   4    0.88   DBZH VRADH WRADH                        02:12:23  02:12:46  720
    4   5    0.48   DBZH ZDR PHIDP RHOHV CCORH              02:12:47  02:13:04  717   SAILS
    5   6    0.48   DBZH VRADH WRADH                        02:13:05  02:13:29  720   SAILS
    ...
    8   9    1.80   DBZH VRADH WRADH ZDR PHIDP RHOHV CCORH  02:14:11  02:14:24  360
    ...
    16  17   0.48   DBZH ZDR PHIDP RHOHV CCORH              02:16:18  02:16:34  720   SAILS
    17  18   0.48   DBZH VRADH WRADH                        02:16:35  02:16:59  720   SAILS
    ...
    22  23   19.51  DBZH VRADH WRADH ZDR PHIDP RHOHV CCORH  02:17:55  02:18:07  360

The 0.5° angle is eight sweeps, four of reflectivity and four of velocity, and a VCP without SAILS puts different angles at those indices. In this volume velocity (VRADH) and spectrum width (WRADH) arrive only on the Doppler half of each split cut, at 1.32° and below, and on every sweep from 1.80° up.

To select the same scan in every volume, choose by angle, moment, and time rather than by index. readers.nexrad_sweeps reads that table from the volume's metadata without decoding any moment, and item.inspect().nexrad returns it with the VCP number:

from usdata.readers import nexrad_sweeps

sweeps = nexrad_sweeps(item.path)
lowest = min(sweep.fixed_angle for sweep in sweeps)
first_velocity = next(s for s in sweeps if s.fixed_angle == lowest and "VRADH" in s.moments)
radar = item.open_nexrad(sweep=first_velocity.index)

Whether to take the first lowest-angle scan of each volume or every SAILS rescan is a choice the analysis makes: here the rescans add three more low-level velocity scans, starting 85 to 112 seconds apart, all later than the time in the file name. Each sweep's start and end say when.

Metadata sources

Every value in the catalog entry's resolution, cadence, citation, terms, variables, and limits comes from one of these pages. A field the agency does not publish is left empty rather than estimated.

  • Temporal resolution: the NCEI NEXRAD product page, which says a Level II file typically holds four, five, six, or ten minutes of base data depending on the volume coverage pattern.
  • Updates, citation, and terms: the NODD registry entry ("New Level II data is added as soon as it is available") and the NOAA Open Data Dissemination statement it quotes.
  • Variables: the moments the radar reader returns across every sweep of KTLX20240507_021123_V06, decoded on 2026-10-08, with the units it states; velocity and spectrum width in m/s, which the reader writes as "meters per seconds".
  • Longest query window: MAX_WINDOW in usdata.providers.noaa.nexrad.
  • Spatial resolution and latency are empty: the NCEI page refers gate and azimuth spacing to Federal Meteorological Handbook No. 11, and neither NCEI nor NODD publishes a latency figure for the archive.

All NOAA datasets.

Reference

noaa:nexrad-level2 · Released · Included since usdata 0.2. NEXRAD Level II Radar.

At a glance

Parameters

Pass these as --param name=value to the CLI, as params: entries in a manifest, or as keyword arguments to build_query.

Parameter Meaning
nearest Take the N radars nearest the query centre instead of naming sites.
site One radar ICAO id, for example KTLX.
sites Several radar ICAO ids, comma-separated or a list.

Variables

Variable Units Meaning
DBZH dBZ Equivalent reflectivity factor H
ZDR dB Log differential reflectivity H/V
PHIDP degrees Differential phase HV
RHOHV unitless Correlation coefficient HV
VRADH m/s Radial velocity of scatterers away from instrument H; Doppler sweeps only
WRADH m/s Doppler spectrum width H; Doppler sweeps only
CCORH unitless Clutter correction H; surveillance and batch sweeps

Catalog facts

  • Availability: since 0.2
  • Domain: Weather radar
  • Temporal resolution: One volume scan every 4, 5, 6, or 10 minutes, set by the volume coverage pattern
  • Updates: New Level II data is added as soon as it is available
  • Longest query window: 31 days
  • Terms of use: https://www.noaa.gov/information-technology/open-data-dissemination
  • Citation: NEXRAD on AWS was accessed on [date] from https://registry.opendata.aws/noaa-nexrad
  • Geographic bounds (WGS84): west -180°, south 15°, east -27°, north 72°
  • Catalog date range: 1991-06-01 to open-ended
  • Coverage varies by station, product, and date; the range above does not guarantee observations.
  • Upstream documentation
  • License: US Government Work (public domain)
  • Transport: s3
  • Adapter: usdata.providers.noaa.nexrad:NexradLevel2