[ncl-talk] Sub: EOF Analysis

Adv advita6 at gmail.com
Wed May 25 09:23:55 MDT 2016


Hi ,
Could someone suggest me a way to normalise the PC values and retain the
same unit?


Thanks


;time=41,sta=392
xx1 = dats(time | :,sta|:)     ; reorder ... eofunc want 'time' as
rightmost dimension
printVarSummary(xx1)
printMinMax(xx1,0)
o=dats(sta|:,time|:)
printVarSummary(o)
evecv    = eofunc_Wrap    (o,neval,False)
evecv_ts = eofunc_ts_Wrap (o,evecv,False)
print(evecv_ts(0,:))
printVarSummary(evecv)
printMinMax(evecv(0,:),0);Normalised
; ================================>   ; SUM OF THE SQUARES
                                      ; IF NORMALIZED, THEY SHOULD BE 1
;  sumsqr = dim_sum(evecv^2)
;  print("sum of squares: " + sumsqr)

;To retain same unit;Denormalise
  do ne=0,neval-1
     evecv(ne,:) = evecv(ne,:)*sqrt( evecv at eval(ne) )
  end do
printMinMax(evecv(0,:),0);Normalised
evecv_ts = eofunc_ts_Wrap (o,evecv,False)

Output of min/max
    min=-1693.35   max=1080.62
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160525/614b4aab/attachment.html 


More information about the ncl-talk mailing list