登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
每个文件包含一个台风的路径,因此每个文件的大小不一样。利用以下脚本出图后,图形文件大小有200M, 而且还有warning。我个人感觉是重复画图了,所以文件才会这么大,可是又不知该怎么处理,希望各位大神帮帮忙。非常谢谢!
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" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
begin files=systemfunc("ls *.storm.track") ;print(files)
nrow=new(dimsizes(files),"integer") do i=0,dimsizes(files)-1 nrow(i)=numAsciiRow(files(i)) ;print(nrow(i)) end do
wks=gsn_open_wks("pdf","storm.track.2008.asia") res=True res@tiMainString="Storm track in 2008" res@gsnDraw = False ; Turn off draw. res@gsnFrame = False
res@gsnAddCyclic=False res@mpMinLatF=20 res@mpMaxLatF =80 res@mpMinLonF =60 res@mpMaxLonF =150 res@mpDataBaseVersion="MediumRes" res@mpDataSetName="Earth..4"
res@mpOutlineBoundarySets = "National"
res@mpProvincialLineColor="black"
res@mpFillOn =False res@mpOutlineBoundarySets = "National" plot=gsn_csm_map(wks,res)
do i=0,dimsizes(files)-1 data=new((/nrow(i),4/),"float") data=asciiread(files(i),(/nrow(i),4/),"float") lat=new(nrow(i),"float") lon=new(nrow(i),"float") lat=data(:,1)
lon=data(:,2)
resLine = True dumLine=new(nrow(i)-1, graphic)
; draw lines do j=0,nrow(i)-2
resLine@gsLineColor = "42" xx=(/lon(j),lon(j+1)/) yy=(/lat(j),lat(j+1)/) dumLine(j)=gsn_add_polyline(wks,plot,xx,yy,resLine) end do draw(plot) delete(lat)
delete(lon) delete(dumLine) delete(data)
end do end
运行后,warning 如下:
warning:TransformPostDraw: tfPolyDrawList element 212 is invalid 类似的语句很多个。
|