WRF嵌套网格的设计
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投影,然后参考各省位置,绘制你感兴趣区域的网格。
接下来就可以设置网格啦,使用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)
查好后得到
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时才起作用的)
/
&physicsmp_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.200000MAX AT i,j,k: 123 48 3 cfl,w,d(eta)= 4.16582121 points exceeded cfl=2 in domain 1 at time 4.200000MAX 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
最近比较忙,没时间写博客啦─=≡Σ(((つ•̀ω•́)つ,暂时就是这样,下期见
WRF嵌套网格的设计相关推荐
- wrf 嵌套网格作用_在网格系统中使用响应列,嵌套列和偏移列 引导程序
wrf 嵌套网格作用 介绍 (Introduction) In the previous article, we have learnt what is grid and grid system an ...
- fluent二维叶型仿真_ICEM划分嵌套网格之二维圆柱绕流
首先,介绍一下嵌套网格.网络上关于嵌套网格的的内容大多数是关于直接利用软件进行计算的过程,而对于前处理过程中的网格生成过程并没有什么描述,其实这种技术已经在学术界流传已久,只是用的都是自己的程序算法, ...
- 基于pt100温度计仿真_基于8pt网格的设计系统
基于pt100温度计仿真 重点 (Top highlight) This article is the 2nd in a two part series - to the previous chapt ...
- Fluent 嵌套网格(overset)功能讲解与实例操作
作者 | 张杨 在流体仿真中,我们经常会遇到边界运动的问题,如: 生物医疗行业中血管的运动 航空航天行业中飞行器的分离 容积泵中齿轮的相对运动 在ANSYS Fluent 17.0之前的版本中,我们通 ...
- c语言循环嵌套教学设计,《循环的嵌套》教学设计.doc
<循环的嵌套>教学设计 <> 所属模块:C语言-循环的嵌套模块 学习单元:循环的结构 教学目标: 1.情感目标:当学生在程序调试成功后,体验了成功的快感,增强了自信心,逐步克服 ...
- 完整版 | 网格划分设计知识点汇总
本文转自:公众号有限元仿真分析 原文链接:https://mp.weixin.qq.com/s/XKOrSr2K8KACd7yDykqjrA 网格设计而非划分 在进行数值模拟计算(包括FEA.CFD等 ...
- java 容器的嵌套_java界面设计里怎么实现容器嵌套
我想让tf独占一格在网上搜到只能嵌套怎么嵌套啊importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassJisuan ...
- exe软件ui嵌套软件_UI设计行业中的PS软件起什么用途
UI设计行业需要会的软件有非常多, 像PS软件,AI软件,AE软件,XD软件,SKETCH软件, C4D软件,DW软件,墨刀软件,蓝湖软件等等, 都是UI设计工作需要用的, 其中的PS软件是所有软件中 ...
- 同程网格版式设计代码页
html 原文https://blog.csdn.net/weixin_44793212/article/details/103007418 首页 酒店预订 机票预订 景点门票 周末游 出境游 邮轮 ...
最新文章
- 将数组A中的内容和数组B中的内容进行交换(数组一样大)
- dedecms后台左侧菜单500错误怎么处理
- php对接支付宝当面付对接,支付宝开放平台当面付对接网站
- python下载安装教程3.8.0-windows中安装Python3.8.0的实现方法
- Shell-/bin/bash和/bin/sh解释器的误用引起的脚本语法错误
- python 创建以列表为元素的列表
- 进程池、线程池、回调函数、协程
- [转载] C#面向对象设计模式纵横谈——25 设计模式总结
- mysql 根据地图 坐标 查询 周边景区、酒店
- java树形菜单_Java构建树形菜单
- Atitit 健康减肥与软件健康减肥的总结 attilax著 1. 几大最佳实践减肥行为	1 1.1. 控制饮食分量用小碗 小盘子 小餐具	1 1.2. 软件如何减肥,控制资源占有率,比如体积 打包
- 我的第一个app:电信宽带密码一键获取客户端
- spark实现 通过ratings.dat和movies.dat两个文件得到平均得分超过4.0的电影列表
- endnote x9打开闪退_Endnote X9 详细教程
- Matlab代码区出现中文乱码的情况
- 如何选购一台笔记本电脑
- iframe解决跳转登录界面问题
- 空间数据可视化地图绘制R语言可复现
- Android APP分享功能实现
- 读书笔记-人脉是设计出来的:关键篇