Diese API bietet Zugriff auf Wettervorhersagedaten für alle Modelle. Sie können historische und aktuelle Vorhersagedaten über Zeitraum, Koordinaten und gewünschte Variablen abrufen.
Sie können unseren Python-Client auf GitHub verwenden oder mit den Details unten eine eigene Integration bauen.
Wenn Sie GribStream mit einem KI-Tool integrieren, starten Sie mit GribStream für KI-Tools.
Für eine Koordinate, einen Wetterparameter und einen Zeitraum sind mehrere Vorhersagewerte verfügbar. Jeder Wert entspricht einer anderen Lead Time, also dem Abstand zwischen Modelllauf und gültiger Zeit.
Die API gibt für jeden Zeitpunkt den Vorhersagewert mit der kürzesten gültigen Lead Time zurück. Damit erhalten Sie den neuesten Modelllauf, der nach den Request-Filtern zulässig ist, normalerweise die nützlichste Vorhersage. In Datenanalyse-Workflows wird dies oft als Serie der besten zulässigen Vorhersage oder als Nowcast bezeichnet.
POST https://gribstream.com/api/v2/<model>/timeseries
Umbenannt Früher /history. Der alte Pfad funktioniert weiterhin.
| Header | Wert | Kommentar |
|---|---|---|
Content-Type |
application/json |
Standardwert und einziger gültiger Wert. |
Accept |
Einen auswählen:text/csvapplication/jsonapplication/ndjson
|
Wählt das Response-Format. Standard ist text/csv |
Accept-Encoding |
gzip |
Optional und empfohlen für eine komprimierte Response |
Authorization |
Bearer <token> |
Ersetzen Sie <token> durch Ihren Authentifizierungs-Token |
Der Request-Body muss ein JSON-Objekt mit folgender Struktur sein:
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
fromTime |
string (ISO 8601) |
Startzeit des Vorhersagezeitraums. | Ja, entweder (fromTime, untilTime) oder timesList |
untilTime |
string (ISO 8601) |
Endzeit des Vorhersagezeitraums. | Ja, entweder (fromTime, untilTime) oder timesList |
timesList |
array von string (ISO 8601) |
Explizite Liste gültiger Zeiten, die zurückgegeben werden sollen; jeder Wert entspricht forecasted_time. |
Ja, entweder (fromTime, untilTime) oder timesList |
asOf? |
string (ISO 8601) |
Cutoff nach Modelllaufzeit: Es werden nur Modellläufe berücksichtigt, die zu diesem Zeitpunkt oder davor generiert wurden. | Nein |
minLeadTime |
string (duration) |
Minimale Lead Time (inklusive). Duration-String wie "45m" oder "18h". Hat Vorrang vor minHorizon/maxHorizon. |
Nein |
maxLeadTime |
string (duration) |
Maximale Lead Time (inklusive). Duration-String wie "45m" oder "18h". Hat Vorrang vor minHorizon/maxHorizon. |
Nein |
minHorizon |
integer |
Veraltet (verwenden Sie minLeadTime). Minimale Lead Time in Stunden (inklusive). |
Nein |
maxHorizon |
integer |
Veraltet (verwenden Sie maxLeadTime). Maximale Lead Time in Stunden (inklusive). |
Nein |
coordinates |
array von coordinate |
Liste geografischer Koordinaten. Optional, wenn grid angegeben ist; beide können gesendet werden. |
Ja - mindestens coordinates oder grid muss angegeben werden |
grid |
grid-Objekt |
Regulärer rechteckiger Bereich. Der Server gibt jeden Punkt innerhalb der Grenzen mit dem angegebenen räumlichen step zurück. Kann zusammen mit coordinates verwendet werden.
|
Ja - mindestens coordinates oder grid muss angegeben werden |
variables |
array von variable |
Liste der abzurufenden Wetterparameter. | Ja |
expressions |
array von expression |
Von GribStream berechnete Spalten aus den angeforderten Variablen. Jeder Eintrag wird als eigene Spalte mit dem angegebenen Alias zurückgegeben. Siehe Dokumentation | Nein |
filter |
filter-Objekt |
Boolescher Filter, der angewendet wird, nachdem alle expressions ausgewertet wurden.
Muss ein einzelnes Feld expression vom Typ string enthalten.
Zeilen, für die die Expression false ergibt, werden aus
der Response weggelassen.
|
Nein |
members |
array von integer |
Für Ensemble-Modelle (gefsatmos, ifsenfo, ifswaef …) werden damit
die Ensemble-Mitglieder ausgewählt, die in die Response aufgenommen werden.Beispiel: "members": [2,3,4].Standardmäßig wird [0] verwendet und nur Ensemble-Mitglied 0, also die Kontrollvorhersage, zurückgegeben.
|
Nein (nur Ensemble-Modelle) |
HINWEIS: Die ausgewählte Zeit muss über den Bereich (fromTime, untilTime) oder timesList angegeben werden
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
lat |
float |
Breitengrad der Koordinate. | Ja |
lon |
float |
Längengrad der Koordinate. | Ja |
name |
string |
Optionaler Name der Koordinate, der in der Response zurückgegeben wird, um den Ort zu identifizieren. | Nein |
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
minLatitude |
number | Südliche Grenze (°N) | Ja |
maxLatitude |
number | Nördliche Grenze (°N) | Ja |
minLongitude |
number | Westliche Grenze (°E) | Ja |
maxLongitude |
number | Östliche Grenze (°E) | Ja |
step |
number | Auflösung in Dezimalgrad | Ja |
Die Felder name, level und info bilden den exakten Selektor der Wettervariable. Kopieren Sie diese Werte aus dem Katalog oder von der Modellseite; es sind API-Identifier, keine zu übersetzenden Labels.
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
name |
string |
Exakter Wetterparametercode aus dem Katalog (z. B. "TMP" für Temperatur). Nicht übersetzen. |
Ja |
level |
string |
Exaktes Atmosphären- oder Oberflächenniveau aus dem Katalog (z. B. "2 m above ground"). |
Ja |
info |
string |
Exaktes Unterscheidungsmerkmal, wenn das Modell mehrere Parameter mit demselben name und level hat. Nur leer lassen, wenn der Katalogwert leer ist. |
Nein |
alias |
string |
Optionaler Alias für die Variable. Falls angegeben, wird dieser Alias als Spaltenheader in der Response verwendet. | Nein |
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
expression |
string |
Erstellt berechnete Spalten. Alle ausgewählten Variablen sind über ihren Alias adressierbar. Siehe Dokumentation |
Ja |
alias |
string |
Spaltenname in der Response für dieses berechnete Ergebnis. | Ja |
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
expression |
string |
Boolesche Expression in derselben DSL wie
expressions. Sie kann zuvor definierte Aliase
im Request-Body referenzieren.
|
Ja |
POST https://gribstream.com/api/v2/hrrr/timeseries
Content-Type: application/json
Accept-Encoding: gzip
Authorization: Bearer <token>
Payload:
{
"fromTime": "2024-09-10T00:00:00Z",
"untilTime": "2024-09-10T10:00:00Z",
"asOf": "2024-09-10T05:00:00Z",
"minLeadTime": "1h",
"maxLeadTime": "48h",
"coordinates": [{ "lat": 40.7306, "lon": -73.9352, "name": "New York City" }],
"variables": [
{ "name": "UGRD", "level": "1000 mb", "alias": "uwind" },
{ "name": "VGRD", "level": "1000 mb", "alias": "vwind" }
],
"expressions": [
{ "expression": "func.Hypot(uwind, vwind)", "alias": "wind_magnitude" },
{ "expression": "int(270 - func.Atan2(vwind, uwind) * 180 / 3.14159) % 360", "alias": "wind_direction" }
]
}
Das Response-Format wird durch den Header Accept bestimmt. Die API unterstützt drei Response-Formate:
Accept: text/csv - die Response ist eine CSV-Datei mit den Vorhersagedaten.Accept: application/json - die Response ist ein einzelnes JSON-Array von Objekten.Accept: application/ndjson - die Response ist zeilengetrenntes JSON mit einem JSON-Objekt pro Zeile.Wenn der Header Accept-Encoding: gzip enthalten ist, wird die Response mit gzip komprimiert.
HINWEIS: Die Response ist nicht strikt sortiert.
forecasted_at,forecasted_time,lat,lon,name,uwind,vwind,wind_direction,wind_magnitude 2024-09-10T02:00:00Z,2024-09-10T03:00:00Z,40.7306,-73.9352,New York City,7.1213,1.7680,256,7.3375 2024-09-10T05:00:00Z,2024-09-10T08:00:00Z,40.7306,-73.9352,New York City,5.2585,-1.1512,282,5.3831 2024-09-10T01:00:00Z,2024-09-10T02:00:00Z,40.7306,-73.9352,New York City,8.1815,1.6363,258,8.3435 2024-09-10T05:00:00Z,2024-09-10T07:00:00Z,40.7306,-73.9352,New York City,6.9156,-1.4414,281,7.0642 2024-09-10T00:00:00Z,2024-09-10T01:00:00Z,40.7306,-73.9352,New York City,8.0572,2.9389,249,8.5765 2024-09-10T03:00:00Z,2024-09-10T04:00:00Z,40.7306,-73.9352,New York City,6.4841,2.5385,248,6.9633 2024-09-10T05:00:00Z,2024-09-10T06:00:00Z,40.7306,-73.9352,New York City,6.8368,0.1001,269,6.8375 2024-09-10T04:00:00Z,2024-09-10T05:00:00Z,40.7306,-73.9352,New York City,6.4087,3.0921,244,7.1157 2024-09-09T23:00:00Z,2024-09-10T00:00:00Z,40.7306,-73.9352,New York City,6.1795,3.9539,237,7.3362 2024-09-10T05:00:00Z,2024-09-10T09:00:00Z,40.7306,-73.9352,New York City,4.7715,-0.5644,276,4.8047
[{"forecasted_at":"2024-09-10T02:00:00Z","forecasted_time":"2024-09-10T03:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.121286392211914,"vwind":1.7680130004882812,"wind_direction":256,"wind_magnitude":7.337478439477567}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T01:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":8.057228088378906,"vwind":2.938892364501953,"wind_direction":249,"wind_magnitude":8.576480210336284}
,{"forecasted_at":"2024-09-10T01:00:00Z","forecasted_time":"2024-09-10T02:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":8.181510925292969,"vwind":1.6362571716308594,"wind_direction":258,"wind_magnitude":8.34352794400556}
,{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T06:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.836750030517578,"vwind":0.10012435913085938,"wind_direction":269,"wind_magnitude":6.837483152964509}
,{"forecasted_at":"2024-09-09T23:00:00Z","forecasted_time":"2024-09-10T00:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.179473876953125,"vwind":3.953920364379883,"wind_direction":237,"wind_magnitude":7.33616954846356}
,{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T07:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.915561676025391,"vwind":-1.4414329528808594,"wind_direction":281,"wind_magnitude":7.064185887458082}
,{"forecasted_at":"2024-09-10T03:00:00Z","forecasted_time":"2024-09-10T04:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.484088897705078,"vwind":2.538473129272461,"wind_direction":248,"wind_magnitude":6.963279016482147}
,{"forecasted_at":"2024-09-10T04:00:00Z","forecasted_time":"2024-09-10T05:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.408748626708984,"vwind":3.0920562744140625,"wind_direction":244,"wind_magnitude":7.115677828885149}
,{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T08:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":5.258523941040039,"vwind":-1.1512451171875,"wind_direction":282,"wind_magnitude":5.383069696589422}
,{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T09:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":4.771465301513672,"vwind":-0.564422607421875,"wind_direction":276,"wind_magnitude":4.804732459078015}
]
{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T07:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.915561676025391,"vwind":-1.4414329528808594,"wind_direction":281,"wind_magnitude":7.064185887458082}
{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T08:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":5.258523941040039,"vwind":-1.1512451171875,"wind_direction":282,"wind_magnitude":5.383069696589422}
{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T09:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":4.771465301513672,"vwind":-0.564422607421875,"wind_direction":276,"wind_magnitude":4.804732459078015}
{"forecasted_at":"2024-09-10T05:00:00Z","forecasted_time":"2024-09-10T06:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.836750030517578,"vwind":0.10012435913085938,"wind_direction":269,"wind_magnitude":6.837483152964509}
{"forecasted_at":"2024-09-10T03:00:00Z","forecasted_time":"2024-09-10T04:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.484088897705078,"vwind":2.538473129272461,"wind_direction":248,"wind_magnitude":6.963279016482147}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T01:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":8.057228088378906,"vwind":2.938892364501953,"wind_direction":249,"wind_magnitude":8.576480210336284}
{"forecasted_at":"2024-09-09T23:00:00Z","forecasted_time":"2024-09-10T00:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.179473876953125,"vwind":3.953920364379883,"wind_direction":237,"wind_magnitude":7.33616954846356}
{"forecasted_at":"2024-09-10T01:00:00Z","forecasted_time":"2024-09-10T02:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":8.181510925292969,"vwind":1.6362571716308594,"wind_direction":258,"wind_magnitude":8.34352794400556}
{"forecasted_at":"2024-09-10T04:00:00Z","forecasted_time":"2024-09-10T05:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.408748626708984,"vwind":3.0920562744140625,"wind_direction":244,"wind_magnitude":7.115677828885149}
{"forecasted_at":"2024-09-10T02:00:00Z","forecasted_time":"2024-09-10T03:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.121286392211914,"vwind":1.7680130004882812,"wind_direction":256,"wind_magnitude":7.337478439477567}
Response-Felder:
| Feld | Beschreibung |
|---|---|
forecasted_at |
Modelllaufzeit: wann die Vorhersage generiert oder ausgegeben wurde. |
forecasted_time |
Gültige Zeit: der Zeitpunkt, für den die Vorhersage gilt. |
lat |
Breitengrad der Koordinate. |
lon |
Längengrad der Koordinate. |
name |
Im Request angegebener Name für den Koordinatensatz. |
uwindvwindwind_directionwind_magnitude
|
Eine Spalte pro Variable oder abgeleiteter Expression. Variablen verwenden standardmäßig [name]|[level]|[info]. |
"2022-08-10T00:00:00Z").minLeadTime/maxLeadTime (empfohlen) oder die veralteten Parameter minHorizon/maxHorizon (Stunden), um Lead Times zu begrenzen.coordinates und/oder grid) und eine Variable angeben.asOf? ist ein Cutoff nach Modelllaufzeit für rückblickende Abfragen. Die API berücksichtigt nur Modellläufe, die zu asOf oder davor generiert wurden. Das belegt nicht, dass die ausgewählten Daten zu dieser realen Uhrzeit bereits in GribStream verfügbar waren. Wenn nicht angegeben, werden die neuesten verfügbaren Vorhersagedaten
verwendet.Sie müssen einen gültigen Authentifizierungs-Token im Header Authorization angeben. Um einen Token zu erhalten,
Fügen Sie den Token wie folgt in die Request-Header ein:
Authorization: Bearer <token>
curl -X POST 'https://gribstream.com/api/v2/hrrr/timeseries' \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "Authorization: Bearer [API_TOKEN]" \
-d '{
"fromTime": "2024-09-10T00:00:00Z",
"untilTime": "2024-09-10T10:00:00Z",
"asOf": "2024-09-10T05:00:00Z",
"minLeadTime": "1h",
"maxLeadTime": "48h",
"coordinates": [{ "lat": 40.7306, "lon": -73.9352, "name": "New York City" }],
"variables": [
{ "name": "UGRD", "level": "1000 mb", "alias": "uwind" },
{ "name": "VGRD", "level": "1000 mb", "alias": "vwind" }
],
"expressions": [
{ "expression": "func.Hypot(uwind, vwind)", "alias": "wind_magnitude" },
{ "expression": "int(270 - func.Atan2(vwind, uwind) * 180 / 3.14159) % 360", "alias": "wind_direction" }
]
}' | gunzip | head -20
Dieser Befehl ruft die Vorhersagedaten ab und gibt die ersten 20 Zeilen der dekomprimierten Response aus.
Wenn der Request fehlerhaft ist, gibt die API eine Fehlermeldung mit passendem HTTP-Statuscode zurück.
| Statuscode | Bedeutung | Beschreibung |
|---|---|---|
| 400 Bad Request | Ungültige Request-Parameter. | Tritt auf, wenn erforderliche Parameter fehlen oder ungültige Werte haben. |
| 401 Unauthorized | Authentifizierung fehlgeschlagen. | Tritt auf, wenn der Authentifizierungs-Token fehlt oder ungültig ist. |
| 429 Too Many Requests | Kontingent überschritten. | Tritt auf, wenn das Kontingent aufgebraucht ist. Die Response enthält einen Header Retry-After mit der Wartezeit vor dem nächsten Versuch. |
| 500 Internal Server Error | Serverfehler. | Tritt auf, wenn beim Verarbeiten des Requests ein Serverfehler auftritt. |
Ruft alle Modellläufe in einem Zeitraum für eine Liste von Koordinaten und Wetterparametern ab. Optional kann nach einem Lead-Time-Bereich gefiltert werden.
POST https://gribstream.com/api/v2/<model>/runs
Umbenannt Früher /forecasts. Der alte Pfad funktioniert weiterhin.
| Header | Wert | Kommentar |
|---|---|---|
Content-Type |
application/json |
Standardwert und einziger gültiger Wert. |
Accept |
Einen auswählen:text/csvapplication/jsonapplication/ndjson
|
Wählt das Response-Format. Standard ist text/csv |
Accept-Encoding |
gzip |
Optional und empfohlen für eine komprimierte Response |
Authorization |
Bearer <token> |
Ersetzen Sie <token> durch Ihren Authentifizierungs-Token |
Der Request-Body muss ein JSON-Objekt mit folgender Struktur sein:
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
forecastedFrom |
string (ISO 8601) |
Früheste Modelllaufzeit. | Ja, entweder (forecastedFrom, forecastedUntil) oder timesList |
forecastedUntil |
string (ISO 8601) |
Späteste Modelllaufzeit. | Ja, entweder (forecastedFrom, forecastedUntil) oder timesList |
timesList |
array von string (ISO 8601) |
Explizite Liste von Modelllaufzeiten; jeder Wert entspricht forecasted_at. |
Ja, entweder (forecastedFrom, forecastedUntil) oder timesList |
minLeadTime |
string (duration) |
Minimale Lead Time (inklusive). Duration-String wie "45m" oder "18h". Hat Vorrang vor minHorizon/maxHorizon. |
Nein |
maxLeadTime |
string (duration) |
Maximale Lead Time (inklusive). Duration-String wie "45m" oder "18h". Hat Vorrang vor minHorizon/maxHorizon. |
Nein |
minHorizon |
integer |
Veraltet (verwenden Sie minLeadTime). Minimale Lead Time in Stunden (inklusive). |
Nein |
maxHorizon |
integer |
Veraltet (verwenden Sie maxLeadTime). Maximale Lead Time in Stunden (inklusive). |
Nein |
coordinates |
array von coordinate |
Liste geografischer Koordinaten. | Ja - mindestens coordinates oder grid muss angegeben werden |
grid |
grid-Objekt |
Regulärer rechteckiger Bereich. Der Server gibt jeden Punkt innerhalb der Grenzen mit dem angegebenen räumlichen step zurück. Kann zusammen mit coordinates verwendet werden.
|
Ja - mindestens coordinates oder grid muss angegeben werden |
variables |
array von variable |
Liste der abzurufenden Wetterparameter. | Ja |
expressions |
array von expression |
Serverseitig berechnete Spalten aus den angeforderten Variablen. Jeder Eintrag wird als eigene Spalte mit dem angegebenen Alias zurückgegeben. Siehe Dokumentation | Nein |
filter |
filter-Objekt |
Boolescher Filter, der angewendet wird, nachdem alle expressions ausgewertet wurden.
Muss ein einzelnes Feld expression vom Typ string enthalten.
Zeilen, für die die Expression false ergibt, werden aus
der Response weggelassen.
|
Nein |
members |
array von integer |
Für Ensemble-Modelle (gefsatmos, ifsenfo, ifswaef …) werden damit
die Ensemble-Mitglieder ausgewählt, die in die Response aufgenommen werden.Beispiel: "members": [2,3,4].Standardmäßig wird [0] verwendet und nur Ensemble-Mitglied 0, also die Kontrollvorhersage, zurückgegeben.
|
Nein (nur Ensemble-Modelle) |
HINWEIS: Die ausgewählte Zeit muss über den Bereich (forecastedFrom, forecastedUntil) oder timesList angegeben werden
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
lat |
float |
Breitengrad der Koordinate. | Ja |
lon |
float |
Längengrad der Koordinate. | Ja |
name |
string |
Optionaler Name der Koordinate, der in der Response zurückgegeben wird, um den Ort zu identifizieren. | Nein |
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
minLatitude |
number | Südliche Grenze (°N) | Ja |
maxLatitude |
number | Nördliche Grenze (°N) | Ja |
minLongitude |
number | Westliche Grenze (°E) | Ja |
maxLongitude |
number | Östliche Grenze (°E) | Ja |
step |
number | Auflösung in Dezimalgrad | Ja |
Die Felder name, level und info bilden den exakten Selektor der Wettervariable. Kopieren Sie diese Werte aus dem Katalog oder von der Modellseite; es sind API-Identifier, keine zu übersetzenden Labels.
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
name |
string |
Exakter Wetterparametercode aus dem Katalog (z. B. "TMP" für Temperatur). Nicht übersetzen. |
Ja |
level |
string |
Exaktes Atmosphären- oder Oberflächenniveau aus dem Katalog (z. B. "2 m above ground"). |
Ja |
info |
string |
Exaktes Unterscheidungsmerkmal, wenn das Modell mehrere Parameter mit demselben name und level hat. Nur leer lassen, wenn der Katalogwert leer ist. |
Nein |
alias |
string |
Optionaler Alias für die Variable. Falls angegeben, wird dieser Alias als Spaltenheader in der Response verwendet. | Nein |
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
expression |
string |
Erstellt berechnete Spalten. Alle ausgewählten Variablen sind über ihren Alias adressierbar. Siehe Dokumentation |
Ja |
alias |
string |
Spaltenname in der Response für dieses berechnete Ergebnis. | Ja |
| Feld | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
expression |
string |
Boolesche Expression in derselben DSL wie
expressions. Sie kann zuvor definierte Aliase
im Request-Body referenzieren.
|
Ja |
POST https://gribstream.com/api/v2/hrrr/runs
Content-Type: application/json
Accept-Encoding: gzip
Authorization: Bearer <token>
Payload:
{
"forecastedFrom": "2024-09-10T00:00:00Z",
"forecastedUntil": "2024-09-10T00:00:00Z",
"minLeadTime": "1h",
"maxLeadTime": "48h",
"coordinates": [{ "lat": 40.7306, "lon": -73.9352, "name": "New York City" }],
"variables": [
{ "name": "UGRD", "level": "1000 mb", "alias": "uwind" },
{ "name": "VGRD", "level": "1000 mb", "alias": "vwind" }
],
"expressions": [
{ "expression": "func.Hypot(uwind, vwind)", "alias": "wind_magnitude" },
{ "expression": "int(270 - func.Atan2(vwind, uwind) * 180 / 3.14159) % 360", "alias": "wind_direction" }
]
}
Das Response-Format wird durch den Header Accept bestimmt. Die API unterstützt drei Response-Formate:
Accept: text/csv - die Response ist eine CSV-Datei mit den Vorhersagedaten.Accept: application/json - die Response ist ein einzelnes JSON-Array von Objekten.Accept: application/ndjson - die Response ist zeilengetrenntes JSON mit einem JSON-Objekt pro Zeile.Wenn der Header Accept-Encoding: gzip enthalten ist, wird die Response mit gzip komprimiert.
HINWEIS: Die Response ist nicht strikt sortiert.
forecasted_at,forecasted_time,lat,lon,name,uwind,vwind,wind_direction,wind_magnitude 2024-09-10T00:00:00Z,2024-09-10T01:00:00Z,40.7306,-73.9352,New York City,8.0572,2.9389,249,8.5765 2024-09-10T00:00:00Z,2024-09-11T02:00:00Z,40.7306,-73.9352,New York City,2.3471,-5.2970,336,5.7937 2024-09-10T00:00:00Z,2024-09-10T03:00:00Z,40.7306,-73.9352,New York City,7.2268,1.7030,256,7.4247 2024-09-10T00:00:00Z,2024-09-11T06:00:00Z,40.7306,-73.9352,New York City,-2.9925,-5.0025,30,5.8292 2024-09-10T00:00:00Z,2024-09-11T07:00:00Z,40.7306,-73.9352,New York City,-2.9643,-4.9196,31,5.7437 2024-09-10T00:00:00Z,2024-09-10T12:00:00Z,40.7306,-73.9352,New York City,4.7834,-4.3696,312,6.4787 2024-09-10T00:00:00Z,2024-09-10T10:00:00Z,40.7306,-73.9352,New York City,7.2718,0.5647,265,7.2937 2024-09-10T00:00:00Z,2024-09-11T10:00:00Z,40.7306,-73.9352,New York City,-2.9361,-4.5728,32,5.4343 2024-09-10T00:00:00Z,2024-09-11T05:00:00Z,40.7306,-73.9352,New York City,-3.1221,-5.8816,27,6.6589 2024-09-10T00:00:00Z,2024-09-10T06:00:00Z,40.7306,-73.9352,New York City,6.6521,1.6799,255,6.8610 2024-09-10T00:00:00Z,2024-09-11T00:00:00Z,40.7306,-73.9352,New York City,3.2101,-3.3758,316,4.6584 2024-09-10T00:00:00Z,2024-09-10T11:00:00Z,40.7306,-73.9352,New York City,6.9390,-2.4367,289,7.3544 ...
[{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T09:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.078826904296875,"vwind":2.4223251342773438,"wind_direction":251,"wind_magnitude":7.481807896300802}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T07:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.181903839111328,"vwind":2.596050262451172,"wind_direction":247,"wind_magnitude":6.704879718622265}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-11T09:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":-2.627544403076172,"vwind":-5.187816619873047,"wind_direction":26,"wind_magnitude":5.815275648803582}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T08:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.091346740722656,"vwind":2.6632766723632812,"wind_direction":249,"wind_magnitude":7.5749746686515245}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T04:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.889509201049805,"vwind":2.7773094177246094,"wind_direction":248,"wind_magnitude":7.428242364996697}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T03:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.226800918579102,"vwind":1.7029743194580078,"wind_direction":256,"wind_magnitude":7.424740604863526}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T10:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.271799087524414,"vwind":0.5646705627441406,"wind_direction":265,"wind_magnitude":7.2936900683913555}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T12:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":4.783409118652344,"vwind":-4.369564056396484,"wind_direction":312,"wind_magnitude":6.4787416092446914}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T05:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.676166534423828,"vwind":2.414224624633789,"wind_direction":252,"wind_magnitude":8.046863563053401}
,{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T01:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":8.057228088378906,"vwind":2.938892364501953,"wind_direction":249,"wind_magnitude":8.576480210336284}
...
]
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T03:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":7.226800918579102,"vwind":1.7029743194580078,"wind_direction":256,"wind_magnitude":7.424740604863526}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T17:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":2.3053665161132812,"vwind":-3.231029510498047,"wind_direction":324,"wind_magnitude":3.969164455061737}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T19:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":1.7580318450927734,"vwind":-2.8487396240234375,"wind_direction":328,"wind_magnitude":3.3475354238366912}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T16:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":2.373655319213867,"vwind":-3.552021026611328,"wind_direction":326,"wind_magnitude":4.272129790622153}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T20:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":1.9354515075683594,"vwind":-2.271472930908203,"wind_direction":319,"wind_magnitude":2.9842187945922025}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T02:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":8.008834838867188,"vwind":1.1038799285888672,"wind_direction":262,"wind_magnitude":8.084552329782657}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T12:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":4.783409118652344,"vwind":-4.369564056396484,"wind_direction":312,"wind_magnitude":6.4787416092446914}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T04:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":6.889509201049805,"vwind":2.7773094177246094,"wind_direction":248,"wind_magnitude":7.428242364996697}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T13:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":2.683929443359375,"vwind":-4.015068054199219,"wind_direction":326,"wind_magnitude":4.829518478770162}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T18:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":1.8502693176269531,"vwind":-3.0554637908935547,"wind_direction":328,"wind_magnitude":3.5720240096076235}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-11T09:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":-2.627544403076172,"vwind":-5.187816619873047,"wind_direction":26,"wind_magnitude":5.815275648803582}
{"forecasted_at":"2024-09-10T00:00:00Z","forecasted_time":"2024-09-10T14:00:00Z","lat":40.7306,"lon":-73.9352,"name":"New York City","uwind":1.9734878540039062,"vwind":-4.105434417724609,"wind_direction":334,"wind_magnitude":4.555134034047598}
...
Response-Felder:
| Feld | Beschreibung |
|---|---|
forecasted_at |
Modelllaufzeit: wann die Vorhersage generiert oder ausgegeben wurde. |
forecasted_time |
Gültige Zeit: der Zeitpunkt, für den die Vorhersage gilt. |
lat |
Breitengrad der Koordinate. |
lon |
Längengrad der Koordinate. |
name |
Im Request angegebener Name für den Koordinatensatz. |
uwindvwindwind_directionwind_magnitude
|
Eine Spalte pro Variable oder abgeleiteter Expression. Variablen verwenden standardmäßig [name]|[level]|[info]. |
"2022-08-10T00:00:00Z").minLeadTime/maxLeadTime (empfohlen) oder die veralteten Parameter minHorizon/maxHorizon (Stunden), um Lead Times zu begrenzen.coordinates und/oder grid) und eine Variable angeben.Sie müssen einen gültigen Authentifizierungs-Token im Header Authorization angeben. Um einen Token zu erhalten,
Fügen Sie den Token wie folgt in die Request-Header ein:
Authorization: Bearer <token>
curl -X POST 'https://gribstream.com/api/v2/hrrr/runs' \
-H "Content-Type: application/json" \
-H "Accept-Encoding: gzip" \
-H "Authorization: Bearer [API_TOKEN]" \
-d '{
"forecastedFrom": "2024-09-10T00:00:00Z",
"forecastedUntil": "2024-09-10T00:00:00Z",
"minLeadTime": "1h",
"maxLeadTime": "48h",
"coordinates": [{ "lat": 40.7306, "lon": -73.9352, "name": "New York City" }],
"variables": [
{ "name": "UGRD", "level": "1000 mb", "alias": "uwind" },
{ "name": "VGRD", "level": "1000 mb", "alias": "vwind" }
],
"expressions": [
{ "expression": "func.Hypot(uwind, vwind)", "alias": "wind_magnitude" },
{ "expression": "int(270 - func.Atan2(vwind, uwind) * 180 / 3.14159) % 360", "alias": "wind_direction" }
]
}' | gunzip | head -20
Dieser Befehl ruft die Vorhersagedaten ab und gibt die ersten 20 Zeilen der dekomprimierten Response aus.
Wenn der Request fehlerhaft ist, gibt die API eine Fehlermeldung mit passendem HTTP-Statuscode zurück.
| Statuscode | Bedeutung | Beschreibung |
|---|---|---|
| 400 Bad Request | Ungültige Request-Parameter. | Tritt auf, wenn erforderliche Parameter fehlen oder ungültige Werte haben. |
| 401 Unauthorized | Authentifizierung fehlgeschlagen. | Tritt auf, wenn der Authentifizierungs-Token fehlt oder ungültig ist. |
| 429 Too Many Requests | Kontingent überschritten. | Tritt auf, wenn das Kontingent aufgebraucht ist. Die Response enthält einen Header Retry-After mit der Wartezeit vor dem nächsten Versuch. |
| 500 Internal Server Error | Serverfehler. | Tritt auf, wenn beim Verarbeiten des Requests ein Serverfehler auftritt. |
Bei Fragen oder Unterstützungsbedarf kontaktieren Sie unser Support-Team unter info@gribstream.com.