Check the setup
- Python 3.10 or newer
- A notebook environment such as Jupyter or Google Colab
- An NDBC station identifier
Real-time marine weather and wave observations from moored buoys for building coastal condition monitors and marine-operations alerts.
From source to product signal
NDBC publishes a station-page text file of recent meteorological and wave observations for each buoy. Start with one station identifier such as 41001. Sensors drop out, quality flags matter, and a single buoy is not a coastal forecast.
Install the packages, then run the notebook cell.
python -m pip install pandas
import pandas as pd
observations = pd.read_csv(
"https://www.ndbc.noaa.gov/data/realtime2/41001.txt",
sep=r"\s+",
skiprows=[1],
na_values=["MM"],
)
observations["observed_at_utc"] = pd.to_datetime(
observations[["#YY", "MM", "DD", "hh", "mm"]].rename(
columns={"#YY": "year", "MM": "month", "DD": "day", "hh": "hour", "mm": "minute"}
),
utc=True,
)
print(observations[["observed_at_utc", "WSPD", "WVHT", "ATMP"]].head())Test a useful signal
Test whether a single station file can power a bounded wind-and-wave condition board.
NOAA National Data Buoy Center is a government source. Last verified 2026-08-18. Temporal coverage: station-specific realtime and historical observations.