Developer Portal
InsightsPurpleTRACMTIPodium
Other
Other
  • Weather
InsightsPurpleTRACMTIPodium
Other
Other
  • Weather
  1. Weather
  • Overview
  • Weather Authentication
  • Numerical Weather Prediction
  • Weather Parameters
  • Numerical Weather Prediction
    • Data at a point
      POST
    • Get Weather Parameter Details
      GET
    • Grid data as CSV
      GET
  • Schemas
    • GridCsvRequestBody
    • CoordinateSchema
    • DataAtAPointRequestBody
    • DataAtAPointResponseBody
    • GetWeatherParamsResponseBody
    • ParamValueSchema
    • PositionSchema
    • WeatherParams
  1. Weather

Numerical Weather Prediction

Forecast values at the positions and times you ask for, or across an area at one time. Send a list of parameters and a list of positions, and get back one value per parameter per position, with the model run each value came from. For an area, ask for a grid and get it back as a CSV file.
Three endpoints, on https://aviso-api.stratumfive.com/api/numericalweather/.
EndpointAnswers
POST /v2/pointsWhat will conditions be at these positions and times?
GET /grid/csvWhat will conditions be across this area at one time, as a spreadsheet?
GET /parametersWhich parameters do we currently publish?

Asking for a forecast#

A request pairs the parameters you want with the positions you want them at.
FieldHolds
weatherParamsThe parameters to return. Weather Parameters lists all 39
positionSetThe positions and times to return them for
Only the point forecast carries a version in its path. GET /grid/csv and GET /parameters sit at the root of the service, with no /v2.
Each position takes lat, lon and timestamp, all three required, and an optional uid.
uid is how you match the response back
uid is yours. We return it untouched on the matching coordinate, so a route of forty waypoints comes back identifiable without you relying on array order.

Reading the response#

The response holds a coordinates array, one entry per position you sent. Each entry carries the position back, plus a paramValues array with one entry per parameter you requested.
FieldMeans
paramWhich parameter this value is for
valueThe forecast value, in the unit the parameter name carries
modelInitializationThe model run it came from, as YYYYMMDDHH in UTC
forecastHourHow many hours ahead of that run this value forecasts
modelInitialization and forecastHour together tell you how fresh a value is. A forecastHour of 0 is the model's analysis at the moment it ran; treat a large one as a projection a long way out, and as less certain.
Timestamps are snapped to the model, not returned as sent
Our models run at a fixed cadence, so we serve your timestamp from the nearest point a run holds. Read modelInitialization and forecastHour rather than assuming you got the exact instant you requested.

Exporting a grid as CSV#

GET /grid/csv returns one forecast time across a rectangular area, as a CSV file you can open in a spreadsheet. You set the area, the grid spacing and the time in the query string, and name the parameters in the body.
Query parameterHolds
fileFormat3 for one row per grid point, 4 for the transposed layout with one column per point
timestampThe forecast time, in UTC with a trailing Z
resolutionThe grid spacing in degrees. 1.0 over the area above gives 9 points, 0.1 gives 441
minLat, maxLat, minLon, maxLonThe edges of the area, in decimal degrees
seaOnlytrue drops the grid points that fall on land
The body maps each parameter you want to the column heading you want for it. The keys are names from Weather Parameters, and the headings are your choice.
With fileFormat=3, the first row reads latitude,longitude followed by your headings, then one row per grid point. With 4, the same fields run down the first column and each further column is one grid point.
This GET request carries a body
Some HTTP clients and proxies drop the body of a GET request, and the browser fetch API refuses to send one. Use a client that sends it, such as curl with --request GET --data as above.
Set all four edges of the area
Leave the edges out and you ask for the whole globe. At resolution=0.1 that is about 6.5 million points in one file.
One request covers one forecast time and one rectangle, and we return values, not summaries. Work out averages or maxima for an area after download.

The parameter catalogue#

GET /parameters returns the parameters we currently publish, each with a description and the data repository behind it.
This endpoint answers in a different vocabulary
The catalogue names parameters in a different form from the values POST /v2/points accepts. The catalogue returns entries like climo.wind_speed.kts, while the forecast endpoint takes names like Wind10mKnots. They do not currently line up, so build your request from Weather Parameters rather than from a catalogue response. We are correcting this.
Send the bearer token (1-hour expiry) on this call as you would on any other.

Related#

Weather Parameters
All 39 parameters, grouped by what they measure.
Weather Authentication
Exchanging client credentials for the bearer token.
Weather
What else belongs in this category.
Modified at 2026-10-16 06:01:27
Previous
Weather Authentication
Next
Weather Parameters
Built with