WRF使用基本上会涉及到嵌套,主要原因是:WRF使用的是等经纬网格,不具备局地加密的能力,全场都使用高分辨率网格则会耗费大量的计算资源,无法满足时效性的要求。
使用嵌套的加密方式能够实现在关键区域采取高分辨率,而其母区域使用粗分辨率提供边界条件,是平衡计算时效性和模拟精度所采取的妥协策略。
嵌套方式分为双向嵌套和单向嵌套。
一 双向嵌套
双向嵌套是母区域给子区域提供边界条件,而子区域的计算结果会反馈回到母区域。namelist.input文件中设置feedback=1开启双向嵌套。
双向嵌套有两种方式:
1 双向嵌套,一个输入文件(Two-way nested, with 1 Input File)
WPS 和 real.exe 的流程和单个模拟区域的流程一致,不需要准备子区域的 geo_em.d02、met_em.d02 和 wrfinput_d02 数据,区别在于 wrf.exe 的运行。
嵌套的子区域不需要准备初始场数据,其静态数据和气象场从母区域中插值得到。
优势:子区域模拟的起始时间可以晚于母区域。
劣势:子区域的模拟结果无法受益于高精度的静态数据,可能会影响模拟的质量。
namelist.input设置:
# namelist.input中,d02的输入文件设置为false,无需输入,从d01插值得到
input_from_file = .true., .false.,
A步骤之前和 single domain 的流程一致(图片来源于WRF官网)
2 双向嵌套,两个输入文件(Two-way nested, with two input files)
母区域和子区域都需要 wrfinput_d0x ,因此有两个输入文件,该嵌套方式也有两种用法,主要区别在于子区域的3D气象数据来源自身还是母区域:
(1)子区域都有单独的气象场和静态数据,都来自于 wrfinput_d02。最推荐此方式。
(2)子区域使用自身的高分辨率静态数据,来源于 wrfinput_d02,气象场从母区域插值得到。只有子区域的启动时间延后于母区域才推荐此方式。
需要生成母区域和子区域的 geo_em.d0x,母区域的 met_em.d01(所有时刻),子区域 met_em.d01(初始时刻),母区域和子区域的wrfinput_d0x(图片来源于WRF官网)
# namelist.wps中,d02的end_date与start_date一致,只需起始时刻的met_em.d02
start_date = '2016-10-06_00:00:00','2016-10-06_00:00:00',
end_date = '2016-10-08_00:00:00','2016-10-06_00:00:00',
# namelist.input
input_from_file = .true., .true., # 都需要从文件中输入
fine_input_stream = 0, 2, #当d02的气象场需要从插值时,方式(2)
二 单向嵌套
单向嵌套是母区域给子区域提供侧边界条件,但是子区域的计算结果不再反馈回到母区域。
1 feedback=0
单向嵌套和双向嵌套(两个输入文件)运行一致,只是需要在namelist.input 中 设置 feedback=0。
2 使用ndown.exe嵌套
只在以下场景推荐使用:即已经有一个domian运行了很长时间(几个月/几年)的模拟结果,然后决定使用更高的分辨率嵌套一个子区域进行细致研究,重新运行成本太高时,才建议使用 ndown 方式。
如果还没有运行母域,或者运行的计算量不大,请使用双向嵌套,或者上述直接设置feedback=0的单向嵌套方法。
三 补充说明
1 嵌套方式示例
-
parent_id = 1, 1, 2
图片来源于WRF培训Kelly Werner's ppt
-
parent_id = 1, 1, 2, 1
图片来源于WRF培训Kelly Werner's ppt
2 多层嵌套的积分流程
积分步长是严格受限于CFL条件限制的,CFL条件从物理解释即需要满足dx≤ dt×v,即在一个积分步长走过的路程不能大于网格距。
母区域和子区域的网格距不同,积分步长自然不同。为了使母区域和子区域的积分时间协调,WRF中的积分流程如下图:
图片来源于WRF培训Kelly Werner's ppt
3 namelist参数设置几列
当使用嵌套时候,比如3层嵌套max_dom=3,namelist(wps或input)中有些参数需要设置3列,有些参数只需要设置1列,如何设置?
可以参考用户手册,第3章(WPS前处理)和第5章(WRF模式)的Description of namelist variables部分。当参数设置提示有"MAX DOM"字样,则需要max_dom列,否则为1列。
用户手册第3章:MAX_DOM说明需要多列
用户手册第5章:max_dom说明需要多列
参考:
https://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/NestRuns/index.php
https://www2.mmm.ucar.edu/wrf/users/tutorial/presentation_pdfs/202101/werner_nesting.pdf
扫描下方公众号名片,关注气海同途,获取更多大气海洋领域的内容。欢迎对大气海洋数值模式感兴趣的读者在公众号菜单栏添加小编微信(备注研究方向),进入数值模式交流群 。