爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6470|回复: 5

NCL 做EOF ,特征值问题

[复制链接]

新浪微博达人勋

发表于 2015-12-1 09:02:52 | 显示全部楼层 |阅读模式

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

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

x
用以下脚本和数据做EOF ,返回的特征值包括了5个 9.96921e+36  ,请教各位大神这是什么原因,脚本哪里的问题吗?

数据:
0 0 0 0 0 0 0 0 0 1 0 1 0 3 1
0 0 0 0 0 0 0 0 0 0 0 2 5 3 2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 1 0 1 0 2 2 1 1 1
0 1 0 0 2 0 1 0 0 0 3 1 1 2 3
0 0 0 0 0 0 1 0 0 0 1 3 2 4 0
0 0 0 0 0 0 0 1 0 1 4 1 1 0 1
0 0 0 0 0 0 1 1 3 1 2 3 2 0 0
0 0 0 0 2 3 1 0 1 3 18 4 3 19 6
0 1 1 0 1 0 1 0 0 2 1 1 1 2 0
1 1 1 0 1 6 0 3 5 0 0 12 3 5 2
0 0 0 0 1 0 1 0 1 2 7 11 3 6 7
0 0 0 0 1 0 3 0 0 1 5 3 7 31 7
0 0 0 0 0 0 1 1 0 0 0 0 0 1 0
1 0 0 0 2 3 1 0 3 1 2 3 3 4 3
0 0 1 0 5 3 3 0 1 2 0 12 4 0 13
0 0 1 0 4 2 0 0 0 0 0 3 2 0 2
1 0 0 0 3 0 2 0 2 2 1 3 7 5 4
0 0 0 1 1 1 2 0 0 11 5 28 15 5 8
0 0 0 1 3 2 3 5 3 3 8 22 11 24 6
0 1 0 0 0 1 1 2 2 2 3 10 7 15 0
0 0 1 0 0 2 1 1 0 2 1 3 0 2 2
0 0 0 0 0 2 0 2 0 2 1 0 0 1 1
0 0 3 1 1 3 1 0 0 6 3 7 5 3 5
0 0 0 0 3 1 1 0 0 3 0 4 9 3 5
0 0 1 0 0 1 0 0 0 1 4 3 4 3 3
0 2 0 0 6 1 0 0 0 2 1 1 0 0 3
0 1 0 0 1 0 0 1 0 2 1 3 5 3 8
0 0 1 0 0 0 0 0 0 2 1 3 1 1 2
0 0 1 0 0 0 0 0 0 0 3 0 1 1 2
0 0 1 0 1 2 1 0 0 1 0 2 0 3 4
0 0 1 0 1 0 2 0 0 0 0 0 0 0 0
0 1 0 0 1 0 2 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 1 0 0 2 1 1 2 1
0 2 0 2 2 2 2 1 0 3 0 2 1 1 1
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 2 0 1 0 1 0 4 4 1 3 0
0 0 0 0 2 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 2 0 1 0 0 0 0 6 0 1 10
0 0 0 0 0 0 0 0 0 0 2 0 0 0 0
0 1 2 0 3 3 0 3 0 0 0 5 2 3 5
1 0 0 0 2 0 1 0 0 0 0 2 1 1 3
0 1 1 1 7 2 1 2 0 1 2 2 1 0 3
0 1 0 0 2 0 0 0 0 3 2 4 0 2 0
0 2 3 3 2 0 2 1 0 2 1 5 3 2 5
0 0 1 0 2 2 0 0 0 2 1 2 2 0 0
0 0 0 0 0 2 0 0 0 2 0 1 0 1 0
0 0 1 0 6 3 2 0 1 1 0 6 3 2 3
0 0 0 0 0 2 1 1 0 2 2 1 0 0 0
0 0 4 0 0 1 0 0 0 0 0 2 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 2 0 0 0 0 0 0 0 0
0 0 0 0 3 0 2 0 0 1 0 2 0 0 0
0 1 2 0 0 1 0 0 0 3 2 0 0 1 0
0 0 5 1 1 1 0 1 0 4 2 1 2 3 0
0 0 0 0 0 0 2 0 0 0 0 5 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 3 0
0 1 0 0 2 0 3 0 1 2 3 4 5 3 6
2 0 2 1 4 3 2 2 0 0 0 5 0 3 1
0 2 3 0 1 0 1 0 2 0 0 4 6 2 1
1 0 7 0 10 3 4 0 1 0 2 3 2 2 1
0 0 11 1 6 5 4 0 1 2 0 1 0 2 1
0 0 3 1 0 1 4 0 0 1 2 3 0 2 0
0 0 0 0 1 1 0 1 0 0 1 5 2 1 0
0 0 1 0 1 2 0 0 0 5 2 1 0 0 0
0 1 1 1 1 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 5 3 1 3 8 2 0 15 1 4 1 0 2
0 6 6 8 4 9 6 2 0 10 4 1 0 4 1
0 3 3 2 0 2 0 0 0 0 1 1 0 0 0
0 0 2 2 1 1 2 1 0 2 1 0 0 2 0
0 0 0 3 0 0 0 0 1 1 3 0 0 0 0
0 1 3 0 0 0 0 0 0 1 2 2 0 1 0
1 0 2 2 3 3 0 0 0 0 0 2 0 1 0
1 0 0 0 0 0 2 0 0 1 5 5 0 4 1
0 0 4 2 2 1 1 0 0 0 0 8 0 3 0
0 0 0 0 1 0 1 1 0 3 1 11 0 7 5
0 0 0 0 2 1 1 1 1 3 0 15 0 1 0
0 0 1 1 1 0 0 1 1 1 1 4 0 1 1
0 0 0 0 0 0 0 0 1 0 0 1 1 1 1
0 0 2 0 1 2 3 1 0 1 0 4 0 2 2
0 0 6 0 6 0 1 1 5 1 0 2 0 5 5
1 1 1 0 1 3 9 2 0 0 1 6 1 1 1
0 6 1 0 4 2 0 3 0 6 1 3 0 4 6
1 0 3 0 1 2 3 1 1 0 2 4 4 1 1
0 1 3 0 0 3 1 0 0 4 1 4 0 13 1
0 2 0 0 0 0 1 1 1 13 4 3 0 2 0
0 4 1 2 1 2 3 0 1 0 0 0 1 1 0
0 3 1 1 1 0 1 13 2 11 5 4 2 3 3
1 0 1 1 2 1 5 5 0 2 0 19 2 0 1
2 1 4 4 5 3 0 0 0 3 2 1 0 4 0
3 3 6 2 5 4 3 4 1 2 9 4 0 23 9
0 0 0 0 0 0 0 0 0 0 2 4 0 0 0
0 0 0 0 0 2 0 1 0 0 3 2 0 4 1
1 0 0 0 1 2 0 3 0 0 1 1 0 2 2
0 1 0 2 0 0 0 0 0 1 1 1 0 1 1
2 1 1 0 0 2 0 0 0 0 1 0 0 6 4
0 2 0 1 0 0 0 2 1 1 1 6 0 3 0
1 0 0 0 1 1 2 6 1 1 1 0 0 4 0
0 3 3 1 1 1 2 8 1 1 1 4 1 2 0
2 1 1 0 2 0 0 0 0 8 0 3 2 17 0
0 1 1 0 2 7 3 7 3 1 7 9 6 11 2
1 0 0 0 0 3 0 1 1 6 2 1 0 4 1
0 1 0 0 2 3 0 0 1 6 1 3 0 1 0
0 0 0 0 3 2 0 4 0 1 1 0 1 0 0
0 0 0 2 3 0 0 2 0 0 1 5 1 0 3
1 1 4 2 3 1 2 0 0 0 1 2 1 1 2
0 10 19 5 2 2 5 1 1 0 1 3 0 3 2
5 3 3 0 2 0 1 0 0 0 0 0 0 2 0
1 1 0 0 2 0 4 0 0 0 2 5 0 1 0
0 0 1 0 0 2 4 2 0 10 9 12 1 4 6
0 0 0 0 0 0 0 0 0 1 0 6 1 0 1
0 2 3 0 2 1 2 0 0 3 12 16 5 5 1
0 0 0 0 0 0 0 1 0 0 12 3 10 2 0
0 4 6 1 9 9 3 1 0 3 2 7 14 13 2
0 0 2 0 3 1 0 0 0 1 16 4 11 5 1
0 2 0 0 21 2 8 3 1 0 3 12 6 2 0
0 2 0 0 1 1 0 0 0 2 5 3 2 1 0
0 0 1 0 1 0 0 0 0 2 4 2 0 2 2
0 1 1 0 1 2 0 2 0 0 4 3 0 2 0
0 0 0 0 0 0 0 1 0 1 3 2 0 5 1
0 0 1 0 1 0 0 0 0 1 4 1 1 0 0
0 2 0 0 0 1 0 1 0 2 2 2 0 5 0
0 1 0 0 5 0 2 0 0 0 0 1 7 8 0
0 1 0 0 0 0 0 0 4 1 1 0 1 11 0
0 0 0 0 2 3 0 1 15 1 0 3 4 19 2
0 1 0 0 0 2 0 0 0 0 0 1 3 8 0
0 2 0 0 4 1 0 0 4 0 0 0 0 5 0
0 1 0 1 9 6 8 0 1 6 1 13 10 13 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 4 0 0 30 14 11 3 0 4 7 8 5 5 0
0 1 0 1 27 11 10 10 0 29 11 8 18 27 1
0 0 0 0 7 10 3 1 0 1 0 0 0 0 0
0 0 0 0 7 2 4 0 0 0 9 2 1 2 0
0 1 0 2 1 0 3 0 0 0 1 1 0 1 0
0 0 1 3 2 2 8 1 0 4 3 4 0 8 2
0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
0 1 0 0 0 2 3 1 0 2 5 1 0 1 0
0 5 0 0 7 1 2 0 11 0 2 2 0 21 2
0 1 0 0 10 8 3 5 0 0 2 3 2 8 0
0 1 1 1 1 9 3 0 0 0 0 2 2 11 0
0 2 4 0 2 9 8 0 1 1 1 1 3 1 0
0 0 0 0 1 2 0 0 0 1 0 2 3 0 0
0 0 0 1 1 0 1 0 0 0 0 1 2 1 0
0 1 0 0 5 9 3 1 3 3 1 1 0 0 0
0 0 0 0 0 0 1 1 0 0 0 7 1 6 1
0 0 1 1 1 1 0 0 0 0 1 6 0 1 0
0 2 0 3 1 6 1 2 2 4 2 3 1 6 0
0 0 0 0 1 0 0 1 0 0 4 3 2 16 2
1 2 1 5 1 1 0 2 0 2 1 6 2 9 0
1 2 0 3 1 1 2 0 0 0 0 1 0 8 2
0 4 3 2 1 3 0 1 0 2 1 2 1 12 1
2 1 1 0 1 0 2 1 0 0 2 1 1 2 1
(数据在文本里是对齐的了.....)

