---
name: noaa-ncep-gfswave-ingestion
description: "How to get NOAA NCEP GFS Wave (NOMADS) data into a pandas DataFrame in memory (the provider's terms limit storage or leave it unclear): access, the request, the format, limits, quirks and terms."
---

# Probe NOAA NCEP GFS Wave NOMADS pages in memory

Source entry: https://signal-lab.qdt.ai/datasets/noaa-ncep-gfswave
Provider: https://www.nco.ncep.noaa.gov/pmb/products/wave/
Checked against the provider's documentation: 2026-11-06

## Access
- No key. Use NOMADS grib-filter HTML/UI or NOMADS HTTP directory for gfswave GRIB files.

## Request
```bash
curl -L -o gfswave-filter.html 'https://nomads.ncep.noaa.gov/gribfilter.php?ds=gfswave'
```

## Format
GRIB2 wave-model fields selected through the NOMADS grib filter (dataset ds=gfswave); not JSON.

## Load into pandas (in memory)
Needs Python 3 with requests and pandas. The provider's terms limit storage or leave it unclear, so this snippet does not write a file.
```python
"""Probe NOAA GFS Wave NOMADS pages in memory (GRIB download is separate; writes no file)."""
import requests
import pandas as pd
rows = []
for url in ("https://nomads.ncep.noaa.gov/gribfilter.php?ds=gfswave", "https://www.nco.ncep.noaa.gov/pmb/products/wave/"):
    r = requests.get(url, timeout=60)
    r.raise_for_status()
    rows.append({"url": url, "status": r.status_code, "bytes": len(r.content)})
df = pd.DataFrame(rows)
print(df.to_string(index=False))
print("Use the grib-filter UI or NOMADS HTTP paths to download GRIB2 wave fields for the cycle you need.")

```
Run by us on 2026-11-06 (python 3 | requests). Result: NOMADS gfswave grib-filter and NCEP wave products pages returned HTTP 200 on 2026-11-06.

## Limits
- Not stated numeric rate limit on the checked NOMADS/NCEP pages; keep downloads to the cycles you need.

## Quirks
- This is GRIB model output, not a JSON REST API — do not invent endpoint paths.
- Distinct from noaa-ndbc-buoy-data (point observations) and noaa-ocean-prediction-center (charts).
- This snippet writes no file; it only probes the HTML entry points in memory.

## Terms and attribution
- NWS disclaimer: information on NWS Web pages "are in the public domain, unless specifically noted otherwise, and may be used without charge for any lawful purpose."
- NCEP wave products / NOMADS expose GFS Wave (gfswave) GRIB fields via the grib filter; this probe does not store or cache GRIB payloads.
- Terms page: https://www.weather.gov/disclaimer

## Sources
- https://www.nco.ncep.noaa.gov/pmb/products/wave/: "NCEP Data Products WAVE Models"
- https://www.weather.gov/disclaimer: "are in the public domain, unless specifically noted otherwise, and may be used without charge for any lawful purpose"

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab.qdt.ai/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
