爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5418|回复: 5

[作图] ncl 非全球contour显示为全球

[复制链接]

新浪微博达人勋

发表于 2016-11-23 10:59:45 | 显示全部楼层 |阅读模式

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

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

x
请教各位大神。我只是在ncl里用自己编的数据,画一个非全球的contour,可是最后显示的图是全球范围的(等值线充满全球),不是我想要的100~140度,20~40度的范围。我觉得的可能是坐标数组分配时出了什么问题。以前画wrfout数据时,数据是区域性的,导入数据后不用分配坐标数据,就能正确显示范围
begin
lon=fspan(100.,140.,41);东经100到140度
lat=fspan(20.,40.,21);北纬20到40度
lon@units = "degrees_east"
lat@units = "degrees_north"
u=new((/41,21/),"float")
do i=0,40
  do j=0,20
    u(i,j)=sqrt((lon(i)-120)^2+(lat(j)-30)^2);自编数据,以120度、30度为中心的同心圆
  end do
end do
u!0="lon"
u!1="lat"
u&lon=lon
u&lat=lat
wks=gsn_open_wks("x11","aa")
res=True
res@gsnFrame=False
res@gsnDraw=False
res@gsnAddCyclic=False
res@tfDoNDCOverlay=True
res@cnFillOn=True
res@cnLinesOn=False
plot=gsn_csm_contour_map(wks,u,res)
;如果用gsn_csm_contour(),画出的图范围是我所想要的,只是没有地图而已
;另外无论怎么调整(mpMinLonF,...)这四个属性,等值线总是充满整个图
draw(plot)
frame(wks)
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-23 12:51:58 | 显示全部楼层
res@mpMaxLonF=140
res@mpMaxLatF=40
res@mpMinLonF=100
res@mpMinLatF=20
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-23 15:41:56 | 显示全部楼层
liyf 发表于 2016-11-23 12:51
res@mpMaxLonF=140
res@mpMaxLatF=40
res@mpMinLonF=100

谢谢。不过会遇到这种情况:比如某数据集只在南北纬80度之间有值,老板仍让我画出全球地图,俩80度之间是等值线,80到90度之间为空白。设置mpMaxLonF......就不管用了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-2 09:31:19 | 显示全部楼层
问题解决了。tfDoNDCOverlay要设置为False。还有二维数组要设置为lat x lon,而不是lon x lat
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-2 13:42:09 | 显示全部楼层
好东西啊,感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-8 16:39:15 | 显示全部楼层
谢楼主!正好我也遇到了这样的问题,参考了您的程序后终于完美的解决了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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