WRF模式案例运行初体验--飓风示例全过程记录

简介: 本文主要记录一下首次学习WRF并运行官网案例的全过程。

本文主要记录一下首次学习WRF并运行官网案例的全过程。



案例如下:

飓风Matthew在海地、古巴和巴哈马登陆,然后平行于美国东海岸,造成大面积破坏。


image.png


前期准备,已经完成了系统环境配置,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)。除此之外还有一些特殊用途的静态地理数据。
    最终得到三个文件夹:


db19e418006046e89cb8b7079759f7e9.png


  • 下面开始正式过程:

1、ungrib


  • 在上述路径下建立一个空的文件夹data,用来存放数据
  • 使用命令:mkdir data

这样就有了四个文件夹:


a3c0b049cfd541d299a4ed8e89311302.png

将下载Matthew案例研究数据并放在DATA/ 目录中。文件下载链接如下:

Matthew案例

先把文件下载放到data目录下:


3aa911fe62e04fb8829db747525802dc.png


在命令行使用解压命令如下:tar -xf matthew_1deg.tar.gz,当你解压tar文件时,你会得到一个名为matthew/ 的目录。


fa1a1ef2832d49f085c88ff911003e6e.png

f92b9502359243c796293da3486371f2.png


通过运行g2print 来熟悉这些数据:

使用cd命令切换到matthew文件下,可以发现有几个文件,然后通过

WPS\util\g2print.exe

查看文件信息


06918ae4df264cc48c8c1b399da344d8.png


使用命令如下,


这一段代码前一部分主要是调用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的文件,可以查看里面的内容信息:


ca8fe297dc4147ca83cbdb54d724b966.png

b58fe28e839847cf802c80f51de7b4e3.png74dbee4cb38b45aeb9d1202618c34de2.png

71f55769f40e47e59874cd5cf94c82aa.png


链接到GFS Vtable

这一步需要用的文件位于:ungrib/Variable_Tables/Vtable.GFS

链接代码如下:


db8c7c3bb6424832baa93cebaf982c25.png


ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable


使用脚本link_grib.csh链接GRIB数据


这一步用到的文件位于wps的link_grib.csh文件,需要将我们最开始下载的matthew文件下的所有fnl***.grib2文件进行链接:


4a4e370a9f6046e39a6d883dab99d29e.png


e05aa87b8081430aa476034aac035ca2.png


代码如下:./link_grib.csh ../DATA/matthew/fnl


02201fc54f474dc28d1401d61745de3c.png


这将创建以下链接:


a4f5d5bff4b24c91b24c4b94cb639770.png


编辑namelist.wps 文件,并设置如下:


该文件同样位于WPS的目录下:


0f8c9fcefc4d44619e6712cf7cecbf04.png


注:有关这些变量的详细解释以及对最佳实践的建议,请参阅Best Practices WPS Namelist,或WRF User’s Guide的第三章。


4ac149b91d4649d5b37bcdf55d438742.png


修改如下:


max_dom = 1
start_date = '2016-10-06_00:00:00',
end_date = '2016-10-08_00:00:00',
interval_seconds = 21600,


82e150ebcaeb4472a19859b2da7796db.png


保存后退出。

运行ungrib 来创建中间文件:

文件还是在WPS路径下:


50d6c3686a4b46d8beee4cb44a10fa3f.png


代码如下:

./ungrib.exe


运行后显示,这个应该是成功了:


92cb9c2e5c664c91a0aa353a23b37148.png


2、获取SST数据(本步可跳过)


  • 注:我们不会在单区域情况下使用SST 数据,但是如果对运行SST-update 案例感兴趣,稍后将使用它。现在,只存储这些数据,以便以后使用。如果您对运行sst-update案例不感兴趣,那么您可以跳过本节。

还是同样需要先下载SST数据,下载链接如下:SST下载

下载完成后,还是放在之间最开始创建的data文件夹下


7a12869e8f8444c5bb549c8b8336c443.png


重复两部操作,链接vtablesst_grib文件

  • ln -sf ungrib/Variable_Tables/Vtable.SST Vtable
  • ./link_grib.csh ../data/matthew_sst/rtg_sst_grb


67e421aee6494c7fb957854132a970cf.png


  • 编辑namelist.wps,与上面同理:
start_date = '2016-10-06_00:00:00',
end_date = '2016-10-08_00:00:00',
interval_seconds = 21600,



37b563a02fb04c1fb6059b03b2712c37.png

再运行:./ungrib.exe,显示运行完成:


944ff590431e455aabd81a64ce5fa2d6.png


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',

08e6290280db4b8f90dafe30efb2da54.png


在运行geogrid.exe之前,确保区域位于正确的位置:

运行以下代码进行查看:


ncl util/plotgrids_new.ncl


552497f276944af69a94a7f9d5eca113.png


f20aadb622194bb3b187ea4f8d47e37a.png

现在运行geogrid.exe 来创建这个区域的静态数据,该文件还是处于WPS的目录下


426c49dcc68844e6be990311bcf2f2e2.png


注:这将覆盖任何之前运行的geo_em.d01.nc 文件,所以,如果你想保存旧文件,就把它们保存在其它地方。

运行代码:./geogrid.exe,出现以下内容表示成功啦:


2841837288b04e6193b8eb63446f36f1.png


