- NCEP > NCO > NOMADS
- |
- NOMADS Overview
- |
- Information
- |
- Documents
- |
- What's New?
- |
- NOMADS Status
Migration Guide: OpenDAP to Grib Filter
Purpose:
As NOMADS deprecates OpenDAP (DODS) access for major models, users are encouraged to transition to the Grib Filter service for subsetting and downloading data.
Why the change?
The Grib Filter service is more efficient for the NOMADS infrastructure and provides users with standardized GRIB2 files. While OpenDAP uses array-based indexing, Grib Filter uses coordinate-based subsetting (Latitude/Longitude), making it more intuitive for geographic data.
- https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/
- https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/netcdf.html
Step 1: Convert Indices to Coordinates
OpenDAP uses indices (e.g., [172:360]). Grib Filter requires actual coordinates. For the GFS 0.25° grid, use these formulas:
Latitude Calculation
Lat = 90 - (Index * 0.25)
Index 0 = 90°N, Index 720 = 90°S
Longitude Calculation
Lon = Index * 0.25
Index 0 = 0°E, Index 1439 = 359.75°E
Step 2: Map Variables and Levels
OpenDAP variable names (e.g., prmslmsl) must be split into a Variable and a Level in the Grib Filter URL.
| OpenDAP Name | Grib Filter Variable | Grib Filter Level |
|---|---|---|
| prmslmsl | var_PRMSL=on | lev_mean_sea_level=on |
| tmp2m | var_TMP=on | lev_2_m_above_ground=on |
| ugrd10m | var_UGRD=on | lev_10_m_above_ground=on |
Step 3: Map Time Indices to Forecast Hours
OpenDAP treats time as an index within a single dataset. In Grib Filter, each forecast hour is a separate file. You must identify the Cycle (when the model started) and the Forecast Hour (how far into the future it predicts).
Model Cycle (HH)
The UTC time the model run began.
00, 06, 12, or 18
Forecast Hour (fXXX)
Calculated from the OpenDAP time index
fXXX = Index * Interval
Example Mapping (3-hour interval):
- OpenDAP Index [0:0] → Analysis f000
- OpenDAP Index [1:1] → 3-Hour Forecast f003
- OpenDAP Index [2:2] → 6-Hour Forecast f006
Conversion Example (GFS 0.25)
Old OpenDAP Query (ASCII)
wget "https://nomads.ncep.noaa.gov/dods/gfs_0p25/gfsYYYYMMDD/gfs_0p25_HHz.ascii?prmslmsl[2:2][172:360][448:620]"
New Grib Filter Command
wget "https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl?file=gfs.tHHz.pgrb2.0p25.f006&var_PRMSL=on&lev_mean_sea_level=on&subregion=&leftlon=112&rightlon=155&toplat=47&bottomlat=0&dir=%2Fgfs.YYYYMMDD%2FHH%2Fatmos"
For additional help and documentation, visit the official NOMADS Grib Filter Help Page.