StormSense

// Function to update the radar image based on location function updateRegionalRadar(lat, lng) { // Only update if currently showing precipitation radar if (!document.getElementById(‘radar-img’).alt.includes(‘NOAA Live Precipitation’)) { return; } // Find the nearest radar station based on coordinates const radarStation = findNearestRadarStation(lat, lng); // Update the radar image with the regional view const radarImg = document.getElementById(‘radar-img’); const radarOverlay = document.getElementById(‘radar-overlay’); // Use the specific radar station URL if (radarStation) { radarImg.src = `https://radar.weather.gov/ridge/standard/${radarStation}_0.gif`; radarOverlay.textContent = `Live NOAA Radar – ${radarStation}`; // Set up auto-refresh clearInterval(window.radarRefreshInterval); window.radarRefreshInterval = setInterval(function() { radarImg.src = `https://radar.weather.gov/ridge/standard/${radarStation}_0.gif?t=` + new Date().getTime(); console.log(`Refreshed ${radarStation} radar image at ${new Date().toLocaleTimeString()}`); }, 300000); // Refresh every 5 minutes } else { // Default to CONUS view if no station found radarImg.src = ‘https://radar.weather.gov/ridge/standard/CONUS_0.gif’; radarOverlay.textContent = ‘Live NOAA Radar’; } } // Function to find the nearest radar station based on coordinates function findNearestRadarStation(lat, lng) { // Define a mapping of regions to radar station codes // This is a simplified version – in a real implementation, // you’d use a more comprehensive database of stations with coordinates // Define radar stations with their rough lat/lon coordinates const radarStations = [ {code: ‘KMPX’, name: ‘Minneapolis, MN’, lat: 44.8488, lng: -93.5653}, {code: ‘KARX’, name: ‘La Crosse, WI’, lat: 43.8228, lng: -91.1915}, {code: ‘KDMX’, name: ‘Des Moines, IA’, lat: 41.7292, lng: -93.7226}, {code: ‘KFSD’, name: ‘Sioux Falls, SD’, lat: 43.5877, lng: -96.7293}, {code: ‘KABR’, name: ‘Aberdeen, SD’, lat: 45.4558, lng: -98.4132}, {code: ‘KGFK’, name: ‘Grand Forks, ND’, lat: 47.9597, lng: -97.3264}, {code: ‘KDLH’, name: ‘Duluth, MN’, lat: 46.8369, lng: -92.2097}, {code: ‘KMKX’, name: ‘Milwaukee, WI’, lat: 42.9678, lng: -88.5506}, {code: ‘KLOT’, name: ‘Chicago, IL’, lat: 41.6044, lng: -88.0847}, {code: ‘KDVN’, name: ‘Davenport, IA’, lat: 41.6114, lng: -90.5811}, {code: ‘KIWX’, name: ‘Northern Indiana’, lat: 41.4086, lng: -85.7006}, {code: ‘KDTX’, name: ‘Detroit, MI’, lat: 42.6999, lng: -83.4717}, {code: ‘KGRR’, name: ‘Grand Rapids, MI’, lat: 42.8939, lng: -85.5447}, {code: ‘KAPX’, name: ‘Gaylord, MI’, lat: 44.9069, lng: -84.7198}, {code: ‘KCLE’, name: ‘Cleveland, OH’, lat: 41.4131, lng: -81.8597}, {code: ‘KOKX’, name: ‘New York, NY’, lat: 40.8656, lng: -72.8636}, {code: ‘KDIX’, name: ‘Philadelphia, PA’, lat: 39.9472, lng: -74.4108}, {code: ‘KLWX’, name: ‘Washington DC’, lat: 38.9761, lng: -77.4878}, {code: ‘KFCX’, name: ‘Roanoke, VA’, lat: 37.0242, lng: -80.2736}, {code: ‘KRAX’, name: ‘Raleigh, NC’, lat: 35.6656, lng: -78.4897}, {code: ‘KGSP’, name: ‘Greenville, SC’, lat: 34.8833, lng: -82.2203}, {code: ‘KFFC’, name: ‘Atlanta, GA’, lat: 33.3636, lng: -84.5658}, {code: ‘KTLH’, name: ‘Tallahassee, FL’, lat: 30.3975, lng: -84.3289}, {code: ‘KMLB’, name: ‘Melbourne, FL’, lat: 28.1131, lng: -80.6542}, {code: ‘KAMX’, name: ‘Miami, FL’, lat: 25.6111, lng: -80.4128}, {code: ‘KLIX’, name: ‘New Orleans, LA’, lat: 30.3367, lng: -89.8256}, {code: ‘KHGX’, name: ‘Houston, TX’, lat: 29.4719, lng: -95.0792}, {code: ‘KFWS’, name: ‘Dallas/Ft. Worth, TX’, lat: 32.5731, lng: -97.3031}, {code: ‘KAMA’, name: ‘Amarillo, TX’, lat: 35.2336, lng: -101.7094}, {code: ‘KABX’, name: ‘Albuquerque, NM’, lat: 35.1497, lng: -106.8241}, {code: ‘KFSX’, name: ‘Flagstaff, AZ’, lat: 34.5744, lng: -111.1958}, {code: ‘KIWA’, name: ‘Phoenix, AZ’, lat: 33.2892, lng: -111.6700}, {code: ‘KNKX’, name: ‘San Diego, CA’, lat: 32.9189, lng: -117.0419}, {code: ‘KVTX’, name: ‘Los Angeles, CA’, lat: 34.4117, lng: -119.1795}, {code: ‘KMUX’, name: ‘San Francisco, CA’, lat: 37.1553, lng: -121.8981}, {code: ‘KRTX’, name: ‘Portland, OR’, lat: 45.7147, lng: -122.9642}, {code: ‘KATX’, name: ‘Seattle, WA’, lat: 48.1944, lng: -122.4958} ]; // Calculate distance to each radar station let nearestStation = null; let shortestDistance = Number.MAX_VALUE; for (const station of radarStations) { const distance = calculateDistance(lat, lng, station.lat, station.lng); if (distance < shortestDistance) { shortestDistance = distance; nearestStation = station; } } return nearestStation ? nearestStation.code : null; } // Calculate distance between two points using Haversine formula function calculateDistance(lat1, lon1, lat2, lon2) { const R = 6371; // Radius of the earth in km const dLat = deg2rad(lat2 - lat1); const dLon = deg2rad(lon2 - lon1); const a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2); const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); const d = R * c; // Distance in km return d; } function deg2rad(deg) { return deg * (Math.PI/180); } StormSense
StormSense
Loading…
Minneapolis, MN

Shear

42 kts

▲ increasing next hour

Lift

33

▲ increasing next hour

Instability

2458 J/kg

▼ decreasing next hour

Moisture

67°F

▲ increasing next hour

NOAA Live Precipitation Radar
Live NOAA Radar

Current Weather Conditions

61°F
Fair
Weather icon
Feels Like: 61°F
Wind: North at 3 mph
Wind Gusts: 7 mph
Humidity: 45%
Pressure: 1012 mb
Forecast: Clear conditions will continue
Data provided by NOAA National Weather Service

SPC Tornado Outlook

Loading SPC Outlook data…

View Full Forecast Discussion & Map

May 22, 2011 – Joplin, MO EF5 Tornado

Shear60–70 kts
Lift Index-6 to -8
Instability (CAPE)3000–4000 J/kg
Dew Point68–72°F

These values were present in the afternoon hours leading up to the Joplin tornado.

Select Historical Event

Select an event from the dropdown to view atmospheric conditions.