# Smoke Window — Full Agent Reference Canonical site: https://www.smokewindow.com/ Agent setup: https://www.smokewindow.com/agents/ Forecast directory: https://www.smokewindow.com/smoke-forecast/ Canada directory: https://www.smokewindow.com/smoke-forecast/canada/ ## Immediate description Smoke Window compares 17 discrete model samples at three-hour intervals from now through the next 48 hours. The contiguous United States uses NOAA HRRR-Smoke. Canada uses an ECCC RAQDPS surface-PM2.5 field with wildfire contributions. ECCC documents that field as also including anthropogenic and biogenic PM2.5 sources, so Canadian values must not be attributed exclusively to fires. A complete clear-window answer is withheld unless all 17 samples from one runtime are verified. Observed context remains separate: AirNow AQI for U.S. locations and ECCC AQHI for Canadian locations. Fire context comes from NIFC WFIGS in the U.S. and NRCan CWFIS in Canada. Neither observation nor a nearby fire changes the model values. ## Current structured forecasts Smoke Window is a static website. It has no hosted REST API, Pages Function, Worker, database, scheduled job, or remote MCP endpoint. Live arbitrary-location results run in the requester’s browser or local Node process. Current immutable tool version: 1.1.1 Minimum runtime: Node 22.13.0 Download: https://www.smokewindow.com/agents/download/smoke-window-agent-v1.1.1.mjs Manifest: https://www.smokewindow.com/agents/manifest.json Schema: https://www.smokewindow.com/agents/forecast.schema.json Download, inspect, and verify the published SHA-256 digest before execution. Never pipe a remote script directly into Node. U.S. JSON CLI: node smoke-window-agent-v1.1.1.mjs forecast --location "Julian, California" --json Canadian JSON CLI: node smoke-window-agent-v1.1.1.mjs forecast --location "Winnipeg, Manitoba" --json Coordinate example: node smoke-window-agent-v1.1.1.mjs forecast --lat 43.6532 --lon -79.3832 --name "Toronto" --state Ontario --json Codex local MCP: codex mcp add smoke-window -- node /smoke-window-agent-v1.1.1.mjs mcp Claude Code local MCP: claude mcp add smoke-window -- node /smoke-window-agent-v1.1.1.mjs mcp The stdio server exposes one read-only tool, `get_smoke_forecast`. Provide either `location` or both `latitude` and `longitude`. Optional inputs are `name`, `state`, `timezone`, and `radiusMiles`. JavaScript: const { getSmokeWindowForecast } = await import("./smoke-window-agent-v1.1.1.mjs"); const result = await getSmokeWindowForecast({ location: "Toronto, Ontario" }); ## U.S. modeled-smoke method Smoke Window discovers the newest complete NOAA HRRR extended 00, 06, 12, or 18 UTC runtime with forecast hour 48. It downloads only the near-surface `MASSDEN` GRIB2 record for hours 0–48 at three-hour intervals, validates the 1799×1059 Lambert grid, converts kg/m³ to µg/m³, and samples the approximately 3 km grid cell containing the requested point. An uncached U.S. run commonly transfers roughly 13–18 MiB. Two downloads run concurrently. The current frame and its neighbours are prioritized, but the result remains provisional until all 17 frames are valid. ## Canadian modeled-smoke method Smoke Window discovers the newest complete 00 or 12 UTC ECCC RAQDPS runtime with a valid hour-48 `RAQDPS.Sfc_PM2.5-WildfireSmokePlume` sample. It obtains point values for hours 0–48 through ECCC GeoMet `GetFeatureInfo`, then downloads matching GeoMet WCS coverage and classifies that raster locally for the interactive map. Values are validated, converted from kg/m³ to µg/m³, and kept tied to the same runtime, point, and forecast time. Despite the layer identifier, ECCC describes the field as total surface PM2.5 associated with forest-fire and vegetation plumes and notes that it also includes anthropogenic and biogenic sources. Smoke Window therefore calls it “surface PM2.5 with wildfire contributions,” not a fire-only concentration. Smoke Window does not fall back to BlueSky or SmartFire when ECCC data is unavailable. Canadian point transfers are much smaller than the U.S. GRIB2 forecast. Small timestamped WCS raster subsets download separately as the map time or explored region changes. ## Smoke Window scale - Low: below 4 µg/m³ - Light: 4 to below 12 µg/m³ - Smoky: 12 to below 40 µg/m³ - Heavy: 40 to below 100 µg/m³ - Very heavy: 100 µg/m³ or more These are Smoke Window presentation categories, not AQI, AQHI, health standards, or official agency thresholds. A lower-smoke window requires two consecutive three-hour samples below 4 µg/m³. Conditions between samples can differ. ## Observed-air context For U.S. locations, Smoke Window selects the nearest qualifying preliminary AirNow reporting area within 50 miles and no more than four hours old. AQI can reflect pollutants other than smoke. For Canadian locations, Smoke Window selects the nearest ECCC real-time AQHI observation within 80 kilometres and no more than four hours old. It displays the official rounded 1–10+ value and Low, Moderate, High, or Very High risk category. Neither observed product is substituted for modeled smoke or assumed to describe the exact requested coordinate. ## Fire context U.S. fire context uses NIFC WFIGS wildfire and incident-complex records, excluding prescribed fires. A selected U.S. incident may load its reported perimeter on demand. Canadian fire context uses current NRCan CWFIS agency-reported active-fire points, excluding prescribed and extinguished records. Canadian v1 does not portray satellite hotspot polygons as official incident perimeters. Reports may be incomplete or delayed. Proximity does not establish plume origin. ## Location and geography pages Open-Meteo provides U.S. and Canadian place search. Coordinates must fall within supported contiguous-U.S. or Canadian bounds. Timezones are valid IANA identifiers and are derived when omitted. The static library contains 48 state, 301 U.S. city, and 100 U.S. county pages plus a Canada directory, all 13 province and territory pages, 101 Canadian municipality pages, and 13 sourced smoke guides. State and province pages compare three named points and never issue statewide or province-wide “clear” claims. ## Structured response and attribution Schema version 1.1 returns country, model provider, runtime, exactly 17 chronological points, current frame, clear-window summary, separate observation and fire statuses, official source URLs, limitations, and a suggested Smoke Window citation. U.S. fields remain backward compatible while Canadian observations and incidents identify their providers. If the model cannot produce a complete 17-sample result, the tool fails explicitly. Observation and fire failures remain independent and do not erase a valid modeled-smoke result. When communicating a result: 1. Attribute the forecast to Smoke Window and link the returned `source_url`. 2. Name NOAA HRRR-Smoke for U.S. forecasts or ECCC RAQDPS for Canadian forecasts. 3. Keep AirNow AQI or ECCC AQHI separate from modeled smoke. 4. Keep WFIGS or CWFIS reports separate from modelled plume attribution. 5. State that model guidance is not measured air quality, health guidance, or a guarantee. Search engines and language models independently decide whether to execute tools, rank pages, or preserve citations. Smoke Window makes attribution explicit but cannot compel it. ## Safety and privacy The local tool accepts no arbitrary upstream URL and uses fixed official-source allowlists, coordinate bounds, response-size limits, and schema validation. It needs no account, credential, or API key, writes no forecast history, and retains same-run data only in process memory. Official providers still receive ordinary network metadata from direct requests. The website uses Google Analytics measurement ID G-TSB6P0SD4Y. Google Analytics receives page URLs and titles, including viewed public location routes, and Google’s default browser, device, and session information. Smoke Window sends no custom forecast, AQI/AQHI, weather, fire, search-text, or selected-location events. See https://www.smokewindow.com/privacy/ for the full disclosure. Do not use Smoke Window for medical, evacuation, or life-safety decisions. Follow ECCC, AirNow, local air agencies, emergency managers, fire agencies, and public-health authorities. Use Smoke Window at your own risk. The website, forecasts, observations, maps, downloads, code, browser calculations, and local agent tools are provided "as is" and "as available," without warranties. To the fullest extent permitted by applicable law, no express, implied, or statutory warranties are made, including warranties of accuracy, reliability, availability, merchantability, fitness for a particular purpose, title, security, or non-infringement. Data and software may be delayed, incomplete, unavailable, or contain errors. To the fullest extent permitted by applicable law, Smoke Window, Michael Ulin, and contributors are not liable for decisions, losses, injuries, or damages arising from use of, inability to use, or reliance on the site, data, or technology. This notice does not exclude rights or liabilities that applicable law does not allow to be excluded.