爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9248|回复: 10

大家帮我看看,为什么出的图,不对呢

[复制链接]
发表于 2014-8-20 15:55:05 | 显示全部楼层 |阅读模式

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

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

x
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
;read data from four files
diri = "/home/liuzhe/fnl_data/"
fils = systemfunc("ls "+diri +"fnl_20110411*.grib2")
f = addfiles(fils ,"r")
ListSetType(f ,"join")
; u is U-component of wind
u = f[:]->UGRD_P0_L100_GLL0
;v is V-component of wind
v = f[:]->VGRD_P0_L100_GLL0
;r is rain
r = f[:]->PWAT_P0_L200_GLL0
; u is four demenion array, 1st is the number of the file in files , 2st is pa ,3st is lat ,4st is lo
u!1 = "lv"
u&lv = f[0]->UGRD_P0_L100_GLL0&lv_ISBL0
u!2 = "lat"
u&lat = f[0]->UGRD_P0_L100_GLL0&lat_0
u!3 = "lon"
u&lon =f[0]->UGRD_P0_L100_GLL0&lon_0
v!1 = "lv"
v&lv = f[0]->VGRD_P0_L100_GLL0&lv_ISBL0
v!2 = "lat"
v&lat = f[0]->VGRD_P0_L100_GLL0&lat_0
v!3 ="lon"
v&lon = f[0]->VGRD_P0_L100_GLL0&lon_0
r!1 ="lat"
r&lat = f[0]->PWAT_P0_L200_GLL0&lat_0
r!2 = "lon"
r&lon = f[0]->PWAT_P0_L200_GLL0&lon_0
u1 = dim_avg_n_Wrap(u(:,{72500},:,:),0) ; the average u-compont of wind in a day
v1 = dim_avg_n_Wrap(v(:,{72500},:,:),0) ; the average v-compont of wind in a day
r1 = dim_sum_n_Wrap(r(:,:,:), 0) ; the sum pridate of a day
; open workstation
wks = gsn_open_wks("ps","rainAndwind820")
gsn_define_colormap(wks,"gui_default")
res = True
res@mpLimitMode = "LatLon"
res@mpMinLatF = 35
res@mpMaxLatF = 38
res@mpMinLon = 138
res@mpMaxLon = 142
res@pmTickMarkDisplayMode = "always"
res@mpFillOn = False
res@mpOutlineDrawOrder = "PostDraw"
res@tfDoNDCOverlay = True
res@gsnAddCyclic =False
res@vcRefMagnitudeF = 0.0
res@vcRefLengthF = 0.45
res@vcGlyphStyle = "WindBarb"
res@vcMinDistanceF = 0.0
res@vcRefAnnoOrthogonalPosF = 1
res@gsnScalarContour = True
res@cnFillOn =True
res@cnLinesOn = False
plot = gsn_csm_vector_scalar_map(wks,u1,v1,r1 ,res)
end

绘出的图

绘出的图
密码修改失败请联系微信:mofangbao
发表于 2014-8-20 15:58:21 | 显示全部楼层
end前边加个
draw(plot)
frame(wks)
试试
密码修改失败请联系微信:mofangbao
发表于 2014-8-20 15:58:55 | 显示全部楼层
楼上的试试!看不出来.
密码修改失败请联系微信:mofangbao
发表于 2014-8-20 16:12:33 | 显示全部楼层
一个好好的fnl数据,你这样去读坐标变量,简直了
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-8-20 16:16:44 | 显示全部楼层
风子 发表于 2014-8-20 16:12
一个好好的fnl数据,你这样去读坐标变量,简直了

那应该怎样读?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-8-20 16:18:15 | 显示全部楼层
yang69can 发表于 2014-8-20 15:58
end前边加个
draw(plot)
frame(wks)

还是原来的样子,我觉得数据读取应该没有问题,问题是图像的设置
密码修改失败请联系微信:mofangbao
发表于 2014-8-20 16:21:12 | 显示全部楼层
本帖最后由 longlivehj 于 2014-8-20 16:33 编辑

res@vcRefMagnitudeF = 0.0
res@vcRefLengthF = 0.45
查查这两个属性的帮助,用0.45(NDC坐标)的长度表示最大值,是不是太大了?

另外,正如风子所说,fnl有完整的坐标变量,不需要专门去设置,下面的都是可以去掉的。
u!1 = "lv"
u&lv = f[0]->UGRD_P0_L100_GLL0&lv_ISBL0
u!2 = "lat"
u&lat = f[0]->UGRD_P0_L100_GLL0&lat_0
u!3 = "lon"
u&lon =f[0]->UGRD_P0_L100_GLL0&lon_0
v!1 = "lv"
v&lv = f[0]->VGRD_P0_L100_GLL0&lv_ISBL0
v!2 = "lat"
v&lat = f[0]->VGRD_P0_L100_GLL0&lat_0
v!3 ="lon"
v&lon = f[0]->VGRD_P0_L100_GLL0&lon_0
r!1 ="lat"
r&lat = f[0]->PWAT_P0_L200_GLL0&lat_0
r!2 = "lon"
r&lon = f[0]->PWAT_P0_L200_GLL0&lon_0
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-8-20 17:21:04 | 显示全部楼层
longlivehj 发表于 2014-8-20 16:21
res@vcRefMagnitudeF = 0.0
res@vcRefLengthF = 0.45
查查这两个属性的帮助,用0.45(NDC坐标)的长度表 ...

哎呀,师傅,终于看着你了
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-8-20 17:23:11 | 显示全部楼层
师傅,那个我改了,res@vcRefLengthF = 0.045,可是还是不行啊
密码修改失败请联系微信:mofangbao
发表于 2014-8-20 22:44:19 | 显示全部楼层
刘哲 发表于 2014-8-20 17:23
师傅,那个我改了,res@vcRefLengthF = 0.045,可是还是不行啊

res@mpMinLonF = 138
res@mpMaxLonF = 142
你运行的时候,难道没有warning出现么?根据warning很容易发现这两处错误啊!

另外,把res@tfDoNDCOverlay = True删除。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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