POST Gridded Calculation

Combine forecast variables with arithmetic, functions, and aggregations. Select one or more forecast hours, or omit forecast_hours to calculate every available hour. The result uses the forecast's native grid. See About Custom Calculations for calculation syntax and examples.

Request Body

The output uses the same grid as the input data. Geographic subsetting may include extra cells around the requested area's edges.

Select Forecast Hours

Each selected forecast hour is calculated separately. Hours that do not have all required input data are skipped, and results for the remaining hours are returned. If no selected hour can be calculated, the request returns HTTP 400.

Response Fields

With as_url=false, a successful response downloads a .zarr.zip file. With as_url=true, the JSON response contains url, url_expires_at, content_type, and size_bytes. GET url without an additional API credential to download the ZIP before url_expires_at. The table below describes the arrays and metadata inside the ZIP.

When all ensemble members remain separate, ensemble_member replaces level_index. All five dimensions remain present, including dimensions of length one. time_index and level_index identify positions in the time and level metadata under evaluations; they are not separate arrays in the archive.

Forecast inputs keep their native units. The unit of the calculated values depends on the calculation’s inputs and operations.

Open the downloaded ZIP as a Zarr store, then read result together with its named dimensions and the root evaluations metadata.

Calculate Three-Hour Temperature Range
Response
content-type: application/zip
content-disposition: attachment; filename="data.zarr.zip"