Reference for forecast update schedules, time bundles, regions, unit caveats, accumulated fields, and system status.
Forecast Update Schedule¶
Spire’s global atmospheric forecast model runs 4 times per day. The first lead times of each run appear in the API approximately at the times below; the remaining lead times follow over the next hours and a run is nominally complete about seven hours after issuance (see Forecast Resolution, Range, and Refresh Rate).
| Run | Approximate Availability (UTC) |
|---|---|
| 00Z | ~01:00 UTC (first lead times) |
| 06Z | ~07:00 UTC (first lead times) |
| 12Z | ~13:00 UTC (first lead times) |
| 18Z | ~19:00 UTC (first lead times) |
Optimized Point Forecast Updates¶
The Optimized Point Forecast system (/forecast/point/optimized) updates every hour.
Current Weather Conditions Updates¶
The current weather conditions (/current/weather/) update every hour.
Time Bundles¶
Time bundles control the temporal resolution and extent of forecast data returned by the API. Use the time_bundle parameter to select which time grouping you want.
| Time Bundle | Step | Horizon | Records (00/12 UTC run) | Applies to |
|---|---|---|---|---|
hourly | 1 hour | 48 hours (2 days) | 49 | Point, file, optimized point, power |
3_hourly | 3 hours | 120 hours (5 days) | 41 | Point, file, power |
6_hourly | 6 hours | 168 hours (7 days) | 29 | Point, file, optimized point, power |
6_hourly_extended | 6 hours | 240 hours (10 days) | 41 | Point, file |
6_hourly_10day | 6 hours | 240 hours (10 days) | 41 | Alias of 6_hourly_extended |
6_hourly_15day | 6 hours | 360 hours (15 days) | 61 | Point, file, optimized point, power |
hourly_6day | 1 hour | 144 hours (6 days) | 145 | Optimized point and power forecasts |
all | Mixed | Full range | 361 (optimized point) | Optimized point (15 days hourly) and file listings |
The 06 and 18 UTC runs of the global forecast cover 24 hours: hourly returns 25 records and 6_hourly returns 5 for those issuances. When time_bundle is omitted, the API uses the first time bundle licensed on your key, which differs between customers; always pass time_bundle explicitly.
Time bundles can be combined as a comma-separated list. time_bundle=hourly,6_hourly returns hourly steps for the first 48 hours followed by 6-hourly steps to 168 hours (69 records or files for a 00/12 UTC run).
Data Retention¶
The live API keeps the forecasts of the last three days (about eleven issuances of the global forecast) and the current-weather files of the last 72 hours. Older forecasts can be made available on request; older weather is served by the Archive Data service.
This table is the reference for time bundle names. Other pages link here rather than repeating it.
Example¶
Request only hourly data for the first 2 days:
curl -X GET \
'https://api.wx.spire.com/forecast/point?lat=40.0&lon=-105.0&bundles=basic&time_bundle=hourly' \
-H 'spire-api-key: YOUR_API_KEY'import requests
response = requests.get(
"https://api.wx.spire.com/forecast/point",
params={
"lat": 40.0,
"lon": -105.0,
"bundles": "basic",
"time_bundle": "hourly",
},
headers={"spire-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://api.wx.spire.com/forecast/point?lat=40.0&lon=-105.0&bundles=basic&time_bundle=hourly",
{ headers: { "spire-api-key": "YOUR_API_KEY" } }
);
const data = await response.json();Regions¶
Forecast file data is organized by geographic region. Available regions depend on your subscription.
| Region Code | Coverage | Bounding box (W, S, E, N) | Products |
|---|---|---|---|
global | Worldwide | whole planet | sof-d, cwc, saifs-wx, saifs-s2s |
africa | Africa | 35°W, 60°S, 80°E, 39°N | sof-d, cwc |
asia | Asia | 34°E, 5°S, 169°W, 85°N | sof-d, cwc |
atlantic | Atlantic Ocean | 90°W, 20°N, 5°W, 65°N | sof-d, cwc |
conus | Contiguous United States | contiguous United States | sof-d, cwc, srfs, saifs-wx |
europe | Europe | 35°W, 23°N, 50°E, 85°N | sof-d, cwc, srfs, saifs-wx, saifs-s2s |
north-america_central-america_caribbean | North America, Central America, Caribbean | 170°E, 5°N, 35°W, 85°N | sof-d, cwc, saifs-s2s |
south-america | South America | 120°W, 60°S, 20°W, 13°N | sof-d, cwc |
south-west_pacific | South-West Pacific | 70°E, 60°S, 120°W, 30°N | sof-d, cwc |
Bounding boxes are approximate; the regions overlap so that every area of interest is covered by at least one regional file. Regions apply to file downloads and WMS layers; point requests are accepted anywhere inside the regions your key is subscribed to. Customers with a custom region have it configured as their default and can omit the parameter.
The weather-regime products use the region labels CONUS and EUATL (Europe and North Atlantic) in their file names.
Unit Differences Between APIs¶
Some variables have different units depending on whether they are returned by the Point/Route API (JSON) or the File API (GRIB2):
| Variable | File API (GRIB2) | Point/Route API (JSON) |
|---|---|---|
| Total precipitation (accumulated) | kg/m² (numerically equal to mm) | millimeters (mm) |
| Precipitation rate | kg/m²/s (mm/s) | mm/hour |
| Snowfall amount | meters (m) of liquid equivalent | centimeters (cm) |
The JSON response lists the unit of every field in meta.units; the GRIB2 unit is in each message’s units key.
Working with Accumulated Fields¶
Several variables in the forecast data are accumulated from the start of the forecast (issuance time). These include:
Accumulated precipitation
Accumulated snowfall
Accumulated radiation (shortwave/longwave, incoming/outgoing)
Deriving Hourly Values¶
To get the hourly amount for an accumulated field, subtract the previous time step’s value from the current one:
# Example: derive hourly precipitation from accumulated values
hourly_precip = []
for i in range(1, len(data)):
current = data[i]['values']['precipitation_amount']
previous = data[i-1]['values']['precipitation_amount']
hourly_precip.append(current - previous)Accumulation Bundles¶
For convenience, Spire offers “accumulation” bundles that provide pre-computed 1-hour, 3-hour, and 6-hour accumulation amounts, eliminating the need to compute differences manually:
basic-accumulation— 1h/3h/6h precipitation amounts (precipitation_amount_1hr,_3hr,_6hr)precipitation-accumulation— 1h/3h/6h snowfall amounts (snowfall_amount_1hr,_3hr,_6hr)solar-energy-accumulation— 1h/3h/6h amounts of the five radiation fields (surface_net_downward_shortwave_flux_1hr, and so on)
An N-hour field is returned at every lead time that is a multiple of N: with time_bundle=hourly you receive the 1-, 3- and 6-hour fields, with 3_hourly the 3- and 6-hour fields, and with 6_hourly the 6-hour fields only.
These are available at the Point API endpoint and are opt-in. Contact Spire if you are interested.
GRIB2 File Concatenation¶
GRIB2 files from Spire can be concatenated together. This is useful for combining multiple lead times or bundles into a single file for processing:
cat sof-d.20240115.t00z.0p125.basic.global.f000.grib2 \
sof-d.20240115.t00z.0p125.basic.global.f006.grib2 \
sof-d.20240115.t00z.0p125.basic.global.f012.grib2 \
> combined.grib2System Status¶
Spire Weather provides an online status page to monitor the health of the API and weather data products. The status page can be accessed at: Spire Weather Status
Monitored Components¶
| Component | Description |
|---|---|
| Global Atmospheric Data | Global atmospheric weather forecast model (all bundles except maritime) |
| Global Maritime Data | Oceanographic forecasts (maritime and maritime-wave bundles) |
| Custom Global Data | Post-processed / statistically optimized forecast data |
| Custom Point Data | Optimized point forecast system (updated hourly) |
| Current Conditions | Current weather conditions (updated hourly) |
| Weather API | All Spire Weather APIs (except WMS) |
| WMS | Web Map Service endpoint |
| Historical Data Service | Archive data extraction system |
Status Values¶
| Status | Description |
|---|---|
| Operational | All systems functioning normally |
| Under Maintenance | Planned maintenance in progress |
| Degraded Performance | System operational but API responses or forecast updates are slower than normal |
| Major Outage | APIs offline or weather data updates severely delayed |
Impact of Degraded Performance¶
When a forecast component shows degraded performance:
Short-range forecast (first 24–36 hours) may be based on the previous model run and have slightly reduced accuracy
The medium-range forecast may be missing the last few hours of its range (e.g., only 9.5 days instead of 10)
Historical/archived data remains unaffected