// 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
Shear
42 kts
▲ increasing next hour
Lift
33
▲ increasing next hour
Instability
2458 J/kg
▼ decreasing next hour
Moisture
67°F
▲ increasing next hour
Live NOAA Radar
Current Weather Conditions
| Feels Like: |
61°F |
| Wind: |
North at 3 mph |
| Wind Gusts: |
7 mph |
| Humidity: |
45% |
| Pressure: |
1012 mb |
| Forecast: |
Clear conditions will continue |
Unable to load weather data for this location.
Data provided by NOAA National Weather Service
May 22, 2011 – Joplin, MO EF5 Tornado
| Shear | 60–70 kts |
| Lift Index | -6 to -8 |
| Instability (CAPE) | 3000–4000 J/kg |
| Dew Point | 68–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.
×
Term Definition
Content will appear here