脚本:
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
  
  Index = asciiread("/home/lhz/eof/sta_haz_eof.txt",(/154,15/),"float")


  Index!0    = "station"
  Index!1    = "year"



;>--------------------------------------------< EOF

  x = Index(station|:,year|:)        
  printVarSummary(x)

  optEOF      = True      
  optEOF@jopt = 0  
  neof        = 3
  eof         = eofunc(x,neof,optEOF)   

  print(eof)

  optETS      = True
  optETS@jopt = 1
  eof_ts = eofunc_ts(x,eof,optETS)
;  print(eof_ts)
;  printVarSummary(eof)
;  printVarSummary(eof_ts)
  x_station = ispan(0,153,1)
  x_year  = ispan(0,14,1)

;>--------------------------------------------< EOF

   wks = gsn_open_wks("png","EOF_1999-2013(DOE1)")
   
   
   res                      = True
   res@gsnDraw              = False
   res@gsnFrame             = False
   res@vpXF                 = 0.20
   res@vpYF                 = 0.75
   res@vpHeightF            = 0.40          ; change aspect ratio of plot
   res@vpWidthF             = 0.65
   res@tmXBMode             = "Explicit"
   res@tmXBValues           = ispan(0,14,2)
   res@tmXBLabels           = (/"1999","2001","2003","2005","2007","2009","2011","2013"/)

   res@tiYAxisString         = "Standardized"         
   res@tiXAxisString         = "Annual_order"
   res@gsnYRefLine           = 0.              ; reference line   
   res@gsnXYBarChart         = True            ; create bar chart
   res@gsnAboveYRefLineColor = "red"           ; above ref line fill red
   res@gsnBelowYRefLineColor = "blue"          ; below ref line fill blue
   res@gsnLeftString        = "EOF"+1
   res@gsnRightString       = sprintf("%5.1f", eof@pcvar(0)) +"%"


   plot= gsn_csm_xy(wks,x_year,eof_ts(0,:),res)
   gsn_panel(wks,plot,(/neof,1/),res)
   draw(plot)
   frame(wks)
