由于WRF自带最高分辨地形数据是30s的,约900m。要使用更高分辨率的地形数据需要自己制作、添加。下面简要介绍一下下载、制作和使用流程,仅供参考。
1. 数据下载
这里使用 srtm 地形数据,下载地址为:
http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp
每个网格为一个文件,一个文件涵盖的区域为

。下载时选择
tiff
格式,便于之后处理。
本文选取的区域为:
,
每个文件的下载链接都是有规律的,比如上面所选区域的左下角的网格,纬度的编号是9,经度的编号是53,那么可以通过shell脚本批量下载了。
然后
source
执行。
wang@localhost $ . ./downsrtm.sh
复制
注意:由于WPS地形数据格式的限制,只能制作某个区域的,过大会超出99999。所以选取的文件个数最好不要超过60。
下载完成后新建一个文件夹,解压到里面。
source
该脚本完成解压。
2. 数据拼接
安装
Python
的
gdal
包,可以通过系统的包管理器这里是使用
conda
包管理器来安装的。关于
conda
的使用这里不再赘述。
进入解压后的目录,使用下面命令拼接。
gdal_merge.py *.tif -o output.tif -a_nodata -32768
复制
3. 转换为WPS格式
使用openwfm的小程序 convert_geotiff ,
下载地址为:https://github.com/openwfm/convert_geotiff
编译时需要先用
yum
安装
libgeotiff
和
libgeotiff-devel
。
-
编译
./configure CPPLAGS=/usr/include/libgeotiff --prefix=/yourinstallpath
make && make install
安装后需要将编译出的
所在的路径加到convert_geotiff
环境变量里,或者用绝对路径来调用。PATH
-
转换
新建一个
文件夹,将之前生成的topo_3s
output.tif
文件放入该文件夹下。执行下面命令就在该文件夹下生成了index和WPS格式的地形文件。
convert_geotiff -w 4 -t 1500 -u "meters MSL" -d "3s topography" -b 0 -m -32768 ouput.tif
最后将
目录拷贝到topo_3s
目录下。geog
注意:这种方法生成的index文件对经纬度描述有误,以本文区域为例。需要做如下修改。
- known_lat = 45.000416
- known_lon = 79.999583
- dx = 8.333333e-04
- dy = 8.333333e-04
known_lat和known_lon为选取区域左上角点的经纬度。
4. 使用
只拷贝文件还不够,还要让WPS知道在哪找这个地形文件。
打开WPS/geogrid下的GEOGRID.TBL文件,在HGT_M对应位置添加如下信息:
interp_option=3s:average_gcell(4.0)+four_pt+average_4pt
复制
rel_path=3s:topo_3s/
复制
添加好的GEOGRID.TBL
在
namelist.wps
的
geog_data_res
填写
3s
就可以使用了。
5. 验证
选取云南省一部分
不同分辨率的效果
参考资料1:http://www.meteoboy.com/90m-topo-in-WRF.html
参考资料2:http://seisman.info/srtm.html