安装好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的配置与使用相关推荐

  1. linux跑wrf.exe程序的前提,用WRF模型进行气象模拟入门(3)——WRF的运行

    在前两篇文章已经介绍了WRF的编译安装,以及WPS的配置.本文将开始介绍如何运行WRF 前面已经提到了,WRF有两种运行模式:理想案例(idealized)与实际案例(real-data),这里只关注 ...

  2. WRF模式、WRF-SOLAR、WRF-UCM、人工智能气象、FLEXPART、CMIP6数据处理、LEAP模型

    WRF模式是国内外应用最为广泛的气象模式,使用该模式进行高精度甚至几百米的模拟应用也越来越多.另一方面,该模式不断扩展模式模块,现在已经可以实现对气溶胶及化学过程(WRF-CHEM).资料同化(WRF ...

  3. 【案例实践】WRF-Python融合技术:WRF 模式前后处理、自动化运行、数据处理、可视化绘图

    [查看原文]Python在WRF模型自动化运行及前后处理中实践技术应用 当今从事气象及其周边相关领域的人员,常会涉及气象数值模式及其数据处理,无论是作为业务预报的手段.还是作为科研工具,掌握气象数值模 ...

  4. WRF模式可以做什么?天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量

    原文>>> 高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 气候是多个领域(生态.水资源.风资源及碳中和等问题)的主要驱动因素,合 ...

  5. WRF模式应用:天气预报、模拟分析观测气温、降水、风场、水汽和湿度、土地利用变化、土壤及近地层能量水分通量、土壤、水体、植被等相关气象变量

    查看原文>>>高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 目录 区域气候模式理论知识梳理 Linux操作系统WRF模式系统实际 ...

  6. WRF模式与Python融合技术在多领域中的应用及精美绘图

    当今从事气象及其周边相关领域的人员,常会涉及气象数值模式及其数据处理,无论是作为业务预报的手段.还是作为科研工具,掌握气象数值模式与高效前后处理语言是一件非常重要的技能.WRF作为中尺度气象数值模式的 ...

  7. WRF模式的移植、运行、后处理及在多领域的应用

    1.WRF模式的各个组成部分: 2.自主完成该模式的移植:3.自主完成模式运行: 4.自主完成模式后处理:5.通过多领域案例分析.实践,熟悉在多领域中的应用. 随着生态文明建设和"碳中和&q ...

  8. 高精度气象模拟软件WRF:天气预报、观测气温、分析降水、模拟尺度气象、模拟水汽湿度、土地利用变化影响、土壤水分通量、分析风场、分析土壤水体植被等气象变量

    查看原文>>>高精度气象模拟软件WRF(Weather Research Forecasting)技术及案例应用 气候是多个领域(生态.水资源.风资源及碳中和等问题)的主要驱动因素, ...

  9. 高精度气象模拟软件WRF(Weather Research Forecasting)

    前言: 随着生态文明建设和"碳中和"战略的持续推进,我国及全球气候变化及应对是政府.科学界及商业界关注的焦点.气候是多个领域(生态.水资源.风资源及碳中和等问题)的主要驱动因素,合 ...

最新文章

  1. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
  2. vba thisworkbook 切换表 执行 速度慢_带你初探VBA事件的大门—工作簿事件
  3. 微型计算机的内存主要包括rom,信息安全技术题库:路由器硬件组件主要包括( )、闪存、ROM、RAM。 - 作业在线问答...
  4. web页面密码修改测试
  5. python numba.jit 警告:cannot determine Numba type of class 'numba.dispatcher.LiftedLoop'(加速代码)
  6. 吐血整理:Java线程池源码分析(基于JDK1.8建议收藏)
  7. 八皇后问题python实现_八皇后问题的python实现
  8. 2019我做成的事情
  9. queue double java_一文弄懂java中的Queue家族
  10. 用html做qq会员页面导航,untitledQQ会员页面导航3.html
  11. Mac OS X 完全卸载MySQL
  12. python获取当前日期的前一天爆炸_python蒙特卡洛脚本模拟—挑战者号爆炸概率
  13. c语言程序设计删除,C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句...
  14. 2010年篮球规则(FIBA)
  15. c语言口袋妖怪代码大全,口袋妖怪代码大全.docx
  16. Java学习4:方法的重载(Overload)详解及实例说明
  17. cad图纸打印出来更高效的方法介绍
  18. CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport
  19. windows10如何安装IIS6.0
  20. 面向初学者的 MQL4 语言系列之3——技术指标和内置函数

热门文章

  1. 数据中心(DC)核心交换机和普通交换机的区别
  2. 谷歌搜索的灵魂!BERT模型的崛起与荣耀
  3. cdp4j The status code of the opening handshake response is not ‘101 Switching Protocols‘
  4. SolidWorks工装 焊接 夹具 治具 检具 3D图档-350套(9.2G)
  5. [ Tensorflow学习之路 ] —— API:TF-Slim
  6. python打卡提醒机器人(企业微信)
  7. U-BOOT启动流程详细分析[转]
  8. IDE+Smalidea插件+Baksmali调试破解APK
  9. VSCode,插件安装失败,解决方法
  10. 在WinServer2008下安装SQLServer2014