DEPRECATED: See seebuoy for NDBC data.
Functions to query the NDBC.
Returns pandas dataframes for the wave parameters.
Data descriptions - [Link][http://www.ndbc.noaa.gov/measdes.shtml]
The real time data for all of their buoys can be found at: http://www.ndbc.noaa.gov/data/realtime2/
The realtime data provided is :
File | Description |
---|---|
.data_spec | Raw Spectral Wave Data |
.spec | Spectral Wave Summary Data |
.swdir | Spectral Wave Data (alpha1) |
.swdir2 | Spectral Wave Data (alpha2) |
.swr1 | Spectral Wave Data (r1) |
.swr2 | Spectral Wave Data (r2) |
.txt | Standard Meteorological Data |
The data headers for each of the files are provided below.
YY | MM | DD | hh | mm | Sep_Freq | spec_1 | (freq_1) | spec_2 | (freq_2) | spec_3 | (freq_3) | ... |
---|
YY | MM | DD | hh | mm | WVHT | SwH | SwP | WWH | WWP | SwD | WWD | STEEPNESS | APD | MWD |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
yr | mo | dy | hr | mn | m | m | sec | m | sec | - | degT | - | sec | degT |
YY | MM | DD | hh | mm | alpha1_1 | (freq_1) | alpha1_2 | (freq_2) | alpha1_3 | (freq_3) | ... |
---|
YY | MM | DD | hh | mm | alpha2_1 | (freq_1) | alpha2_2 | (freq_2) | alpha2_3 | (freq_3) | ... |
---|
YY | MM | DD | hh | mm | r1_1 | (freq_1) | r1_2 | (freq_2) | r1_3 | (freq_3) | ... |
---|
YY | MM | DD | hh | mm | r2_1 | (freq_1) | r2_2 | (freq_2) | r2_3 | (freq_3) | ... |
---|
YY | MM | DD | hh | mm | WDIR | WSPD | GST | WVHT | DPD | APD | MWD | PRES | ATMP | WTMP | DEWP | VIS | PTDY | TIDE |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
yr | mo | dy | hr | mn | degT | m/s | m/s | m | sec | sec | degT | hPa | degC | degC | degC | nmi | hPa | ft |
Method | Description |
---|---|
data_spec | raw spectral wave data |
get_spec | spectral wave summaries |
get_swdir | spectral wave data (alpha1) |
get_swdir2 | spectral wave data (alpha2) |
get_swr1 | spectral wave data (r1) |
get_swr2 | spectral wave data (r2) |
get_txt | standard meteorological data |
#Examples
import buoypy as bp
buoy = 41108 #wilmington harbor
B = bp.realtime(buoy) #wilmington harbor
df = B.txt()
# plotting
fig,ax = plt.subplots(2,sharex=True)
df.WVHT.plot(ax=ax[0])
ax[0].set_ylabel('Wave Height (m)',fontsize=14)
df.DPD.plot(ax=ax[1])
ax[1].set_ylabel('Dominant Period (sec)',fontsize=14)
ax[1].set_xlabel('')
sns.despine()
All buoys have different years that they are online. This aims to grab all the available data. Currently only grabbing the standard Meteorological data is implemented.
The historic data provided is:
Description |
---|
Standard Meteorological Data |
YY | MM | DD | hh | mm | WDIR | WSPD | GST | WVHT | DPD | APD | MWD | PRES | ATMP | WTMP | DEWP | VIS | TIDE |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
yr | mo | dy | hr | mn | degT | m/s | m/s | m | sec | sec | degT | hPa | degC | degC | degC | nmi | ft |
import buoypy as bp
buoy = 41108
year = 2014
H = bp.historic_data(buoy,year)
df = H.get_stand_meteo()
# plotting
fig,ax = plt.subplots(2,sharex=True)
df.WVHT.plot(ax=ax[0])
ax[0].set_ylabel('Wave Height (m)',fontsize=14)
df.DPD.plot(ax=ax[1])
ax[1].set_ylabel('Dominant Period (sec)',fontsize=14)
ax[1].set_xlabel('')
sns.despine()
Notice that the buoy went offline from the end of April, 2014 to mid August, 2014.
import buoypy as bp
buoy = 41108
year = np.NAN
year_range = (2010,2018)
H = bp.historic_data(buoy,year,year_range)
X = H.get_all_stand_meteo()
#plotting
fig,ax = plt.subplots(2,sharex=True)
X.WVHT.plot(ax=ax[0])
ax[0].set_ylabel('Wave Height (m)',fontsize=14)
X.DPD.plot(ax=ax[1])
ax[1].set_ylabel('Dominant Period (sec)',fontsize=14)
ax[1].set_xlabel('')
sns.despine()