目前WRF自带的地形数据分辨率最高为30弧秒(约900m),对于大部分研究和应用,此分辨率的地形数据基本能够满足。但是对于一些特殊应用,如超高分辨率的模拟或者大涡模拟,WRF 静态数据目前提供的地形数据分辨率稍显不足,因此此类应用需要解决如何添加更高分辨率的地形数据进入 WRF 的静态数据中。

SRTM(Shuttle Radar Topography Mission),是由美国 NASA 主导的全球遥感探测计划,全球的采样间隔为3弧秒(约90m),美国本土的采样间隔为1弧秒(约30m),覆盖全球80%的范围,其数据的具体介绍与下载可参考:https://srtm.csi.cgiar.org/。

SRTM 的数据为 Geotiff 或 Esri ASCII 格式,瓦片形式(5°×5°或30°×30°),而 geogrid 所需的静态数据也为瓦片形式存放,不过使用的是二进制格式,因此需要将 Geotiff 转为 geogrid 的二进制格式,本文将详细介绍其中的步骤。

1 SRTM数据下载

下载 Geotiff 格式,瓦片大小为5°×5°,将中国及其周边区域的数据都下载下来,下载地址:https://srtm.csi.cgiar.org/

选取的SRTM瓦片

由于 geogrid 的二进制数据维度(x或y轴)最大为99999,而分辨率太高所以一次制作的区域不能太大,此次选取下图中的16个瓦片数据,基本覆盖了中国东部地区。可以多制作几个区域,分开使用。

中国东部的SRTM瓦片数据

2 将 SRTM 数据合并

由于下载的 SRTM 数据为多个分散瓦片,因此需要将它们合成一个文件,使用 GDAL 库完成合并(如果只下载一个瓦片数据则不需要合并,可跳过此步骤)。GDAL(Geospatial Data Abstraction Library) 是一个在 X/MIT 许可协议下的开源栅格空间数据转换库。

(1)GDAL 的安装和使用说明

# conda安装gdal,时间较久
conda install -c conda-forge gdal -y # gdal_merge.py是gdal自带的命令(不是自己写的脚本)# gdal_merge.py: https://gdal.org/programs/gdal_merge.htmlgdal_merge.py [-o out_filename] [-of out_format] [-co NAME=VALUE]*              [-ps pixelsize_x pixelsize_y] [-tap] [-separate] [-q] [-v] [-pct]              [-ul_lr ulx uly lrx lry] [-init "value [value...]"]              [-n nodata_value] [-a_nodata output_nodata_value]              [-ot datatype] [-createonly] input_files

(2)GDAL 合并数据

#将下载的srtm合并成一个# srtm/srtm_china/*tif 下载的srtm的路径# -o 输出文件,得到srtm_china.tif# -a_nodata 缺省值,srtm缺省值为-32678gdal_merge.py srtm/srtm_china/*tif -o srtm_china.tif -a_nodata -32768

3 将 Geotiff 转为 geogrid 的二进制格式

(1)安装依赖库 GeoTIFF and LibTIFF

sudo apt-get install libgeotiff-dev

(2)安装 convert_geotiff

下载源码:

https://github.com/openwfm/convert_geotiff/releases

export CONVERT_GEOTIFF=$APPS/convert_geotiff_v0.1

export PATH=$CONVERT_GEOTIFF/bin:$PATH./configure --prefix=$CONVERT_GEOTIFF

make

make install

(3)将 Geotiff 格式转成 geogrid 所需的二进制格式

新建一个 topo_3s 文件夹,使用 convert_geotiff 进行格式转换。

mkdir topo_3s

cd topo_3s

convert_geotiff -w 4 -t 1500 -u "meters MSL" -d "3s topography" -b 0 -m -32768 srtm_china.tif# -w word length# -t 瓦片文件大小# -u 单位# -d 描述# -b # m 缺省值

在 topo_3s 文件夹下,生成 geogrid 所需二进制格式的数据以及一个 index 文件,将 topo_3s 文件夹复制或者移动到WRF静态数据文件夹 GEOG。

得到 topo_3s,geogrid 能够读取的二进制数据以及一个 index 文件

4 WPS 中的设置
(1)修改 GEOGRID.TBL.ARW

在 GEOGRID.TBL.ARW 文件中找到 name = HGT_M 部分,加入以下语句:

# GEOGRID.TBL.ARW 

interp_option=gtopo_3s:average_gcell(4.0)+four_pt+average_4pt

rel_path  = gtopo_3s:topo_3s

(2)namelist.wps中的设置

geog_fata_res 设置中,对应的 domain 的列加入 gtopo_3s。​​​​​​​

# namelist.wps

geog_data_res = 'default','default','gtopo_3s+default'

5 结果展示

下图可以看到,相比于使用30弧秒的数据(左图),使用3弧秒(右图)的数据对模拟区域的地形刻画更加细致。

上图为200m分辨率的网格,共600×600格点,左图和右图所用的SRTM数据分辨率分别为为30s(约900m),右图为3s(约90m)

6 发现的问题

SRTM 数据在海洋区域,取缺省值(-32768),按照以上步骤操作,最终生成的 geo_em.d0x 文件中,海洋区域的地形高度值为32768,说明这个错误出现和缺省值有关。

