首页/文章/ 详情

《气象数值模式WRF的编译、运行和处理》

1年前浏览2494

本文源自曙光智算主题征文活动

投稿人:流洋(华东师范大学)


WRF(Weather Research and Forecasting)气象数值模式是一种用于天气和气候预测的大气模式,可以模拟大气中的各种物理和化学过程,包括辐射传输、湍流、云微物理、降水、地表过程等,可以用于预测各种天气现象,如降水、温度、风速等。WRF模式免费开源、可扩展性强,被广泛应用于气象、环境、农业和水文等领域。WRF模式的编译和运行需要一定的Linux基础,且随着模拟分辨率的提高,对科学计算资源的需求十分迫切,让我们看看曙光智算AC.sugon.com平台如何高效运行和处理WRF模式。


计算服务平台

曙光智算平台提供了网页端(AC.sugon.com)和客户端(支持Windows和Mac系统)两种启用方式,不仅提供了命令行和数据管理功能,还支持VS code和Jupyter等编程工具,能够满足不同场景下的使用需求。

 

进入命令行模式,即可通过Linux操作命令进行环境管理、软件编译、文件移动等等

 


输入module avail,即显示平台可提供调用的编译环境、基础模块和常用工具


我们可以看到平台上已经安装好了可用的WRF和WPS

►WRF安装路径:/public/software/apps/WRF

►WPS(WRF前处理模块)安装路径:/public/software/apps/WPS


可通过module load加载所需工具或软件:

►加载WPS 3.9.1环境:module load apps/WPS/3.9.1/hpcx-intel2017

►加载WRF 4.2环境:module load apps/WRF/4.2/hpcx-intel2017


编译WRF

如果我们需要使用其他的WRF版本,也可以自己进行编译。编译WRF模式所需的基础环境都可以直接通过module load进行加载,不用再自己折腾hdf5、netcdf等模块的安装,很大程度节省了基础性环境配置工作量。


这里列出了WRF编译所需的基础环境配置:

#intelmpi

module load mpi/intelmpi/2021.3.0

#ZLIB

module load mathlib/zlib/1.2.11/intel

#SZIP

module load apps/szip/2.1.1/intel

#HDF5

module load mathlib/hdf5/1.12.0/mpi-intel_fortran_parallel

#NETCDF

module load mathlib/netcdf/4.4.1/intel

#LIBPNG

module load mathlib/libpng/1.2.50/intel

#JASPER

module load mathlib/jasper/1.900.1/intel


通过module list即可查看当前已加载的环境变量:

 


接下来需要下载我们想要的WRF及WPS版本源码

►WRF模式源码下载地址:https://github.com/wrf-model/WRF

►WPS模式源码下载地址:https://github.com/wrf-model/WPS


我们可以创建model文件夹来编译WRF模式,上传WPS-4.5.tar.gz和WRF-4.5.tar.gz:


Step1:解压缩

tar -zxvf WRF-4.5.tar.gz

tar -zxvf WPS-4.5.tar.gz

 


Step2:编译WRF

运行configure命令进行配置(按所加载的基础环境的编译器进行设置)

./configure

 


这步一定要根据编译器进行选择。上述环境使用的ifort编译器,这里选择15

 


随后选择1,即可开始正式编译,并将编译日志输出到log.compile

./compile em_real >& log.compile


检查编译结果,出现如下4个exe即为成功

ndown.exe  real.exe  tc.exe  wrf.exe


Step3:编译WPS

设置WRF路径

export WRF_DIR=/xxx/xxx/xxx/WRF-4.5

运行configure命令进行配置

./configure

 

这步一定要根据编译器进行选择,上述环境使用的ifort编译器,这里选择19


正式编译,并将编译日志输出到log.compile

./compile >& log.compile


检查编译结果,出现如下3个exe即为成功

geogrid.exe  ungrib.exe  metgrid.exe


运行WRF模式&提交作业

首先,需要进行WRF模式前处理(WPS),运行流程如下(来自WRF使用手册):

 

其中,geogrid.exe需要静态地理数据,服务器上已将其存放在公共路径,可以不用另行下载。


►静态地理数据路径:/public/software/meteorology/WPS_GEOG

►静态地理数据下载:https://www2.mmm.ucar.edu/wrf/users/download/get_sources_wps_geog.html

 

在运行WRF模式前,我们需要设置namelist.wps和namelist.input,namelist.wps文件用于配置WPS的运行参数,例如指定最大嵌套层数、模拟开始和结束时间等;namelist.input文件用于real.exe和wrf.exe可执行文件。

 

随后依次运行ungrib.exe、metgrid.exe和real.exe,ungrib.exe将静态GRIB数据转换为中间文件格式;geogrid.exe将静态地理数据拟合到指定网格;metgrid.exe获取来自geogrid.exe和ungrib.exe的输出并将数据插值到指定时间和空间,最后通过wrf.exe来运行WRF模式。


►关于WRF模式的设置及运行可参考WRF手册:https://github.com/wrf-model/Users_Guide

 

特别重要的是,高计算需求的任务不要在前台跑,例如real.exe和wrf.exe需要提交作业。


进入数据管理,可以查看文件目录,实时查看WRF模式的前处理流程:

 

需要关注一下个人主目录用量,确保有足够的存储空间。如果空间不够用,可以进行扩容:

 

然后,可以在客户端【应用】中的【基础模板】

或在网页版的【科学计算】→【作业提交】→【更多应用模板】中的【基础模板】提交作业,依次进行如下设置:

 

我们可以通过如下命令实时查看作业进度,或取消指定的作业

 

作业完成后,可以查看作业日志、错误信息和详细信息

 

关于计算开销也十分清晰:

 


处理WRF模式模拟结果

支持NCL编程处理https://www.ncl.ucar.edu/

 


支持Python编程处理:https://wrf-python.readthedocs.io/en/latest/index.html

 


WRF模拟降雨量示意图:

 


WRF模拟后的重要数据不仅能下载到本地,还支持多种分享方式,便于跨服务器传输

 


使用体验

一直觉得WRF编译和数据传输是非常花时间的,但这次在曙光智算平台上使用后发现很多环境配置的工作都由技术人员完成了,可以供大家根据自己需求调用。并且基于网页端和客户端的连接具有更好的灵活性,身边没有笔记本和台式机的情况下,也可以通过手机或平板来连接。此外,平台可以联网使用,支持Anaconda进行Python包的管理,对数据处理和可视化也有很好的支持。总得来说,WRF模式的编译、运行和处理的整个环节都可以在一个平台上完成,很大程度提高了工作效率





来源:曙光计算服务
化学湍流农业python气象
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-29
最近编辑:1年前
曙光智算
算力链接价值
获赞 8粉丝 4文章 6课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