end




返回:
(0,0) 0.03310381
(0,1) 0.04620294
(0,2)    9.96921e+36
(0,3) 0.02041355
(0,4) 0.02584843
(0,5) 0.05586239
(0,6) 0.009694566
(0,7) 0.01131639
(0,8) 0.2212173
(0,9) 0.02222253
(0,10) 0.07859264
(0,11) 0.1173738
(0,12) 0.3215066
(0,13) 0.006622619
(0,14) 0.04772035
(0,15) 0.05240821
(0,16) 0.01674752
(0,17) 0.06834376
(0,18) 0.2101489
(0,19) 0.3388827
(0,20) 0.1943075
(0,21) 0.02681941
(0,22) 0.006273464
(0,23) 0.06057863
(0,24) 0.06504993
(0,25) 0.05001817
(0,26) 0.005939193
(0,27) 0.04639071
(0,28) 0.02363002
(0,29) 0.01080616
(0,30) 0.03156013
(0,31) -0.004008479
(0,32) -0.003768718
(0,33) 0.02251768
(0,34) 0.006752828
(0,35) 0.01605704
(0,36) 0.05282901
(0,37) 0.01177799
(0,38) 9.96921e+36
(0,39) 0.03005128
(0,40) 0.002421758
(0,41) 0.0395756
(0,42) 0.01674589
(0,43) 0.005370968
(0,44) 0.0413863
(0,45) 0.02137382
(0,46) 0.01340824
(0,47) 0.01388297
(0,48) 0.04884616
(0,49) 0.003997357
(0,50) -0.003649543
(0,51)  9.96921e+36
(0,52) -0.005164975
(0,53) 0.01131394
(0,54) 0.004096956
(0,55) 0.02191986
(0,56) 0.02120132
(0,57) 0.02379154
(0,58) 0.05217418
(0,59) 0.03145568
(0,60) 0.0293861
(0,61) 0.01658824
(0,62) -0.01590368
(0,63) 0.01855403
(0,64) 0.03646358
(0,65) 0.006829425
(0,66) -0.007361848
(0,67) 9.96921e+36
(0,68) -0.008151809
(0,69) -0.02040482
(0,70) -0.01979748
(0,71) 0.005243489
(0,72) -0.007813838
(0,73) 0.00985822
(0,74) 0.003856657
(0,75) 0.06167953
(0,76) 0.04742344
(0,77) 0.1160378
(0,78) 0.07775868
(0,79) 0.02016157
(0,80) 0.01322786
(0,81) 0.02563262
(0,82) 0.02889629
(0,83) 0.01647532
(0,84) 0.03114674
(0,85) 0.01747763
(0,86) 0.1295477
(0,87) 0.03522428
(0,88) -0.01523423
(0,89) 0.01972456
(0,90) 0.07065134
(0,91) 0.01525007
(0,92) 0.1896868
(0,93) 0.02107036
(0,94) 0.04694302
(0,95) 0.01444453
(0,96) 0.006015721
(0,97) 0.04132886
(0,98) 0.0434786
(0,99) 0.02154075
(0,100) 0.002206198
(0,101) 0.1732638
(0,102) 0.134357
(0,103) 0.03836668
(0,104) 0.02343575
(0,105) -0.001414146
(0,106) 0.01804376
(0,107) -0.003701362
(0,108) -0.0686675
(0,109) -0.01483995
(0,110) 0.02699301
(0,111) 0.09707887
(0,112) 0.02994947
(0,113) 0.1320589
(0,114) 0.06495827
(0,115) 0.1516619
(0,116) 0.1032299
(0,117) 0.09119233
(0,118) 0.02939805
(0,119) 0.0312921
(0,120) 0.02796647
(0,121) 0.05854093
(0,122) 0.01016609
(0,123) 0.05215931
(0,124) 0.09474865
(0,125) 0.09608446
(0,126) 0.165581
(0,127) 0.08185269
(0,128) 0.03658266
(0,129) 0.1970623
(0,130) 9.96921e+36
(0,131) 0.1012097
(0,132) 0.3470257
(0,133) -0.003743429
(0,134) 0.04345537
(0,135) 0.003961403
(0,136) 0.07705265
(0,137) 0.003910484
(0,138) 0.01216978
(0,139) 0.1757917
(0,140) 0.08662135
(0,141) 0.09937848
(0,142) -0.01123245
(0,143) 0.01539673
(0,144) 0.01481212
(0,145) -0.007727154
(0,146) 0.08792964
(0,147) 0.03272147
(0,148) 0.04970897
(0,149) 0.1723327
(0,150) 0.08776427
(0,151) 0.0585675
(0,152) 0.09685216
(0,153) 0.01178326

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-1 09:54:25 | 显示全部楼层
特征值
(0,2)      9.96921e+36
(0,38)    9.96921e+36
(0,51)    9.96921e+36
(0,67)    9.96921e+36
(0,130)  9.96921e+36
对应的原始场数据都为“0”行 , 0 0 0 0 0 0 0 0 0 0 0 0 0 0 , 即:2站, 38站, 51站, 67站, 130站的15年数据都是0,这样的的站不能参与运算吗?还是需要怎么处理呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-1 14:53:18 | 显示全部楼层
你好,请问你画出不同模态的等值线图了吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-1 09:09:09 | 显示全部楼层
546243727 发表于 2015-12-1 09:54
特征值
(0,2)      9.96921e+36
(0,38)    9.96921e+36

可不可以设置missing value 不计算它?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-1 09:09:16 | 显示全部楼层
546243727 发表于 2015-12-1 09:54
特征值
(0,2)      9.96921e+36
(0,38)    9.96921e+36

可不可以设置missing value 不计算它?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-1 09:09:30 | 显示全部楼层
可不可以设置missing value 不计算它?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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