爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16306|回复: 18

[其他] NCL画简单矢量图的问题

[复制链接]

新浪微博达人勋

发表于 2013-12-21 16:44:28 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
不多说,程序如下
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
begin
  cdf_file = addfile("$NCARG_ROOT/uwnd.10m.gauss.2011.nc","r")
  cdf_file1 = addfile("$NCARG_ROOT/vwnd.10m.gauss.2011.nc","r")
   u=cdf_file->uwnd(0,:,:)
   v=cdf_file1->vwnd(0,:,:)
   lat  = cdf_file->lat         
   lon  = cdf_file->lon  
  u= u*0.00999999977648258+225.449996948242
  v= v*0.00999999977648258+225.449996948242

   xwks = gsn_open_wks("x11","ccr")  
   map = gsn_vector_map(xwks,u,v,False)
end
运行结果说:
fatal:["NclVar.c":1382]:Assignment type mismatch, right hand side can't be coerced to type of left hand side
fatal:["Execute.c":8128]:Execute: Error occurred at or near line 12 in file ccr.ncl
求各位大神这是什么错误呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-21 16:54:51 | 显示全部楼层
数据读取不一致,是不是格点步长的缘故?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-21 17:04:19 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-21 17:34:43 | 显示全部楼层

可以参考下

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
begin
fi = addfile("./fnl_20050529_12_00.grb", "r")
u = fi->U_GRD_3_ISBL
v = fi->V_GRD_3_ISBL
wks = gsn_open_wks("ps", get_script_prefix_name())
gsn_define_colormap(wks,"BlGrYeOrReVi200") ; 设置色表
res = True
res@vcMonoLineArrowColor = False ; 彩色箭头
res@vcRefLengthF = 0.04 ; 单位长度箭头的长度
res@vcRefMagnitudeF = 20 ; 单位长度箭头的数值
res@vcRefAnnoArrowUseVecColor = False ; 右下角的图例中的箭头保持原来的颜色
res@gsnSpreadColors = True ; 6.1.0 后默认即为 True
; 设置地图范围
res@mpMinLatF = 20
res@mpMaxLatF = 40
res@mpMinLonF = 120
res@mpMaxLonF = 150
; 设置 Label Bar
res@lbOrientation = "Vertical" ; 竖直放置 Laber bar
res@lbBoxLinesOn = False ; Label bar 上不标记黑线
res@gsnRightString = "" ; 去掉右上角的文字
res@gsnLeftString = "" ; 去掉左上角的文字
plot = gsn_csm_vector_map(wks, u({850},:,:), v({850},:,:), res)
end
搜狗截图13年12月21日1732_1.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-21 17:50:04 | 显示全部楼层
本帖最后由 longlivehj 于 2013-12-21 17:51 编辑

赋值时数据类型转换出错。对u、v进行运算,改变了u、v获取时候的类型。
如果你的ncl版本较高(貌似6版本以上),考虑用以下的语句:
u := u*0.00999999977648258+225.449996948242
就是等号前加“:”,再赋值。
或者,将等号左边换成新的变量,比如:
uu= u*0.00999999977648258+225.449996948242
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-21 17:52:06 | 显示全部楼层
风往北吹 发表于 2013-12-21 17:34
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm ...

感谢你的例子,让我学了好多,但我想知道我的为什么错了,呜呜,另外请问 gsn_csm_vector_map和gsn_vector有什么区别呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-21 18:18:54 | 显示全部楼层
longlivehj 发表于 2013-12-21 17:50
赋值时数据类型转换出错。对u、v进行运算,改变了u、v获取时候的类型。
如果你的ncl版本较高(貌似6版本以 ...

按照你说的,真的成功了,非常感谢了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-21 22:46:42 | 显示全部楼层
有用!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-22 12:52:55 | 显示全部楼层
风往北吹 发表于 2013-12-21 17:34
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm ...

我想知道这张图里面彩色箭头里面的颜色代表啥意思呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-22 16:07:34 | 显示全部楼层
chenchen7023 发表于 2013-12-21 17:52
感谢你的例子,让我学了好多,但我想知道我的为什么错了,呜呜,另外请问 gsn_csm_vector_map和gsn_vecto ...

前者,是嵌套了地图的。后者,没有。http://www.ncl.ucar.edu/Document/Graphics/Interfaces/index.shtml
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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