気象データをリクエストする前に、データセット、パラメータ、正確なセレクターを確認できます。公開JSONエンドポイントはトークン不要で、クレジットを消費しません。
レスポンスは5分間公開キャッシュが可能です。カタログの範囲は公開製品を示すもので、すべての場所・時刻の気象値を保証するものではありません。
例ではフィールドや配列項目を抜粋しています。完全なレスポンスにはさらに多くのメタデータ、データセット、パラメータ、バリエーションが含まれる場合があります。JSONフィールド名とセレクター値は変更していません。
GET /api/v2/catalog/datasets
データセット一覧。code、family、tag、is_ensembleで絞り込めます。
curl 'https://gribstream.com/api/v2/catalog/datasets?code=gfs'
レスポンス例(抜粋したフィールドと項目):
[
{
"code": "gfs",
"name": "GFS",
"full_name": "Global Forecast System",
"display_label": "GFS (gfs) - Global Forecast System",
"provider": "NOAA",
"is_ensemble": false,
"parameter_count": 90,
"models_page_url": "/models/gfs",
"api_timeseries_url": "/api/v2/gfs/timeseries",
"api_runs_url": "/api/v2/gfs/runs"
}
]
GET /api/v2/catalog/datasets/{dataset}
データセットの範囲、更新間隔、アンサンブルメンバー、情報源を確認します。
curl 'https://gribstream.com/api/v2/catalog/datasets/gfs'
レスポンス例(抜粋したフィールドと項目):
{
"code": "gfs",
"name": "GFS",
"provider": "NOAA",
"spatial_resolution": {
"label": "0.25° (~28 km)",
"kind": "latlon"
},
"run_cadence": {
"label": "00/06/12/18 UTC"
},
"min_lead_time": "0h",
"max_lead_time": "384h",
"is_ensemble": false,
"archive_start": "2021-03-22",
"native_grid": {
"total": 1038240,
"grid": {
"type": "regular_latlon",
"nx": 1440,
"ny": 721,
"firstLat": 90,
"firstLon": 0,
"latStep": -0.25,
"lonStep": 0.25,
"longitudeConvention": "zero_to_360"
},
"coordinates_url": "/api/v2/gfs/native-coordinates"
},
"source_url": "https://www.ncei.noaa.gov/products/weather-climate-models/global-forecast"
}
検証済みのネイティブグリッドがある場合、データセット詳細にnative_gridが含まれます。gridは座標一覧と同じ仕様を使い、形状、該当する次元、経度表記、投影パラメータ、メッシュ識別子や精度上限を示します。この概要は無料で、座標ペアは含みません。
totalは全グリッドサイズであり、矩形内の結果件数ではありません。衛星グリッドでは地球外の位置を含む場合があります。非構造メッシュの次元など、該当しない次元や間隔フィールドは0です。宣言されたグリッド形式に従って解釈してください。
緯度・経度ペアの取得には、登録済みトークンと4つの矩形境界を指定してcoordinates_urlを使います。座標一覧のリクエストはクレジットを消費しますが、カタログ概要は消費しません。
GET /api/v2/catalog/datasets/{dataset}/parameters
パラメータ名、単位、バリエーション数を含むグループ一覧です。
curl 'https://gribstream.com/api/v2/catalog/datasets/gfs/parameters'
レスポンス例(抜粋したフィールドと項目):
[
{
"short_name": "TMP",
"full_name": "Temperature",
"display_label": "TMP - Temperature",
"units": "K",
"variation_count": 57,
"has_code_table": false,
"authoritative_sources": [
{
"label": "NOAA GRIB2 Table 4.2-0-0",
"url": "https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2-0-0.shtml"
}
]
}
]
GET /api/v2/catalog/datasets/{dataset}/parameters/{parameter}
パラメータのバリエーション、レベル、単位、コピー可能なセレクターを取得します。パスのパラメータ名は大文字と小文字を区別します。
curl 'https://gribstream.com/api/v2/catalog/datasets/gfs/parameters/TMP'
レスポンス例(抜粋したフィールドと項目):
{
"short_name": "TMP",
"full_name": "Temperature",
"units": "K",
"description": "Air temperature is the thermal state of the atmosphere at the specified level. It influences density, stability, and energy exchange.",
"variations": [
{
"level": "2 m above ground",
"selector": {
"name": "TMP",
"level": "2 m above ground",
"info": ""
},
"selector_literal": "{\"name\":\"TMP\",\"level\":\"2 m above ground\",\"info\":\"\"}",
"introduced_at": "2021-03-22",
"min_lead_time": "0h",
"max_lead_time": "384h"
}
]
}
GET /api/v2/catalog/datasets/{dataset}/selectors
すべての正確なセレクター(name, level, info)を、選択UIやスキーマ探索に使えるフラットな配列で取得します。
curl 'https://gribstream.com/api/v2/catalog/datasets/gfs/selectors'
レスポンス例(抜粋したフィールドと項目):
[
{
"short_name": "TMP",
"name": "TMP",
"level": "2 m above ground",
"info": "",
"selector": {
"name": "TMP",
"level": "2 m above ground",
"info": ""
},
"selector_literal": "{\"name\":\"TMP\",\"level\":\"2 m above ground\",\"info\":\"\"}"
}
]
GET /api/v2/catalog/shared-parameters/{parameter}
共通の概念をデータセット用に解決します。resolved_supportedを確認し、resolved_requestを気象リクエストにコピーします。変数や式が含まれる場合があります。
curl 'https://gribstream.com/api/v2/catalog/shared-parameters/wind_speed_10m?dataset=ifsoper&alias=wind'
レスポンス例(抜粋したフィールドと項目):
{
"code": "wind_speed_10m",
"label": "Wind speed at 10m",
"units": "m/s",
"resolved_dataset": "ifsoper",
"resolved_supported": true,
"resolved_request": {
"variables": [
{
"name": "10u",
"level": "sfc",
"info": "",
"alias": "u_component",
"hidden": true
},
{
"name": "10v",
"level": "sfc",
"info": "",
"alias": "v_component",
"hidden": true
}
],
"expressions": [
{
"expression": "func.Hypot(u_component, v_component)",
"alias": "wind"
}
]
}
}
curl 'https://gribstream.com/api/v2/catalog/datasets?family=gfs'
curl 'https://gribstream.com/api/v2/catalog/datasets/gfs/selectors'
curl 'https://gribstream.com/api/v2/catalog/datasets/gfs/parameters/TMP'
curl 'https://gribstream.com/api/v2/catalog/shared-parameters/wind_speed_10m?dataset=ifsoper&alias=wind'
大文字・小文字、空白、infoを含め、返されたセレクターをそのまま使ってください。説明から推測せず、座標と期間を追加してトークン付きでtimeseriesまたはrunsを呼び出します。
不正なフィルターは400、不明なデータセットやパラメータは404を返します。成功レスポンスはJSONです。全フィールドとフィルターのスキーマはOpenAPIを参照してください。