全部產品
Search
文件中心

Elastic High Performance Computing:使用WRF軟體進行氣象類比計算

更新時間:Apr 30, 2025

本文介紹如何使用E-HPC叢集運行WRF軟體進行氣象類比計算。

背景資訊

WRF(Weather Research and Forecasting model)是一款採用先進中尺度數值模式的開源氣象類比軟體,廣泛應用於氣象行業。它不僅支援廣泛的大氣過程研究和類比,包括歷史資料再現和未來天氣預報,而且能夠在多種計算平台上運行。更多資訊,請參見WRF官網

本文以2019年感恩節前的美國冬季風暴事件為例,使用WRF模型進行了12公裡空間解析度的類比。分析和研究了降水、溫度、風速等關鍵氣象要素,並展示了它們在特定12小時時間段內的變化和分布。

準備工作

  1. 選擇以下任一方式建立一個E-HPC叢集。

    • 通過叢集模板建立。具體操作,請參見模板建立

      重要

      若您選擇通過叢集模板建立叢集,則您需要在計算節點與隊列頁面修改節點配置後再完成建立。

      image

    • 通過手動建立叢集。具體操作,請參見建立標準版叢集

    本文使用的叢集配置樣本如下:

    配置項

    配置

    系列

    標準版

    部署模式

    公用雲叢集

    叢集類型

    SLURM

    節點配置

    • 包含1個管理節點、1個登入節點和4個計算節點,規格如下:

      • 管理節點:採用ecs.c8ae.xlarge執行個體規格,該規格配置為4 vCPU,8 GiB記憶體。

      • 登入節點:採用ecs.c8ae.xlarge執行個體規格,該規格配置為4 vCPU,8 GiB記憶體。

      • 計算節點:採用ecs.c8ae.16xlarge執行個體規格,該規格配置為64 vCPU、128 GiB記憶體。

    • 計算節點間使用eRDMA網路互聯。

    叢集鏡像ID

    Alibaba Cloud Linux 2.1903 LTS 64位

  2. 建立叢集使用者。具體操作,請參見使用者管理

    叢集使用者用於登入叢集,進行編譯軟體、提交作業等操作,本文建立的使用者樣本如下:

    • 使用者名稱:testuser

    • 使用者組:sudo許可權組

  3. (條件必選)如果您是手動建立叢集,則您需要安裝wrf-aocc軟體;否則,請跳過此步驟。具體操作,請參見安裝和卸載叢集軟體

    說明

    安裝wrf-aocc軟體至叢集後,將自動觸發安裝所有其他必需的依賴軟體。

