专栏首页气象杂货铺WRF模式之WPS的配置运行

WRF模式之WPS的配置运行

编译安装好可以模拟实际个例的WRF模式之后,在模拟之前需要先确定模拟域(即模拟范围)以及数据预处理(插值陆面数据,比如地形,土壤等数据;差插值气象数据到模拟域)过程。这就是WPS——模式前处理系统。

模式前处理过程主要由三个程序处理:geogrid,ungrib,metgrid。每一个程序负责一个部分:

  • geogrid 主要用于定义模拟域,插值陆面数据到模拟域 根据 namelist.wps 中 &geogrid 字段的参数确定模拟域,投影以及嵌套关系。可用的地形数据精度为:10‘,5’,2‘,30’‘(更高精度的地形数据需要自定义)。
  • ungirb 主要从 GRIB 文件中提取模式所需的气象场数据,然后写入到中间格式文件
  • metgrid 主要将 ungrib 提取的气象场数据水平插值到 geogrid 定义的模拟域

namelist.wps 文件控制着上述三个程序的行为,通常的 namelist.wps 文件包含以下信息:

&share
 wrf_core = 'ARW',
 max_dom = 2,
 start_date = '2015-10-04_00:00:00','2015-10-04_00:00:00',
 end_date   = '2015-10-05_00:00:00','2015-10-05_00:00:00',
 interval_seconds = 21600
 io_form_geogrid = 2,
/

&geogrid
 parent_id         =   1,      1,      2,
 parent_grid_ratio =   1,      3,      3,
 i_parent_start    =   1,      50,    200,
 j_parent_start    =   1,      40,    180,
 e_we              =   241,    424,   1781,    
 e_sn              =   220,    421,   1781,
 geog_data_res     = '10m', '2m',  '30s',
 dx = 9000,
 dy = 9000,
 map_proj  = 'lambert',
 ref_lat   =  23.00,
 ref_lon   = 113.00,
 truelat1  =  15.0,
 truelat2  =  30.0,
 stand_lon = 117.00,
 geog_data_path = '/geog/path/'
/

&ungrib
 out_format = 'WPS',
 prefix = 'FILE',
/

&metgrid
 fg_name = 'FILE'
 io_form_metgrid = 2, 
/

namelist.wps 中包含四个部分: &share,&geogrid,&ungrib,&metgrid。

  • &share 部分控制三个程序共享的参数设置
 wrf_core = 'ARW',  # 控制动力核
 max_dom = 2,       # 控制模拟域嵌套层数
 start_date = '2015-10-04_00:00:00','2015-10-04_00:00:00',  #控制模拟开始时间
 end_date = '2015-10-05_00:00:00','2015-10-05_00:00:00',    #控制模拟结束时间
 interval_seconds = 21600     # 初始场文件的时间间隔
 io_form_geogrid = 2,   # geogrid输出文件格式,默认为 netcdf
 
 # 除了上述参数设置之外,还有一些可选参数设置
  • &geogrid 控制 geogrid.exe 的参数设置
 parent_id         =   1,      1,      2,  # 模拟域 ID,除第一层之外,其余层ID递增,第2层为1,第3层为2
 parent_grid_ratio =   1,      3,      3,  # 每一层之间的网格格距比
 i_parent_start    =   1,      50,    200, # 每一层在其上一层中X方向的起始点
 j_parent_start    =   1,      40,    180, # 每一层在其上一层中Y方向的起始点
 e_we              =   241,    424,   1781,  # 每一层的X方向格点总数  
 e_sn              =   220,    421,   1781,  # 每一层Y方向的格点总数
 geog_data_res     = '10m', '2m',  '30s',   # 每一层的地形数据精度 parent_grid_ratio = 1, 3,  
 dx = 9000,       # 最外层X方向网格格距,单位 km
 dy = 9000,       # 最外层Y方向网格格距,单位 km
 map_proj = 'lambert',  # 投影方式
 ref_lat = 23,    # 最外层模拟域中心纬度
 ref_lon = 113,   # 最外层模拟域中心经度
 truelat1 = 15,    # Lambert 投影的第一个真实纬度
 truelat2 = 30,    # Lambert 投影的第二个真实纬度
 stand_lon = 117,  # Lambert 投影和Y轴平行的经度
 geog_data_path = '/glade/p/work/wrfhelp/WPS_GEOG/'  # 地形数据存放路径
  • &ungrib 控制 ungrib.exe 的参数设置
 out_format = 'WPS',
 prefix = 'FILE',
  • &metgrid 控制 metgrid.exe 的参数设置
 fg_name = 'FILE'
 io_form_metgrid = 2,

介绍好每一部分之后就可以准备数据进行模拟前的处理了。

  1. 定义模拟域 按照上述 &geogrid 部分的参数设置可以确定模拟域。一般情况下最外层的范围很容易确定,而第二层的范围设置时通过 i_parent_start, j_parent_start, parent_grid_ratio, e_we, e_sn 等参数确定。 parent_grid_ratio 表示每一层模拟域之间的网格格距比,因为D01没有父区域,所以D01的 prent_grid_ratio 为 1,而D02的父区域为D01,因此D02的嵌套比可以为其它值,默认值为3,也可以设置为其他值。 i_parent_start 表示每一层在上一层模拟域中的X方向起始点坐标,因为D01没有父区域,所以为1,而D02的父区域为D01,所以其在D01中的起始点为50,此值应小于 e_we 对应的 D01的值;j_parent_start 类似,表示Y方向的值 e_wee_sn 分别表示每个模拟域 X和 Y方向的总格点数 D02 和 D01左侧边界之间的距离通过 i_parent_start 来确定,那么如何确定右侧边界之间的距离呢?见下图(清晰大图见底部链接下载) 其实右侧的距离不需要通过参数指定,只需要在计算 e_we 的时候指定就行了。 d02: e_we = (d01:e_we - d02:i_parent_start - d02:i_parent_end)*d02:parent_grid_ratio + 1 其中 d01: ,d02:表示模拟域对应的值,i_parent_end 表示D02和D01右侧的网格距离,这是虚拟参数,非 namelist.wps 中的参数,这个值在计算 e_we 的时候直接指定即可,比如想设置 D02 和 D01 左侧的距离为 50, 右侧的距离为 50,那么 d02:e_we = (241 - 50 - 50)*3 + 1 = 424,当然也可以设置左侧距离为30,右侧距离为 20, 那么 d02:e_we = (241 - 30 - 20)*3 + 1 = 574。 Y方向的计算方式类似X方向的计算。 注意: 每个模拟域之间的网格数不要小于5。

