WRF模式案例运行初体验--飓风示例全过程记录
本文主要记录一下首次学习WRF并运行官网案例的全过程。
案例如下:
飓风Matthew在海地、古巴和巴哈马登陆,然后平行于美国东海岸,造成大面积破坏。
前期准备,已经完成了系统环境配置,WRF的安装、编译,WPS的安装与编译、静态地理数据下载。
静态地理数据
WRF 模型系统能够创建理想化的模拟,尽管大多数用户对真实数据案例感兴趣。要启动真实数据案例,必须创建区域再全局上的物理位置以及该位置的静态信息。这需要一个数据集,包括地形和土地使用类别等领域。这些数据可以从WRF下载页面获得。
下载链接
- 下载其中的Mandatory Static Data数据。请记住,如果正在下载完整的数据集,那么该文件将非常大。
- 将解压完的文件重命名为
WPS_GEOG
- 目录信息需要在
namelist.wps
文件的&geogrid
部分中给定: geog_data_path = ´path_to_directory/Build_WRF/WPS_GEOG´
Mandatory Static Data
大约为29G(压缩后2.6G)。除此之外还有一些特殊用途的静态地理数据。
最终得到三个文件夹:
下面开始正式过程:
1、ungrib
- 在上述路径下建立一个空的文件夹data,用来存放数据
- 使用命令:
mkdir data
这样就有了四个文件夹:
将下载Matthew案例研究数据并放在DATA/ 目录中。文件下载链接如下:
Matthew案例
先把文件下载放到data目录下:
在命令行使用解压命令如下:tar -xf matthew_1deg.tar.gz
,当你解压tar文件时,你会得到一个名为matthew/
的目录。
通过运行g2print 来熟悉这些数据:
使用cd命令切换到matthew文件下,可以发现有几个文件,然后通过
WPS\util\g2print.exe
查看文件信息
使用命令如下,
这一段代码前一部分主要是调用g2print.exe
查看文件信息,首先找到你的g2print.exe
的路径,我的是在:./WPS/util/g2print.exe
,
第二部分就是你想要查看的文件所在的路径,这里我的是在: ../WRF/data/matthew/fnl_20161006_00_00.grib2
,
最后的代码就是生成一个日志文件:>& g2print.log
./WPS/util/g2print.exe ../WRF/data/matthew/fnl_20161006_00_00.grib2 >& g2print.log
运行后会在文件目录下生成一个名为g2print.log
的文件,可以查看里面的内容信息:
链接到GFS Vtable
这一步需要用的文件位于:ungrib/Variable_Tables/Vtable.GFS
链接代码如下:
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
使用脚本link_grib.csh链接GRIB数据
这一步用到的文件位于wps的link_grib.csh
文件,需要将我们最开始下载的matthew文件
下的所有fnl***.grib2
文件进行链接:
代码如下:./link_grib.csh ../DATA/matthew/fnl
这将创建以下链接:
编辑namelist.wps 文件,并设置如下:
该文件同样位于WPS的目录下:
注:有关这些变量的详细解释以及对最佳实践的建议,请参阅Best Practices WPS Namelist,
或
WRF User’s Guide的第三章。
修改如下:
max_dom = 1
start_date = '2016-10-06_00:00:00',
end_date = '2016-10-08_00:00:00',
interval_seconds = 21600,
保存后退出。
运行ungrib 来创建中间文件:
文件还是在WPS路径下:
代码如下:
./ungrib.exe
运行后显示,这个应该是成功了:
2、获取SST数据(本步可跳过)
- 注:我们不会在单区域情况下使用SST 数据,但是如果对运行SST-update 案例感兴趣,稍后将使用它。现在,只存储这些数据,以便以后使用。如果您对运行sst-update案例不感兴趣,那么您可以跳过本节。
还是同样需要先下载SST数据,下载链接如下:SST下载
下载完成后,还是放在之间最开始创建的data文件夹下
:
然后还是老样子,cd
到该data文件夹下
解压文件:tar -xf matthew_sst.tar.gz
一旦你解包数据,你应该有一个名为matthew_sst/ 的目录,这是独立的SST 数据文件的位置:
重复两部操作,链接vtable
和sst_grib文件
:
ln -sf ungrib/Variable_Tables/Vtable.SST Vtable
./link_grib.csh ../data/matthew_sst/rtg_sst_grb
- 编辑
namelist.wps
,与上面同理:
start_date = '2016-10-06_00:00:00',
end_date = '2016-10-08_00:00:00',
interval_seconds = 21600,
再运行:./ungrib.exe
,显示运行完成:
3、 Geogrid
首先!!!!确保你的电脑上有陆地数据,也就是静态地理数据。
- 确保处于
WPS/
目录中 - 编辑
namelist.wps
parent_id = 1,
parent_grid_ratio = 1,
i_parent_start = 1,
j_parent_start = 1,
e_we = 91,
e_sn = 100,
geog_data_res = 'default',
dx = 27000,
dy = 27000,
map_proj = 'mercator',
ref_lat = 28.00,
ref_lon = -75.00,
truelat1 = 30.0,
truelat2 = 60.0,
stand_lon = -75.0,geog_data_path = '/Software/Models/WRF/WPS_GEOG',
在运行geogrid.exe之前,确保区域位于正确的位置:
运行以下代码进行查看:
ncl util/plotgrids_new.ncl
现在运行geogrid.exe
来创建这个区域的静态数据,该文件还是处于WPS的目录下
- 注:这将覆盖任何之前运行的geo_em.d01.nc 文件,所以,如果你想保存旧文件,就把它们保存在其它地方。
运行代码:./geogrid.exe
,出现以下内容表示成功啦:
并且,可以在该文件目录下找个geo_em.d01.nc
文件:
4、 Metgrid
1. 插值到模式区域(metgrid.exe)
- namelist.wps
不需要对namelist.wps
进行额外的更改,只需要确保对Matthew案例
正确设置开始和结束日期,并将fg_name
设置为FILE
- 运行
metgrid.exe
将输入文件插值到模式区域上,文件位置与上述相同:
./metgrid.exe
下面的文本应该在运行时出现在屏幕上。在运行结束时寻找“ Successful completion of
metgrid ”,表明在执行过程中一切顺利。还将创建一个包含更多信息的metgrid.log 文件。如果遇到任何问题,可以使用此日志文件进行故障排除。如下:
这一步会创建以下文件:
- 终于,以上操作你都完整的完成下来,那么就到了最后,运行WRF模式啦。
5、Real and WRF
1. 运行模式(real.exe & wrf.exe)
- 确保位于
WRF/
目录中。在本案例中,将在test/em_real/ 目录中运行。
代码如下,不能漏!!
cd WRF/test/em_real
- 链接
metgrid.exe
创建的met_em 文件
,就是刚刚那几个nc文件:
代码如下:
ln -sf ../../../WPS/met_em.d01.2016-10* .
- 编辑
namelist.input
,它在哪呢?他就在这个路径下:
编辑内容如下:
run_days = 0,
run_hours = 48,
run_minutes = 0,
run_seconds = 0,
start_year = 2016,
start_month = 10,
start_day = 06,
start_hour = 00,
end_year = 2016,
end_month = 10,
end_day = 08,
end_hour = 00,
interval_seconds = 21600
input_from_file = .true.,
history_interval = 180,
frames_per_outfile = 1,
restart = .false.,
restart_interval = 1440,
time_step = 150,
max_dom = 1,
e_we = 91,
e_sn = 100,
e_vert = 45,
num_metgrid_levels = 32,
dx = 27000,
dy = 27000,
注:上面的
restart_interval
设置——我们计划稍后进行重新启动,因此需要再重新启动之前设置这次运行。这将创建额外的重新启动输出文件,稍后我们可以从这些文件重新启动模型。运行
real.exe
(验证程序是否正确运行),这个文件在该目录下:
注:这将会覆盖以前运行的wrfinput_d01 和wrfbdy_d01 文件,所以,如果你想保存旧文件,就把它们保存在其他地方。
如下图显示就是运行成功啦:
检查是否已经创建了以下两个文件:
wrfinput_d01
wrfbdy_d01
- 运行
wrf.exe
(验证程序是否正确运行)
检查是否已经创建了以下文件:
至此,就已经把WRF模式跑完啦。一般最后一步要跑好久。如果有条件得话,可以放到学校集群上进行多核运行,但是这一步暂时我还没理清楚。以后有机会再写下来吧。
一个努力学习python的海洋人水平有限,欢迎指正!!!欢迎评论、收藏、点赞、转发、关注。关注我不后悔,记录学习进步的过程~~
WRF模式案例运行初体验--飓风示例全过程记录相关推荐
- WRF模式的运行(二)
上一篇已经说了运行WRF模式前需要了解的部分知识.请不清楚的查阅(12条消息) WRF模式的运行(一)_夏日麋鹿-的博客-CSDN博客.接下来我讲述运行WRF模式的部分.本篇主要讲解运行前处理的部分. ...
- WRF模式的运行(一)
一.WRF简介 WRF(Weather Research and Forecasting Model),由美国大气研究中心NCAR.国家环境预报中心NCEP等多单位联合建立发展的数值模式.其是新一代非 ...
- WRF模式的运行(三)
在第一篇.第二篇讲述了WRF模式的基础知识以及WRF模式前处理部分的运行. 本篇将讲述WRF模式的主模块的运行.首先得知道WRF主模块的namelist.input的参数意义. &time_c ...
- python学生管理系统设计原理_Python建造者模式案例运行原理解析
建造者模式的适用范围:想要创建一个由多个部分组成的对象,而且它的构成需要一步接一步的完成.只有当各个部分都完成了,这个对象才完整.建造者模式表现为复杂对象的创建与表现相分离,这样,同一个过程就有不同的 ...
- Python Scrapy爬虫实战(1):豆瓣网站图书信息案例- Scrapy初体验
Scrapy,Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试.Scrapy吸引人的 ...
- eclipse整合ssm运行初体验
众所周知,eclipse由于免费,各方面的方便程度确实不如idea,但是这时候老板偏偏让你用eclipse运行ssm项目,咱还是得会呀,卷死那些不会的! 先初始化一个dynamic web proje ...
- React初体验-Hello React的组件化方式-React入门小案例
文章目录 React初体验 Hello React案例演练 Hello React案例升级 Hello React的组件化 组件化的方式 数据依赖 事件绑定 其他案例练习 电影列表展示 计数器的案例 ...
- 4.Ling初体验 匿名类型在查询表达式中的使用
定义: 匿名类型是指包括一个或多个公共属性的类类型, 它提供了将查询结果临时组合在一起的捷径,从而不需要为每个查询结果集合指定一个有名称了类型. 在LINQ中,匿名类型广泛使用与查询表达式中的sel ...
- 【案例实践】WRF-Python融合技术:WRF 模式前后处理、自动化运行、数据处理、可视化绘图
[查看原文]Python在WRF模型自动化运行及前后处理中实践技术应用 当今从事气象及其周边相关领域的人员,常会涉及气象数值模式及其数据处理,无论是作为业务预报的手段.还是作为科研工具,掌握气象数值模 ...
- Apache Solr 9.1-(一)初体验单机模式运行
Apache Solr 9.1-(一)初体验单机模式运行 Solr是一个基于Apache Lucene的搜索服务器,Apache Lucene是开源的.基于Java的信息检索库,Solr能为用户提供无 ...
最新文章
- linux看测试环境版本,最新版 EOS 在 Ubuntu 18.04.1 LTS 环境上的安装测试教程
- 牛客 Bang! Bang!(动态规划)
- 如何设置单词第一个字母大写_大写一行中每个单词的第一个和最后一个字母
- 【需求工程】需求依赖矩阵
- bzoj1597 [Usaco2008 Mar]土地购买
- 前端调试你还在console.log吗,那你就out, debugger那么好用,你都不用呀
- 【领域适应】训练梯度反向层(gradient reversl layer, GRL)
- 【C/C++】C++函数
- 申通完美支撑“双11”亿级包裹背后的云基础设施
- 用JavaScript写抖音很火的罗盘时钟,附源码
- Android/IOS/Web跳转第三方QQ指定QQ号的聊天框,实现陌生人聊天
- 游戏服务器redis mysql_redis服务器环境下mysql实现lnmp架构缓存
- 【科学数据库】数据的合并与分组聚合||||||||
- C# 中使用面向切面编程(AOP)中实践代码整洁(转)
- vmware ubuntu 虚拟机扩充硬盘容量及合并分区
- Python字符串格式化 (%占位操作符)
- 全面了解ADSL/Cable共享路由器
- 微信小程序搜索框组件之SearchBar
- 可以把管理系统软件放到云服务器,erp软件可以放在云服务器上吗
- 广义相对论-学习记录9-第四章-相对论性的引力理论2
热门文章
- 微信更新版本下载链接汇总【持续更新】
- 网站服务器访问ip带宽限速,巧用IP带宽控制实现路由器限速
- Centos7.5系统部署禅道协调管理系统以及配置优化
- Deep learning-based method coupled with small sample learning for solving partial differential equat
- Windows10开机自动登录账号,设置指定账户自动登录系统
- 附加支付和统筹支付_上海市医疗保险,请问账户支付和统筹支付是什...
- 琪琪格不因为漂亮而自信
- Xmind 2020 进阶教程|巧用图标,让你的思维导图活起来
- 【Python/Pytorch - Bug】-- TypeError: type numpy.ndarray doesn‘t define _round method
- Android主题色设为透明