Switching from point API to direct access

The JSON point API provides convenient access when running Python is difficult but a curl request or web fetch is easy. For virtually all work, direct access to the catalog's Icechunk Zarr stores is the better option: it is more flexible, can be much faster for larger reads, and is free to access without the point API's request or query-size limits.

If that sounds intimidating, don't worry! You can open a data product and read the values you need with just a few lines of Python. If you use a coding agent, give it this prompt:

Opening a data product directly

For example, to open the GFS forecast:

import dynamical_catalog

ds = dynamical_catalog.open("noaa-gfs-forecast", chunks=None)

Read a forecast at one point

The following reads temperature at the nearest grid point to Chicago, for the first three lead times of the latest GFS forecast:

point = (
    ds["temperature_2m"]
    .isel(init_time=-1, lead_time=slice(0, 3))
    .sel(latitude=41.88, longitude=-87.63, method="nearest")
)
point.load()
print(point)
print(point.attrs.get("units"))

Nearest means nearest grid cell, not interpolation. Other data products can have different time or spatial coordinates; their catalog examples show how to select them.