Weather Research and Forecasting,简称WRF是一种由国家大气研究中心、国家海洋和大气管理局及其合作伙伴共同开发的广泛使用的数值天气预测和大气研究工具。它用于模拟短期天气预报、大气过程和长期气候模拟。WRF的精度高于传统的数值天气预报模型,并具有更高的时空分辨率,是气象和大气研究社区的重要工具。

为了增进使用者对WRF的理解和上手,WRF中提供了13个理想的实验案例,本文主要分析其中的3D斜压波理想实验,帮助大家完成对WRF的初步上手。
一、WRF的安装
运行WRF首先需要netCDF包,这个包在版本上有所区别,低于4.2版本是C+Fortran大包,大于等于4.2版本是C和Fortran分包。WRF是个10年前就基本成熟的模式,绝大多数不需要new netCDF4支持,只需要classic netCDF3支持即可,其它先进特性也可关闭。4.2之前的版本,推荐编译为静态库,C和Fortran都统一编译为libnetcdf.a,C++单独编译为 libnetcdf_c++.a,使用时只需用libnetcdf.a,给-lnetcdf锚定,不需要再给-lnetcdff锚定。这里我们默认用户已经完成了netCDF库的安装,直接介绍WRF的安装过程。
下载WRF有多个途径,你可以访问他们的官方网站下载,也可以从github克隆和下载(git clone https://github.com/wrf-model/WRF)。对WRF同样也有版本问题:4.2.x/4.3.x/4.4.x 都可以无障碍编译运行,4.5.x/4.6.x 在configure后不能成功编译,需在configure.wrf中的LIB_EXTERNAL最后手动增添-lnetcdf。现在以安装包WRF-4.4.2.tar.gz为例进行安装。
- tar xzvf ~/WRF/WRF-4.4.2.tar.gz(此处是安装包的地址)
- export NETCDF=/opt/netcdf(将netcdf变量引入到当前环境下)
- echo $NETCDF
输入这个命令行来检查是否导入成功,如果出现以下的反馈,则证明引入成功:![]()
- 之后进入WRF路径下,输入 ./configure,得到如下反馈:

在这里能使用的是32-35,32是串行,33是共用内存,34是并行,35是33和34的融合,一般不用。这里我们理想实验选32。
- 之后设置网格嵌套的方式,这里理想实验不使用网格嵌套,选0:

- 之后我们继续在WRF路径下输入 ./compile选择编译方式:

我们本次的实验是em_b_wave,选择4个核进行编译,在WRF下输入:
./compile -j 4 em_b_wave,编译完成后输出:

- 编译完成后,此目录下有文件:

这些文件对应13个理想实验,只有在上一个编译过的,才能够进行模拟,输入cd em_b_wave转到文件夹。
- 在这个文件夹里有多个文件,其中我们可以调的参数放在namelist.input中,接下来进行逐个解释:

二、可以修改的实验参数解释
- 时间控制类
run_days, run_hours……:模型运行总时间
history_interval:输出间隔(分钟)
frames_per_outfile:每个历史文件的输出次数,一般设为1
- Domain类
- time_step:整秒积分的时间步长,对于典型的实际数据案例,建议使用6*dx (km)
- time_step_fract_num & time_step_fract_den:时间步长的非整数部分和进制类型
- max_dom:domain的数量,本实验中设为1
- s_we & e_we\s_sn & e_sn\s_vert & e_vert:东西、南北和垂直方向的开始和结束的网格数
- dx & dy:每个网格的距离(m)
- feedback:内部domain对外部的反馈,0代表没有,这里我们选1
- smooth_option:平滑父域选项,仅与feedback选项一起使用。0:不平滑;1: 1-2-1平滑;2: smooth -desmoothing(默认)
- 物理类
- mp_physics:云微物理过程,情况较复杂,列表如下:
| 值 |
方案名称 |
特点与适用场景 |
| 0 |
无微物理 |
不进行任何水成物模拟,适用于无云理想化实验。 |
| 1 |
Kessler方案 |
暖雨方案,只模拟液态水成物,适合基础理想化实验或不需要冰相过程的研究。 |
| 2 |
Lin方案 |
包含冰相过程的经典方案,适合中尺度研究。 |
| 3 |
WSM 3类方案 |

最低0.47元/天 解锁文章
1513

被折叠的 条评论
为什么被折叠?



