NOAA Operational Model Archive and Distribution System

Author

Eli Holmes (NOAA)

Colab Badge JupyterHub Badge Download Badge

Overview

WORK IN PROGRESS

This tutorial will show examples of working with OPeNDAP data from the NOAA Operational Model Archive and Distribution System. These OPeNDAP servers use the GrADS protocol.

https://nomads.ncep.noaa.gov/

Prerequisites

Packages

import xarray as xr

Load some data and plot

url="http://nomads.ncep.noaa.gov:80/dods/fnl/fnl20250312/fnlflx_00z"
# time will need to be fixed probably
ds = xr.open_dataset(url, decode_times=False)
print(f"Dataset size: {ds.nbytes/1e9:.2f} Tb")
Dataset size: 2.13 Tb
ds
<xarray.Dataset> Size: 2GB
Dimensions:         (time: 1, lat: 1536, lon: 3072)
Coordinates:
  * time            (time) float64 8B 7.393e+05
  * lat             (lat) float64 12kB -89.91 -89.79 -89.68 ... 89.79 89.91
  * lon             (lon) float64 25kB 0.0 0.1172 0.2344 ... 359.6 359.8 359.9
Data variables: (12/113)
    acondsfc        (time, lat, lon) float32 19MB ...
    albdosfc        (time, lat, lon) float32 19MB ...
    cduvbsfc        (time, lat, lon) float32 19MB ...
    cnwatsfc        (time, lat, lon) float32 19MB ...
    cpofpsfc        (time, lat, lon) float32 19MB ...
    cpratsfc        (time, lat, lon) float32 19MB ...
    ...              ...
    vgrd10m         (time, lat, lon) float32 19MB ...
    vgrdhy1         (time, lat, lon) float32 19MB ...
    vgtypsfc        (time, lat, lon) float32 19MB ...
    watrsfc         (time, lat, lon) float32 19MB ...
    weasdsfc        (time, lat, lon) float32 19MB ...
    wiltsfc         (time, lat, lon) float32 19MB ...
Attributes:
    title:        GDAS flux file at 00Z12mar2025, downloaded Mar 12 06:56 UTC
    Conventions:  COARDS\nGrADS
    dataType:     Grid
    history:      Sat Mar 15 17:21:35 UTC 2025 : imported by GrADS Data Serve...
# it plots so we can get the data
ds["tsoil0_10cm"].plot();

Conclusion

References