カタログAPIリファレンス

気象データをリクエストする前に、データセット、パラメータ、正確なセレクターを確認できます。公開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

共通の気象概念を一覧表示します。datasetで絞り込み、複数データセットではdataset_mode=allまたはanyを使います。

curl 'https://gribstream.com/api/v2/catalog/shared-parameters'

レスポンス例(抜粋したフィールドと項目):

[
  {
    "code": "wind_speed_10m",
    "label": "Wind speed at 10m",
    "units": "m/s",
    "summary": "Near-surface wind speed normalized to a single output series.",
    "supported_datasets": [
      "gfs",
      "ifsoper"
    ]
  }
]

共通パラメータ詳細

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を参照してください。

完全なリファレンス · OpenAPI · ネイティブグリッド座標