WRF(Weather Research and Forecasting Model)是由美国环境预测中心(NCEP)及美国国家大气研究中心(NCAR)等一系列美国科研机构合作开发的一款中尺度数值天气预报模式,因具有可移植、可扩充、易维护及高效率等优势,使其在国内外都得到了广泛的应用。但由于本地 WRF 模式的运行需要基于 Linux 系统,全流程上的编译、安装、前处理、运行及分析过程都具备相当程度的复杂性,因此给相关研究人员带来了不少实操上的困难。
基于此,本文将介绍一种基于云端数据科学协同平台——ModelWhale 的 WRF 模式,在一定程度上多角度多方面地解决上述问题,以期为大气科学领域的研究者们提供更为便捷、实操性更强的中尺度天气预报模式,助力相关科学研究的可持续发展。
一、传统基于小型计算机本地的 WRF 模式
天气与气候变化是生态环境领域重要的研究对象,对其具备合理的认知是进行生态、环境及能源评估与规划的先决条件,因此,有关天气预报与气候模拟的应用正不断被扩展并深入,WRF 中尺度数值天气预报模式应运而生。
该模式采用 Fortran90 语言编写,因此即使是在不同的平台,只要拥有版本适用的 Fortran 编译器,就可使该模式的源代码得到编译层面的移植,这使其具备了灵活、易维护、可扩展及能够适用于广泛的计算平台等特征。除此之外,相较于其他气候模式,WRF 模式具有先进的数据同化技术、功能强大的嵌套能力及先进的物理过程,使其在对流与中尺度降水处理能力等方面更具优势。
随着 WRF 模式的高速发展,其基于分辨率的适用范围与基于模式模块的应用范围都变得更为广泛。作为大气科学领域实际业务与科学研究场景中不可或缺的工具之一,WRF 模式在区域气候模拟、空气质量模拟、海气耦合及理想实验模拟中都发挥了重要的作用。
传统基于小型计算机本地 WRF 模式运行过程中现存的问题
WRF 模式由四部分组成,即预处理系统(WPS,用于将数据进行插值与模式标准初始化、定义模式区域及选择地图投影方式)、资料同化系统(WRFDA,包括三维变分同化)、动力内核即主模块(ARW/NMM)及后处理系统(图形软件包)——作为由多个极为复杂的组件构成的应用,WRF 模式的安装过程极为复杂,运行过程也极为耗时。
首先,针对安装过程,WRF 模式除了需要提前配置 Linux 操作系统,还需准备大量依赖库,如在安装 WPS 时还需安装 zlib、libpng 及 Jasper 用以读取 GRIB2 格式的气象数据,安装主模块前也需安装 Intel Fortran、netCDF4 及 HDF5 支持库,若有并行运算的需求,还需安装 OpenMPI 或 MPICH。在传统小型服务器上,一般采用 sudo apt-get install 命令安装软件,并进入 bashrc 设置对应软件与库路径的环境变量,十分麻烦,且常因软件版本、相互依赖关系及系统环境的兼容性问题导致安装报错,耗费过多的时间。
而针对 WRF 模式的运行过程,若使用传统单 CPU 单核的个人单机作为载体,即便是常规项目,往往也需要运行一天以上,同时,还极易出现运行报错或电脑崩溃等其他问题,极大程度上拖慢了数据生产效率,消耗科研人员过多的时间与精力。
为减小安装困难、弥补算力不足,除了在已经完成环境布置的实验室电脑、大型机或超级计算机上直接运行 WRF 模式,可行性与实操性更强的方法是将个人单机接入超算中心远程访问,又或是选取一已预装相关镜像的在线大数据平台,在线完成全套 WRF 模式的运行与结果输出。本文就将介绍一种基于云端数据科学协同平台——ModelWhale 的 WRF 中尺度数值天气预报模式。
二、基于云端数据科学协同平台 ModelWhale 的 WRF 模式
ModelWhale 是和鲸科技旗下的一款数据科学协同平台,集数据管理、建模分析、模型训练管理、算力资源管理及任务管理等功能于一身,支持 Python 及 R 等编程语言,通过逐级开放的数据基础设施与 Jupyter Notebook 交互式、Canvas 拖拽式、CloudIDE 三种分析模式及即开即用的云端分析环境,为各领域科研工作者及团队解决数据安全应用、底层工程繁复及研究成果流转复现困难等问题,从而使数据驱动的研究更为便捷高效。若是能够在 ModelWhale 上运行 WRF 模式,那么该云端数据科学协同平台能够在以下几个方面为大气科学家们予以技术上的支持,大大提升他们的科研效率:
提前预设的“WRF 镜像”,免除传统 WRF 模式繁复的安装步骤
ModelWhale 在后台为用户们定制了“WRF 镜像”,该镜像中已预装了与 WPS 及 WRF 系统相关的绝大部分依赖库及程序模块。基于该平台的在线 Jupyter Notebook 运行 WRF 模式时,研究人员只需选择“WRF 镜像”,即可在快速调用一系列依赖库后,对程序模块完成编译,换句话说,不需要任何复杂的操作,只需选择镜像 - 等待数分钟依赖库调用与程序模块编译的完成,即可结束 WRF 模式所有的“安装”步骤,极大程度上减小了 WRF 模式开始运行的技术门槛。
可供选择的多规格云算力资源,助力 WRF 模式数据生产效率的成倍提升
ModelWhale 提供云算力的租赁服务,用户们可按需选择各种规格的 CPU 计算资源.
曾有研究将 WRF 模式构建于32核的 Linux 集群系统并进行了并行计算实验,结果表明:当处理器个数逐步增加至16时,WRF 模式运行的总时间随个数的增加单调减少;而随着处理器个数从16继续增加至26时,模式运行的总时间趋势上虽在总体减小,但变化并不明显,且存在一定的起伏。可以说,在成本可控的范围内,16核64G的 CPU 计算资源在 WRF 模式的运行过程中具有极高的时间效率,能够成倍节省大气科学家们的研究时间。
ModelWhale 能够提供高阶云端算力的接口,完成付费后,研究人员即可在个人单机上应用各种规格的 CPU 计算资源运行 WRF 模式。
以上,通过镜像配置与算力配置,基本可以解决传统基于小型计算机本地的 WRF 模式在运行过程中易出现的安装困难及计算资源不足等问题。
支持多类型本地数据的上传接入与超大数据的云上调用,减免 WRF 模式运行前期的数据准备工作
对比实验室大型机或超算中心,ModelWhale 还具备云端数据挂载功能,帮助推进 WRF 模式运行前的数据准备工作。
一般而言,驱动 WRF 模式运行最为基础的数据包含地形数据与初始气象场数据(指 GFS 数据与 FNL 数据),两者均须从相关网站有选择地下载至个人单机本地,再通过硬盘或其他方式数次转移至不同的实验室大型机或超算中心,十分耗时。但若将两种数据挂载到云端,那么仅需一次下载+上传的操作,就能够实现数据的多次复用与团队共享,使用时,待数据挂载完成后直接调用即可,不再需要多余的数据转移步骤。目前,若使用的数据量不大,即可以数据集的形式进行挂载(ModelWhale 后台也提供部分相关数据集)。
但事实上,地形数据是不随时间变化的静态数据集,一次接入后可用于后续所有的模拟过程,而初始气象场数据每日更新的时间点与频率是固定的,对其进行定时爬取也是可操作的。未来,随着基于 ModelWhale 的 WRF 模式受众逐渐变多变广,ModelWhale 也将以 NAS 空间的形式挂载全部的地形与初始气象场数据,由专人进行云端数据的长期维护。研究人员在运行 WRF 模式的过程中直接按需调取即可,进一步省去了从 NCEP 等官网下载到上传云端平台的步骤,轻松实现对超大气象数据的研究与分析。
不同功能模块协助全方位优化 WRF 模式运行的工作流程
ModelWhale 本身具备的其他功能还能够实现 WRF 模式运行工作流的优化,减少底层工作的繁复,全方位减轻研究人员的各种负担。
对于个人研究者:
例如对于个人研究者而言,ModelWhale 除了能够提供上述的环境、算力及数据,其 Jupyter Notebook 还具备优秀的版本管理功能——面对 WRF 模式运行过程中需要多次修改与迭代的研究参数,如若打算保留每个版本,就需在每次修改前创建副本并重新命名,最终很可能导致研究者本人都无法区分有效的版本成果。
而 ModelWhale 支持为复杂研究项目的阶段性工作进行版本管理,提供了生成项目版本、版本比对、内容替换及合并版本的功能,针对每处修改,研究人员都可以实现文件级回退与 Cell 级回溯。
对于团队研究者:
而对于团队研究者而言,ModelWhale 除了助力项目级代码编写上的共同协作,更重要的是能够协助进行生产资料的共享管理,促进团队内部的合作协同,助推研究成果的复现工作。在 ModelWhale 团队版的团队空间中,后台提供了团队的共享视图,管理者们可以灵活地对各类研究课题、算法项目、分析任务进行分工拆解、任务分配、数据接入、资源分配、进度监控、成果验收及成果复用等项目管理工作。
简而言之,对于 WRF 模式所需的环境、算力及数据,管理者们既能够使其在团队内部实现流转与共享,也能够对其进行管理与控制,保障数据安全的同时避免资源的浪费。而对于 WRF 模式跑通后的代码文件与研究成果,同样可在团队中进行成果复现——权限允许的情况下,可对他人已发布的科研成果进行一键 Fork,甚至可查询其历史版本,实现组织内部的有效协作,大大提升工作效率。
在课题研究完成后,科研人员团队可以选定运行时的分析环境、挂载的数据集及最后的代码版本,将生产要素全部整合在一起,并补充一定的文字说明,沉淀至组织的课题成果库中。
此外,ModelWhale 团队版还可升级为科研版与教研版。科研版主要从任务规划及算法库等功能模块简化研究工作的复杂程度,低门槛上手数据分析工作的同时拓展数据研究的边界,实现多人、多角色、随时随地协同进行数据驱动的相关研究;教研版则主要实现教科研一体化,兼备课题管理与课程管理的功能,实现灵活的群组管理机制,助力从学到研、从研到学的双向角色转换。
所具备的可视化后处理与机器学习后加工功能,真正实现 WRF 模式的一体化工作流
在整个 WRF 模式跑通结束后,针对所输出的 NetCDF数据(nc 数据),ModelWhale 还能够提供可视化后处理与机器学习模型训练后加工功能,真正实现了 WRF 模式的一体化工作流。
可视化是连接 WRF 模式结果输出与结果展示的桥梁,基于 ModelWhale 的 Jupyter Notebook 使用 Python 进行 WRF 模式的可视化流程一般可以包括,通过 netCDF4 库对 nc 数据进行简单读写与处理、使用 NumPy 库进行经纬度换算、通过 Cartopy 与 Matplotlib 库对数据进行可视化、使用 Matplotlib 库绘制图片细节等。
除可视化之外,ModelWhale 还能够提供模型训练功能,支持运用机器学习对 WRF 模式预报结果做数据后加工处理。众所周知,机器学习正在气象领域发挥巨大的作用,结合传统物理模式与机器学习模型训练的智慧天气预报因具备(时空)高分辨率、高准确率而逐步成为天气预报的主流形式。若能结合机器学习的订正技术对 WRF 模式的结果做校准优化,无疑是极大程度地提升了预报成果的质量,而基于 ModelWhale 的 Jupyter Notebook,大气科学家们即可轻松在云端按需进行模型训练与模型调用。
当然,在传统个人单机并非不能进行 WRF 模式的后处理与后加工,而将 ModelWhale 作为上述操作的载体,除了其具备诸如版本管理及团队协作等锦上添花的功能,最为主要的原因是能够免去研究者们对于 nc 数据转移与转化的过程,只需将 WRF 模式跑通输出的数据集直接挂载,即可随时开始后处理后加工,避免了基础工作的繁复。
将云端数据科学协同平台 ModelWhale 作为 WRF 模式运行载体的实际案例
目前,ModelWhale 已为不少高校与机构提供 WRF 模式的相关服务,助力其在大气科学领域进行教学、科研及应用实操。
郑州大学的 Z 老师基于 WRF 模式的授课需求,采购了 ModelWhale 教研版产品,ModelWhale 为 Z 老师提供了为期数月的 WRF 模式云端教学实训平台服务。过程中,该产品不仅能够协助 Z 老师带领研究生们跑通基础的 WRF 模式、进行必要的 nc 数据后处理后加工、低门槛复现已有的研究成果并完成教学过程中的各项小组实训与作业,更是能够帮助 Z 老师进行课程管理,使教学准备更为丰富完善、授课过程更为高效流畅、课后评估更为专业便捷。
而云南大学的 S 老师主要通过 ModelWhale 产品支持其课题组的科研工作,于云端进行包括但不限于 WRF 的模式分析。ModelWhale 为 S 老师提供了各模式所需镜像,并配有技术顾问全程协助、解答疑难,最终打造了一款能够全线适用于该课题组的云端科研空间,提供数据存储及算力资源等服务的同时,协助其跑通各气象预报模式并进行可视化后处理与机器学习后加工,满足了硕博研究生们日常的科研任务。
事实上,ModelWhale 作为一款数据科学协同平台,在大气科学领域具备相当的经验——来自国家、地方气象局的诸多气象研究人员也正使用 ModelWhale 产品作为其进行气象大数据挖掘分析与机器学习的协同工具,ModelWhale 也因此收获了各位大气科学家们的正向反馈。
三、欢迎广大研究人员使用 ModelWhale 在线运行 WRF 模式
本文介绍了一种基于云端数据科学协同平台 ModelWhale 的 WRF 模式,极大程度上缓解了传统基于小型计算机本地的 WRF 模式在安装与运行等方面出现的问题。除此之外,ModelWhale 所具备的资料管理及成果复现等功能更是能够帮助提升工作效率,同时,平台还能够协助科研人员对 WRF 模式生产的数据进行可视化后处理与机器学习后加工,真正实现工作流一体化的操作。
目前,ModelWhale 平台为气象及相关领域的研究者们免费提供跑通 WRF 模式的镜像与算力,欢迎大家动手实操,有意向的师生请【联系 ModelWhale 的产品顾问 MoMo】,MoMo 将提供一应的配置支持服务与相关项目资源,协助用户们快速上手实操。