mcpField
E
earth2studio-deterministic-forecast

earth2studio-deterministic-forecast

github.com/nvidiaデータ・データベース3.8k1.9k 回インストール今日更新
リポジトリ

earth2studio-deterministic-forecast について

earth2studio-deterministic-forecast は、Earth2Studio で決定論的な気象予報の推論スクリプトを作成するスキルです。モデル、入力データソース、出力バックエンドの選定を案内し、予報ステップ数を計算してスクリプトを用意します。

主な機能

  1. 01予報モデルの選定支援
  2. 02データソースとの互換性確認
  3. 03IO バックエンドの選択
  4. 04予報ステップ数の計算
  5. 05決定論的推論スクリプトの作成
  6. 06手動推論ループの案内

活用シーン

  1. 01単一メンバーの気象予報の構築
  2. 02モデル入力用データソースの選定
  3. 03適切なバックエンドでの予報出力保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nvidia/skills --skill earth2studio-deterministic-forecast

インストール後、Claude Code で/earth2studio-deterministic-forecastを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
config.yml
evals.json
evals/environment/
Dockerfile
evals/environment/setup/
bootstrap.sh
evals/targets/
eval_1_target.py
eval_2_target.py
eval_3_target.py
references/
troubleshooting.md

詳細

Earth2Studio 決定論的予報スキル

earth2studio.run.deterministic を使用して、決定論的(単一メンバー)気象予報の推論スクリプトを作成する方法をユーザーに案内します。

前提条件

  • CUDA 対応 GPU に Earth2Studio がインストールされていること
  • Python 3.10 以降。モデルの重みとデータを取得するためのネットワークアクセスがあること

最新ドキュメントの参照先

コンポーネントを推奨する前に、関連ドキュメントを取得して現在の API を確認してください。

コンポーネントURL
予測モデルhttps://nvidia.github.io/earth2studio/modules/models_px.html
データソース(解析)https://nvidia.github.io/earth2studio/modules/datasources_analysis.html
データソース(予報)https://nvidia.github.io/earth2studio/modules/datasources_forecast.html
IO バックエンドhttps://nvidia.github.io/earth2studio/modules/io.html
run.deterministichttps://github.com/NVIDIA/earth2studio/blob/main/earth2studio/run.py

ワークフロー

1. 要件を確認する(すでに提示されている内容は省略)
  • 予報期間(時間/日/週)
  • 関心のある変数(t2m、風、ジオポテンシャルなど)
  • 地域(全球または CONUS のような特定地域)
  • 利用可能な GPU/VRAM
2. モデルを選択する

予測モデルのページを取得します。予報期間、地域、VRAM に基づいて絞り込みます。モデルの以下の項目を確認します。

  • 入力変数(input_coords["variable"])
  • 時間ステップの長さ(output_coords["lead_time"])
3. データソースを選択する

データソースは、モデルの入力変数をすべて提供する必要があります。earth2studio/lexicon/<source>.py のレキシコンで確認します。一般的な組み合わせは、全球モデル → GFS/ARCO/IFS、地域モデル → HRRR です。

4. IO バックエンドを選択する

デフォルトは ZarrBackend です。レガシーツールには NetCDF4Backend、メモリ内処理や小規模な実行には XarrayBackend を使用します。

5. nsteps を計算する

nsteps = forecast_hours / model_step_hours

例:6 時間ステップで 5 日間の予報 → nsteps = 120 / 6 = 20

6. 出力座標のフィルタリングを決める
  • 変数をフィルタリングする(output_coords):ユーザーが特定の変数(例:「t2m と風」)を指定した場合に使用します。出力サイズを削減できます。
  • すべての変数を保存する(output_coords を省略):ユーザーが「すべての変数」と指定した場合、または指定がない場合に使用します。モデルの出力全体を保持できます。
7. スクリプトを生成する
from collections import OrderedDict
import numpy as np
import torch
from earth2studio.models.px import <ModelClass>
from earth2studio.data import <DataSourceClass>
from earth2studio.io import <IOBackendClass>
from earth2studio.run import deterministic

model = <ModelClass>.load_model(<ModelClass>.load_default_package())
data = <DataSourceClass>()
io = <IOBackendClass>("<output_path>")

# Include output_coords ONLY if user requested specific variables
output_coords = OrderedDict({"variable": np.array(["t2m", "u10m"])})

io = deterministic(
    time=["YYYY-MM-DDTHH:MM:SS"],
    nsteps=<N>,
    prognostic=model,
    data=data,
    io=io,
    output_coords=output_coords,  # omit if saving all variables
    device=torch.device("cuda"),
)
8. 手動ループの代替方法

ユーザーが手動での実装(earth2studio.run.deterministic を使用しない方法)を明示的に求めた場合は、次のチェックリストに順番どおりに従います。

  1. fetch_data - 初期条件を取得します:x, coords = fetch_data(data, time, model.input_coords, device)
  2. total_coords を設定する - time 次元と lead_time 次元の座標配列を構築します
  3. io.add_array - ループの前に total_coords を使って IO バックエンドを初期化します
  4. create_iterator - 予測イテレーターを作成します:model_iter = model.create_iterator(x, coords)
  5. nsteps 分ループする - for step, (x, coords) in enumerate(model_iter): if step >= nsteps: break
  6. map_coords - 必要に応じて出力変数をフィルタリングします:x_out, coords_out = map_coords(x, coords, output_coords)
  7. split_coords - IO 書き込み用に準備します:x_out, coords_out = split_coords(x_out, coords_out)
  8. io.write - 各ステップをバックエンドに書き込みます
9. 次のステップを説明する
  • 予報時刻を変更する方法、または複数の初期化を実行する方法
  • 出力を読み込む方法(xr.open_zarr(...))
  • 後処理用の診断ワークフローを案内する

担当範囲

担当する内容: モデルの選択、データソースとの互換性、IO バックエンドの選択、nsteps の計算、earth2studio.run.deterministic スクリプトの生成。

担当しない内容: アンサンブルのワークフロー、診断、データのみの取得、インストール、モデルのトレーニング。

トラブルシューティング

一般的なエラーと解決策については、references/troubleshooting.md を参照してください。

リマインダー

  • モデルやデータソースを推奨する前に、必ず最新のドキュメントを取得してください - APIはリリースごとに変更されます
  • 語彙の互換性を確認してください - モデルの入力変数がデータソースのVOCABに存在する必要があります
  • load_default_package()を使用してください - これはモデルの重みを読み込む標準的なパターンです
  • 時刻の形式はISO 8601です - time引数には"YYYY-MM-DDTHH:MM:SS"形式を使用してください
  • 風速には両方の成分が必要です - ユーザーが「風速」を尋ねた場合は、u10mとv10mの両方を含めてください
  • nstepsは整数除算です - nsteps = total_hours // model_step_hours
  • ZarrBackendがデフォルトです - 特定の要件がある場合にのみ、代替手段を提案してください
  • GPUが必要です - すべての予報モデルにはCUDAが必要です。CPUでの推論はサポートされていません

コメント