爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6848|回复: 1

[作图] ncl计算spi指数出图问题

[复制链接]
发表于 2017-10-12 11:58:12 | 显示全部楼层 |阅读模式

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

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

x
我是以12个月为时间尺度来计算的1960-2015年逐个月的spi指数 ,到print spi为止一切顺利 计算无误,但是后续的出图失败并且运行没有出现错误,希望能得到大家的帮助,万分感谢!!

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
data   = asciiread("/home/WQiuuu/PRE/xnpretjiyue/xntjiall.txt",(/672,3/), "float")
prc    = data(:,2)   ; make one dimensional
nprc   = dimsizes(prc)              ; check size
if ((nprc%12).ne.0) then
    print("prc size must be divisible by 12")         ; full 12-month years only
    exit
end if
prc@_FillValue = -999.0
spi    = dim_spi_n(prc, 12, False, 0)
          ; create a yyyymm array for printing purposes
year   = toint(data(:,0))
nyear  = dimsizes(year)
yrStrt = year(0)
yrLast = year(nyear-1)                                         
yyyymm = yyyymm_time(yrStrt, yrLast, "integer")   ; contributed.ncl
ntim = dimsizes(yyyymm)
    if ((ntim%12).ne.0) then
     print("ntim must be divisible by 12")
     exit
    end if
print(yyyymm+"   "+sprintf("%8.2f", prc)+" "+sprintf("%8.2f", spi))


year = yyyymm/100
yrStrt = year(0)
yrLast = year(ntim-1)
nyear = yrLast-yrStrt+1
yyyymm = yyyymm_time(yrStrt, yrLast, "integer")
yrfrac = (/ yyyymm_to_yyyyfrac(yyyymm, 0.0) /)
wks = gsn_open_wks ("png","spi12all3-48")
         ; send graphics to PNG file
res = True ; plot mods desired
res@gsnDraw = False
res@gsnFrame = False
res@vpHeightF= 0.4 ; change aspect ratio of plot
res@vpWidthF = 0.8
res@vpXF = 0.1 ; start plot at x ndc coord
res@trYMinF = -3.0 ; min value on y-axis
res@trYMaxF = 3.0 ; max value on y-axis
res@gsnYRefLine = 0.0 ; create a reference line
res@xyMonoDashPattern = True
res@xyLineThicknessF = 1
res@xyLineColors = "black"
res@gsnCenterString = "run=12"
plot = gsn_csm_xy (wks,yrfrac,spi,res)
;frame(wks)
         end

spi12_quxian.ncl

1.81 KB, 下载次数: 7, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2017-10-12 13:26:58 | 显示全部楼层
gsndraw=ture
gsnframe = ture
就好了。。。嫌弃自己100遍{:eb338:}
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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