2、中尺度气象模式(WRF)入门:WRF模型架构、网格嵌套技术、陆面过程参数化、边界层方案选择
各位好,我是老张。在风电行业摸爬滚打了十几年,今天咱们聊聊WRF模式。说实话,我刚入行那会儿,WRF还是个新鲜玩意儿,现在已经是风电选址的标配工具了。你想想看,一个风电场要运营20年,选址时要是把风资源算偏了,那损失可不是小数目。所以,搞懂WRF,就是给项目上了一份保险。
2.1 WRF模型架构:它到底是怎么工作的?
WRF的全称是Weather Research and Forecasting,说白了就是一个能模拟大气运动的大程序。它的架构,我习惯分成三块来看:
- 前处理系统(WPS):负责把全球再分析数据(比如ERA5、FNL)处理成WRF能吃的格式。这一步很关键,数据源的质量直接决定模拟的成败。
- 主求解器(ARW):这是核心引擎,负责解算大气运动方程。我个人习惯用ARW核心,它在风电领域应用最广。
- 后处理系统:把WRF输出的原始数据转成我们需要的风场、温度场等。常用的工具有NCL、Python的xarray库。
核心逻辑:WRF本质上是在做「数值天气预报」——把大气分成一个个网格,在每个网格里解算物理方程。网格越密,结果越准,但计算量也越大。
这里我画了一张架构图,帮你理清关系:
2.2 网格嵌套技术:粗网格与细网格的配合
做风电选址,你不可能把整个中国都跑成1公里网格——那得算到猴年马月去。所以,WRF提供了网格嵌套技术。说白了,就是大范围用粗网格,感兴趣的区域用细网格。
我举个例子:你要在内蒙古某地建风电场。我会这样设置:
- 母域(d01):覆盖整个内蒙古,分辨率27公里。这一步是为了捕捉大尺度天气系统。
- 子域(d02):覆盖项目周边200公里,分辨率9公里。开始关注地形影响。
- 子域(d03):覆盖场址周边50公里,分辨率3公里。这时候能看到山脊、河谷对风的影响了。
我的经验:嵌套比一般控制在3:1左右。比如27→9→3公里,或者9→3→1公里。比值太大,边界处理容易出问题。我曾经试过直接从27跳到3公里,结果在边界处出现了虚假的风速突变,排查了好几天才发现是嵌套设置的问题。
在namelist.wps里,嵌套设置长这样:
&share
wrf_core = 'ARW',
max_dom = 3,
start_date = '2023-01-01_00:00:00',
end_date = '2023-01-31_00:00:00',
interval_seconds = 21600
/
&geogrid
parent_id = 1, 1, 2,
parent_grid_ratio = 1, 3, 3,
i_parent_start = 1, 30, 45,
j_parent_start = 1, 25, 40,
e_we = 100, 100, 100,
e_sn = 100, 100, 100,
dx = 27000,
dy = 27000,
map_proj = 'lambert',
ref_lat = 42.0,
ref_lon = 115.0,
/
这里要注意:parent_grid_ratio就是嵌套比,i_parent_start和j_parent_start是子域在母域中的起始网格位置。嗯,这个坐标你得算准了,不然子域可能跑到母域外面去。
2.3 陆面过程参数化:地面怎么影响风?
很多人觉得风只跟大气有关,其实地面作用非常大。你想想看,同样风速,经过草地和经过森林,结果能差30%以上。这就是陆面过程要解决的问题。
WRF里常用的陆面方案有:
| 方案名称 | 适用场景 | 我的评价 |
|---|---|---|
| Noah LSM | 通用场景,风电项目首选 | 稳定可靠,我90%的项目都用它 |
| Noah-MP | 复杂地形、森林覆盖区 | 精度更高,但参数多,调起来费劲 |
| RUC LSM | 高分辨率、快速预报 | 计算快,但细节不如Noah |
| CLM4 | 科研用途,气候研究 | 太复杂,工程上用得少 |
避坑指南:我曾经在内蒙古草原项目上用了Noah-MP,结果发现土壤湿度参数没调好,导致夜间风速模拟偏差很大。后来换回Noah LSM,配合当地土壤观测数据校准,效果反而更好。所以,别盲目追求复杂方案,适合的才是最好的。
陆面过程的核心参数包括:
- 地表粗糙度:直接影响近地面风速廓线。草原0.01-0.05米,森林0.5-2米。
- 反照率:影响地表能量平衡,间接影响热力环流。
- 土壤湿度:影响感热和潜热通量,对边界层发展很关键。
2.4 边界层方案选择:风从哪里来?
边界层方案,说白了就是决定「风在近地面怎么混合」的。这对风电选址太重要了——风机就在边界层里转呢。
WRF里主流的边界层方案:
- YSU方案:非局地闭合,适合中性到不稳定层结。我早期项目常用,计算稳定。
- MYJ方案:局地闭合,1.5阶湍流模型。适合稳定边界层,夜间风模拟更好。
- ACM2方案:混合方案,兼顾局地和非局地。我个人觉得它最灵活,但参数多。
- BouLac方案:法国开发的,适合复杂地形。我在山地项目上试过,效果不错。
选型建议:平原风电项目,YSU或MYJ就够用。山地、沿海等复杂地形,建议用ACM2或BouLac。我一般会跑两个方案做对比,选跟测风塔数据吻合度高的那个。
在namelist.input里设置边界层方案:
&physics
bl_pbl_physics = 1, 1, 1, ! 1=YSU, 2=MYJ, 7=ACM2, 12=BouLac
sf_sfclay_physics = 1, 1, 1, ! 与PBL方案配套
/
这里有个坑:边界层方案必须和近地面层方案配套使用。比如YSU配MM5相似理论(sf_sfclay_physics=1),MYJ配Eta相似理论(sf_sfclay_physics=2)。混搭的话,模型会报错,或者给出离谱的结果。我刚开始学WRF时就犯过这个错,跑出来的风速剖面完全不对,还以为是地形数据的问题。
最后说一句:WRF入门不难,但用好需要积累。每个参数背后都有物理意义,别光看教程,多动手跑几个案例,慢慢就有感觉了。
我的小习惯:每次跑新项目,我都会先跑一个月的模拟,跟当地气象站数据对比。如果偏差超过15%,就回头检查参数设置。这一步虽然费时间,但能避免后期更大的麻烦。
公众号:蓝海资料掘金营,微信deep3321