Microproduct Data GuideIntermediate

NOAA HRRR-Smoke Forecast

NOAA's operational high-resolution smoke-concentration forecast for building dated regional exposure context tools.

Report a Problem

At a Glance

Difficulty
Intermediate — some data preparation helps
Size
Medium · ≤2 GB
Formats
GRIB2
Access
Download
API Key
Not Required
Provider
National Oceanic and Atmospheric Administration
Updates
Near Real Time
Last Verified
Sep 28, 2026
Source Type
Government Source
  • Python Syntax Checked

From Source to Product Signal

Test a Product Idea in Four Steps

NOAA publishes HRRR-Smoke MASSDEN at 8 m above ground in GRIB2 through NOMADS. Start with a one-degree area and one completed cycle. This is modeled smoke mass concentration, not a monitor reading, and the GRIB values need unit conversion.

1

Check the Setup

  • Python 3.10 or newer
  • An internet connection
  • The requests Python package
2

Access the Data

  1. 1.Read NOAA's HRRR-Smoke model page and public-domain notice.
  2. 2.Select a completed model cycle and request only MASSDEN at 8 m for a small area.
  3. 3.Inspect the GRIB field before interpreting smoke concentrations.
Open Official Source
3

Run the Python Example

Install the packages, then run the notebook cell.

python -m pip install requests

from datetime import datetime, timedelta, timezone
import requests

run = datetime.now(timezone.utc) - timedelta(hours=5)
day, hour = run.strftime("%Y%m%d"), run.strftime("%H")
params = {
    "file": f"hrrr.t{hour}z.wrfsfcf00.grib2",
    "lev_8_m_above_ground": "on", "var_MASSDEN": "on",
    "subregion": "", "leftlon": "-106", "rightlon": "-105",
    "toplat": "40", "bottomlat": "39", "dir": f"/hrrr.{day}/conus",
}
response = requests.get(
    "https://nomads.ncep.noaa.gov/cgi-bin/filter_hrrr_2d.pl",
    params=params, timeout=30,
)
response.raise_for_status()
assert response.content.startswith(b"GRIB")
print(day, hour, len(response.content), "GRIB2 bytes")
4

Inspect a Smoke Forecast Field

Inspect one forecast cycle before displaying model smoke context.

  1. 01Request a bounded MASSDEN GRIB field for one cycle.
  2. 02Decode and convert its kg/m3 mass density to micrograms per cubic meter.
  3. 03Explain why a model forecast cannot be presented as a current monitor observation.

Dataset Details

National Oceanic and Atmospheric Administration is a government source. Last verified 2026-09-28. Temporal coverage: hourly forecast cycles with dated forecast hours.

Geography

Formats

Provider

National Oceanic and Atmospheric Administration

Data Terms

NOAA-produced data are U.S. public-domain material; cite NOAA and do not imply endorsement.

Send Feedback