天天看點

WRF使用3s(90m)分辨率的地形資料

由于WRF自帶最高分辨地形資料是30s的,約900m。要使用更高分辨率的地形資料需要自己制作、添加。下面簡要介紹一下下載下傳、制作和使用流程,僅供參考。

1. 資料下載下傳

這裡使用 srtm 地形資料,下載下傳位址為:

http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp

每個網格為一個檔案,一個檔案涵蓋的區域為

WRF使用3s(90m)分辨率的地形資料

。下載下傳時選擇

tiff

格式,便于之後處理。

本文選取的區域為:

WRF使用3s(90m)分辨率的地形資料

WRF使用3s(90m)分辨率的地形資料
WRF使用3s(90m)分辨率的地形資料

每個檔案的下載下傳連結都是有規律的,比如上面所選區域的左下角的網格,緯度的編号是9,經度的編号是53,那麼可以通過shell腳本批量下載下傳了。

WRF使用3s(90m)分辨率的地形資料

然後

source

執行。

wang@localhost $ . ./downsrtm.sh           

複制

注意:由于WPS地形資料格式的限制,隻能制作某個區域的,過大會超出99999。是以選取的檔案個數最好不要超過60。

下載下傳完成後建立一個檔案夾,解壓到裡面。

WRF使用3s(90m)分辨率的地形資料

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/           

複制

WRF使用3s(90m)分辨率的地形資料

添加好的GEOGRID.TBL

namelist.wps

geog_data_res

填寫

3s

就可以使用了。

WRF使用3s(90m)分辨率的地形資料
5. 驗證

選取雲南省一部分

WRF使用3s(90m)分辨率的地形資料
WRF使用3s(90m)分辨率的地形資料

不同分辨率的效果

參考資料1:http://www.meteoboy.com/90m-topo-in-WRF.html

參考資料2:http://seisman.info/srtm.html