WRF嵌套网格的设计

3 篇文章 1 订阅

o(╥﹏╥)o

为了设计WRF嵌套网格,我在网上冲浪查找了许多的教程ᕦ(・ㅂ・)ᕤ,参考了六出的博客:怎么利用QGIS设计WRF嵌套域网格,也参考了B站唐学秋的视频:学习备忘录/ 如何使用WRFDomainWizard以及利用panoply简单处理nc文件,两位的方法都很好,推荐大家阅读参考,我这里总结一下,顺便也提出一些自己的一点想法o(´^`)o

2022.11.7更新
今天冲浪的时候,在气象家园发现了帖子新网页版 WRF Domain Wizard才知道,原来,WRF Domain Wizard还有网页版,大家可以去试一下。另外还有帖子里提到的QGIS的插件GIS4WRF,大家感兴趣也可以试试,我看这个插件还蛮方便,有时间我想试用一下哈哈。
在这里插入图片描述
在这里插入图片描述

一、网格的粗略设计

网格的粗略设计我用的ArcGiS来替代QGIS,因为用了五年ArcGIS比较顺手(✪ω✪)。(PS.QGIS吹爆,太好用啦,还开源,我近期正在转QGIS,但是还有一点生疏,这里就不献丑啦|ू・ω・` )

首先需要下载中国各省行政地图,最好是只有国界线和省界限的,可以去麻辣 GIS 网站搜索中国地图然后下载解压。用 ArcGIS 打开中国地图 shp 文件,可以看到,看source这个文件的坐标系是CGCS2000的,用ArcGIS工具箱中的Project工具(如下图)把它转化成WGS84坐标,这样地理坐标系就有啦,同理再为它定义一个投影坐标系,一般选择Asia_Lambert_Conformal_Conic投影,然后参考各省位置,绘制你感兴趣区域的网格。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-weEpOK53-1625043627885)(WRF%E5%B5%8C%E5%A5%97%E7%BD%91%E6%A0%BC%E7%9A%84%E8%AE%BE%E8%AE%A1%20173015833da948c7a151efc0e53b6ba4/Untitled.png)]

接下来就可以设置网格啦,使用Create Fishnet工具(如下图)

在这里插入图片描述

我设计的是27000m,9000m,1000m三层嵌套,所以直接将cell size分别设置为27000m,9000m,1000m即可
在这里插入图片描述

2022.11.7更新
大家不要像我这样设计网格,最好让内层网格处于外层网格的中心位置,我这样设计,后面运行会出错,详见WRF运行wrf.exe出现forrtl: severe (174): SIGSEGV, segmentation fault occurred问题原因与解决合集第六点。

在这里插入图片描述

这样就可以愉快地查网格啦,使用ArcGIS的这个工具:
在这里插入图片描述
选中网格即可自动跳出选中网格数

按照下图查就可以啦,默认左下角为(0,0)

https://img-blog.csdnimg.cn/20200922215000216.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjI5NjMxOA==,size_16,color_FFFFFF,t_70

查好后得到

parent_id =
parent_grid_ratio =
i_parent_start =
j_parent_start =
e_we =
e_sn =
geog_data_res =
dx =
dy =

再把网格在WGS84坐标系下打开,找d01中心网格,软件右下角看它的坐标,就是中心点坐标

二、利用WRFDomainWizard得到namelist.wps

运行WRFDomainWizard

在WRFDomainWizard文件夹下面,打开终端,输入:

chmod +x run_DomainWizard
run_DomainWizard

初始界面如下,设置WPS路径,地理数据路径,在WPS同级文件夹下创建Domains文件夹:
在这里插入图片描述

创建新的Domain,点击Next:
在这里插入图片描述

命名完domain,输入刚才设置的网格参数:

中心经纬度,投影选择兰伯特投影,外层网格大小

设置嵌套网格,点击Netsts→New

其中Parent ID: 指定每一个网格嵌套进的上一层粗网格的编号(也称为父网格)。如图1,编号为1,2,3,4(图中以d01,d02,d03,d04表示)四个网格的parent_id分别是1(编号为1的网格的父网格即自身),1,2,1:最大父网格左下角是原点0,0
在这里插入图片描述

