Past Weather | National Centers for Environmental Information (NCEI) (2024)

Past Weather

Use the search bar to enter a location of interest (name, address, zip code, etc.). Or, use the map to find a location by using zoom/pan or Shift+Click+Drag and then click "Search this area ". A set of stations from that location will be displayed (if any exist). Select the desired station from the list or from the map to view available daily data for that station.

Stations returned are part of the GHCN (Global Historical Climatology Network)-Daily dataset. GHCN-D data may lag by a few days due to its comprehensive set of quality assurance checks. Only data with blank quality flags (did not fail any QA check) are returned.

Access GHCN-D

Only show stations that include:

Station Return Limit

The maximum number of stations that can be returned is limited to 1000. Zooming in to a smaller extent may reveal more stations in that area.

Station Plotting

A station whose period of record includes the currently selected date is represented with a blue disc. Stations whose period of record does not include the currently selected date are plotted as white.

  • Period of Record includes date selected
  • Period of Record DOES NOT include date selected
  • Currently selected station

The map depicts the current location of each station. Detailed histories of station locations are available at the Historical Observing Metadata Repository (HOMR).

Access HOMR

' ); } }).fail(function(){ console.log('Failed to find suggestions in selected location'); //$('#station-list-div').html('

Failed to find suggestions in selected location

'); });}async function loopThroughSuggestions(suggestReturns, formSubmitted){ for (const suggestion of suggestReturns.suggestions) { await appendSuggestion(suggestion, formSubmitted); }}async function appendSuggestion(suggestion, formSubmitted){ // get ArcGIS World Geocoding Service suggestion metadata (namely, get bounding box to submit to Common Access) await $.ajax({ url : 'https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/findAddressCandidates', data : 'f=json&maxLocations=10&singleLine=' + suggestion.text + '&magicKey=' + suggestion.magicKey, dataType : 'json' }).done(function(addressCandidateReturns){ if (addressCandidateReturns.candidates.length > 0) { // get location info $.each(addressCandidateReturns.candidates, function(ndx, candidate){ // add suggestion to list if ( $('option.locationSuggestion[value="' + candidate.address + '"]').length == 0 && candidate.extent.ymin !== undefined ) { addressCandidates[candidate.address] = { ymax: candidate.extent.ymax, xmin: candidate.extent.xmin, ymin: candidate.extent.ymin, xmax: candidate.extent.xmax }; var candidateOpt = '

'; $('#suggestions').append(candidateOpt); } }); if (!locationSubmitted && formSubmitted) { searchLocation(); } } else { $('#station-list-div').html( '

No candidates found in selected location

' ); } }).fail(function(){ console.log('Failed to return candidates from selected location'); /* $('#station-list-div').html( '

Failed to return candidates from selected location

' ); */ });}async function searchLocation(){ locationSubmitted = true; // if location submitted was not selected from suggestion list, submit first from list selectedLocation = ($('#loc').val() in addressCandidates ? $('#loc').val() : Object.keys(addressCandidates)[0]); // set bounding box from selected location bbox = [ addressCandidates[selectedLocation]['ymax'], addressCandidates[selectedLocation]['xmin'], addressCandidates[selectedLocation]['ymin'], addressCandidates[selectedLocation]['xmax'] ]; if (!init) { window.history.pushState( { location : selectedLocation }, 'Past Weather', '/access/past-weather/' + encodeURIComponent($('#loc').val()) ); } init = false; // submit location with bbox to get list of stations await getStationList();}async function searchMapBounds(){ locationSubmitted = true; selectedLocation = bbox.toString(); if (!init) { window.history.pushState( { location : selectedLocation }, 'Past Weather', '/access/past-weather/' + selectedLocation ); } init = false; await getStationList();}// Data Access Service Station Listfunction getStationList(){ $('#suggestions option').remove(); $( '#sortOpts, #station-list-div, #station-title, #date-select, #station-data, #download, #daily-summary, ' + '#timescales, #timeSeries, #timescales, #daily-summary' ).html(''); $('#timeSeries').removeClass('graph'); $('.overflowArrow').hide(); $('#station-list-div').removeClass('returns'); $('#filter').removeClass('hidden'); // remove time series zingchart.exec('timeSeries', 'destroy'); stationList = {}; // https://www.ncei.noaa.gov/support/access-search-service-api-user-documentation $.ajax({ url : 'https://www.ncei.noaa.gov/access/services/search/v1/data', data : 'dataset=' + selectedDataset + '&bbox=' + bbox + '&limit=' + stationLimit + '&format=json', dataType : 'json' }).done(function(stationsResults){ if ($.isEmptyObject(stationsResults) || stationsResults.results.length == 0) { $('#station-list-div').html( '

No stations were found for the selected location.