解决方案如下:因为 geogrid 的地形数据为距海平面高度的值,海面上应该为0。在使用 convert_geotiff 之前,先将 tif 数据中的缺省值改为0,也就是将海洋部分的值修改为0,然后在运行 convert_geotiff 时将缺省值 -m 设置为0(虽然缺省值默认为0,但是运行命令 -m 0 也不能省略,原因未知,不过不设置亲测会发生错误)。

如果不涉及海洋区域,可以忽略此问题,以下为更改缺省值为0的脚本:

(代码可以观测气海同途公众号进行获取)

扫描下方二维码关注气海同途,大气海洋数值模式,可视化等内容。

参考:

https://wrfexplorer.wordpress.com/2015/03/24/high-resolution-topography/

http://www.meteoboy.com/90m-topo-in-WRF.html

https://github.com/openwfm/convert_geotiff

https://cloud.tencent.com/developer/article/1618268

WRF中使用SRTM高分辨率的地形资料相关推荐

  1. ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流

    目录 传统基于小型计算机本地的 WRF 模式 传统基于小型计算机本地 WRF 模式运行过程中现存的问题 基于云端数据科学协同平台 ModelWhale 的 WRF 模式 ModelWhale 为大气科 ...

  2. pyqt界面屏幕分辨率自适应_在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法

    在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法 PyQt5: 程序入口添加 QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHi ...

  3. 计算机中那些事儿(九):资料管理一些建议---理论篇

    [前言] 生活在这个资源横飞的世界里,如何管理好自己的资源那?这已然成为我们互联网一代人的必备技能. 结合之前管理过资料服务器经历和在上家公司资料管理经历,给出个人对资料管理一些建议. [探索之旅] ...

  4. 计算机中那些事儿(十):资料管理一些建议---实践篇

    [前言] 在博文<计算机中那些事儿(九):资料管理一些建议---理论篇>中为大家分享了关于资料管理自己在理论上的一些设想,光说不练假把式,有了想法就开展相关的工作将其落实. [探索之旅] ...

  5. 【2022年】中科大研究生-考试题、复习资料汇总(往年真题+复习资料)(持续更新中)

    [2022年]中科大研究生-考试题.复习资料汇总(往年真题+复习资料) 0.前言 致电饭煲们: 大家好,感谢大家私信中的建议以及鼓励,针对私信中资料更新的问题,博主会在此专栏更新最新版的复习资料,资料 ...

  6. 销售中提问的技巧 PPT培训资料

    本文转载自:风云社区 https://www.scoee.com/1943/销售中提问的技巧-ppt培训资料 下载地址:销售中提问的技巧.ppt

  7. 【Benewake(北醒) 】中距 TF02-Pro 40m介绍以及资料整理

    目录 1 前言 2 产品介绍 3 产品快速测试 3.1 产品规格书及使用说明书 3.2 通用上位机测试说明 3.3 通用指令串口助手使用说明 3.4 产品快速测试说明 3.5 操作视频 4 基于开源硬 ...

  8. WRF中使用ERA5再分析数据

       本人在做一些实例时,需要用到最新的ERA5再分析数据集.我下载的是ERA5 hourly data on pressure levels form 1979 to present和ERA5 ho ...

  9. 00052管理系统中计算机应用实践视频,00052管理系统中计算机应用(2017模拟实践)复习资料+参考 答案.pdf...

    00052管理系统中计算机应用(2017模拟实践)复习资料+参考 答案.pdf 管理系统中计算机应用(实践) (课程代码 00052) 注:考试环境为 Visual FoxPro 6.0 一.创建项目 ...

最新文章

  1. php 学习笔记 数组2
  2. IOS中http请求使用cookie
  3. 增加 oracle服务名,oracle本地服务名配置说明
  4. EIGRP路由协议的数据库
  5. Invalid character found in the request target. The valid characters are defi
  6. mysql 二进制日志变化_MySQL运维之二进制日志
  7. android 充电动画_iPhone 12充电测试:18/20W并无明显区别
  8. 可能这就是我应用pytest搭建的第一个测试框架吧
  9. nodejs进程异常退出处理方法
  10. Android开发实践:Java层与Jni层的数组传递
  11. 项目管理实践之版本控制工具SVN
  12. Python学习笔记(一) 计算阶乘
  13. 江西省吉安市永丰县市政花园(市政服务大楼[厅])工程质量问题简述报告
  14. rar压缩包密码解密工具
  15. C++ 实现即时通信软件(直接运行)
  16. 喂,恶臭青年,你还想继续单身?今天特别福利来袭,出来挨打!
  17. 【DeepSORT系列之】Cosine Metric Learning训练与demo可视化
  18. 【GPT-4】立即停止训练比 GPT-4 更强的模型,至少六个月!马斯克、图灵奖得主等数千 AI 专家紧急呼吁
  19. smallpt: Global Illumination in 99 lines of C++讲解
  20. 哪种无线耳机音质最好?盘点2023四款好音质蓝牙耳机

热门文章

  1. 边缘自适应的插值算法
  2. 最近微信超火的给表情加小辫子
  3. 【智汇珠源·筑梦曲靖】李石松李先祥与两院院士举行座谈
  4. SpringBoot使用poi或EasyExcel导入导出Excel文件
  5. 二次封装 ant-pro table + react-resizable实现表头控制拉拽
  6. 逻辑题:给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分成两堆,使得每堆牌里正面朝上的牌的张数一样多。瞎子应该怎么做?
  7. 统一回复《怎么学JavaScript?》
  8. CSI接口Camera驱动学习
  9. C# 常见喷码设备指令生成代码
  10. 3DSlicer中查看形变场