このトピックでは、気象シミュレーションのために Elastic High Performance Computing (E-HPC) クラスターで Weather Research and Forecasting Model (WRF) を実行する方法について説明します。
背景情報
WRF は、天気予報に広く使用されているオープンソースのメソスケール数値システムです。 さまざまなコンピューティング プラットフォーム上で、既存データの再構築や将来の天気予報など、幅広い大気プロセス研究とシミュレーションをサポートしています。 詳細については、WRF 公式 Web サイトをご覧ください。
このトピックでは、WRF が E-HPC と組み合わせてどのように機能するかを説明するために、12 km の解像度で気象活動をシミュレートします。 このトピックでは、2019 年の米国の冬の嵐を例として使用します。 シミュレーションでは、降水量、気温、風速などの主要な気象要因を分析および研究し、12 時間の期間におけるそれらの変化と分布を示します。
準備
次のいずれかの方法を使用して E-HPC クラスターを作成します。
テンプレートを使用してクラスターを作成します。 詳細については、「テンプレートベースの作成」をご参照ください。
重要クラスタ テンプレートを使用してクラスターを作成する場合は、クラスターを作成する前に、[計算ノードとキュー] ページで [ノード構成] を変更する必要があります。

手動でクラスターを作成します。 詳細については、「標準クラスターを作成する」をご参照ください。
この例では、クラスターに次の構成を使用します。
項目
構成
シリーズ
Standard Edition
デプロイメント モード
パブリック クラウド クラスター
クラスター タイプ
SLURM
ノード構成
次の仕様の管理ノード 1 つ、ログイン ノード 1 つ、計算ノード 4 つ:
管理ノード: ecs.c8ae.xlarge タイプ、4 vCPU、8 GiB メモリの Elastic Compute Service (ECS) インスタンス
ログイン ノード: ecs.c8ae.xlarge タイプ、4 vCPU、8 GiB メモリの ECS インスタンス
計算ノード: ecs.c8ae.16xlarge タイプ、64 vCPU、128 GiB メモリの ECS インスタンス
計算ノードは、[eRDMA ネットワーク] を介して相互接続されています。
イメージ
Alibaba Cloud Linux 2.1903 LTS 64 ビット
クラスター ユーザーを作成します。 詳細については、「ユーザーを管理する」をご参照ください。
ユーザーは、クラスターへのログイン、ソフトウェアのコンパイル、ジョブの送信に使用されます。 この例では、次の設定を使用します。
ユーザー名: testuser
ユーザー グループ: sudo 権限グループ
(条件付きで必須) クラスターを手動で作成する場合は、
wrf-aoccソフトウェアをインストールする必要があります。 テンプレートを使用してクラスターを作成する場合は、この手順をスキップします。 詳細については、「クラスターでソフトウェアをインストールおよびアンインストールする」をご参照ください。説明wrf-aoccソフトウェアがクラスターにインストールされると、他のすべての依存ソフトウェアが自動的にインストールされます。
ステップ 1: 環境を確認して構成する
E-HPC ポータルにログインします。 詳細については、「E-HPC ポータルにログインする」をご参照ください。
右上隅にある
をクリックして、Workbench を使用してクラスターに接続します。次のコマンドを実行して、ソフトウェアが正常にインストールされているかどうかを確認します。 これにより、システムが必要なバージョンの環境を正常にロードすることが保証されます。
module avail出力例:

conus12km ワークロードを構成します。
次のコマンドを実行して、ワークロード ファイルをダウンロードして解凍します。
cd ~ wget https://ehpc-perf.oss-cn-hangzhou.aliyuncs.com/yt710/WRFV4/input-data/v4.4_bench_conus12km.tar.gz tar -zxvf v4.4_bench_conus12km.tar.gz cd v4.4_bench_conus12km ln -s /opt/ehpc_common_softwares/nwp/wrf-aocc/4.4.2/aliyun/2/x86_64/run/* .次のコマンドを実行して、NCL プログラミング言語をダウンロードして解凍します。
cd ~ wget https://ehpc-perf.oss-cn-hangzhou.aliyuncs.com/AMD-Genoa/WRFV4/ncl_draw.tar.gz tar -zxvf ncl_draw.tar.gz
次のコマンドを実行して、
~/.bashrcファイルを変更します。vim ~/.bashrcファイルに次のコードを追加します。
module load aocc/4.0.0 aocl/4.0.1 gcc/12.3.0 hdf5/1.10.5 libfabric/1.16.0 mpich-aocc/4.0.3 netcdf/4.8.0 szip/2.0.0 wrf-aocc/4.4.2 zlib/1.2.13 export NCARG_ROOT=~/ncl export PATH=$NCARG_ROOT/bin:$PATH4 つの計算ノードで次のコマンドを実行して、NCL と ImageMagick をインストールします。
説明コンソールですべての 4 つのノードにリモート コマンドを送信して、迅速に実行できます。 詳細については、「コマンドを送信する」をご参照ください。
sudo yum install -y ncl ImageMagick次のコマンドを実行して、
png2gif.shという名前のジョブ実行ファイルを作成します。cd ~ vim png2gif.sh
ステップ 2: ジョブを送信する
環境を確認して構成したら、Workbench ダイアログ ボックスを閉じて、次の手順に進みます。
上部のナビゲーション バーで、[タスク管理] をクリックします。
ページの上部にある [送信者] をクリックします。
[ジョブの作成] ページで、パラメーターを指定します。 次の表にパラメーターを示します。
説明その他のパラメーターについては、デフォルト設定を保持します。
基本パラメーター
パラメーター
例
説明
[ジョブ名]
wrf-conus12
ジョブの名前。
ジョブ ファイルを自動的にダウンロードして解凍する必要がある場合、解凍ディレクトリにはジョブの名前が使用されます。
[出力ファイル]
変数名: out
変数値: test.gif
ジョブの出力ファイル。
[キュー]
comp
ジョブを実行するキュー。
クラスターの作成時に計算ノードをキューに追加した場合は、ジョブをキューに送信します。 そうしないと、ジョブは実行に失敗します。 計算ノードをキューに追加しなかった場合、ジョブはスケジューラのデフォルト キューに送信されます。
[コマンド]
オンラインで編集
スケジューラに送信するジョブ実行コマンド。 コマンドまたはスクリプト ファイルの相対パスを入力できます。 E-HPC ポータルは次の方法をサポートしています。
オンラインで編集
ローカル ファイルを使用
アップロードされたファイルを使用
[ノード数]
4
ジョブの実行に使用される計算ノードの数。
[タスク数]
4
各計算ノードがジョブの実行に使用するタスクの数、つまりプロセスの数。
[スレッド数]
2
タスクが使用するスレッドの数。 このパラメーターを指定しない場合、スレッド数は 1 になります。
詳細パラメーター
パラメーター
例
説明
[MPI プロファイル]
有効
MPI パフォーマンス プロファイリングを有効にするかどうかを指定します。
[送信] をクリックします。
操作が完了すると、ジョブが [実行中] ステータスになっていることがわかります。

ステップ 3: ジョブの詳細を表示する
[タスク管理] ページで、送信されたジョブを見つけ、[アクション] 列の [表示] をクリックします。
ジョブの詳細ページで、次の図に示すように、ジョブの詳細を表示できます。

ジョブが [完了] ステータスになったら、[入力ファイルと出力ファイル] タブをクリックし、右上隅のドロップダウン リストから [出力ファイル] を選択して、実行結果を表示します。

次の GIF 図は、結果の例を示しています。
