A sensor reads 50 ppm. Wind vector applied. Plume footprint drawn. Jurisdiction boundary highlights when the plume crosses it. Adjust the controls to see the physics respond instantly.
SENSOR · 50 ppm detected
WIND · 3.0 m/s · 270°
JURISDICTION · CLEAR
Emission Parameters
Wind Speed3.0 m/s
Wind Direction270°
Emission Rate (Q)50 g/s
Stack Height (H)10 m
σy (crosswind spread)—
σz (vertical spread)—
Peak ground conc.—
Plume centerline (100m)—
Jurisdiction max conc.—
Boundary Monitoring
CLEAR
River Valley Air Quality District
EPA-designated non-attainment zone. Industrial emission threshold applies within district boundary.
POSThttps://api.geog.ai/v1/simulate/plume
{
"sensor_id": "S-4821",
"lat": 36.7783,
"lon": -119.4179,
"reading_ppm": 50,
"wind_speed": 3.0, // m/s — from met station or forecast"wind_dir_deg": 270, // meteorological convention"stack_height": 10, // effective emission height, m"stability": "D"// Pasquill-Gifford class
}
// Response includes: contour GeoJSON, jurisdiction crossings,
// regulatory thresholds exceeded, confidence interval (calibrated)
This demo runs entirely in your browser — no API calls made. The production geog.ai engine adds terrain correction, real wind fields, multi-source superposition, and a calibration loop that improves with every sensor reading.