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 ...
随机推荐
- MyBatis学习总结_09_使用MyBatis Generator自动创建代码
一.构建一个环境 1. 首先创建一个表: CREATE TABLE t_user ( USER_ID INT NOT NULL AUTO_INCREMENT, USER_NAME CHAR(30) N ...
- wiremock之录制和回放
Recording is done by starting the standalone runner like this: $ java -jar wiremock-1.50-standalone. ...
- HDU 4000 Fruit Ninja 树状数组 + 计数
给你N的一个排列,求满足:a[i] < a[k] < a[j] 并且i < j < k的三元组有多少个. 一步转化: 求出所有满足 a[i] < a[k] < a[ ...
- 无开发经验,初学python
1.无开发经验,初学python 如果你不会其他语言,python是你的第一门语言: A Byte of Python (简明python教程,这个有中文版简明 Python 教程)是非常好的入门 ...
- c 建立工程 常见错误及心得总结
1. 调用函数里面的 调用子函数,要是出现已定义错误,则要看看,是不是主函数的 头文件写成.c啦,因为在.h里面也定义可一次,要是写.c出现两次 错误提示:UrlCheck.obj : error L ...
- task判断任务是否存在
tasklist|find /i "qq.exe" ||exit taskkill /im qq.exe /f
- css div居中显示的4种写法
Demo:http://www.feman.cn/h5/center.html .absolute 绝对定位 这是我们最常用的一种居中定位写法 要求必须确定div的宽高度 目前市面上的浏览器基本上都支 ...
- UVA 11019 Matrix Matcher(ac自动机)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Is valid identifier?
Given a string, determine if it's a valid identifier. Here is the syntax for valid identifiers: Each ...
- hdu4430Yukari's Birthday(二分)
4430 去年长春最简单一题 二分啊 错了好多遍 有个大坑 是个圆心处的1 可选可不选 #include <iostream> #include<cstdio> #incl ...