WRF-ARW模式是针对大气研究和业务预报应用设计的中尺度数值天气预报系统,适用于从几十米到几千公里的广泛气象应用。本文将以WRF-ARW V3.9.1版本为例,介绍其在超算中心上模拟飓风马修登陆。给大家简单运行一下WRF在超算平台的实际应用案例,并建立起数值模式模拟的一个初步印象。
本教程将以官网—2016年10月飓风马修登陆为例,介绍WRF-ARW在北京超算中心上的基础运行操作。
WRF-ARW运行需要静态地理数据(如地形、植被分布、下垫面类型和提地利用分类等)、大气再分析以及海温资料,并最终通过WPS步骤生成包含基础地理信息的水平气象强迫场。用户可以根据实际案例需求,从官网下载到指定时空分辨率和数据来源的各类资料,并通过选择对应Vtable对数据进行解码分类。
https://www2.mmm.ucar.edu/wrf/users/download/free_data.html
2.1.1 解码气象资料
(a) 创建数据目录并解压气象资料
mkdir Data
tar -xvf matthew_1deg.tar.gz
# 得到2016-10-06_00至2016-10-08_00的逐6小时、1度分辨率的GRIB2格式GFS气象场
${WRFPATH}/WPS/util/g2print.exe fnl_20161006_00_00.grib2
# 查看气象场详细信息,${WRFPATH}即为WRF-ARW的源代码路径
(b)链接气象场、变量注册表以及源程序
当进行以上操作后,会得到如下链接文件
(c)修改namelist.wps并运行ungrid.exe解码资料
在&share和&ungrib参数部分:设置模式区域(max_dom=1,单层),积分起止时间对应资料时段,强迫场时间分辨率(interval=21600,即逐6小时),解码文件前缀(prefix=’FILE’)。
有关namelist.wps的详细参数说明可以参考WRF-ARW官网:
https://www2.mmm.ucar.edu/wrf/users/namelist_best_prac_wps.html
./ungrib.exe:得到如下解码资料
2.1.2解码海温资料
若实际应用需要更新海温,则可以重复以上操作对下载的海温资料进行解码,但需设置链接变量注册表Vtable.SST,设置解码文件前缀为prefix=’SST’,再最终运行ungrib.exe得到以下解码资料。
首先需要准备静态地理数据Static geography data(~29 G),不过北京超算中心已经预先准备好了不同分辨率的地形数据,所以这里只需调用即可。
(a)修改namelist.wps中的&geogrid参数部分:
(b)检查模式网格区域并运行geogrid.exe生成地形
ncl ${WRFPATH}/WPS/util/plotgrids.ncl # 可视化模式网格区域
./geogrid.exe:# 得到geo_em.d01.nc地形文件
后续可以通过ncview、Panoply和ARWpost等软件查看文件具体信息。
链接注册表和源程序
./metgrid.exe # 得到如下插值后的水平气象强迫场met_em.d01.*.nc
(a)修改namelist.input
在&time_control和&domains参数部分:调整模式网格区域、积分起止时间、强迫场时间分辨率和水平和垂直分辨率同namelist.wps保持一致。相比于WRFV3/em_real/namelist.input,本次示例调整部分参数如下:
namelist.input还在&physics,&dynamics和&fdda部分,提供了丰富的物理参数化、积分以及同化方案供用户选择,具体参数说明可见:
https://www2.mmm.ucar.edu/wrf/users/namelist_best_prac_wrf.html
(b)链接注册表和源程序
提交real.exe作业,得到模式的初始场wrfinput_d01和边界场wrfbdy_d01,适配背景超算中心的slurm作业脚本如下:
提交wrf.exe作业,得到模式结果和Restart文件。在本示例中:模式结果输出频率为逐3小时,每8个时刻打包为1个文件;Restart文件输出频率为逐24小时。
图/NWS
图/Wikimedia
/public1/soft/wxl-bin/sacct-wxl 作业号:检查作业情况。slurm作业系统运算资源充足,无需排队,在采用单节点48核(单节点满核为128)并行条件下,作业运行时间只需2分41秒,可以极大提高计算效率。
到此已经完成了简单示例的运行。WRF-ARW的运行流程大致如此,北京超算平台的基础数据比较完备,计算效率比一般课题组里小服务器快许多,而且在单节点有128核情况下,类似占用核数不超过128的作业任务,不用排队,高性能计算也极大提高了数值模式运行效率,十分方便。在后续推文中,我们会进一步分析如何处理实际应用中涉及到的资料同化、重启动、海温更新、网格嵌套以及数据可视化等问题。