爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 指甲钳

[作图] NCL 画台风路径图问题

[复制链接]

新浪微博达人勋

发表于 2013-11-14 19:37:53 | 显示全部楼层

一种方法是在你的数据最后敲一个回车,让数据多一行,这样脚本就可以不改,图就出来了,还有就是不改数据,把行数直接用数字写到脚本,都可以,图就出来了 BestTrack1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-14 20:28:16 | 显示全部楼层
我使用相同的数据,相同的脚本,并没有提示任何错误,但是图中并没有任何台风信息!所以问题应该不是这里的吧!当然这个里面我觉得跟版本可能也有一些关系吧!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-14 20:32:17 | 显示全部楼层
我使用相同的数据、相同的脚本,运行时并未出现任何报错,正常出图,但是图中并未绘上任何台风信息!
贴图:
虽然,没有解决问题,慢慢解析是什么原因!
我觉得跟ncl版本可能也有一定关系!
不知道有没有大神找到问题所在啊!
haiyan.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-14 22:27:36 | 显示全部楼层
尽头的尽头 发表于 2013-11-14 19:37
一种方法是在你的数据最后敲一个回车,让数据多一行,这样脚本就可以不改,图就出来了,还有就是不改数据 ...

谢谢~~我明天试试!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-15 09:15:29 | 显示全部楼层
dataiyang 发表于 2013-11-14 20:32
我使用相同的数据、相同的脚本,运行时并未出现任何报错,正常出图,但是图中并未绘上任何台风信息!
贴图 ...

我也遇到同样的问题了,不知道你解决了没有?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-15 11:22:39 | 显示全部楼层
指甲钳 发表于 2013-11-15 09:15
我也遇到同样的问题了,不知道你解决了没有?

问题已解决,还是从脚本本身入手啊!
主要小小修改两三个地方
首先拷贝的别人的脚本这个默认是世界时,但是我们的txt文件中是北京时间,所以致使后面绘图时判断语句使我们需要的信息无法进入下一步;
另外一个就是txt文件读取的时候可能没有留意吧,经度读取的应该是第二例,原来的脚本中可能疏忽了,错误读取第一列,肯定是不对的。这里将图贴上
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-15 11:23:26 | 显示全部楼层
刚才的贴图啦!!!
haiyan.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-15 11:59:30 | 显示全部楼层
dataiyang 发表于 2013-11-15 11:23
刚才的贴图啦!!!

我也发现我的经纬度读取出错了。但是那个时间应该怎么改呢?我是新手,也是照着脚本画的,那个世界时的怎么改?
do i = 1, nrow-1
    if (HH(i) .ne. "08" ) then
      continue
    end if
    dumDate(i) = gsn_add_text(wks,plot, MM(i)+DD(i), lon(i)+0.5, lat(i), resTx)
  end do

这一段的意思不是很懂啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-15 14:00:13 | 显示全部楼层
指甲钳 发表于 2013-11-15 11:59
我也发现我的经纬度读取出错了。但是那个时间应该怎么改呢?我是新手,也是照着脚本画的,那个世界时的怎 ...

俺要是新手啊,不断摸索中啊!
    if (HH(i) .eq. "08") then
      dumDot(i) = gsn_add_polymarker(wks, plot, lon(i), lat(i), resDot)
    end if
  do i = 1, nrow-1
    if (HH(i) .ne. "08" ) then
      continue
    end if
    dumDate(i) = gsn_add_text(wks,plot, MM(i)+DD(i), lon(i)+0.5, lat(i), resTx)
  end do

这两个地方"00"改为"08"
以下面为例:
do i = 1, nrow-1
    if (HH(i) .ne. "08" ) then
      continue
    end if
    dumDate(i) = gsn_add_text(wks,plot, MM(i)+DD(i), lon(i)+0.5, lat(i), resTx)
  end do
如果时间不是北京时08时时(这里是string类型),那么i 增加1,直到HH(i )=“08”为true时执行dumDate(i) = gsn_add_text(wks,plot, MM(i)+DD(i), lon(i)+0.5, lat(i), resTx)

评分

参与人数 1金钱 +5 收起 理由
指甲钳 + 5 谢谢!!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-15 14:41:20 | 显示全部楼层
dataiyang 发表于 2013-11-15 14:00
俺要是新手啊,不断摸索中啊!
    if (HH(i) .eq. "08") then
      dumDot(i) = gsn_add_polymarker( ...

这个我也改了,但是还是只出线,没有标出点和时间,你能帮我看看脚本吗? haiyan.png

haiyan.ncl

4.44 KB, 下载次数: 22, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表