步驟一:環境驗證和配置

  1. 登入E-HPC Portal。具體操作,請參見登入E-HPC Portal

  2. 在E-HPC Portal頁面,單擊頁面右上方image表徵圖,通過Workbench遠端連線叢集。

  3. 執行以下命令,查看軟體是否安裝成功,以確保系統成功載入特定版本的環境。

    module avail

    系統返回資訊如下所示:

    image

  4. 配置conus12km算例。

    1. 執行以下命令,下載並解壓算例檔案。

      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/* .
    2. 執行以下命令,下載並解壓NCL程式設計語言。

      cd ~
      wget https://ehpc-perf.oss-cn-hangzhou.aliyuncs.com/AMD-Genoa/WRFV4/ncl_draw.tar.gz
      tar -zxvf ncl_draw.tar.gz
  5. 執行以下命令,修改~/.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:$PATH
  6. 在四個計算節點上統一執行以下命令,安裝NCL和ImageMagick。

    說明

    您可以通過控制台快速發送命令執行。具體操作,請參見發送命令

    sudo yum install -y ncl ImageMagick
  7. 執行以下命令,建立檔案名稱為png2gif.sh的作業執行檔案。

    cd ~
    vim png2gif.sh

    單擊查看指令碼樣本:

    #!/bin/sh
    
    echo date
    echo "------------get wrfout_d01 file-------------"
    ls -al wrfout_d01* | awk '{print $9}'
    echo "----------start change png tp gif-----------"
    
    
    out_gif=''
    for i in "$@"; do
      case $i in
        -out)
          shift
          out_gif=$1 
          break 
          ;;
        *)
          echo "Other parameter: $i"
          ;;
      esac
    done
    WRFPath=`pwd`
    for file in `ls -al wrfout_d01* | awk '{print $9}'`; do
            export FILE_PATH="/$WRFPath/$file"
            echo "-----------$FILE_PATH-----------"
            ncl surface.ncl
    done
    echo "----------surface.ncl file-----------"
    ls -al wrfout_d01*.png | awk '{print $9}'
    
    echo "----------convert delay start-----------"
    if [ -n "$out_gif" ]; then
      convert -delay 50 wrfout_d01_2019-11-26*.000001.png "$out_gif"
    else
      convert -delay 50 wrfout_d01_2019-11-26*.000001.png wrfout_d01_2019-11-26.000001.gif
    fi

步驟二:提交作業

在完成環境驗證和配置後,請關閉Workbench對話方塊以繼續下述步驟。

  1. 在頂部導覽列,選擇任務管理

  2. 在頁面上方,單擊submitter

  3. 建立作業頁面,填寫以下作業資訊。

    說明

    請注意以下配置,未提及的配置請保持預設。

    • 基本參數

      參數

      樣本

      說明

      作業名稱

      wrf-conus12

      作業的名稱。

      如果需要自動下載解壓作業檔案,解壓目錄也將以作業名稱進行命名。

      輸出檔案

      • 變數名:out

      • 變數值:test.gif

      作業的輸出檔案。

      作業隊列

      comp

      運行作業的隊列。

      如果計算節點已加入到指定隊列中,則必須將作業提交到對應的隊列,否則作業會執行失敗;如果計算節點沒有排入佇列,則預設將作業提交到調度器所在的預設隊列中。

      執行命令

      線上編輯

      向調度器提交的作業執行命令,可以是指令檔,也可以是一段命令文本。您可以通過以下三種方式提交:

      • 線上編輯

      • 本地檔案

      • 上傳檔案

      計算節點數

      4

      用來運行此作業的計算節點數。

      任務數

      4

      每個計算節點運行此作業使用的任務數,即進程數。

      線程數

      2

      每個任務所使用的線程數,為空白時線程數為1。

      單擊查看執行命令樣本:

      #!/bin/bash
      
      ln -s ~/v4.4_bench_conus12km/* .
      ln -s ~/ncl/* .
      ln -s ~/png2gif.sh .
      
      rm -rf rsl.error.????
      rm -rf rsl.out.????
      
      rm -rf wrfout*
      
      ulimit -s unlimited
      ulimit -l unlimited
      
      export WRF_NUM_TILES=16
      export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
      export OMP_STACKSIZE="16M"
      
      
      # mpi + omp
      mpirun   -genv FI_PROVIDER="verbs;ofi_rxm" -bind-to core:2 ./wrf.exe
      
      source png2gif.sh -out 'test.gif' 
    • 進階參數

      參數

      樣本

      說明

      MPI效能剖析

      開啟MPI效能剖析

      選擇是否開啟MPI效能剖析。

  4. 單擊提交作業

    完成操作後,您可以看到狀態為RUNNING的作業任務。

    image

步驟三:查看作業詳情

  1. 在作業列表地區,找到目標作業,單擊操作列下的查看

  2. 在作業詳情頁面,您可以查看作業的詳細資料,如下圖所示:

    image

  3. 待作業任務完成後(狀態為COMPLETED),單擊輸入輸出檔案頁簽,然後選擇輸出檔案,查看作業運行結果。

    image

    GIF圖片如下圖所示:

    test

步驟四:查看效能剖析

  1. 在頂部導覽列,選擇效能管理,進入效能管理頁面。

  2. 效能剖析篩選地區,設定以下參數篩選效能剖析任務。

    參數

    說明

    狀態

    選擇剖析狀態為已完成

    類型

    選擇MPI類型。

  3. 找到名稱為wrf-conus12的任務,然後在左側單擊image按鈕,以查看效能剖析資訊。

    關於更多參數指標說明,請參見查看效能剖析

    image