wrf模式计算机配置,用WRF模型进行气象模拟入门(2)——WPS的配置与使用
安装好WRF之后,还不能直接使用。需要先使用WPS进行数据预处理,准备好必须的输入数据与模拟参数,才能顺利运行模拟程序。
WRF提供了多种气象模拟模式,本文只介绍进行真实模拟(real)所必须的相关操作。
1.概述
运行WRF模型之前,需要进行以下三个预处理操作:
定义模型运行空间,以及嵌套区域
进行数据重投影,转坐标
对地表参数、气象数据进行时空插值
这三个功能则由WPS的三个子程序完成,分别为:
geogrid.exe 主要功能为定义模型投影、区域范围,嵌套关系,对地表参数进行插值
ungrib.exe 主要功能为从grib数据中提取所需要的气象参数
metgrid.exe 主要功能为将气象参数插值到模拟区域
这三个程序运行前需要先对它们的配置文件进行相应的修改。配置文件文件名为 namelist.wps, 位于WPS 源码根目录下。
一个namelist.wps文件样例如下:
&share
wrf_core = 'ARW',
max_dom = 2,
start_date = '2006-08-16_12:00:00','2006-08-16_12:00:00',
end_date = '2006-08-16_18:00:00','2006-08-16_12:00:00',
interval_seconds = 21600
io_form_geogrid = 2,
/
&geogrid
parent_id = 1, 1,
parent_grid_ratio = 1, 3,
i_parent_start = 1, 31,
j_parent_start = 1, 17,
e_we = 74, 112,
e_sn = 61, 97,
geog_data_res = '10m','2m',
dx = 30000,
dy = 30000,
map_proj = 'lambert',
ref_lat = 34.83,
ref_lon = -81.03,
truelat1 = 30.0,
truelat2 = 60.0,
stand_lon = -98.0,
geog_data_path = '/glade/p/work/wrfhelp/WPS_GEOG/'
/
&ungrib
out_format = 'WPS',
prefix = 'FILE',
/
&metgrid
fg_name = 'FILE'
io_form_metgrid = 2,
/
其中以&符号开头的为配置模块名称。 &share 模块描述了通用配置选项,&geogrid 描述了geogrid.exe的配置选项,&ungrib 描述了 ungrib.exe的配置选项,&metgrid 描述了 metgrid.exe的配置选项。
在&SHARE部分中,
wrf_core = ‘ARW’,
用于设定WRF 的运行核心,其值为’ARW’ 或 ‘NMM’之一,本文只介绍’ARW’的配置
max_dom = 2,
用于设定嵌套区域数量
start_date = '2006-08-16_12:00:00','2006-08-16_12:00:00',
end_date = '2006-08-16_12:00:00','2006-08-16_12:00:00',
是输入数据的起始和结束时间,对于ARW的嵌套区(样例中的区域2)只需要指定start_date即可,end_date的设定一般是无效的。
interval_seconds = 21600
设置输入数据的时间间隔,单位为秒;对于6小时再分析资料,就设为21600秒
io_form_geogrid = 2,
这是geogrid.exe的输出格式,2代表netCDF格式,推荐使用这个格式
2. 嵌套关系定义与投影设定
2.1 嵌套关系定义
以下为区域嵌套关系的设定,结合下图来说明:
parent_id = 1, 1,
定义了各个嵌套区域的上级区域编号,在样例里:区域1(d01) 是根区域,因此区域1(d01)的上级区域还是区域1(d01);而区域2(d02)嵌套在区域1(d01) 中,那么
区域2(d02) 的上级区域是区域1(d01)。
i_parent_start = 1, 31,
j_parent_start = 1, 17,
设定了子区域左下角起点在上级区域的位置(栅格数)
e_we = 74, 112,
e_sn = 61, 97,
设定了各个区域的矢量场的栅格数。矢量场的栅格数要比标量场栅格数多1。也就是说,在样例文件中,区域2的栅格数为\(111\times 96\)
parent_grid_ratio = 1, 3,
上级区域与下级区域之间的栅格尺寸比率;如果使用真实数据模拟,这个数必须设为奇数。
各个区域中的 parent_grid_ratio 与 e_we, e_sn 之间必须满足\(\frac{e\_we-1}{parent\_grid\_ratio}\)和\(\frac{e\_sn-1}{parent\_grid\_ratio}\)为整数
geog_data_res = '10m','2m',
设定该嵌套区域静态数据的数据来源(WRF的自带数据通过分辨率来命名的)
dx = 30000,
dy = 30000,
定义了根区域的栅格尺寸,在经纬度投影下,其单位是度;其他投影下其单位是米
样例文件中的嵌套定义结果如下
2.2 定义研究区范围与投影
接下来定义研究区范围与投影
map_proj = 'lambert',
定义投影类型。在ARW中有4中投影类型供选择,分别为:’lambert’, ‘polar’, ‘mercator’, 和 ‘lat-lon’;而对于NMM只能使用’rotated\_ll’投影。本文仅讨论ARW四种投影。
ref_lat = 34.83,
ref_lon = -81.03,
定义了根区域的中心经纬度坐标,含义如下图所示:
通过 ref_lon, ref_lat 以及上文中提到的 e_we, e_sn, dx, dy 这六个参数共同确定了总研究区的空间范围。
truelat1 = 30.0,
truelat2 = 60.0,
stand_lon = -98.0,
这三个是投影参数,对于不同的投影类型有不用的含义,具体解释如下:
对于lambert投影
需要定义truelat1 和 truelat2,stand_lon则定义了在投影后与y轴平行的那条经线(见前一个图中的投影参数)。这个投影适合在中纬度地区使用
对于 polar 投影
只需要定义 truelat1 和 stand_lon 即可。适合在高纬度地区使用
对于 mercator 投影,
也只需要定义 truelat1 和 stand_lon 即可。适合在低纬度地区使用
对于 lat-lon 投影,
需要定义的参数为pole_lat, pole_lon, stand_lon。用于全球范围的模拟。
如果用于对于北半球区域模拟,一般进行如下设定
pole_lat=90.0 - ref_lat
pole_lon=180.0
stand_lon= -ref_lon
而对于南半球区域模拟,一般设定
pole_lat=90.0 + ref_lat
pole_lon=0.0
stand_lon=180.0 - ref_lon
注意以上 ref_lat 和 ref_lon 要代入计算后的值
最后一个配置参数:
geog_data_path = '/glade/p/work/wrfhelp/WPS_GEOG/'
指明地理基础数据(如landcover)所在路径,该数据通常可以从WRF/ARW官网下载到(如 http://www2.mmm.ucar.edu/wrf/users/download/get_sources_wps_geog.html)。
以上配置完成后,要确保在WPS根目录下存在 geogrid/GEOGRID.TBL 文件链接指向 GEOGRID.TBL.ARW,如果不存在,则需要使用如下命令手动生成文件链接
cd geogrid; ln -s GEOGRID.TBL.ARW GEOGRID.TBL
完成后即可执行 ./geogrid.exe
如果执行成功,会在WPS目录生成相应的 geo_em.d0x.nc 文件。如果出现错误,先确认下载的数据与使用的WRF版本是否匹配。
此外,如果计算机中安装了NCL,可以执行 WPS 目录下的 util/plotgrids.ncl 脚本,它会将 namelist.wps 中的嵌套区域绘制出来,来确保配置正确
绘图命令为:
ncl util/plotgrids_new.ncl
就能得到这样的图示
3. 气象数据的准备(Ungrib.exe)
我们可以使用多种来源的气象数据驱动WRF运行,各种来源的数据都会被ungrib.exe处理为统一的格式。
在WPS源码目录的 ungrib/Variable_Tables/ 路径下可以找到许多名为 Vtable.* 的文件,如:
README Vtable.ECMWF Vtable.NCEP2
Vtable.AFWAICE Vtable.ECMWF_sigma Vtable.NNRP
Vtable.AGRMETSNOW Vtable.ERA-interim.ml Vtable.NOGAPS
Vtable.AGRMETSOIL Vtable.ERA-interim.pl Vtable.NOGAPS_needs_GFS_soil
Vtable.AGRMETSOIL2 Vtable.GFDL Vtable.RAP.hybrid.ncep
Vtable.AGRWRF Vtable.GFS Vtable.RAP.pressure.ncep
Vtable.ARW Vtable.GFSENS Vtable.RAP.sigma.gsd
Vtable.ARWp Vtable.GFS+TROP Vtable.RUCb
Vtable.AVN0P5WRF Vtable.GODAS Vtable.RUCp
Vtable.AWIP Vtable.GSM Vtable.SST
Vtable.CFSR2_web Vtable.JMAGSM Vtable.TCRP
Vtable.CFSR_mean Vtable.NAM Vtable.UKMO_ENDGame
Vtable.CFSR_press_pgbh06 Vtable.NARR Vtable.UKMO_LANDSEA
Vtable.CFSR_sfc_flxf06 Vtable.NavySST Vtable.UKMO_no_heights
点后面的名称即为WRF 所支持的气象数据来源,比如 ECMWP, NCEP2。这些文件就描述了各个来源的气象数据应当如何读取。
但是我们更加关心的事情是这些气象数据从哪里获取?这也可以在这些描述文件中找到,以 Vtable.GFS 文件为例,其最后一部分内容为:
34 #
35# Vtable for GFS pressure-level data from the ncep server.
36 #
37# ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.ccyymmddhh/ (note hh at end)
38 #
39# approx. grid hours domain dx notes
40# file size no.
41 #
42# gfs.t12z.pgrb2f00 56000 Kb 4 3-h to 192-h global 0.5 deg (26 p-levels plus sfc and trop, 1000 to 10 mb).
43# gfs.t12z.pgrbf00.grib2 18000 Kb 3 3-h to 384-h global 1.0 deg (26 p-levels plus sfc and trop, 1000 to 10 mb).
44 #
45 #
46 #
47# For SNOWH, NCEP starts with the AFWA snow depth analysis and converts it to a water-equivalent.
48# For some reason, NCEP uses a different ratio in the GFS/GDAS than in the NAM and that which is assumed in WRF.
49# Therefore, we need to adjust SNOW and compute SNOWH in ungrib.
这里已经将GFS的下载地址,文件名等信息介绍的十分清楚了,直接前往下载即可。下载好数据之后需要配置 namelist.wps 文件
首先确保 &share 模块的三个参数 start_date , end_date , interval_seconds 覆盖的时间范围和步长与已经下载的数据一致,然后编辑 &ungrib 模块的参数
out_format = 'WPS',
用于指定输出格式,有’WPS’, ‘SI’, ‘MM5’三中选项;推荐使用’WPS’
prefix = 'FILE’,
指定输出文件的前缀
接下来需要设定所使用 Vtable 文件。Vtable 文件描述了输入的气象场数据中各个参数的名称、单位,以及他们对应与WRF所需的什么变量。对于不同的气象数据,需要一个不同的Vtable来描述。WRF所支持的气象数据集对应的 Vtable 保存在WPS代码目录的 ungrib/Variable_Tables/ 中。
我们需要做的就是把需要的Vtable链接到ungrib.exe运行目录,例如
ln -s ungrib/Variable_Tables/Vtable.GFS Vtable
ungrib.exe 通常会在目录下寻找名为 GRIBFILE.AAA, GRIBFILE.AAB, GRIBFILE.AAC, 等的气象数据文件,所以需要使用WPS根目录下的脚本 link_grib.csh 来自动生成所需要的链接,命令如下:
link_grib.csh /data/GRIB/GFS/gfs*
其中 /data/GRIB/GFS/ 要替换为存放了气象数据文件的路径。
然后执行 ./ungrib.exe 即可从气象数据中提取所需要的数据。提取出来的文件的前缀是 FILE,与namelist.wps中的prefix参数一致。文件名形如 FILE:yyyy-mm-dd_hh
4. 气象数据的重投影重采样
最后需要把 ./geogrid.exe 和 ./ungrib.exe 准备好的数据重投影采样,为模型运行做准备。
首先修改 namelist.wps 中的 &metgrid 模块
fg_name = 'FILE'
用于指定 ungrib.exe 得到的中间文件的文件名前缀,与 &ungrib 中的 prefix 保持一致即可
io_form_metgrid = 2,
指定输出文件格式,2代表netCDF格式。通常推荐使用这种格式
这样 namelist.wps 中的配置就完成了,接下来要配置metgrid自己的配置文件METGRID.TBL。通常在 WPS根目录下的 metgrid/ 目录中有常用的默认配置,本文使用ARW,则确保WPS目录下的 METGRID.TBL 链接文件指向 ./metgrid/METGRID.TBL.ARW
METGRID.TBL -> ./metgrid/METGRID.TBL.ARW
如果不是,需要使用如下命令重新链接
ln -s ./metgrid/METGRID.TBL.ARW METGRID.TBL
接下来即可执行 ./metgrid.exe
会给各个嵌套区都生成形如 met_em.d0x.yyyy-mm-dd_hh:mm:ss.nc 的数据文件,这些文件将会用来驱动WRF运行。如果执行失败,则需要根据错误原因上网搜索解决办法。
至此所有使用WPS的准备工作已经全部完成。
wrf模式计算机配置,用WRF模型进行气象模拟入门(2)——WPS的配置与使用相关推荐
- linux跑wrf.exe程序的前提,用WRF模型进行气象模拟入门(3)——WRF的运行
在前两篇文章已经介绍了WRF的编译安装,以及WPS的配置.本文将开始介绍如何运行WRF 前面已经提到了,WRF有两种运行模式:理想案例(idealized)与实际案例(real-data),这里只关注 ...
- WRF模式、WRF-SOLAR、WRF-UCM、人工智能气象、FLEXPART、CMIP6数据处理、LEAP模型
WRF模式是国内外应用最为广泛的气象模式,使用该模式进行高精度甚至几百米的模拟应用也越来越多.另一方面,该模式不断扩展模式模块,现在已经可以实现对气溶胶及化学过程(WRF-CHEM).资料同化(WRF ...
- 【案例实践】WRF-Python融合技术:WRF 模式前后处理、自动化运行、数据处理、可视化绘图
[查看原文]Python在WRF模型自动化运行及前后处理中实践技术应用 当今从事气象及其周边相关领域的人员,常会涉及气象数值模式及其数据处理,无论是作为业务预报的手段.还是作为科研工具,掌握气象数值模 ...
- WRF模式可以做什么?天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量
原文>>> 高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 气候是多个领域(生态.水资源.风资源及碳中和等问题)的主要驱动因素,合 ...
- WRF模式应用:天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量
查看原文>>>高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 目录 区域气候模式理论知识梳理 Linux操作系统WRF模式系统实际 ...
- WRF模式与Python融合技术在多领域中的应用及精美绘图
当今从事气象及其周边相关领域的人员,常会涉及气象数值模式及其数据处理,无论是作为业务预报的手段.还是作为科研工具,掌握气象数值模式与高效前后处理语言是一件非常重要的技能.WRF作为中尺度气象数值模式的 ...
- WRF模式的移植、运行、后处理及在多领域的应用
1.WRF模式的各个组成部分: 2.自主完成该模式的移植:3.自主完成模式运行: 4.自主完成模式后处理:5.通过多领域案例分析.实践,熟悉在多领域中的应用. 随着生态文明建设和"碳中和&q ...
- 高精度气象模拟软件WRF:天气预报、观测气温、分析降水、模拟尺度气象、模拟水汽湿度、土地利用变化影响、土壤水分通量、分析风场、分析土壤水体植被等气象变量
查看原文>>>高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 气候是多个领域(生态.水资源.风资源及碳中和等问题)的主要驱动因素, ...
- 高精度气象模拟软件WRF(Weather Research Forecasting)
前言: 随着生态文明建设和"碳中和"战略的持续推进,我国及全球气候变化及应对是政府.科学界及商业界关注的焦点.气候是多个领域(生态.水资源.风资源及碳中和等问题)的主要驱动因素,合 ...
最新文章
- Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
- vba thisworkbook 切换表 执行 速度慢_带你初探VBA事件的大门—工作簿事件
- 微型计算机的内存主要包括rom,信息安全技术题库:路由器硬件组件主要包括( )、闪存、ROM、RAM。 - 作业在线问答...
- web页面密码修改测试
- python numba.jit 警告:cannot determine Numba type of class 'numba.dispatcher.LiftedLoop'(加速代码)
- 吐血整理:Java线程池源码分析(基于JDK1.8建议收藏)
- 八皇后问题python实现_八皇后问题的python实现
- 2019我做成的事情
- queue double java_一文弄懂java中的Queue家族
- 用html做qq会员页面导航,untitledQQ会员页面导航3.html
- Mac OS X 完全卸载MySQL
- python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率
- c语言程序设计删除,C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句...
- 2010年篮球规则(FIBA)
- c语言口袋妖怪代码大全,口袋妖怪代码大全.docx
- Java学习4:方法的重载(Overload)详解及实例说明
- cad图纸打印出来更高效的方法介绍
- CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport
- windows10如何安装IIS6.0
- 面向初学者的 MQL4 语言系列之3——技术指标和内置函数
热门文章
- 数据中心(DC)核心交换机和普通交换机的区别
- 谷歌搜索的灵魂!BERT模型的崛起与荣耀
- cdp4j The status code of the opening handshake response is not ‘101 Switching Protocols‘
- SolidWorks工装 焊接 夹具 治具 检具 3D图档-350套(9.2G)
- [ Tensorflow学习之路 ] —— API:TF-Slim
- python打卡提醒机器人(企业微信)
- U-BOOT启动流程详细分析[转]
- IDE+Smalidea插件+Baksmali调试破解APK
- VSCode,插件安装失败,解决方法
- 在WinServer2008下安装SQLServer2014