使用WRF软件进行气象模拟计算
本文介绍如何使用E-HPC集群运行WRF软件进行气象模拟计算。
背景信息
WRF(Weather Research and Forecasting)采用新一代中尺度天气预报模式,是气象行业广泛应用的开源气象模拟软件。它为研究大气过程提供了大量选项,并可以在多种计算平台运行。更多信息,请参见WRF官网。
准备工作
创建E-HPC集群。具体操作,请参见使用向导创建集群。
配置集群时,软硬件参数配置如下:
参数
说明
硬件参数
部署方式为标准,包含2个管控节点,1个计算节点和1个登录节点,均采用ecs.c7.large实例规格,配置为2 vCPU,4 GiB内存,Ice Lake处理器,2.7 GHz。
软件参数
镜像选择CentOS 7.6公共镜像,调度器选择slurm,打开VNC开关。
创建集群用户。具体操作,请参见创建用户。
集群用户用于登录集群,进行编译软件、提交作业等操作,配置用户权限时,权限组请选择sudo权限组。
安装WRF软件。具体操作,请参见安装软件。
需安装的软件如下:
wrf-mpich,版本为3.8.1。
wrf-openmpi,版本为3.8.1。
mpich,版本为3.2。
openmpi,版本为1.10.7。
步骤一:准备算例文件
测试前您需要准备好namelist.wps文件。namelist是WPS(WRF Preprocessing System,WRF预处理系统)中的一个共享文件,该文件按照各个程序(geogrid.exe、ungrib.exe、metgrid.exe)所需要参数的不同分成三个部分(&geogrid、&ungrib、&metgrid)及一个共享部分(&share),分别定义了WPS模块所需要的各种参数。如下示例为推荐配置,未提及的参数保持默认即可。详细的namelist.wps文件参数及说明,请参见namelist.wps。
本示例中,namelist.wps放置在/home/wrftest/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
步骤二:运行geogrid.exe
geogrid.exe用于确定模拟区域,并把静态地形数据插值到网格点。
登录E-HPC集群。
登录时,请使用具有sudo权限的用户。具体操作,请参见登录集群。
安装NCL软件。具体安装步骤,请参见NCL官网。
查看集群是否已安装WRF的相关软件。
export MODULEPATH=/opt/ehpcmodulefiles/ module avail
加载WRF软件环境。
module load wrf-mpich/3.8.1 mpich/3.2 echo $WPSHOME $WRFHOME
将安装的WPS和WRF软件拷贝到工作目录。
cp -r $WPSHOME $WPSCOPYHOME cp -r $WRFHOME $WRFCOPYHOME
说明请将
$WPSCOPYHOME
和$WRFCOPYHOME
修改为实际的工作目录,如本示例中的/home/wrftest/WPS
。下载并解压地表数据。
说明本示例中地表数据使用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
链接到GEOGRID.TBL文件。
GEOGRID.TBL文件定义了geogrid.exe需要插值到网格点上的各静态地理数据集参数。
ln -s geogrid/GEOGRID.TBL GEOGRID.TBL
将静态地形数据插值到网格点。
./geogrid.exe
运行geogrid.exe成功后,会在WPS目录下生成geo_em.d0N.nc地形文件,预期返回结果如下:
步骤三:运行ungrib.exe
ungrib.exe用于从GRIB格式的气象数据中提取所需要的气象要素场。
下载并解压Katrina气象数据。
说明本示例中气象数据为Katrina.tar.gz,请下载Katrina.tar.gz。您也可以根据需要下载其他气象数据,更多信息,请参见气象数据。
wget http://www2.mmm.ucar.edu/wrf/TUTORIAL_DATA/Katrina.tar.gz tar -zxvf Katrina.tar.gz
通过link_grib.csh脚本链接气象数据。
./link_grib.csh /home/wrftest/wrfdata/Katrina/avn
选择气象数据相应的Vtable。
本示例使用的Vtable为Vtable.GFS,您可以根据需要使用其他的Vtable。
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
提取所需要的气象要素场。
./ungrib.exe
运行ungrib.exe成功后,会在WPS目录下生成FILE:YYYY-MM-DD_hh*文件,预期返回结果如下:
步骤四:运行metgrid.exe
metgrid.exe用于将ungrib.exe提取出的气象场数据水平插值到由geogrid.exe确定的网格点上。
链接到GEOGRID.TBL文件。
GEOGRID.TBL文件定义了metgrid.exe如何将气象数据水平插值到网格点上。
ln -s metgrid/METGRID.TBL.ARW METGRID.TBL
将气象场数据水平插值到由geogrid确定的网格点上。
./metgrid.exe
运行metgrid.exe成功后,会在WPS目录下生成met_em.d0N.yyyy-mm-dd_hh:mm:ss.nc文件,预期返回结果如下:
步骤五:运行wrf.exe
wrf.exe用于输出天气预测数据。运行wrf.exe前,请先定义好namelist.input文件。namelist.input中&time_control、&domains部分的相关参数需要与namelist.wps文件中参数保持一致。详细的namelist.input文件参数及说明,请参见namelist.input。
本示例中,namelist.input放置在/home/wrftest/WRFV3/run
目录下。
进入WRFV3软件目录。
cd /home/wrftest/WRFV3
连接WPS的处理结果。
ln -s /home/wrftest/WRFV3/run/met_em*
初始化模拟数据。
./real.exe
运行real.exe成功后,会在
/home/wrftest/WRFV3/run
目录下生成wrfinput.d0N、wrfbyd.dxx。输出天气预测数据。
mpirun -np 10 /home/wrftest/WRFV3/run/wrf.exe
运行wrf.exe成功后,会在WRF目录下生成wrfout.d0N_[date]文件。
使用NCL图像化WRF运行结果如下图所示: