阿里云首页 弹性高性能计算E-HPC 相关技术圈

使用WRF软件进行气象模拟计算

本文以WRF软件为例介绍如何在E-HPC上进行高性能计算。

背景信息

WRF(Weather Research and Forecasting)采用新一代中尺度天气预报模式,是气象行业广泛应用的开源气象模拟软件。它为研究大气过程提供了大量选项,并可以在多种计算平台运行。更多信息,请参见WRF官网WRF

准备工作

测试前您需要准备好namelist.wps文件。namelist是WPS(WRF Preprocessing System,WRF预处理系统)中的一个共享文件,该文件按照各个程序(geogrid.exe、ungrib.exe、metgrid.exe)所需要参数的不同分成三个部分(&geogrid、&ungrib、&metgrid)及一个共享部分(&share),分别定义了WPS模块所需要的各种参数。如下示例为推荐配置,未提及的参数保持默认即可。详细的namelist.wps文件参数及说明,请参见namelist.wps

#共享部分
&share   
wrf_core = 'ARW',    #wrf_core:选择WRF dynamical core,有'ARW'和'NMM'两个选项,默认值为'ARW'。
start_date = '2005-08-28_00:00:00',   #start_date:模拟开始时间
end_date = '2005-08-29_00:00:00',     #end_date:模拟结束时间
interval_seconds = 21600,
max_dom = 1,            #max_dom:模拟网格数(粗网格+嵌套网格),本示例中包含一个粗网格
io_form_geogrid = 2,    #io_form_geogrid: geogrid程序输出格式


#geogrid部分
#确定区域范围、嵌套关系、模型投影
&geogrid
parent_id = 1,
parent_grid_ratio = 1,
i_parent_start = 1,
j_parent_start = 1,

#确定网格在东西方向、南北方向的尺度(区域的矢量场的栅格数),本示例中为98*70个网格点
e_we = 98,       
e_sn = 70,
geog_data_res = 'default',

#定义区域的栅格尺寸,本示例中网格分辨率为30km
dx = 30000,     
dy = 30000,

#定义投影方式,关于投影方式说明可以参考WRF官网
map_proj = 'mercator'

#定义区域的中心经纬度坐标
ref_lat = 25.00,
ref_lon = -89.00,

#投影的三个参数值,随投影方式不同设定不同
truelat1 = 0.0,   
truelat2 = 0.0,
stand_lon = -89.0,
geog_data_path = '地表数据存储路径'


#ungrib部分
&ungrib
out_format = 'WPS',  #out_format:ungrib生成的可供metgrid读取的文件格式,有'WPS'、'SI'、'MM5'三种格式,默认值:'WPS'
prefix = 'FILE'      #prefix:ungrib生成的中间文件路径和文件前缀名
 
 
#metgrid部分 
&metgrid  
fg_name = 'FILE',      #fg_name:ungrib程序生成的文件
io_form_metgrid = 2,   ##io_form_metgrid:metgrid生成的文件格式,支持三种格式1(binary,后缀名.int)、2(net CDF,后缀名.nc)、3(Grib1,后缀名.gr1),默认值:2

步骤一:创建集群和用户

  1. 登录弹性高性能计算控制台

  2. 创建一个名为wrf-test的E-HPC集群。

    具体操作,请参见创建集群。请注意以下配置参数:

    • 调度器:选择slurm

    • 其他软件:安装wrf-mpich 3.8.1、wrf-openmpi 3.8.1、mpich 3.2、openmpi 1.10.7软件。

    • VNC:打开VNC开关,打开后可以自动部署远程可视化窗口。

      wrf-test
  3. 创建一个名为wrftest的sudo用户。

    具体操作,请参见创建用户

步骤二:运行geogrid.exe

geogrid.exe用于确定模拟区域,并把静态地形数据插值到网格点。运行geogrid.exe前,做好以下准备:

  • 已在登录节点安装NCL软件。具体安装步骤,请参见NCL官网

  • 已准备好namelist.wps文件。具体参数说明请参见准备工作

说明

本示例中,namelist.wps放置在/home/wrftest/WPS目录下。

  1. 集群页面,找到wrf-test集群,单击远程连接

  2. 远程连接页面,输入集群用户名wrftest、登录密码和节点端口,单击ssh连接

  3. 查看集群是否已安装WRF的相关软件。

    export MODULEPATH=/opt/ehpcmodulefiles/
    module avail
  4. 加载WRF软件环境。

    module load wrf-mpich/3.8.1 mpich/3.2
    echo $WPSHOME $WRFHOME
  5. 将安装的WPS(WRF Preprocessing System)和WRF软件拷贝到工作目录。

    cp -r $WPSHOME $WPSCOPYHOME
    cp -r $WRFHOME $WRFCOPYHOME
    说明

    请将$WPSCOPYHOME和$WRFCOPYHOME修改为实际的工作目录,如本示例中的/home/wrftest/WPS。

  6. 下载并解压地表数据。

    说明

    本示例中地表数据使用geog_complete.tar.gz,您也可以根据需要,下载其他地表数据。更多信息,请参见WRF官网

    cd /home/wrftest/WPS
    wget https://www2.mmm.ucar.edu/wrf/src/wps_files/geog_complete.tar.gz
    
    tar -zxvf geog_complete.tar.gz
    
    
  7. 链接到GEOGRID.TBL文件。

    GEOGRID.TBL文件定义了geogrid.exe需要插值到网格点上的各静态地理数据集参数。