【WRF笔记5】转化SRTM90m分辨率地形数据,写tif静态数据到GEOGRID二进制格式

文章目录

  • 下载A区域的STRM90m数据
  • 拼接下载的离散栅格数据gdal_merge.py
  • 1.将静态tif地形数据转换二进制地形文件gdal_translate
  • 2.编写INDEX(index+.bil文件移至geog/topo_下)
  • 3.修改GEOGRD.TBL和namelist.wps
  • ./geogrid.exe


系统:Ubuntu
软件:anaconda3、WRF

下载A区域的STRM90m数据

所选区域经纬度大约102.4E-104E,29N-30.3N
将tif数据转换后输出得到geo_em.d01.nc中地形数据,如下:
【WRF笔记5】转化SRTM90m分辨率地形数据,写tif静态数据到GEOGRID二进制格式_第1张图片

拼接下载的离散栅格数据gdal_merge.py

虚拟机,利用conda安装Python-GDAL模块
conda install -c conda-forge gdal

gdal_merge.py *.tiff -o sichuan_A_STRM90m.tif -a_nodata -32768

2
缺省值和描述geog/地形文件INDEX中”missing_value = -32768”对应。

1.将静态tif地形数据转换二进制地形文件gdal_translate

参考:http://bbs.06climate.com/forum.php?mod=viewthread&tid=50088&highlight=SRTM

gdal_translate -of ENVI xxx1.tif xxx2.bil xxx1为我们需要转的文件,xxx2为我们转换好的文件 在运行这步前需要安装GDAL

gdal_translate -of ENVI -co INTERLEAVE=BSQ output.tif xxx2.bil

2.编写INDEX(index+.bil文件移至geog/topo_下)

3
根据同名.hrd文件内容修改INDEX内容:

type = continuous
signed = yes
projection = regular_ll
dx = 0.000833333333333333       分辨率90m对应°度
dy = 0.000833333333333333
known_x = 1.0
known_y = 1.0
known_lat = 29.000             102.4E-104E,29N-30.3N左下角的坐标
known_lon = 102.400
wordsize = 2
endian = little
tile_x = 1920
tile_y = 1560
tile_z = 1
row_order = top_bottom
missing_value = -32768
units = "meters MSL"
description = " sectionA STRM 3-sec Topography Height"

根据格点数字将.bil改名字:(原bil后缀删掉)
00001-01920.00001-01560
若输出分成好多块,根据格栅点命名如:01921-03840.00001-01560

mkdir topo_sichuanA90m #WPS地形数据文件夹geog/下

3.修改GEOGRD.TBL和namelist.wps

WPS/geogrid/GEOGRD.TBL添加语句:
interp_option = sichuanA90m:average_gcell(4.0)+four_pt+average_4pt #202211tj
rel_path = sichuanA90m:topo_sichuanA90m/

【WRF笔记5】转化SRTM90m分辨率地形数据,写tif静态数据到GEOGRID二进制格式_第2张图片
namelist.wps:
geog_data_res = ‘sichuanA90m+defult’,
从左向右查找,若其他变量没有sichuanA90m就采用defult数据。

【WRF笔记5】转化SRTM90m分辨率地形数据,写tif静态数据到GEOGRID二进制格式_第3张图片
可以将geo_em.d*存放在其他地方
&share
opt_output_from_geogrid_path = ‘/home/tj/wrfout/A_90m’,

./geogrid.exe


你可能感兴趣的:(WRF学习,linux,学习)