设置好参数之后就可以运行了:

./geogrid.exe

然后看到屏幕输出以下内容则表示成功:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of geogrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

B.提取气象场 下载好初始场文件之后就可以提取气象要素并写入到中间文件中,此部分处理需要 &share 和 &ungrib 部分的参数设置。

&share
 wrf_core = 'ARW',
 max_dom = 2,
 start_date = '2015-10-04_00:00:00','2015-10-04_00:00:00',
 end_date   = '2015-10-05_00:00:00','2015-10-05_00:00:00',
 interval_seconds = 21600  # 初始场文件的时间间隔,6小时再分析数据的时间间隔为 21600
 io_form_geogrid = 2,
/

&ungrib
 out_format = 'WPS',  # 中间文件的格式
 prefix = 'FILE',   # 中间文件的路径和前缀,默认为当前路径
/

设置好参数之后,先将初始场文件对应的 Vtable 文件链接到WPS目录:

ln -s ungrib/Variable_Tables/Vtable.GFS Vtable

注意: 通常使用NECP FNL再分析数据时,可以链接Vtable.GFS文件,但是由于有些时段的文件更新了,需要链接 Vtable.GFS_new 链接好 Vtable 文件之后,要链接 初始场文件:

./link_grib.csh /data/fnl/fnl_2015*

链接好 GRIB和Vtable文件之后,就可以执行 ungrib.exe 提取气象场数据了:

./ungrib.exe

同样会得到如下信息:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of ungrib. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

C.水平插值气象场 这一部会用到 &share 和 &metgrid 部分的参数设置。 fg_name 表示中间文件的路径和前缀,默认路径为当前路径,前缀为FILE,可以根据需要更改。

&metgrid
 fg_name = 'FILE'
 io_form_metgrid = 2,  # 控制输出文件的格式
/

进行水平插值时,设置好参数之后直接运行 metgrid.exe 即可:

./metgrid.exe
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of metgrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

上面就是运行WPS所需要的流程,流程基本一致。关于 namelist.wps 的参数设置以及高级应用以后再说。


注1:链接: https://pan.baidu.com/s/1ctYglK 密码: thvp

本文分享自微信公众号 - 气象杂货铺(meteogs),作者:lightning

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何利用CDO从数据集中提取数据

    之前说了如何利用CDO查看数据集信息 使用CDO查看气象数据信息。这一次说一下利用CDO从数据集中提取数据。这部分是非常使用的,尤其是当涉及到大数据集的时候,其...

    bugsuse
  • wrf-python 详解之如何使用

    近几年,python在气象领域的发展也越来越快,同时出现了很多用于处理气象数据的python包。比如和NCL中的 WRF_ARWUser库类似的 wrf-pyt...

    bugsuse
  • 利用python-cdo处理气象数据

    如果你不喜欢命令行的操作方式,那么你可以尝试使用python-cdo,利用python脚本语言的优势来处理气象数据。命令行的方式有其优势,比如简单易操作,可扩展...

    bugsuse
  • 【DB笔试面试618】在Oracle中,“OR扩展”可以有查询转换吗?

    小麦苗DBA宝典
  • Bochspwn漏洞挖掘技术深究(1):Double Fetches 检测

    虽然现在技术文章很少人看,大家都喜欢聊安全八卦,但技术文章输出是一种很好的学习方式。更重要的是,专业的文章是给专业的人看的,并非为了取悦所有人。

    泉哥
  • 数据迁移前的准备和系统检查 (r2笔记70天)

    关于数据迁移,在之前也讨论过一些需要注意的地方,可能林林总总列了不少,都是在数据迁移迁移前和迁移时需要注意的。 http://blog.itpub.net/23...

    jeanron100
  • [042]f2fs存储结构初探

    将f2fs_device和loop设备绑定,生成一个虚拟块设备,如果提示设备忙,13换成其他数字

    王小二
  • 手搓一个分布式大气监测系统(三)使用 Nucleo LoRa 开发套件打造 PM2.5 监测终端

    鹅民大气监测项目前期已搭建了5个种子监测点,接下去将吸引更多的志愿者来搭建终端,接入系统,一起搭建监测网络。从二期开始,大气监测项目组的同事优选了几款开发套件完...

    twowinter
  • 为什么别人能用好 MySQL?万字详解其复杂原理

    MySQL InnoDB 引擎现在广为使用,它提供了事务,行锁,日志等一系列特性,本文分析下 InnoDB 的内部实现机制,MySQL 版本为 5.7.24,操...

    乔戈里
  • AkShare-宏观经济-中国LPR数据

    LPR数据对大家都有非常重大的影响,尤其是有房贷的各位小伙伴,特提供 LPR 数据接口,欢迎大家使用。

    AkShare

扫码关注云+社区

领取腾讯云代金券