问:理论上WRF最小分辨率是多少米?
chatgpt:WRF(Weather Research and Forecasting Model)的最小分辨率取决于多种因素,包括模型的配置、计算资源、以及模拟的地理和气象现象等。一般来说,WRF可以在几公里到数十米的水平分辨率范围内运行,但是达到较高的水平分辨率通常需要更多的计算资源和时间。在实际应用中,选择适当的分辨率是一项挑战,因为过高的分辨率可能会导致模拟计算量过大,超出可用的计算资源或时间范围,而过低的分辨率则可能会损失对小尺度气象现象的准确性。总的来说,理论上WRF的最小分辨率没有一个固定的数值,而是取决于具体的模拟需求和可用的计算资源。

前几天,我问了chatgpt一个问题,WRF的最小分辨率能跑多少米?它告诉我说只要你有这个实力,几公里到数十米的水平分辨率范围内都可以运行。于是,我大笔一挥,圈下了美国一小片,用WRF跑一下100m分辨率的网格。

python 实现wol_python 实现wol


在运行之前需要确定几个问题。(1)要不要嵌套。一般来说为了模拟效果较好,嵌套是必须设置的。但想了想这100m的分辨率,而且也只是一次测试,就不用嵌套了,不然就真得等到天荒地老了。(2)参数化方案选什么。100m的分辨率,势必要使用大涡模拟了,而且选择的区域有明显城市区域的存在,UCM可能也要加上。到此,就基本定下了本次测试的基调—WRF-LES-UCM耦合运行的测试。

但现在还有一个问题,WRF中地形数据(海拔高度)最小分辨率大概是30s,也就是900m,并不能很好的满足我100m分辨率网格的运行,于是自己动手丰衣足食,利用SRTM DEM 分辨率数据自己做一个。捣鼓了一晚上,可能选的区域有点多,转成二进制文件后一共9个G。

python 实现wol_python 实现wol_02


准备工作完成后,大致画了一下网格,东西网格数1978,南北网格数2102,不得不庆幸幸亏没用嵌套,不然白费工夫。随后放在服务器上,用56核运行,用了3天5小时,跑了2小时20分钟,效率感人。但是,毕竟有数据出来了,画一下图看看结果。

python 实现wol_笔记_03


这是地表温度,效果还是很不错的,能明显看出由于地形的改变,地表温度的变化,尤其是地表温度低值区与区域地形图中的山脉走向几乎完全一致。

python 实现wol_python 实现wol_04


这是研究区域的土地类型,黄色和绿色表示不同的城市类型。丹佛地区是大片的黄色和绿色,说明这个区域被标记为了城市,UCM发挥了作用。

python 实现wol_经验分享_05


10m风场,看起来很平滑,效果不好评。

总体看下来,效果尚可,有待进步。