安装好WRF之后,还不能直接使用。需要先使用WPS进行数据预处理,准备好必须的输入数据与模拟参数,才能顺利运行模拟程序。
WRF提供了多种气象模拟模式,本文只介绍进行真实模拟(real)所必须的相关操作。
运行WRF模型之前,需要进行以下三个预处理操作:
这三个功能则由WPS的三个子程序完成,分别为:
这三个程序运行前需要先对它们的配置文件进行相应的修改。配置文件文件名为 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 文件为例,其最后一部分内容为:
35 # Vtable for GFS pressure-level data from the ncep server.
37 # ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.ccyymmddhh/ (note hh at end)
39 # approx. grid hours domain dx notes
40 # file size no.
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).
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 Vtableungrib.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的准备工作已经全部完成。
相关文章:
近期评论