爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18053|回复: 14

[作图] ncl 画站点图问题

[复制链接]
发表于 2015-5-21 16:49:49 | 显示全部楼层 |阅读模式

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

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

x
最近气象统计实习课要画站点图,我就想用ncl耍耍,但插值后总是缺测值,我看了好几个网站都没查出我错在哪
http://blog.sina.com.cn/s/blog_5d7295010101jm0g.html
http://bbs.06climate.com/forum.php?mod=viewthread&tid=11417&extra=&page=1
http://blog.sina.com.cn/s/blog_44f7c0840100on44.html
http://bbs.06climate.com/forum.php?mod=viewthread&tid=26775


1.png

脚本如下(比较累赘,懒得删-_-||):

;*****************************;
;NCL Graphics;
;*****************************;
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
filepath = "160zhan-rainfall-summer.txt"  ;
argu = asciiread(filepath,-1,"double") ;
n=160;
;print(argu);

year=argu(1:25);
data=new((/28,n/),double)
do i=0,n-1
   data(:,i)=argu(26+i*28:26+27+i*28);
end do

x=data(3:27,:);
b=new((/n/),double);
do i=0,n-1
b(i)=((sum(data(3:27,i)*year)-n*dim_avg(data(3:27,i))*dim_avg(year))/(sum(data(3:27,i)^2)-n*dim_avg(data(3:27,i)^2)));
end do


lon1=data(1,:);
lat1=data(2,:);

lon1!0          = "lon"
lon1@long_name  = "lon"
lon1@units      = "degrees-east"
lon1&lon        = lon1
lat1!0          = "lat"
lat1@long_name  = "lat"
lat1@units      = "degrees_north"
lat1&lat        = lat1


lon=todouble(fspan(60,150,37));
lat=todouble(fspan(0,60,25));
lon!0          = "lon"
lon@long_name  = "lon"
lon@units      = "degrees-east"
lon&lon        = lon
lat!0          = "lat"
lat@long_name  = "lat"
lat@units      = "degrees_north"
lat&lat        = lat

b@_FillValue = 9e+36;
rscan = (/10,5,3/)
;R = cssgrid(lat1,lon1,b,lat,lon)  ;
opt  = True         
opt@blend_wgt = (/1.0, 0.5, 0.25/)
R=obj_anal_ic(lon1,lat1,b,lon,lat,rscan,opt);
printVarSummary(lon1)
;print(lat1)
;print(b)
;print(data)
print(R)


replace_ieeenan(R,9e+36,0) ;change the fillvalue
R@_FillValue     = 9e+36
R!1="lon"
R!0="lat"
R&lat  = lat
R&lon  = lon
R&lat@units = "degrees_north"
R&lon@units = "degrees_east"
;print(b)
;print(R)
printVarSummary(R)

  wks = gsn_open_wks("pdf","ex6")     ; Open a workstation
  gsn_define_colormap(wks,"matlab_jet")      ; define a different colormap.
  res = True
  res@gsnAddCyclic  = False      
;  res@mpDataSetName         = "Earth..4"   ; This new database contains
                                           ; divisions for other countries.
;  res@mpDataBaseVersion     = "HighRes"  ; High resolution database
;  res@mpOutlineOn           = True         ; Turn on map outlines
;  res@mpOutlineSpecifiers   = (/"China:states","Taiwan"/)       ;China:states
  res@mpMinLatF             =  17          ; Asia limits
  res@mpMaxLatF             =  55
  res@mpMinLonF             =  72
  res@mpMaxLonF             = 136
;  res@mpGeophysicalLineThicknessF= 2.      ; double the thickness of geophysical boundaries
;  res@mpNationalLineThicknessF= 2.         ; double the thickness of national boundaries
;  res@mpProjection = "LambertConformal"
;  res@mpLambertMeridianF = 110.0
;  res@mpLimitMode = "LatLon"
;  res@mpLambertParallel1F = .001      ;Default: .001 ;
;  res@mpLambertParallel2F = 89.999    ;Default: 89.999
;  res@mpAreaMaskingOn = True   
;  res@mpMaskAreaSpecifiers = (/"China:states","Taiwan"/)   ;China:states
  res@mpOceanFillColor = 0  
  res@mpInlandWaterFillColor = 0  
  res@cnFillOn      = True
  res@cnLinesOn     = False         
;  res@cnLineLabelsOn = False
;  res@cnFillDrawOrder = "PreDraw"         ; draw contours first   
;  res@cnLevelSelectionMode = "ExplicitLevels"       ; set explicit contour levels
;   res@lbLabelBarOn = True       ;
;   res@lbLabelStrings = (/"-30:S:o:N","-20:S:o:N","-10:S:o:N","0:S:o:N","10:S:o:N","20:S:o:N"/)
;   res@lbOrientation =   "vertical"          ; vertical label bar
;   res@vpWidthF  = 1.0              ; height and width of plot
;  res@vpHeightF = 0.8
;  res@tiMainFont            = "helvetica"
;  res@tiMainOffsetYF        = 0.02  ;set place for main title along Y,offset
;  res@tiMainFontHeightF     = 0.02   ;set main title font size
;  res@tiMainString          = "argu"
  map = gsn_csm_contour_map(wks,R,res)
end



ncl.rar

9.8 KB, 下载次数: 26, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
发表于 2015-5-21 22:21:37 | 显示全部楼层
你的lat1和lon1读取错误,应该改为:lon1=data(2,:);
lat1=data(1,:);

评分

参与人数 1金钱 +5 收起 理由
容与 + 5 很给力! 我犯二了,,查了好多天都没看出来.

查看全部评分

密码修改失败请联系微信:mofangbao
发表于 2016-1-4 11:07:52 | 显示全部楼层
学习了~~~~谢谢楼主~~
密码修改失败请联系微信:mofangbao
发表于 2016-4-11 22:26:20 | 显示全部楼层
666,给力呀!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2016-4-11 22:26:25 | 显示全部楼层
666,给力呀!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2016-5-6 14:54:01 | 显示全部楼层
学习了,赞一个!!!
密码修改失败请联系微信:mofangbao
发表于 2017-6-2 10:06:11 | 显示全部楼层
感谢楼主!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2017-6-2 10:15:55 | 显示全部楼层
好东西,值得好好看看
密码修改失败请联系微信:mofangbao
发表于 2018-4-23 17:34:19 | 显示全部楼层
这个有点厉害
密码修改失败请联系微信:mofangbao
发表于 2018-5-27 13:29:57 | 显示全部楼层
我就想知道说学习了的人。。学习在了哪 。。学习了怎么出错吗
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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