ISD (AWS and NOAA)

source is the same for ISD: [“ISD”, “isd”, “NOAA-isd”, “noaa-isd”, “noaa_isd”, “NOAA-ISD”]

[1]:
from obswx import *

# Get the metadata for the ISD dataset (AWS and NOAA)
# AWS S3 bucket: https://noaa-isd-pds.s3.amazonaws.com/index.html
# NOAA: https://www.ncei.noaa.gov/products/land-based-station/integrated-surface-database
met = obswx(source='ISD')

# Load the metadata
met.get_meta(load=True).head()
[1]:
USAF WBAN STATION NAME CTRY STATE ICAO LAT LON ELEV(M) BEGIN END
0 007018 99999 WXPOD 7018 NaN NaN NaN 0.00 0.000 7018.0 20110309 20130730
1 007026 99999 WXPOD 7026 AF NaN NaN 0.00 0.000 7026.0 20120713 20170822
2 007070 99999 WXPOD 7070 AF NaN NaN 0.00 0.000 7070.0 20140923 20150926
3 008260 99999 WXPOD8270 NaN NaN NaN 0.00 0.000 0.0 20050101 20120731
4 008268 99999 WXPOD8278 AF NaN NaN 32.95 65.567 1156.7 20100519 20120323

metadata is originally from https://www.ncei.noaa.gov/products/land-based-station/integrated-surface-database

  • get_data source

    • “AWS”, “aws”, “S3”, “s3” is using AWS S3,

    • “NOAA”, “noaa”, “NOAA-isd”, “noaa-isd”, “noaa_isd”, “NOAA-ISD” is using ‘NOAA’ source

  • get_data year, int or str is needed when obtaining ISD

  • get_data station, station name when obswx(source='UK-hist_station'); station id when obswx(source='ISD')

Note! station id = ISD metadata [“USAF”] + ISD metadata[“WBAN”]; year must be corresponding in ISD metadata

[2]:
met.get_data(year=2011, station= "00701899999", isd_source="AWS").head()
Getting data from NOAA ISD
Here to help select station:  https://envdes.github.io/obswx/isd_map
[2]:
STATION DATE SOURCE LATITUDE LONGITUDE ELEVATION NAME REPORT_TYPE CALL_SIGN QUALITY_CONTROL ... CIG VIS TMP DEW SLP KA1 MA1 OC1 REM EQD
0 701899999 2011-03-09T15:34:00 4 0.0 0.0 7018.0 WXPOD 7018 FM-16 7018 V020 ... 22000,1,9,N 004000,1,N,1 +0130,1 +0080,1 99999,9 NaN NaN NaN MET072MOBOB0 METAR 7018 //199 000000 091534Z A... NaN
1 701899999 2011-03-09T15:39:00 4 0.0 0.0 7018.0 WXPOD 7018 FM-16 7018 V020 ... 22000,1,9,N 004000,1,N,1 +0130,1 +0090,1 99999,9 NaN NaN NaN MET072MOBOB0 METAR 7018 //199 000000 091539Z A... NaN
2 701899999 2011-03-09T15:44:00 4 0.0 0.0 7018.0 WXPOD 7018 FM-16 7018 V020 ... 22000,1,9,N 004000,1,N,1 +0140,1 +0080,1 99999,9 NaN NaN NaN MET072MOBOB0 METAR 7018 //199 000000 091544Z A... NaN
3 701899999 2011-03-09T15:49:00 4 0.0 0.0 7018.0 WXPOD 7018 FM-16 7018 V020 ... 22000,1,9,N 003600,1,N,1 +0140,1 +0080,1 99999,9 NaN NaN NaN MET072MOBOB0 METAR 7018 //199 000000 091549Z A... NaN
4 701899999 2011-03-09T15:54:00 4 0.0 0.0 7018.0 WXPOD 7018 FM-16 7018 V020 ... 22000,1,9,N 004000,1,N,1 +0140,1 +0080,1 99999,9 NaN NaN NaN MET072MOBOB0 METAR 7018 //199 000000 091554Z A... NaN

5 rows × 21 columns

The headers darafrem and definition of each daily element included in the dataset (as available from each station) are as follows:

  • STATION - Station number (WMO/DATSAV3 possibly combined w/WBAN number)

  • TMP - Mean temperature (.1 Fahrenheit)

  • DEWP - Mean dew point (.1 Fahrenheit)

  • SLP - Mean sea level pressure (.1 mb)

  • STP - Mean station pressure (.1 mb)

  • VISIB - Mean visibility (.1 miles)

  • WDSP – Mean wind speed (.1 knots)

  • MXSPD - Maximum sustained wind speed (.1 knots)

  • GUST - Maximum wind gust (.1 knots)

  • MAX - Maximum temperature (.1 Fahrenheit)

  • MIN - Minimum temperature (.1 Fahrenheit)

  • PRCP - Precipitation amount (.01 inches)

  • SNDP - Snow depth (.1 inches)

  • FRSHTT – Indicator for occurrence of: Fog
    Rain or Drizzle Snow or Ice Pellets Hail Thunder Tornado/Funnel Cloud

for more details of data discription, please refer to Readme.txt and Readme.pdf from NOAA.

save the data

[3]:
df = met.get_data(year=2011, station= "00701899999", isd_source="AWS")
df.to_csv('data.csv', index=False)
Getting data from NOAA ISD
Here to help select station:  https://envdes.github.io/obswx/isd_map