并且,可以在该文件目录下找个geo_em.d01.nc文件:


f4ef877228744c32a1740fd00cd3a6e0.png


4、 Metgrid


1. 插值到模式区域(metgrid.exe)


  • namelist.wps
    不需要对namelist.wps 进行额外的更改,只需要确保对Matthew案例正确设置开始和结束日期,并将fg_name 设置为FILE


51cb71c31fca46e0a59eec9923fef058.png

  • 运行metgrid.exe 将输入文件插值到模式区域上,文件位置与上述相同:
./metgrid.exe


下面的文本应该在运行时出现在屏幕上。在运行结束时寻找“ Successful completion of

metgrid ”,表明在执行过程中一切顺利。还将创建一个包含更多信息的metgrid.log 文件。如果遇到任何问题,可以使用此日志文件进行故障排除。如下:


e05e1e5a790c450583a62f9a56c5efb8.png

01f1c9ffd7ab433c9131e05b9b0b8c76.png

这一步会创建以下文件:


91dcdee384a94dd988cda4f90097cb4b.png


  • 终于,以上操作你都完整的完成下来,那么就到了最后,运行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* .


d01f2d9df1944e349093e6d35c7b288e.png


编辑namelist.input,它在哪呢?他就在这个路径下:


3e9f7c96e6424e8d9aad84b38162ae60.png

  • 编辑内容如下:
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,


07a2bfe971b844429beef8f7c495a89d.png


  • 注:上面的restart_interval 设置——我们计划稍后进行重新启动,因此需要再重新启动之前设置这次运行。这将创建额外的重新启动输出文件,稍后我们可以从这些文件重新启动模型。
  • 运行real.exe (验证程序是否正确运行),这个文件在该目录下:

注:这将会覆盖以前运行的wrfinput_d01 和wrfbdy_d01 文件,所以,如果你想保存旧文件,就把它们保存在其他地方。


如下图显示就是运行成功啦:


4f1d68581ca74dddad42543e3f15e508.png


  • 检查是否已经创建了以下两个文件:
wrfinput_d01
wrfbdy_d01


  • 运行wrf.exe (验证程序是否正确运行)

检查是否已经创建了以下文件:


9b612ab39d9c4e67b74e8631b63995a1.png

至此,就已经把WRF模式跑完啦。一般最后一步要跑好久。如果有条件得话,可以放到学校集群上进行多核运行,但是这一步暂时我还没理清楚。以后有机会再写下来吧。


                一个努力学习python的海洋人
                水平有限,欢迎指正!!!
                欢迎评论、收藏、点赞、转发、关注。
                关注我不后悔,记录学习进步的过程~~


相关文章
|
23天前
|
Java
JavaSE——模拟双色球业务(双色球业务介绍、总体实现步骤分析,代码+运行结果)
JavaSE——模拟双色球业务(双色球业务介绍、总体实现步骤分析,代码+运行结果)
26 7
|
2月前
|
jenkins 测试技术 持续交付
Jenkins配置测试报告后无法正常显示或显示空的解决方法(问题集锦)
根据具体情况逐一排查上述问题,往往可以解决Jenkins配置测试报告无法正常显示或显示空的问题。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
33 0
|
2月前
|
JavaScript Java 测试技术
基于Java的剧本杀预约系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的剧本杀预约系统的设计与实现(源码+lw+部署文档+讲解等)
41 0
|
8月前
|
监控 关系型数据库 MySQL
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
228 2
麒麟系统开发笔记(十一):在国产麒麟系统上使用gdb定位崩溃异常方法流程进阶定位代码行数及专项测试Demo
上一篇,通过研究,可以定位到函数,本篇进一步优化,没有行数,程序较为复杂的时候,就无法定位,所以进一步定位。   本篇做了qBreakpad的研究,但是没有成功,过程也还是填出来,后来突然注意到gdb出现行数的方法,并通过了几轮测试以及实战,确实可以定位到行数,所以为了大家方便,把国企麒麟上的Qt崩溃方法分享出来。   本篇文章比较长,就不分篇了,同时还做了专项测试。
麒麟系统开发笔记(十一):在国产麒麟系统上使用gdb定位崩溃异常方法流程进阶定位代码行数及专项测试Demo
|
测试技术
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(下)
235 0
|
测试技术 数据安全/隐私保护
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等(上)
Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等
605 0
|
Linux API Python
wrf模式学习记录--使用ERA5数据驱动WRF模式三层嵌套:数据下载以及模式处理
wrf模式学习记录--使用ERA5数据驱动WRF模式三层嵌套:数据下载以及模式处理
wrf模式学习记录--使用ERA5数据驱动WRF模式三层嵌套:数据下载以及模式处理
|
JSON 安全 数据格式
python接口自动化(四十)- logger 日志 - 下(超详解)
日志是非常重要的,用于记录系统、软件操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统、软件的活动等重要作用,在开发或者测试软系统过程中出现了问题,我们首先想到的就是她——logging。
210 0
python接口自动化(四十)- logger 日志 - 下(超详解)
|
测试技术 Linux API
开发一个Node命令行小玩具全过程--高颜统计工具
命令行工具对于我们来说非常的熟悉,一些命令行的操作也极大的简化了我们的日常工作。本文就基于我写的一个Node命令行代码计数器来进行展开。
开发一个Node命令行小玩具全过程--高颜统计工具