Grid spacing ratio to parent:父网格格点间距/嵌套网格格点间距

Geographic data resolution:地理数据分辨率

外层网格左下角为坐标0,0点

(LLI)Left:嵌套网格左侧边界网格数(按照外层网格数算)

(URI)Right :嵌套网格右侧边界网格数(按照外层网格数算)

(URJ) Top :嵌套网格上边界网格数(按照外层网格数算)

(LLJ)Bottom:嵌套网格下边界网格数(按照外层网格数算)

点击Next,在Domains下面生成文件:
在这里插入图片描述

最主要的是namelist.wps

在运行geogrids.exe前,可利用WPS根目录下util文件夹中的plotgrids.ncl程序查看设置的网格。只需要设置好namelist中网格个数、大小、位置信息,即可调用该程序。

输入:

ncl util/plotgrids_new.ncl

查看结果如下:
在这里插入图片描述

基本没啥问题

将WRF主程序链接过来:

ln -sf /home/master2020/guolh/Build_WRF/WRFV3/run/* .

去掉程序原有namelist.input

rm -rf namelist.input

修改EAT层数设置,选择线性化,27层

根据需要,修改时间步长,防止段错误吐核

注意time_step=6*dx 要与嵌套网格元胞尺寸匹配,最好弄小一点,别乘以6

运行geogrid时,缺文件去https://www2.mmm.ucar.edu/wrf/src/wps_files/https://www2.mmm.ucar.edu/wrf/users/download/get_sources_wps_geog.html

依次运行geogrid、ungrid、metgrid后

编辑namelist.input如下:

&time_control
run_days                            = 0,            (运行时间(天)) 
run_hours                           = 06,           (时) 	
run_minutes                         = 0,            (分) 
run_seconds                         = 0,            (秒) 
start_year                          = 2006, 2006, 2003,        (起始年份)
start_month                         = 08,   08,   07,          (起始月份)
start_day                           = 16,   16,   09,          (起始日数) 
start_hour                          = 12,   12,   00,          (起始小时) 
start_minute                        = 00,   00,   0            (起始分钟)
start_second                        = 00,   00,   00,          (起始秒数) 
end_year                            = 2006, 2006, 2003,
end_month                           = 08,   08,   07,         (对应的结束时间)
end_day                             = 16,   16,  10,
end_hour                            = 18,   18,   00,
end_minute                          = 00,   00,   00,
end_second                          = 00,   00,   00,
interval_seconds                    = 21600,(前处理程序的两次分析时间之间的时间间隔)	
input_from_file                     = .true.,.true.,.false.,(嵌套初始场输入选项。嵌套时,指定嵌套网格是否用不同的初始场文件) 
history_interval                    =180,  60,   60,(指定模式结果输出的时间间隔,以分钟为单位)
frames_per_outfile                  =1000, 1000, 1000,
restart                             = .false.,   (是否进行重行启动)
restart_interval                    = 1440,      (重起时间间隔)
io_form_history                     = 2,    (2 = NetCDF )	
io_form_restart                     = 2,    (指定模式断点重启输出的格式, 2为netCDF格式)
io_form_input                       = 2,    (2 = NetCDF )
io_form_boundary                    = 2,    (指定模式边界条件数据的格式) 
                                             1 	二进制格式
                                             2 	NetCDF格式 	
                                             4 	PHD5格式 	
                                             5 	GRIB1格式 
debug_level=0(此选项指定模式运行时的调试信息输出等级。取值可为0,50,100,200,300,数值越大,调试信息输出就越多,默认值为0)
/
&domains
time_step                        =180,
(积分的时间步长,为整型数,单位为秒,在真实大气中推荐值为dx公里数的6倍)
time_step_fract_num              =0, 
(实数型时间步长的分子部分)
time_step_fract_den              =1, 
(实数型时间步长的分母部分)
max_dom                          =2,
(最大区域数) 
s_we                             =1, 1, 1, 
(x方向(西—东方向)的起始格点值(通常为1))
e_we                             =74, 112, 94,
(x方向(西—东方向)的终止格点值(通常为x方向的格点数))
s_sn                             =1, 1, 1, 
(y方向(南—北方向)的起始格点值(通常为1))
e_sn                             =61, 97, 91,
(y方向(南—北方向)的终止格点值(通常为y方向的格点数)) 
s_vert                           =1, 1, 1,
(z方向(垂直方向)的起始格点值)
e_vert                           = 28, 28, 28,
(z方向(垂直方向)的终止格点值,即全垂直eta层的总层数。垂直层数在各嵌套网格中必须保持一致)
dx                               = 30000, 10000, 3333,
(指定 方向的格距(单位为米) 。在真实大气方案中,此参数值必须与输入数据中的x方向格距一致)
dy                               = 30000, 10000, 3333,
(指定y方向的格距(单位为米)。在真实大气方案中,此参数值必须与输入数据中的x方向格距一致)
grid_id                          =1, 2, 3,
(计算区域的编号,一般是从1开始)
parent id                        =0, 1, 2,
(嵌套网格的上一级网格(母网格)的编号,一般是从0开始)
i_parent start                   =0, 31, 30,
(嵌套网格的左下角(LLC)在上一级网格(母网格)中x方向的起始位置)
j.parent_start                   =0, 17, 30,
(嵌套网格的左下角(LLC)在上一级网格(母网格)中y方向的起始位置)
parent grid_ratic                =1, 3, 3,
(母网格相对于嵌套网格的水平网格比例)
parent time_step_ratio           =1, 3, 3,
(嵌套时,母网格相对于嵌套网格的时间步长比例)
feedback                         =1.
(嵌套时,嵌套网格向母网格得反馈作用。设置为0时,无反馈作用。而反馈作用也只有在母网格和子网格的网格比例(parentgrid—ratio)为奇数时才起作用)
smooth_option                    =0
(向上一级网格(母网格)反馈的平滑选项,只有设置了反馈选项为1时才起作用的)
/
&physics
 mp_physics                      = 3,     3,     3,
设置微物理过程方案,默认值为 0。 	
0 	不采用微物理过程方案 	
1 	Kessler 方案 (暖雨方案) 	
2 	Lin 等的方案 (水汽、雨、雪、云水、冰、冰雹)	
3 	WSM 3类简单冰方案 	
4 	WSM 5类方案 	
5 	Ferrier(new Eta)微物理方案(水汽、云水) 	
6 	WSM 6类冰雹方案 	
8 	新Thompson的冰雹方案 	
98 	NCEP 3类简冰方案 (水汽、云/冰和雨/雪) 	
99 	NCEP 5类方案(水汽、雨、雪、云水和冰) 	
ra_lw_physics                    = 1,     1,     1,
此选项指定长波辐射方案,默认值为 0。 	
0 	不采用长波辐射方案 	
1 	rrtm 方案 	
99 	GFDL (Eta) 长波方案 (semi-supported)
ra_sw_physics                    = 1,     1,     1, 
此选项指定短波辐射方案,默认值为 0。 	
0 	不采用短波辐射方案 	
1 	Dudhia 方案 	
2 	Goddard 短波方案 	
99 	GFDL (Eta) 短波方案 (semi-supported) 
radt                             = 10,    10,    10,
(此参数指定调用辐散物理方案的时间间隔,默认值为 0, 单位为分钟。建议与dx的公里数取同样的值)
sf_sfclay_physics                = 1,     1,     1,
此选项指定近地面层(surface-layer)方案,默认值为 0。 	
0 	不采用近地面层方案 	
1 	Monin-Obukhov 方案 	
2 	MYJ Monin-Obukhov 方案 (仅用于MYJ 边界层方案) 
sf_surface_physics                = 1,     1,     1,
此选项指定陆面过程方案,默认值为 0。 	
0 	不采用陆面过程方案 	
1 	热量扩散方案 	
2 	Noah 陆面过程方案 	
3 	RUC 陆面过程方案 	
bl_pbl_physics                    =1,     1,     1,
此选项指定边界层方案,默认值为 0 	
0 	不采用边界层方案 	
1 	YSU 方案 	
2 	Eta Mellor-Yamada-Janjic TKE(湍流动能) 方案 	
3 	NCEP Global Forecast System方案 	
99 	MRF 方案	
bldt                             = 0,     0,     0,
(此参数指定调用边界层物理方案的时间间隔,默认值为 0,单位为分钟。此参数指定调用边界层物理方案的时间间隔,默认值为 0,单位为分钟。0 (推荐值)表示每一个时间步长都调用边界层物理方案) 
cu_physics                       = 1,     1,     0,
此选项指定积云参数化方案,默认值为 0。 	
0 	不采用积云参数化方案 	
1 	浅对流Kain-Fritsch (new Eta)方案 	
2 	Betts-Miller-Janjic 方案 	
3 	Grell-Devenyi 集合方案 	
4 	Simplified Arakawa-Schubert方案 	
99 	老Kain-Fritsch 方案 	
cud                              = 5,     5,     5,
(积云参数化方案的调用时间间隔,默认值为 0, 单位为分钟。 一般的积云参数化方案是每一步都要调用,但如果是用Kain-Fritsch 方案(cu_physics=1),则可以设cudt=5)	
isfflx                           = 1,
在选用扰动边界层和陆面物理过程时(sf_sfclay_physics = 1)是否考虑地面热量和水汽通量,默认值为1。 	
0 	不考虑地面通量 	
1 	考虑地面通量 	
ifsnow                           = 0,
是否考虑雪盖效应。考虑雪盖效应时,必须要有雪盖输入场。默认值为0,只有在利用扰动边界层PBL预报土壤温度时才有效,即sf_surface_physics = 1。 	
0 	不考虑雪盖效应 	
1 	考虑雪盖效应 	
icloud                           = 1,
辐射光学厚度中是否考虑云的影响,默认值为1。仅当ra_sw_physics = 1 和 ra_lw_physics = 1时有效。 	
0 	不考虑云的影响 	
1 	考虑云的影响 
surface_input_source	           = 1,
1 	SI/gridgen(由SI的gridgen_model.exe程序产生) 	
土地利用类型和土壤类型数据的来源格式,默认值为1。 	
2 	其他模式产生的GRIB码数据(VEGCAT/SOILCAT 数据)	
num_soil_layers                  = 5,
指定陆面模式中的土壤层数,默认值为5 	
5 	热量扩散方案 	
4 	Noah 陆面过程方案 	
6 	RUC 陆面过程方案

修改完退出保存
然后运行WRF模块,命令如下:

ulimit -s unlimited
(or:unlimited ,此命令防止溢出问题出现,当出现此问题为溢出:
   (5 points exceeded cfl=2 in domain 1 at time 4.200000
   MAX AT i,j,k: 123 48 3 cfl,w,d(eta)= 4.165821
   21 points exceeded cfl=2 in domain 1 at time 4.200000
   MAX AT i,j,k: 123 49 4 cfl,w,d(eta)= 10.66290),解决方案检查时间积分步长,减少时间积分步长)
./real.exe
vi rsl.error.0000

看运行成功了没

运行成功会提示:SUCCESS COMPLETE REAL_EM INIT

ls

将会有这几个文件生成

wrfinput_d01 (初始场文件)
wrfinput_d02 (初始场文件)
wrfbdy_d01   (边界条件文件)

然后接下来运行主模块

然后并行运算运行wrf.exe:

mpirun -np 8 ./wrf.exe

检查日志文件:

vi rsl.error.0007

看到success complete WRF即运行成功

ls
wrfout_d01_2019-04-01_12:00:00
wrfout_d02_2019-04-01_12:00:00

最近比较忙,没时间写博客啦─=≡Σ(((つ•̀ω•́)つ,暂时就是这样,下期见

  • 13
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值