NDBC Station detailed metadata
It seems that it's possible to get more info about NDBC stations. Based on the user feedback, we might want to consider doing so. See: https://github.com/CDJellen/ndbc-api/blob/a4786307869d753e07c3413f1e1c0cf47f418ea2/ndbc_api/api/handlers/http/stations.py#L105
I agree this would be useful
This is the type of metadata that is returned:
> api.station(st_all.iloc[1].Station)
{'Watch circle radius': '3811 yards',
'Water depth': '3784 m',
'Sea temp depth': '1.5 m below water line',
'Barometer elevation': '2.7 m above mean sea level',
'Anemometer height': '4.1 m above site elevation',
'Air temp height': '3.7 m above site elevation',
'Site elevation': 'sea level',
'Location': '31.759 N 74.936 W (31°45\'33" N 74°56\'10" W)',
'Statation Type': 'Owned and maintained by National Data Buoy Center, 3-meter foam buoy, SCOOP payload',
'Name': 'Station 41002 (LLNR 830) - SOUTH HATTERAS - 225 NM South of Cape Hatteras'}
How much of this is useful? Note that we currently get the following based on the original station dataframe:
> st_all.columns
Index(['Station', 'Hull No./Config and Location', 'Location Lat/Long',
'Wind Speed', 'Wind Direction', 'Sea Level Pressure', 'Wave Height',
'Dominant Period', 'Air Temp', 'Water Temp', 'Dew Point', 'Remark'],
dtype='object')
IMO Water depth would be the most important variable not present in the original DataFrame
Other than that it'd be helpful to have information about which "mode"s are supported by each station. It seems that *available function for each station can give us this info. I'm trying to find a good way to include this as well
Historical measurement availability is year dependent, it'll be hard to encode it cleanly in a all-station table along with the rest of metadata. The following is the return value of upstream ndbc_api package:
> pprint( api.available_historical(st_all.Station.iloc[2]))
{'Continuous winds data': {'1998': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c1998.txt.gz&dir=data/historical/cwind/',
'1999': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c1999.txt.gz&dir=data/historical/cwind/',
'2000': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2000.txt.gz&dir=data/historical/cwind/',
'2001': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2001.txt.gz&dir=data/historical/cwind/',
'2002': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2002.txt.gz&dir=data/historical/cwind/',
'2003': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2003.txt.gz&dir=data/historical/cwind/',
'2004': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2004.txt.gz&dir=data/historical/cwind/',
'2005': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2005.txt.gz&dir=data/historical/cwind/',
'2006': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2006.txt.gz&dir=data/historical/cwind/',
'2007': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2007.txt.gz&dir=data/historical/cwind/',
'2008': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2008.txt.gz&dir=data/historical/cwind/',
'2009': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2009.txt.gz&dir=data/historical/cwind/',
'2010': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2010.txt.gz&dir=data/historical/cwind/',
'2011': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2011.txt.gz&dir=data/historical/cwind/',
'2012': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2012.txt.gz&dir=data/historical/cwind/',
'2014': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2014.txt.gz&dir=data/historical/cwind/',
'2015': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2015.txt.gz&dir=data/historical/cwind/',
'2016': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2016.txt.gz&dir=data/historical/cwind/',
'2017': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004c2017.txt.gz&dir=data/historical/cwind/'},
'Solar radiation data': {'2005': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004r2005.txt.gz&dir=data/historical/srad/',
'2006': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004r2006.txt.gz&dir=data/historical/srad/',
'2007': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004r2007.txt.gz&dir=data/historical/srad/',
'2008': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004r2008.txt.gz&dir=data/historical/srad/'},
.
.
.
'Supplemental Measurements data': {'Apr 2024': 'https://www.ndbc.noaa.gov/download_data.php?filename=4100442024.txt.gz&dir=data/supl/Apr/',
'Feb 2024': 'https://www.ndbc.noaa.gov/download_data.php?filename=4100422024.txt.gz&dir=data/supl/Feb/',
'Jan 2024': 'https://www.ndbc.noaa.gov/download_data.php?filename=4100412024.txt.gz&dir=data/supl/Jan/',
'Mar 2024': 'https://www.ndbc.noaa.gov/download_data.php?filename=4100432024.txt.gz&dir=data/supl/Mar/',
'May 2024': 'https://www.ndbc.noaa.gov/download_data.php?filename=4100452024.txt.gz&dir=data/supl/May/'},
'Supplemental measurements data': {'2017': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2017.txt.gz&dir=data/historical/supl/',
'2018': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2018.txt.gz&dir=data/historical/supl/',
'2019': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2019.txt.gz&dir=data/historical/supl/',
'2020': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2020.txt.gz&dir=data/historical/supl/',
'2021': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2021.txt.gz&dir=data/historical/supl/',
'2022': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2022.txt.gz&dir=data/historical/supl/',
'2023': 'https://www.ndbc.noaa.gov/download_data.php?filename=41004s2023.txt.gz&dir=data/historical/supl/'}}
Maybe it still makes sense to note what "realtime data" is available in the station metadata table returned in searvey:
> api.available_realtime(st_all.Station.iloc[2])
{'Real time hourly standard meteorological': {'data directory': 'https://www.ndbc.noaa.gov/data/hourly2/',
'description': 'https://www.ndbc.noaa.gov/faq/measdes.shtml#cwind'},
'Real time standard meteorological data': {'Real time standard meteorological data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.txt',
'description': 'https://www.ndbc.noaa.gov/faq/measdes.shtml#stdmet'},
'Real time spectral wave data': {'Real time spectral wave data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.spec',
'description': 'https://www.ndbc.noaa.gov/waveobs.shtml'},
'Real time raw spectral wave data': {'Real time raw spectral wave data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.data_spec',
'description': 'https://www.ndbc.noaa.gov/data_spec.shtml'},
'Real time raw spectral wave (alpha1) data': {'Real time raw spectral wave (alpha1) data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.swdir',
'description': 'https://www.ndbc.noaa.gov/data_spec.shtml'},
'Real time raw spectral wave (alpha2) data': {'Real time raw spectral wave (alpha2) data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.swdir2',
'description': 'https://www.ndbc.noaa.gov/data_spec.shtml'},
'Real time raw spectral wave (r1) data': {'Real time raw spectral wave (r1) data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.swr1',
'description': 'https://www.ndbc.noaa.gov/data_spec.shtml'},
'Real time raw spectral wave (r2) data': {'Real time raw spectral wave (r2) data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.swr2',
'description': 'https://www.ndbc.noaa.gov/data_spec.shtml'},
'Real time supplemental measurements data': {'Real time supplemental measurements data': 'https://www.ndbc.noaa.gov/data/realtime2/41004.supl',
'description': 'https://www.ndbc.noaa.gov/faq/measdes.shtml#supl'},
'Real time derived measurements data': {'Real time derived measurements data': 'https://www.ndbc.noaa.gov/data/derived2/41004.dmv',
'description': 'https://www.ndbc.noaa.gov/faq/measdes.shtml#deriv'}}