前几天受人之托在 Ubuntu 服务器上安装 WRF,研究了一整天搞定,下面记录一下流程以及推荐据此整理出来的 Docker 镜像。 WRF(Weather Research and Forecasting Model) 模式是有美国环境预报中心 (NCEP), 美国国家大气研究中心(NCAR)以及多个大学、研究所和业务部门联合研发的一种统一的中尺度天气预报模式。WRF 模式适用范围很广,从中小尺度到全球尺度的数值预报和模拟都有广泛的应用。(偷懒摘录自上海交大超算平台用户手册文档) 依据的流程主要是官方编译手册,已经算是非常详细。中文方面参考的主要是这篇文章。最后整理的 Docker 仓库为wrf-docker。
你可以采用以下几种方式安装使用 WRF:
- 如果你是 Ubuntu 20.04 用户,可以直接根据我整理的 Dockerfile进行逐步的安装。除了环境变量设置地方的差异,几乎可以逐条复制 Dockerfile 中的命令(去除
RUN
)。在命令行中进行环境变量设置的方法是export DIR=/Build_WRF
。 - 如果你希望使用 Docker 方式,但是有一些自己个性化的需求(例如采用不同版本),那么下载 Dockerfile 修改后构建即可。
- 如果你希望使用 Docker 方式,且直接使用原始 Dockerfile 中构建特性,那么直接
docker pull wogong/wrf:latest
即可,后续使用docker run -ti wogong/wrf:latest /bin/bash
进入容器,可直接使用real.exe
wrf.exe
等命令。
说明🔗
- 为什么不采用现有的 Docker 方式安装?我在 Github 上确实发现了两个仓库,但是版本比较陈旧,且基于 centos,不太方便修改,故自己重新整理了基于 ubuntu 的镜像。
- 为什么不采用 Ubuntu 22.04?Ubuntu 22.04 的 gcc 版本过高,在编译 WRF 中会报错,故采用 Ubuntu 20.04
- Dockerfile 中 WPS 的
.configure
会报依赖缺少的错误(其实并不缺,我没仔细检查脚本报错的原因),导致最后生成的configure.wps
无法使用,这一行是手动编辑生成的configure.wps
文件避免这个问题。
参考链接🔗
- 官方编译手册:https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php
- WRF 模式安装(ubuntu):https://blog.csdn.net/islandowner2017/article/details/119302628
- 文中提到的 WRF docker 之一 https://github.com/NCAR/WRF_DOCKER
- 文中提到的 WRF docker 之二 https://github.com/NCAR/container-dtc-nwp/blob/main/components/wps_wrf/Dockerfile
- WRF 自 4.0 之后代码发布在 Github
- WRF 最新的在线手册 https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.4/contents.html