' ); updateMap(); } else { $('#station-list-div').addClass('returns'); $('#station-list-div').html('

    '); stationList = { "type":"FeatureCollection", "features":[], "dataTypes":{} }; // loop through stations $.each(stationsResults.results, function(ndx, thisStation){ // skip stations with no period of record if (!thisStation.startDate) { return false; } // keep track of station data types and their start/end dates var dataTypeClassList = ''; stationList.dataTypes[thisStation.stations[0].id] = {}; $.each(thisStation.stations[0]['dataTypes'], function(ndx, dataTypeObj){ if (dataTypeObj.id in dataTypes) { stationList.dataTypes[thisStation.stations[0].id][dataTypeObj.id] = { startDate : dataTypeObj.startDate.split('T')[0], endDate : dataTypeObj.endDate.split('T')[0] }; dataTypeClassList += ' data-type-' + dataTypeObj.id; } }); var dataTypeList = []; $.each(dataTypes, function(dataType, dataTypeInfo){ if (dataType in stationList.dataTypes[thisStation.stations[0].id]) { dataTypeList.push( '' + '' ); } }) // add station to list var stationItem = '

  • ' + '

    ' + '

    ' + '' + thisStation.stations[0].name + ' '+ '' + thisStation.stations[0].id + '' + '

    ' + '

    ' + thisStation.startDate.split("T")[0] + " – " + thisStation.endDate.split("T")[0] + ' ' + dataTypeList.join('') + '

    ' + '

    ' + '

    ' + '' + '

    ' '
  • '; $('#station-list').append(stationItem); stationList.features.push({ "type":"Feature", "stationId":thisStation.stations[0].id, "geometry":{ "type":"Point", "coordinates":[thisStation.location.coordinates[0], thisStation.location.coordinates[1]] }, "properties":{ "stationName": thisStation.stations[0].name, "startDate": thisStation.startDate.split("T")[0], "endDate": thisStation.endDate.split("T")[0] } }); }); // show/hide stations based on selected filters filterStations(); // get min/max dates for all stations in list intMinDate = Math.min.apply(null, $('.station').map(function() { return parseInt($(this).attr('data-startdate').split('-').join('')); }).get()); intMaxDate = Math.max.apply(null, $('.station').map(function() { return parseInt($(this).attr('data-enddate').split('-').join('')); }).get()); minDate = String(intMinDate).substring(0, 4) + '-' + String(intMinDate).substring(4, 6) + '-' + String(intMinDate).substring(6); maxDate = String(intMaxDate).substring(0, 4) + '-' + String(intMaxDate).substring(4, 6) + '-' + String(intMaxDate).substring(6); // inital sort of stations by end date, start date, name initStationSort(); // if selected station in list var stationId, stationName, startDate, endDate; if (selectedStationId in stationList.dataTypes && !$('#id-' + selectedStationId).hasClass('hidden')) { stationId = selectedStationId, stationName = $('#id-' + stationId).data('stationname'), startDate = $('#id-' + stationId).data('startdate'), endDate = $('#id-' + stationId).data('enddate') if (!selectedDate) selectedDate = endDate; $('#station-list-div').animate( { scrollTop: $('#station-list-div').scrollTop() + $('#id-' + selectedStationId).position().top }, 500 ); } else if (selectedDate) { // else if selected date is set, select first station after sort that matches date $.each($('.station').not('.hidden'), function(){ if (selectedDate >= $(this).data('startdate') && selectedDate <= $(this).data('enddate')) { stationId = $(this).data('stationid'), stationName = $(this).data('stationname'), startDate = $(this).data('startdate'), endDate = $(this).data('enddate'); return false; } }); } else if (!stationId) { // else select first non-hidden station after sort stationId = $('.station').not('.hidden').first().data('stationid'), stationName = $('.station').not('.hidden').first().data('stationname'), startDate = $('.station').not('.hidden').first().data('startdate'), endDate = $('.station').not('.hidden').first().data('enddate'), selectedDate = endDate; } // get selected station data if (stationList.features.length > 0 && $('.station').not('.hidden').length > 0) { stationSelect(stationId, stationName, startDate, endDate); } // add sorting options if (stationsResults.results.length > 1) { if (stationsResults.results.length == stationLimit) { $('#station-return-limit').modal('show'); } var sortOpts = '' + 'Name' + '' + '' + 'Start Date' + '' + '' + 'End Date' + '' $('#sortOpts').html(sortOpts); $('#sortOpts .sort').click(function(){ sortList($(this).data('sort')); return false }); } else { $('#sortOpts').html(''); } stationListOverflowArrows(); $('.station').click(function(){ if ($(this).data('stationid') != selectedStationId) { stationSelect( $(this).data('stationid'), $(this).data('stationname'), $(this).data('startdate'), $(this).data('enddate') ); } return false; }); $('.station').mouseover(function(){ stationListMouseover($(this).data('stationid')); }).mouseout(function(){ stationListMouseout($(this).data('stationid')); }); updateMap(); //$('.sort').tooltip(); //$('.data-type-indicator, .sort').tooltip(); } }).fail(function(error){ $('#station-data, #date-select, #download, #daily-summary, #timescales, #timeSeries, #daily-summary').html(''); $('#timeSeries').removeClass('graph'); $('#station-list-div').html( '

    ' + 'Failed to return stations ' + '' + '

    ' ); $('#retry').click(getStationList); updateMap(); console.log( typeof error !== 'undefined' && 'responseJSON' in error && error.responseJSON && 'errors' in error.responseJSON ? error.responseJSON.errors : 'Common Access search error' ); }); $('#station-list-div').html( '

    ' + 'Retrieving Stations' + '

    Past Weather | National Centers for Environmental Information (NCEI) (1)

    ' + '

    ' );}// sort list by enddate, startdate, station namefunction initStationSort(){ var items = $('.station').get(); items.sort(function(a, b){ var endDateA = $(a).data('enddate').split('-').join(''), endDateB = $(b).data('enddate').split('-').join(''), startDateA = $(a).data('startdate').split('-').join(''), startDateB = $(b).data('startdate').split('-').join(''), nameA = $(a).data('stationname'), nameB = $(b).data('stationname'); if (endDateA == endDateB) { // alphabetical if (startDateA === startDateB) { return +(nameA > nameB) || +(nameA === nameB) - 1; } // oldest startdate return +(startDateA > startDateB) || -1; } // lasest enddate return -(endDateA > endDateB) || 1; }); $.each(items, function(ndx, listItem){ $('#station-list').append(listItem); /* This removes li from the old spot and moves it */ });}function sortList(param){ sortOrder++; $('#sortOpts .sort').removeClass('sortAsc sortDesc'); $('#sortOpts .sort:not([data-sort="reset"])').addClass('unsorted'); if (sortOrder == 3) { sortOrder = 0; initStationSort(); return false; } $('#sortOpts .sort[data-sort="' + param + '"]').removeClass('unsorted'); $('#sortOpts .sort[data-sort="' + param + '"]').addClass(sortOrder == 1 ? 'sortAsc' : 'sortDesc'); var items = $('.station').get(); items.sort(function(a, b){ var keyA = $(a).data(param), keyB = $(b).data(param); if (sortOrder == 1) { if (keyA > keyB) { return 1; } else if (keyA < keyB) { return -1; } } else { if (keyA < keyB) { return 1; } else if (keyA > keyB) { return -1; } } return 0; }); var ul = $('#station-list'); $.each(items, function(i, li){ ul.append(li); /* This removes li from the old spot and moves it */ });}function stationListOverflowArrows(){ showHideOverflowArrows(); $('.overflowArrow').click(function(){ scrollPosition = 0; if ($(this).is('#overflowBottomArrow')) { scrollPosition = $('#station-list-div').scrollTop() + $('#station-list-container').height(); if (scrollPosition > $('#station-list')[0].scrollHeight) { scrollPosition = $('#station-list')[0].scrollHeight; } } else if ($(this).is('#overflowTopArrow')) { scrollPosition = $('#station-list-div').scrollTop()-$('#station-list-container').height(); if (scrollPosition < 0) { scrollPosition = 0; } } $('#station-list-div').animate({scrollTop: scrollPosition}, 500); showHideOverflowArrows(); });}$('#station-list-div').scroll(function() { showHideOverflowArrows(); });function showHideOverflowArrows(){ // Show/Hide Top Arrow if ($('#station-list-div').scrollTop() > $('li.station').outerHeight()/2) { $('#overflowTopArrow').fadeIn('slow'); } else { $('#overflowTopArrow').fadeOut('slow'); } // Show/Hide Bottom Arrow if ($('#station-list').length > 0) { if ( $('#station-list-div').scrollTop() < $('#station-list')[0].scrollHeight - $('#station-list-container').height() - $('li.station').height() ) { $('#overflowBottomArrow').fadeIn('slow'); } else { $('#overflowBottomArrow').fadeOut('slow'); } } if ($('#station-list').outerHeight() > $('#station-list-div').height()) { $('#sortOpts').addClass('overflown'); $('#station-list-div').addClass('overflown'); } else { $('#sortOpts').removeClass('overflown'); $('#station-list-div').removeClass('overflown'); }}// Data Access Service Station Selectionasync function stationSelect(stationId, stationName, startDate, endDate){ selectedStationId = stationId; selectedStationName = stationName; setStationStylesOnMap(); // select station in station list $('.station').removeClass('selected'); $('.station .btn').prop('disabled', false); $(".station[data-stationid='" + stationId + "']").addClass('selected'); $(".station[data-stationid='" + stationId + "'] .btn").prop('disabled', true); // remove time series zingchart.exec('timeSeries', 'destroy'); $('#station-data, #station-title, #date-select, #timescales, #timeSeries, #download, #daily-summary').html(''); if (stationId === undefined) { $('#station-data').html(''); return false; } var homrUrl = 'https://www.ncei.noaa.gov/access/homr/', stnTitle = '' + stationName + ' (' + stationId + ') ' + '' + '' + '' + '

    ' + '

    ' + '

    ' + '

    ' + '' + '

    Station Information

    ' + '

    ' + '

    ' + '

    ' + 'Station history and further details are available for ' + stationName + ' (' + stationId + ') through the ' + '' + 'Historical Observing Metadata Repository (HOMR)' + '.' + '

    ' + '

      ' + '
    • ' + '' + 'Station-Level (MSHR) Data' + '' + '
    • ' + '
    • ' + '' + 'Element-Level (PHR) Data' + '' + '
    • ' + '
    • ' + '' + 'Location Data' + '' + '
    • ' + '
    • ' + '' + 'Miscellaneous Data' + '' + '
    • ' + '

    ' + '

    ' + '

    ' + '' + 'Access HOMR' + '' + '' + '

    ' + '

    ' + '

    ' + '

    ', selectDate = '

    ' + '' + startDate + '—' + '' + endDate + '' + '

    ' + '

    ' + ' ' + '' + '' + ' ' + '' + '

    ', url = '/access/past-weather/' + stationId + '/data', download = 'Download Station\'s Data: ' + '' + '' + '' + ' ' + '' + '' + ' ' + '' + '' + ' ' + '' + '' + '' + ''; $('#station-title').html(stnTitle); $('#date-select').html(selectDate); $('#download').html(download); //$('#station-info, .data-download-link').tooltip(); setPrevNext(startDate, endDate); $(function() { $('#datepicker-date').datepicker({ changeMonth: true, changeYear: true, yearRange: minDate.substring(0, 4) + ':' + maxDate.substring(0, 4), selectOtherMonths: true, showAnim: 'slideDown', showButtonPanel: true, closeText: 'Cancel', showOtherMonths: true, minDate: minDate + ' 00:00:00', maxDate: maxDate + ' 00:00:00', constrainInput: true, dateFormat: 'yy-mm-dd', altField: '#date' }); }); $(function() { $('#datepicker-date').datepicker('setDate', selectedDate); $('#datepicker-date').datepicker().on('input change', function(e){ if (/^\d{4}-\d{2}-\d{2}$/.test(e.target.value) && date != e.target.value) { dateChange(e.target.value, startDate, endDate); } return false; }); }); await getStationTable(startDate, endDate);}function setPrevNext(startDate, endDate){ var dateObj = new Date(selectedDate + 'T00:00:00'), prevDateObj = new Date(dateObj), nextDateObj = new Date(dateObj); // set prevDate (-1 day) prevDateObj.setDate(prevDateObj.getDate()-1); var prevDate = prevDateObj.toISOString().split('T')[0]; // if selectedDate is greater than station's endDate, make prevDate = endDate $('#prev-date').data('date', (selectedDate > endDate ? endDate : prevDate)); if (prevDate < startDate) { $('#prev-date').addClass('selected'); $('#prev-date').attr('tabindex', '-1'); $('#next-date').attr('title', 'An earlier date is not available at this station.'); } else { $('#prev-date').removeClass('selected'); $('#prev-date').removeAttr('tabindex'); $('#prev-date').attr('title', (selectedDate > endDate ? endDate : prevDate)); } // set nextDate (+1 day) nextDateObj.setDate(nextDateObj.getDate() + 1); var nextDate = nextDateObj.toISOString().split('T')[0]; // if selectedDate is less than station's startDate, make nextDate = startDate $('#next-date').data('date', (selectedDate < startDate ? startDate : nextDate)); if (nextDate > endDate) { $('#next-date').addClass('selected'); $('#next-date').attr('tabindex', '-1'); $('#next-date').attr('title', 'A later date is not available at this station.'); } else { $('#next-date').removeClass('selected'); $('#next-date').removeAttr('tabindex'); $('#next-date').attr('title', (selectedDate < startDate ? startDate : nextDate)); } // "unbind" to prevent double clicking $('.stnInfoDateSelect').unbind('click').on('click', function(){ var thisDate = $(this).data('date'); if (thisDate >= startDate && thisDate <= endDate) dateSelectClick(thisDate); return false; });}function dateSelectClick(clickedDate){ $('#datepicker-date').datepicker().val(clickedDate).trigger('change'); return false;}function dateChange(newDate, startDate, endDate){ selectedDate = newDate; zingchart.exec('timeSeries', 'destroy'); $('.dateSelect').removeClass('selected'); $('.dateSelect').removeAttr('tabindex'); $(".dateSelect[data-date='" + selectedDate + "']").addClass('selected'); $(".dateSelect[data-date='" + selectedDate + "']").attr('tabindex', '-1'); $('#datepicker-date').datepicker('hide'); $('#datepicker-date').blur(); getStationTable(startDate, endDate); setPrevNext(startDate, endDate); updateMapDate(); setStationStylesOnMap(); filterStations();}function getStationTable(startDate, endDate){ var year = selectedDate.substr(0, 4), month = selectedDate.substr(5, 2)-0, yearMonth = selectedDate.substr(0, 7), daysInMonth = new Date(year, month, 0).getDate(), dailySummaryUrl = 'https://www.ncei.noaa.gov/access/services/data/v1?dataset=' + selectedDataset + '&startDate=' + yearMonth + '-01&endDate=' + yearMonth + '-' + daysInMonth + '&stations=' + selectedStationId + '&format=pdf', dailySummaryLink = '' + monthNames[month-1] + ' ' + year + ' Daily Summary ' + 'Past Weather | National Centers for Environmental Information (NCEI) (6)' + '', intSelectedYYYYMM = parseInt(yearMonth.split('-').join('')), intStartYYYYMM = parseInt(startDate.substr(0, 7).split('-').join('')), intEndYYYYMM = parseInt(endDate.substr(0, 7).split('-').join('')); $('#daily-summary').html( intSelectedYYYYMM >= intStartYYYYMM && intSelectedYYYYMM <= intEndYYYYMM ? dailySummaryLink : '' ); $('#daily-summary-link').tooltip(); // https://www.ncei.noaa.gov/support/access-data-service-api-user-documentation $.ajax({ url : "https://www.ncei.noaa.gov/access/services/data/v1", data : "dataset=" + selectedDataset + "&stations=" + selectedStationId + "&startDate=" + selectedDate + "&endDate=" + selectedDate + "&dataTypes=" + Object.keys(dataTypes).join(",") + //"&includeStationName=true&includeStationLocation=1" + "&includeAttributes=true&units=standard&format=json", dataType : "json" }).done(function(stationData){ var table = '

    '; $.each(Object.keys(dataTypes), function(ndx, dataType){ var attributes = (stationData[0] && dataType + '_ATTRIBUTES' in stationData[0] ? stationData[0][dataType + '_ATTRIBUTES'].split(',') : ['', '', ''] ), //measurementFlag = attributes[0], qualityFlag = attributes[1], //sourceFlag = attributes[2], na = (dataType in stationList.dataTypes[selectedStationId] ? false : true), missing = (!stationData[0] || qualityFlag !== '' || !stationData[0][dataType] ? true : false), valDisp = "", porDisp = ""; if (!na) { if (selectedDataType === undefined) selectedDataType = dataType; porDisp = '

    ' + '' + stationList.dataTypes[selectedStationId][dataType].startDate + '—' + '' + stationList.dataTypes[selectedStationId][dataType].endDate + '' + '

    '; } if (na) { valDisp = 'N/A'; } else if (missing) { valDisp = 'missing'; } else { valDisp = stationData[0][dataType] + dataTypes[dataType].htmlUnits; } table += '' + '' + '' + ''; }); $('#station-data').html(table + '
    ' + '

    ' + '' + '

    ' + '

    ' + dataTypes[dataType].name + porDisp + '

    ' + '
    ' + valDisp + '

    '); //$('.plotit').tooltip(); $('.dataTypeDateSelect').click(function(){ selectedDataType = $(this).data('datatype'); dateSelectClick($(this).data('date')); return false; }); $('.plotit:not(:disabled)').click(function(){ if (selectedDataType == $(this).val()) { return false; } $('.plotit').removeClass('selected'); selectedDataType = $(this).val(); drawTimeSeries(); $(this).addClass('selected'); $(this).blur(); return false; }); drawTimeSeries(); }).fail(function(){ $('#station-data').html( '

    ' + '' + 'Failed to load data for ' + selectedStationId + ' on ' + selectedDate + ' ' + '' + '

    ' ); $('#retry').click(function(){getStationTable(startDate, endDate);}); console.log( typeof error !== 'undefined' && 'responseJSON' in error && error.responseJSON && 'errors' in error.responseJSON ? error.responseJSON.errors : 'Common Access data error' ); }); $('#timeSeries').removeClass('graph'); $('#station-data').html( '

    ' + 'Retrieving data for ' + selectedStationId + ' on ' + selectedDate + '

    Past Weather | National Centers for Environmental Information (NCEI) (7)

    ' + '

    ' );}function drawTimeSeries(){ $.ajax({ url: '/access/past-weather/' + selectedStationId + (selectedDataType ? '/' + selectedDataType : '') + '/' + selectedDate }); var month = selectedDate.substr(5, 2)-0, day = selectedDate.substr(-2)-0, timescaleOpts = '

    ' + 'Time Series' + '

    Rollover chart to display values. Click+Drag to zoom.

    ' + '

    ' + '

    ' + '' + ''+ '' + '' + '' + '' + '' + '' + '

    '; zingchart.exec('timeSeries', 'destroy'); $.ajax({ url : '/access/past-weather/' + selectedStationId + '/' + selectedDataType + '/' + selectedDate + '/' + selectedTimescale + '/zingchart-config.js' }).done(function(){ $('#timeSeries').html(''); $('#timeSeries').addClass('graph'); $('#timeSeries').attr('alt', 'Time Series for ' + selectedStationId); $('#timescales').html(timescaleOpts); $('#timescales input[name="timescale"]').change(function(){ selectedTimescale = $('#timescales input[name="timescale"]:checked').val(); drawTimeSeries() }); }).fail(function(){ $('.plotit').removeClass('selected'); $('#timeSeries').removeClass('graph'); var tsDisplay = ''; if (selectedDataType in stationList.dataTypes[selectedStationId]) { // if selectedStationId has dataType, but none is unflagged tsDisplay = '

    ' + dataTypes[selectedDataType].name + ' is listed as available at ' + selectedStationName + ' (' + selectedStationId + ') from ' + '' + stationList.dataTypes[selectedStationId][selectedDataType].startDate + '' + ' – ' + '' + stationList.dataTypes[selectedStationId][selectedDataType].endDate + '.' + '

    ' + '

    ' + 'No valid* '+ dataTypes[selectedDataType].name + ' data were found for the date(s) ' + 'requested.' + '

    ' + '

    *Only data that did not fail any quality assurance check are returned.

    '; } else { tsDisplay = '' + '&zigrarr;' + ' ' + 'No ' + dataTypes[selectedDataType].name + ' data is available for ' + selectedStationName + ' (' + selectedStationId + ').'; } $('#timeSeries').html('

    ' + tsDisplay + '

    '); $('.tsDateSelect').click(function(){ dateSelectClick($(this).data('date')); return false;}); $('#timescales').html(timescaleOpts); $('#timescales input[name="timescale"]').change(function(){ selectedTimescale = $('#timescales input[name="timescale"]:checked').val(); drawTimeSeries(); }); }); $('#timeSeries').html( '

    ' + 'Retrieving ' + dataTypes[selectedDataType].name + ' Data' + '

    Past Weather | National Centers for Environmental Information (NCEI) (8)

    ' + '

    ' );}function drawMap() { map = L.map( "map-canvas", { zoomDelta : 1, zoomSnap : 0, zoomControl : false, gestureHandling : true, attributionControl : false, layers: [ L.tileLayer( 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', { attribution: '© OpenStreetMap ' + 'contributors © CARTO', subdomains: 'abcd', maxZoom: 20 } ) ] } ); // Map.SelectArea map.selectArea.enable(); //map.selectArea.setCtrlKey(true); map.fitBounds(mapBounds); L.control.zoom({ position:"bottomleft" }).addTo(map); // add date var mapDate = L.control({ position: "topleft" }); mapDate.onAdd = function(map) { var div = L.DomUtil.create("div", "info title"); div.innerHTML += '

    '; div.setAttribute("style", "text-shadow: 1px 1px #fff;"); return div; }; mapDate.addTo(map); searchAreaControl = L.control({ position: "topright" }); searchAreaControl.onAdd = function(map) { var div = L.DomUtil.create("div", "searchArea"); div.innerHTML += ''; return div; }; searchAreaControl.addTo(map); mapBounds = map.getBounds(); $("#searchAreaButton").click(function(){ // set bounding box from selected location bbox = [mapBounds._northEast.lat, mapBounds._southWest.lng, mapBounds._southWest.lat, mapBounds._northEast.lng]; $('#loc').val(bbox.toString()); searchMapBounds(); getMapBounds(); }); map.on('zoomend', getMapBounds); map.on('dragend', getMapBounds); window.onresize = getMapBounds;}function getMapBounds(){ mapBounds = map.getBounds(); //TODO: antimeridian artifacts mapBounds._southWest.lng = L.Util.wrapNum(mapBounds._southWest.lng, [-180, 180], true); mapBounds._northEast.lng = L.Util.wrapNum(mapBounds._northEast.lng, [-180, 180], true); if ( bbox && bbox[0]*1 == mapBounds._northEast.lat && bbox[1]*1 == mapBounds._southWest.lng && bbox[2]*1 == mapBounds._southWest.lat && bbox[3]*1 == mapBounds._northEast.lng ) { $('#searchAreaButton').prop('disabled', true); } else { $('#searchAreaButton').prop('disabled', false); }}function updateMap() { updateMapDate(); if (stationLayer && map.hasLayer(stationLayer)) { map.removeLayer(stationLayer); } mapBounds = [[bbox[2], bbox[1]], [bbox[0], bbox[3]]]; // fly to bounding box map.flyToBounds(mapBounds); plotStationLocations();}function plotStationLocations() { markerMap = {}; if (stationList.features && stationList.features.length > 0) { stationLayer = L.geoJSON(stationList, { style: function (thisStation) { return thisStation.properties && thisStation.properties.style; }, onEachFeature: onEachFeature, pointToLayer: function (thisStation, latlng) { var marker = L.circleMarker(latlng); markerMap[thisStation.stationId] = marker; return marker; } }); map.addLayer(stationLayer); } setStationStylesOnMap();}function updateMapDate(){ $('#mapDate').html( selectedDate ? 'Date: ' + selectedDate + ' ' + '' + '' : '' ); $('#map-info').tooltip();}function setStationStylesOnMap(){ var fillColor, color; $.each(markerMap, function(stationId, marker){ if ($('#id-' + stationId).hasClass('hidden')) { if (markerMap[stationId] && map.hasLayer(markerMap[stationId])) { map.removeLayer(markerMap[stationId]); } return; } else if ( selectedDate >= marker.feature.properties.startDate && selectedDate <= marker.feature.properties.endDate ) { fillColor = '#162e51'; color = '#2491ff'; } else { // missing date style fillColor = '#ffffff'; color = '#162e51'; } if (!map.hasLayer(markerMap[stationId])) { map.addLayer(markerMap[stationId]); } markerMap[stationId].setStyle({ radius: 5, fillColor: (stationId == selectedStationId ? '#52daf2' : fillColor), origFillColor: (stationId == selectedStationId ? '#52daf2' : fillColor), color: (stationId == selectedStationId ? fillColor : color), origColor: (stationId == selectedStationId ? fillColor : color), weight: 0.25, opacity: 1, fillOpacity: 1 }); }); if (selectedStationId in markerMap && !L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { markerMap[selectedStationId].bringToFront(); }}function stationListMouseover(stationId){ if (stationId in markerMap) { if ( markerMap[stationId].feature.properties.startDate <= selectedDate && markerMap[stationId].feature.properties.endDate >= selectedDate ) { markerMap[stationId].setStyle({ fillColor: (stationId == selectedStationId ? '#2491ff' : '#0050d8') }); } else { // missing date markerMap[stationId].setStyle({ weight: 2, color: '#2491ff' }); } if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { markerMap[stationId].bringToFront(); } }}function stationListMouseout(stationId){ if (stationId in markerMap) { markerMap[stationId].setStyle({ fillColor: markerMap[stationId].options.origFillColor, color: markerMap[stationId].options.origColor, weight: 0.25 }); } if (selectedStationId in markerMap && !L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { markerMap[selectedStationId].bringToFront(); }}function onEachFeature(feature, layer) { layer.on({ mouseover: stationMouseover, mouseout: stationMouseout, click: stationClick });}function stationMouseover(e) { // highlight station list $('#' + e.target.feature.stationId).addClass('hover'); var rolloverContent = '

    ' + e.target.feature.properties.stationName + '

    ' + '

    ' + e.target.feature.stationId + '

    ' + '

    ' + e.target.feature.properties.startDate + '—' + e.target.feature.properties.endDate + '

    '; stationLayer.bindTooltip(rolloverContent, {sticky:true, className:'mapTooltip'}).addTo(map);}function stationMouseout(e) { // reset station list highlight $('#' + e.target.feature.stationId).removeClass('hover');}function stationClick(feature, layer){ if ($('#id-' + feature.target.feature.stationId).length >= 1) { $('#station-list-div').animate( { scrollTop: $('#station-list-div').scrollTop() + $('#id-' + feature.target.feature.stationId).position().top }, 500 ); } if (feature.target.feature.stationId != selectedStationId) { stationSelect( feature.target.feature.stationId, feature.target.feature.properties.stationName, feature.target.feature.properties.startDate, feature.target.feature.properties.endDate ); }}

    Past Weather | National Centers for Environmental Information (NCEI) (2024)

    FAQs

    What is the National Centers for Environmental Information NCEI? ›

    The National Centers for Environmental Information (NCEI) archives data that NOAA gathers, from the seafloor to the surface of the sun. Along with managing NOAA's archive of environmental information, we conduct research on and monitor the environment and help you access and use the data.

    What is the NCEI data repository? ›

    NCEI maintains one of the most significant archives on Earth, with comprehensive oceanic, atmospheric, and geophysical data. We archive over 229 terabytes of data each month from over 130 observing platforms.

    Is data from NOAA free? ›

    The NOAA datasets made available through NODD are free for all users to access with no use restrictions and do not require any registration to access.

    Where can I download precipitation data? ›

    How do I use the site?
    • Start at https://www.ncei.noaa.gov/maps/daily-summaries/
    • In the first window, click Daily Summary Observations.
    • Set the DATE and TYPE of data you want. ...
    • Choose WHERE you want it for. ...
    • Preview and/or Download the data. ...
    • If you want to download a station's data in another format:

    Is the NCEI reliable? ›

    Vision. A tenacious and trusted leader in environmental information for a rapidly changing world with a focus on driving lasting good across our partnerships, our economy, around the U.S and the world.

    What is collected and held in the NCEI archives? ›

    NCEI provides archive services for much of the data collected by NOAA scientists, observing systems, and research initiatives. We manage a comprehensive collection of environmental information from a broad range of time periods, observing systems, scientific disciplines, and geographic locations.

    Who is the NCEI company? ›

    The National Centers for Environmental Information (NCEI) is a U.S. government agency that manages one of the world's largest archives of atmospheric, coastal, geophysical, and oceanic data.

    What is the best data repository? ›

    Cross-disciplinary repositories
    • Dryad Digital Repository.
    • figshare.
    • Harvard Dataverse Network.
    • Kaggle.
    • Network Data Exchange (NDEx)
    • Open Science Framework.
    • Swedish National Data Service.
    • Zenodo.

    Where can I find data repositories? ›

    re3data.org

    re3data is a global registry of research data repositories that covers research data repositories from different academic disciplines. It includes repositories that enable permanent storage of and access to data sets to researchers, funding bodies, publishers, and scholarly institutions.

    Is NOAA run by the government? ›

    Hosted in San Diego, California, the ship's primary objective is to support fish, marine mammal, seabird and turtle surveys off the U.S. West Coast. The National Oceanic and Atmospheric Administration (NOAA) is an agency of the United States government that was formed in 1970 within the Department of Commerce.

    Is NOAA data accurate? ›

    NOAA periodically updates its datasets to provide the most accurate depiction of environmental conditions.

    How much does NOAA cost? ›

    CONSOLIDATED APPROPRIATIONS ACT OF 2022

    117-103) was signed into law by President Biden. This provides a total of $6.1B for NOAA. This includes $4.42 billion for NOAA Operations, Research and Facilities (ORF) and $1.69 billion in Procurement, Acquisition and Construction (PAC).

    What is NOWData? ›

    NOAA's Online Weather Data (NOWData) is a data query system providing basic climate statistics to the public, using the NOAA Regional Climate Center Applied Climate Information System (ACIS).

    What does "t" mean in precipitation data? ›

    T = trace precipitation amount or snow depth (an amount too small to measure, usually < 0.005 inches water. equivalent) (appears instead of numeric value)

    How do you extract rainfall data? ›

    Step 1 Arrange the rainfall amount in ascending series Step 2 Identify the rainfall amount at 95% percentile and let it be the threshold Step 3 Extract all the rainfall amount above that threshold (extreme data) Step 4 Fit the extreme data to GPD and estimate the parameters.

    What is National Centre of environmental information? ›

    The National Centers for Environmental Information (NCEI) is a U.S. government agency that manages one of the world's largest archives of atmospheric, coastal, geophysical, and oceanic data. The current director is Derek Arndt.

    What is the mission of the NCEI? ›

    NCEI Mission

    NCEI provides environmental data, products, and services covering the depths of the ocean to the surface of the sun to drive resilience, prosperity, and equity for current and future generations.

    What does the National Center for environmental Prediction do? ›

    The National Centers for Environmental Prediction (NCEP) determine data requirements, optimum data processing techniques, and suitable presentation methods for predictions and products distributed to users of climatic, hydrologic, meteorological, space weather, and oceanographic information.

    What is the National Center for Environmental Assessment? ›

    EPA's National Center for Environmental Assessment (NCEA) is a leader in the science of human health and ecological risk assessment, a robust scientific process used to determine how pollutants or other stressors may impact human health and the environment.

    References

    Top Articles
    Latest Posts
    Article information

    Author: Stevie Stamm

    Last Updated:

    Views: 5920

    Rating: 5 / 5 (80 voted)

    Reviews: 95% of readers found this page helpful

    Author information

    Name: Stevie Stamm

    Birthday: 1996-06-22

    Address: Apt. 419 4200 Sipes Estate, East Delmerview, WY 05617

    Phone: +342332224300

    Job: Future Advertising Analyst

    Hobby: Leather crafting, Puzzles, Leather crafting, scrapbook, Urban exploration, Cabaret, Skateboarding

    Introduction: My name is Stevie Stamm, I am a colorful, sparkling, splendid, vast, open, hilarious, tender person who loves writing and wants to share my knowledge and understanding with you.