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

 

posted @ 2015-07-01 20:26  striver_zhu  阅读(2603)  评论(0编辑  收藏  举报