windows下ncl生成tiff图(案例)
一:安装软件和准备数据
1.需要安装Vapor(注意安装路径不要存在空格)
注:版本2.4.2及以后
2.安装NCL,方法见http://www.cnblogs.com/striver-zhu/p/4574819.html
注:
a.得包含这两个可执行文件:convert && psplit,一般安装时会自行安装进去
b. NCL_5.1.0版本存在一个问题:wrf2geotiff.ncl中的492行的str_lower需要去掉,否则运行时报错
3.下载数据:jamingWRF2
4.3个ncl文件(NCAR\VAPOR\share\examples\NCL目录下):
wrf_Height.ncl (this plots humidity, temperature, pressure and wind at a fixed elevation)
wrf_Precip.ncl (this plots precipitation tendency with pressure isobars)
wrf_crossSection2.ncl (this is a vertical plot of relative humidity)
二:数据转换
1.将WRF数据转换成VDC数据,从Vapor2.0开始,便不需要转换,但是大数据还是转换以下比较好
通过cmd执行以下命令(进入命令所在目录下):
wrfvdfcreate:扫描WRF数据,生成用于描述WRF数据的Vapor元数据
(wrfvdfcreate wrfout_d02_2008-09-28.nc jangmi-09-28.vdf)
wrf2vdf:将所有的WRF数据中的2D和3D变量转换成Vapor使用的数据格式,即VDC格式
(wrf2vdf jangmi-09-28.vdf wrfout_d02_2008-09-28.nc =》 生成的变量会存在jangmi-09-28_data目录下)
三:
1.将NCL绘制的数据图形转换成georeferenced格式(在工作目录下,需要添加.hluresfile文件,该文件只能通过cygwin的vi建立(:wq退出保存))
wrf_Height.ncl:生成在一个特定平面上的图形()
wrf_Precip.ncl:产生一个呈现降水趋势和海平面压力的图形
wrf_CrossSection2.ncl:产生温度和相对湿度的垂直图形,沿着一个特定的平面上,平行于XZ轴
我们将图形转换成.PS输出文件和将这些.PS文件转换成地理参考TIFF文件
1).修改脚本,使其仅生成一个图像,在每个时间步长。 (如果想在相同的时间步长,使用多个图像,则需要为每个不同的图像的单独运行脚本)
2).修改这个脚本,遍历WRF文件中的所有步长。这可能涉及外循环(循环多个文件)和内循环(循环每个文件中的时间步)
3).修改脚本,输出为.PS文件
4).将下面的新行到NCL脚本:
a.在顶部,插入一行来加载wrf2geotiff.ncl:load “wrf2geotiff.ncl”(存在C:\NCAR\VAPOR\share\examples\NCL)
(这个脚本和其他NCL的例子是默认安装子目录,unix下在share/vapor-x.x.x/examples/NCL,Windows下在$(VAPOR_HOME)/share/examples/NCL/)
b.在NCL工作站创建之后,调用wrf2geotiff=wrf2geotiff_create(wks)
c.如果这是一个垂直图形,禁止地理参考:
wrf2geotiff_disableGeoTags(wrf2gtiff)
d.设置图形属性res@gsnFrame=False
e.图形每生成一次,插入两行:
wrf2geotiff_write()
frame(wks)
f.在文件末尾调用wrf2geotiff_close(),将会合并图形生成tiff格式图形
四:获取地理文件
1.为模拟区域获得地形图片:需要经纬度范围,同时需要联网,进入getWMSImage.sh所在文件夹
cygwin下:getWMSImage.sh –o jangmiTerrain.tiff 115 15 130 30
windows下ncl生成tiff图(案例)的更多相关文章
- 关于windows下c++生成的exe发布时的依赖dll问题
如同linux下通常要求安装特定版本的libstdc++一样,windows下vc++生成的exe发布时的依赖dll问题,可以参见帖子,http://bbs.csdn.net/topics/39105 ...
- Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录
CSV的坑 在Ubuntu下是简单的写入完事 import csv ... with open(filename, 'w') as output: f = csv.writer(output) f.w ...
- Linux、Windows 下手动生成 sha256 等类型的校验文件
目录 1 - 校验文件的作用 2 - Linux 下生成校验文件 3 - Windows 下生成校验文件 参考资料 版权声明 1 - 校验文件的作用 从网服务器下载文件,尤其是比较大的文件时,很容易由 ...
- windows下批量生成文件夹
在windows环境下如果想要批量生成文件夹: 1.创建一个记事本文件 2.首行大写MD 3.后面加上你想创建的文件夹的名字,每个名字之间有空格 4.退出记事本并保存 5.将记事本文件后缀改为bat文 ...
- 【免费】windows下如何生成tar.gz,一键生成tar.gz
废话 一.实验背景 tar.gz 是Linux和Unix下面比较常用的格式,一条命令就可以把文件压缩打包成tar.gz格式,然而这种格式在windows并不多见. Linxu服务器上,tar.gz 包 ...
- windows下怎么生成github的ssh公钥
windows下如何生成github的ssh公钥: 1.首先你要安装Git工具 2.在C:\Documents and Settings\Administrator\目录下,运行Git Bash he ...
- windows 下 openssl 生成RSA私钥公钥以及PKCS8
生成RSA私钥 打开bin文件夹下面的openssl.exe,输入genrsa -out rsa_private_key.pem 1024 把RSA私钥转换成PKCS8格式 输入命令pkcs8 -to ...
- Windows下如何生成数字证书
1.Makecert.exe<证书创建工具>使用说明:http://msdn.microsoft.com/zh-cn/library/bfsktky3.aspx 2.SignTool.ex ...
- windows 下OPENSSL 生成秘钥和公钥的方法
1. 生成原始 RSA私钥文件 private_key.pem openssl genrsa -out private_key.pem 1024 2. 将原始 RSA私钥转换为 pkcs8格式 ope ...
随机推荐
- ORACLE基本语法
ORACLE基本语法 一.ORACLE的启动和关闭1.在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea.启动ORACLE系统oracle>s ...
- Java:编码的详解
ASCII:美国信息标准信息码,用一个字节的7为表示. ISO8859-1:拉丁码表 欧洲码表 ,用一个字节的8位表示. GB2312:中国的中文编码表. GBK:中国的中文编码表升级,融合了更多的中 ...
- hadoop安装配置——伪分布模式
1. 安装 这里以安装hadoop-0.20.2为例 先安装java,参考这个 去着下载hadoop 解压 2. 配置 修改环境变量 vim ~/.bashrc export HADOOP_HOME= ...
- __init__ 和 self
看代码 class A: def __init__(self, val): self.name = val def printName(self): print self.name a = A(&qu ...
- Android应用开发学习笔记之事件处理
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android提供的事件处理机制分为两类:一是基于监听的事件处理:二是基于回调的事件处理.对于基于监听的事件处理,主 ...
- 京东商城发现了一枚Bug
我在京东上买了几本书,发现了一个BUG.. 买书的时候,我选了京东自营的书和京东其他店的书,合在一起购买,填写了开具发票. 然后,京东处理流程是,将上面一笔订单拆分成两笔,然后发票信息没有转到其他店那 ...
- Hibernate 异常 —— Unable to instantiate default tuplize
出现这个异常 —— Unable to instantiate default tuplizer ,是 Hibernate 的映射文件(*.hbm.xml)导致的.仔细检查一下工程里的映射文件吧. 笔 ...
- [原]HDU-1598-find the most comfortable road(暴力枚举+Kruskal最小生成树)
题意: 给出一个图,然后Q个询问,每次询问从一个节点到另一个节点,联通图中的“最大边和最小边之差”的最小值,但如果节点之间不连通,则输出-1. 思路:由于询问Q < 11,m < 1000 ...
- YTU 2607: A代码填空题--更换火车头
2607: A代码填空题--更换火车头 时间限制: 1 Sec 内存限制: 128 MB 提交: 91 解决: 73 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 假设火车有 ...
- poj 1182 食物链 (并查集)
http://poj.org/problem?id=1182 关于并查集 很好的一道题,开始也看了一直没懂.这次是因为<挑战程序设计竞赛>书上有讲解看了几遍终于懂了.是一种很好的思路,跟网 ...